- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试为特定用例构建机器学习模型。我已经阅读了各种不同的库,并尝试训练我自己的分类器,但我觉得我正在做的事情不太正确 - 对象检测的设置似乎都是基于这样的想法检测可以有多种形式,因此训练方法的设计考虑到了这一点。我的用例与此不同。
我有想要识别的静态平面图像,例如书籍封面。因此,我不需要提供它的许多图像,而只需提供它从正面看的一张图像是有道理的。我想训练一个 ML 模型,以便我可以在训练后向它展示那本书封面的图像,它会识别它。
训练后的书皮图像可能包括环境因素,例如不同的光照,或不同的角度,但想法是如果书皮本身在全视野中,它应该能够被识别。
事实证明,弄清楚在这里要做什么是相当困难的。我遇到的每本指南都是为训练可能采用多种形式的对象而设计的。为我的目的改编这些指南并不成功。
我已经尝试使用 Turi Create 的非常简单的设置,在每本书的每个数据点上对其进行训练,然后使用相同的数据进行验证,因为我显然没有训练和验证集。 Turi Create 负责所有的训练细节,显然是为每个类(class)的许多例子而设计的。我觉得我出于我的目的在这里严重修改了它。经测试,它也不适用于对象检测。
我使用 OpenCV 的关键点检测和最近邻匹配功能取得了一些有限的成功,但我的想法是会有更广泛的项目列表,可能有 10k 本书,因此在每一个都是这样。
在过去的一个月里,我一直在学习更多关于 ML 和计算机视觉的知识,但这肯定不是我的专业领域 - 我主要是一名软件开发人员。如果我能在这里得到任何建议,我将不胜感激。
最佳答案
您的问题没有开箱即用的答案(抱歉这么说),但是您需要了解计算机视觉/机器学习的几个关键领域才能解决这个问题。
首先:如果你真的想留在 opencv 和现有的库中(比如,你不希望它变成一个算法研究项目),我建议如下:
其次:如果以上还不够,您正在进行更高级的研究项目。我仍然会推荐 Hough 变换或 SIFT 之类的方法,因为其中的关键见解是您应该能够找到真正擅长识别这本书封面的过滤器(或类似过滤器的对象)具体来说。这意味着像典型的深度学习方法这样的东西开箱即用的用处不大。如果您真的想沿着这条路走下去,请先阅读有关数据增强的内容,然后再阅读有关one-shot 或few-shot 学习的内容,然后阅读有关迁移学习的内容。这是一条漫长的道路,所以我强烈赞成我建议的第一种方法。
关于opencv - 不确定如何训练 ML 模型来识别静态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48282467/
如何将运算符传递给 ML 中的函数?例如,考虑这个伪代码: function (int a, int b, operator op) return a op b 这里,运算符可以是 op +
我尝试在 Google Cloud ML 上运行来自 github 的 word-RNN 模型。提交作业后,我在日志文件中收到错误。 这是我提交的训练内容 gcloud ml-engine jobs
在 a.ml 中定义了一个记录类型 t 并且也是透明地定义的 在 a.mli 中,即在 d 接口(interface)中,以便类型定义可用 到所有其他文件。 a.ml 还有一个函数 func,它返回一
关闭 ML.NET 模型生成器后,是否可以为创建的模型重新打开它? 我可以删除创建的模型并重新开始,但这并不理想。 最佳答案 不,不是真的。 AutoML/Model Builder 可以生成代码并将
我有一个关于训练可以预测名称是否为女性的 ML.NET 的问题。该模型可以使用这样的管道进行训练: var mlContext = new MLContext(); IDataView trainin
我在 ASP.NET Core 应用程序中使用 ML.NET,并在 Startup 中使用以下代码: var builder = services.AddPredictionEnginePool();
我使用 sklearn 创建了一个模型进行分类。当我调用函数 y_pred2 = clf.predict (features2) 时,它会返回一个包含我的预测的所有 id 的列表 y_pred2 =
我已向 cloud ml 提交了训练作业。但是,它找不到 csv 文件。它就在桶里。这是代码。 # Use scikit-learn to grid search the batch size and
我是 Azure Databricks 的新手,尽管我在 Databricks 方面有很好的经验,但仅限于 Data Engg 方面。我对 Databricks Runtime ML 和 ML Flo
为什么我尝试将经过训练的模型部署到 Google Cloud ML,却收到以下错误: Create Version failed.Model validation failed: Model meta
我是 Azure Databricks 的新手,尽管我在 Databricks 方面有很好的经验,但仅限于 Data Engg 方面。我对 Databricks Runtime ML 和 ML Flo
我是 Azure ML 新手。我有一些疑问。有人可以澄清下面列出的我的疑问吗? Azure ML 服务与 Azure ML 实验服务之间有什么区别。 Azure ML 工作台和 Azure ML St
我的 Cloud ML 训练作业已完成,输出如下: "consumedMLUnits": 43.24 我如何使用此信息来确定培训工作的成本?我无法在以下两个选项之间做出决定: 1)根据这个page ,
docs for setting up Google Cloud ML建议安装 Tensorflow 版本 r0.11。我观察到 r0.12 中新提供的 TensorFlow 函数在 Cloud ML
我正在关注一个来自 - https://spark.apache.org/docs/2.3.0/ml-classification-regression.html#multinomial-logist
我想使用 mosmlc 将我的 ML 程序编译成可执行二进制文件。但是,我找不到太多关于如何操作的信息。 我想编译的代码在这里http://people.pwf.cam.ac.uk/bt288/tic
假设我有两个 Azure ML 工作区: Workspace1 - 由一个团队(Team1)使用,该团队仅训练模型并将模型存储在 Workspace1 的模型注册表中 Workspace2 - 由另一
我尝试使用以下命令行在 Azure 上的 Linux(Ubuntu) 数据科学虚拟机上设置我的 Azure 机器学习环境: az ml 环境设置 但是,它显示错误为加载命令模块 ml 时出错。一直在谷
假设我有两个 Azure ML 工作区: Workspace1 - 由一个团队(Team1)使用,该团队仅训练模型并将模型存储在 Workspace1 的模型注册表中 Workspace2 - 由另一
我尝试使用以下命令行在 Azure 上的 Linux(Ubuntu) 数据科学虚拟机上设置我的 Azure 机器学习环境: az ml 环境设置 但是,它显示错误为加载命令模块 ml 时出错。一直在谷
我是一名优秀的程序员,十分优秀!