使用单个几乎相同的参考图像进行目标检测
Object detection using a single almost identical reference image
我想了解在图片或增强现实设置中使用几乎相同的单个参考图像执行对象检测的解决方案。
更具体地说:我想检测平面(即二维)且主要是矩形的物体。我有一个数据库,其中包含要检测的物体的 "perfect" 个参考图像(高质量、全正面、精确颜色、无改动等),但我可能每个物体只有一个参考图像。
我说的是标志、名画和扑克牌之类的东西,所以参考将与对象具有完全相同的内容、形状和比例。根据我的理解,对象和参考之间的唯一区别可能是视角和照明条件的差异。假设其中 none 个非常极端(例如,没有锐角或彩色光)。
我知道图像识别和目标检测通常需要很多训练图像,但考虑到这些简化的条件,有没有办法让它处理一张或几张图像(或者通过转换一张来创建多张)?
我看了这里和其他地方,到目前为止我唯一找到的是这个 Vuforia SDK 示例:https://www.youtube.com/watch?v=MtiUx_szKbI&t=1m10s。纸牌游戏中的一张纸牌图像显然足以创建叠加层,因此我认为有多种方法。这不是我的专业领域所以我希望你们能帮助我:)
如果没有透视失真,可以使用简单的归一化互相关。但既然有,您可能想使用 SURF。使用 SURF 在世界图像中查找参考图像的基本算法是:
- 在两张图片中找到关键点,例如角点。
- 描述每个关键点的局部纹理。
- 使用这些描述符来匹配图像之间的关键点。如果有很多匹配项,并且几何形状一致,那么您可能已经找到了您的对象。
查看本教程,它会引导您完全做到这一点:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html#feature-homography
我想了解在图片或增强现实设置中使用几乎相同的单个参考图像执行对象检测的解决方案。
更具体地说:我想检测平面(即二维)且主要是矩形的物体。我有一个数据库,其中包含要检测的物体的 "perfect" 个参考图像(高质量、全正面、精确颜色、无改动等),但我可能每个物体只有一个参考图像。 我说的是标志、名画和扑克牌之类的东西,所以参考将与对象具有完全相同的内容、形状和比例。根据我的理解,对象和参考之间的唯一区别可能是视角和照明条件的差异。假设其中 none 个非常极端(例如,没有锐角或彩色光)。
我知道图像识别和目标检测通常需要很多训练图像,但考虑到这些简化的条件,有没有办法让它处理一张或几张图像(或者通过转换一张来创建多张)?
我看了这里和其他地方,到目前为止我唯一找到的是这个 Vuforia SDK 示例:https://www.youtube.com/watch?v=MtiUx_szKbI&t=1m10s。纸牌游戏中的一张纸牌图像显然足以创建叠加层,因此我认为有多种方法。这不是我的专业领域所以我希望你们能帮助我:)
如果没有透视失真,可以使用简单的归一化互相关。但既然有,您可能想使用 SURF。使用 SURF 在世界图像中查找参考图像的基本算法是:
- 在两张图片中找到关键点,例如角点。
- 描述每个关键点的局部纹理。
- 使用这些描述符来匹配图像之间的关键点。如果有很多匹配项,并且几何形状一致,那么您可能已经找到了您的对象。
查看本教程,它会引导您完全做到这一点:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.html#feature-homography