Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV:跟踪在二维平面中移动的三维对象_Python_Opencv_Computer Vision_Tracking_Surf - Fatal编程技术网

Python OpenCV:跟踪在二维平面中移动的三维对象

Python OpenCV:跟踪在二维平面中移动的三维对象,python,opencv,computer-vision,tracking,surf,Python,Opencv,Computer Vision,Tracking,Surf,我最近一直在研究一个目标跟踪问题的解决方案。我需要做的是识别和跟踪可能在二维平面上移动的三维对象,即x和y方向的平移和z方向的旋转。要跟踪的对象是预先知道的,并且可以从中提取任何期望的信息。还假设照明条件不会发生任何严重变化,背景将保持相对静止。要跟踪的对象通常不是单一颜色,因此不能选择按颜色跟踪 我已经成功实现了一个使用背景减法和动态模板匹配跟踪多个2D对象的原型。我现在想扩展到跟踪3D对象,但到目前为止,我对自己的发现/成就感到失望。我将列举一些我所做的尝试,希望有人能给我们一些启示 1.)

我最近一直在研究一个目标跟踪问题的解决方案。我需要做的是识别和跟踪可能在二维平面上移动的三维对象,即x和y方向的平移和z方向的旋转。要跟踪的对象是预先知道的,并且可以从中提取任何期望的信息。还假设照明条件不会发生任何严重变化,背景将保持相对静止。要跟踪的对象通常不是单一颜色,因此不能选择按颜色跟踪

我已经成功实现了一个使用背景减法和动态模板匹配跟踪多个2D对象的原型。我现在想扩展到跟踪3D对象,但到目前为止,我对自己的发现/成就感到失望。我将列举一些我所做的尝试,希望有人能给我们一些启示

1.)动态:我会让用户选择视频帧中的对象,然后在对象周围定义搜索区域。然后将在该区域内搜索该对象。这是我最初的想法。不幸的是,这对我来说并没有真正起作用,因为对象在旋转时丢失了(将其背对着相机)。我还尝试在找到对象时不断更新模板,但这会导致模板在目标对象变为其他对象时变为另一个(外来)对象

2.)光流:我使用OpenCV的goodFeaturesToTrack找到了一些好的跟踪点,并尝试使用calcOpticalFlowPyrLK通过多帧跟踪这些点。然而,该算法的性能有点令人失望。我将其应用于数据集,但我最初检测到的点很快就会丢失

3.):我尝试使用SURF检测特征,但这里的问题是,很难将其应用于3D对象,这些对象可能与不同的视角有很大差异。我希望找到关于cv2的SURF的文档,因为这似乎提供了向SURF功能提取器提供关键点的功能(可能来自goodFeaturesToTrack)。不幸的是,我还没有找到这样做的方法。我关于S.O.的问题:

背景:我有一个固定的摄像头,所有的处理都在台式电脑上完成。我在Windows7上使用OpenCV的Python包装器和Eclipse的PyDev插件


如果有人能提出任何其他技术来尝试,或者甚至提出一些建议来提高已经提到的技术的性能,我将不胜感激。

如果没有看到要跟踪的对象,很难提出一些有用的建议。如果你拍几张照片,告诉我们这个问题,肯定会有助于讨论。这里的人有时也会实施他们的建议/想法并与您分享。

这是怎么回事:我实际上只是在看这个!太巧了,不过还是要谢谢你:)嗨,谢谢你的回复!我的解决方案必须能够跟踪呈现给它的任何对象,例如咖啡杯、棋子、填充动物、玩具车或类似对象。我不知道这个物体会是什么,但一旦确定了,跟踪算法就可以从中构建任何类型的模型。