運動與視訊
均值漂移追蹤
均值漂移追蹤用「顏色(或其他特徵)的直方圖」來描述目標,接著在每一張新影格中,藉由反覆把搜尋視窗朝其「加權質心」推移,爬上一個相似度曲面的最近峰頂。把目標想成一個「顏色簽名」;在下一格,你把舊視窗擺上去,問每個像素「你有多像目標?」,再把視窗滑向匹配像素聚集之處,如此反覆直到不再移動。不需要窮舉搜尋——視窗會自己往上坡走向目標。
精確地說,均值漂移是一個尋峰程序,它對一個核密度估計(kernel density estimate)執行梯度上升,卻從不顯式地計算梯度。目標是一個核加權的顏色直方圖(一個平滑的空間核會把靠近視窗邊緣的像素降權)。候選視窗的直方圖透過 Bhattacharyya 係數(衡量兩個機率分布相似度)與目標的直方圖比較。每個像素得到的權重等於「目標對候選」直方圖各格比值的平方根,新的視窗中心則是像素位置的加權平均。反覆執行這個均值漂移,可被證明會收斂到相似度的一個局部極大值。
它的強項是速度(寥寥數次迭代、無需完整搜尋)以及對旋轉與非剛性形變的穩健性,因為顏色直方圖丟棄了空間排列,所以不在乎物體如何彎折或轉向。同樣的特性也是它的弱點:它忽略空間結構,會把目標與顏色相近的背景搞混,且基本演算法無法改變尺度。CAMShift(Continuously Adaptive Mean Shift,連續自適應均值漂移)藉由每格從反投影直方圖的「矩」(分布範圍)重新調整視窗大小與方向來修正尺度問題,這正是 OpenCV 內附的版本,並以基於色相(hue)的臉部/頭部追蹤聞名。
特徵選擇是決定性的。基於色相的追蹤對膚色或飽和物體效果很好,但當背景與目標共享顏色、或在強烈光照變化使直方圖位移時就會崩潰。由於它丟棄了幾何資訊,均值漂移無法區分兩個顏色完全相同的物體。
又称