简单的物体检测

数据挖掘 机器学习 神经网络 深度学习 图像分类 计算机视觉
2022-01-30 22:49:13

我想创建一个简单的对象检测工具。因此,基本上将向工具提供图像,然后它必须检测对象的数量。

例如

一张餐桌的图像,上面有某些物品,例如盘子、杯子、叉子、勺子、瓶子等。

该工具必须只识别对象的数量,而与对象的类型无关。识别后它应该返回对象的位置及其大小,以便我可以在它上面画一个边框。

我不想使用任何现有的库或 API,例如 Tenser Flow、OpenCV 等。

如果在不使用 API 的情况下很难创建该过程,那么将其视为对象的对象的数量/类型也可能会受到限制,但由于该项目将用于我的教育/学习目的,任何人都可以帮助我理解使用哪个逻辑可以实现?例如,它可以忽略表中存在的餐巾纸以将其计为对象。

2个回答

首先,你必须有一个物体检测器来识别不同的物体。之后,您必须对检测器的结果进行后处理以计算数字。基本上,由于检测器发现的标签数量有限,您无法识别所有对象。我强烈建议您在您提到的库中使用内置模型,因为训练检测器模型非常耗时并且需要适当的硬件。如果您想学习一些东西,请查看已经存在的论文并尝试实施它们。对于这种情况,有许多研究我以这种方式将它们分开。

  1. 基于像素分类的技术
  2. 基于 YOLO 的技术

这是一个普遍的分类,可能没有任何共识,但它向您展示了主流方向。

我猜 ImageNet 数据集包含标签clock在实现您想要的模型后,尝试将它们与另一个标签一起使用。不要使用所有标签来训练你的模型,这需要很长时间。

这取决于您的教育程度和您正在寻找的准确性。让我来定义两种不同类型的对象检测算法: 1. 基于提案的对象检测这些算法由两部分组成,提案生成和对象分类。这种方法的例子是fast rcnn和faster rcnn ....等。 2. 基于像素/区域的对象检测这些算法将图像划分为单元格/网格,然后对每个部分进行分类,然后处理所有这些识别。Yolo 就是这个类别的一个例子。

一般来说,当我们评估目标检测时,我们关心的是性能和速度现有的 Proposal 生成,我推荐 Edge Box 2- 训练一个分类模型来对提议的区域进行分类