只有一个训练图像的二维物体检测

时间:2017-11-08 08:19:50

标签: computer-vision

给予视觉系统单个训练图像(例如,一件2D艺术品),并且询问该新艺术品是否存在于新捕获的照片中。新拍摄的照片可能包含许多其他物体,当艺术品出现时,它必须面朝上但可能会被遮挡。

姿势空间是x,y,旋转和比例。艺术作品可能是高度对称的。

处理此类问题的最新技术水平是什么?

我已经尝试/考虑了以下选项,但所有这些选项都存在一些问题。如果我的论点无效,请纠正我。

  1. 深度学习(rcnn / yolo):需要大量标记数据意味着每件新作品都需要大量人工。

  2. 传统机器学习(SVM,随机森林):与上述相同

  3. sift / surf / orb + ransac或者投票:当艺术作品是对称的时,匹配的特征大多是不正确的。在ransac /投票阶段需要很多时间。

  4. 广义霍夫变换:状态空间对于投票表来说太大了。可以应用金字塔,但很难为不同类型的艺术品选择一些通用阈值来继续金字塔。

  5. 倒角匹配:状态空间太大。在整个州空间搜索需要太多时间。

2 个答案:

答案 0 :(得分:1)

对象检测需要很多相同类别的标记数据才能很好地概括,并且在您的设置中,不可能仅使用单个实例来训练网络。

我认为在你的情况下,在线对象跟踪器可以工作,至少尝试一下。有一些卷积对象跟踪器像Siamese CNNs一样工作得很好。该代码是github的开源代码,您可以观看this video以查看其效果。

在线对象跟踪:给定初始化状态(例如,位置 目标中视频帧中目标对象的大小和大小) 跟踪是为了估计后续目标的状态 帧.- source -

答案 1 :(得分:0)

您可以尝试使用传统的基于特征的图像处理算法,该算法可以提供真正的正模板匹配,直至下降精度。

给出问题中的模板图像:

  1. 首先扩大图像以连接所有非常紧密间隔的连接 组件。
  2. 找到上面获得的连接对象的凸包,这将为您提供一个多边形。
  3. 使用上述多边形边长信息(如(max-length / min-length)比率作为模板的特征。
  4. 还可以在多边形中找到像素密度作为第二个特征。
  5. 我们现在有2个功能。

    场景图片特征向量:

    类似地再次在场景图像中使用扩张,然后连接组件识别,在每个连接的对象周围定义凸包(多边形),并为每个对象定义特征向量(边缘信息,像素密度)。

    现在像往常一样在场景图像中搜索具有最小特征距离的特征向量数据中的模板特征向量(也使用某个上限距离阈值以避免误报匹配)。

    如果在场景图像中可用,则应该给出真正的正匹配。

    例外:此方法不适用于被遮挡的对象。