[英]How to track any moving object with a non static camera? [Opencv]
我想用非靜態相機跟蹤任何移動物體,並獲得該物體的輪廓。 有人可以給我一些如何實現這個目標的建議嗎?
我試圖減去背景,但這只適用於satic相機。
背景減法不是非靜態相機中的選項。 在某些情況下,使用第二幀的扭曲的Homography輸出減去第一幀可能有效,但錯誤的發生率會很高。
最好的選擇是使用特征檢測器算法,如FAST,ORB,SURF,SIFT,BRISK等。如果性能有問題,FAST或ORB可能是最佳選擇。 這些FD算法跟蹤並映射圖像中存在的“穩定點”。 例如,角落可以被稱為“穩定點”,因為平移,縮放,傾斜,旋轉等不會改變它們的屬性。
用於跟蹤第2幀的“穩定點”/關鍵點和第1幀的關鍵點的代碼在網上廣泛可用。
上述每種算法都有各自的優缺點。 根據您的需要選擇算法。 值得注意的是,SIFT / SURF思想在准確性方面是最好的,它們是專利保護的。
任何移動物體,或任何類型的物體,但一次只有已知/檢測到的物體數量?
您可以嘗試估算相機移動以識別背景。 光流可能是一個提示,取決於相機如何移動,圖像的扇區將像素移動到特定方向。 存在識別相機移動的其他方法,可能搜索“相機自校准”技術。
一旦您了解了相機移動,您就可以嘗試以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功能進行功能跟蹤。
困難的是決定什么是前景和什么是移動(不僅僅是旋轉)相機的背景。 如果相機運動受限,可能會更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.