我希望使用非静态相机跟踪任何移动对象,并获取该对象的轮廓。有人可以给我一些如何实现这个目标的建议吗?
我试图减去背景,但这只适用于satic相机。
答案 0 :(得分:4)
背景减法不是非静态相机中的选项。在某些情况下,使用第二帧的扭曲的Homography输出减去第一帧可能会有效,但错误的发生率会很高。
最好的选择是使用特征检测器算法,如FAST,ORB,SURF,SIFT,BRISK等。如果性能有问题,FAST或ORB可能是最佳选择。这些FD算法跟踪并映射图像中存在的“稳定点”。例如,角落可以被称为“稳定点”,因为平移,缩放,倾斜,旋转等不会改变它们的属性。
在第二帧上跟踪第一帧“稳定点”/关键点的代码可以在网上广泛使用。
上述每种算法都有各自的优缺点。根据您的需要选择算法。需要注意的是,思想SIFT / SURF在准确性方面是最好的,它们是受到专利保护的。
答案 1 :(得分:2)
任何移动物体或任何类型的物体,但一次只能识别已知/检测到的物体数量?
您可以尝试估算相机移动以识别背景。 光流可能是一个提示,取决于相机如何移动,图像的扇区将像素移动到特定方向。 存在识别相机移动的其他方法,可能搜索“相机自校准”技术。
一旦您了解了相机移动,您就可以尝试以3D形式重建场景的某些部分,了解移动的对象。也许存在其他方法来提取背景而不进行3D重建(有点矫枉过正,可能不够快/不够满足您的需求)。
我记得有一篇关于前景提取的文章,其中处理了小的相机位移。看看http://www2.ulg.ac.be/telecom/publi/publications/barnich/Barnich2011ViBe/index.html
对于一般物体追踪(如果您知道您感兴趣的物体是什么或者是否提取它们),我建议使用带有颜色直方图的粒子滤波器来表示被跟踪物体并计算可能性。看看:http://www.irisa.fr/vista/Papers/2002/perez_hue_eccv02.pdf 或者使用SIFT / SURF功能跟踪功能。
很难确定移动(不仅仅是旋转)相机的前景和背景是什么。如果相机运动受限,可能会更容易。