【摘要】隨著色彩跟蹤技術的發展,人們對電腦的跟蹤反應速度和準確度要求更高,可視界面工作的同時要求其他任務可同時運行。現如今也需要這樣一個跟蹤者:在當前的噪聲當中能找出目標色彩區域并且迅速準確地捕捉,同時系統資源消耗最少。基于在視頻圖像中獲得色彩劃分模型的設想,CAMSHIFT即被修正的mean shift算法,它主要通過視頻圖像中運動物體的顏色信息來達到跟蹤的目的。具體而言,它是根據上一幀跟蹤的結果自適應調整搜索窗口的位置和大小,從而得到當前圖像中目標的尺寸和中心位置。它可用以處理動態色彩劃分問題。CAMSHIFT抗噪聲能力強,可用于控制電腦攝像和3D圖像領域探索。
【關鍵詞】CAMSHIFT算法色彩跟蹤OpenCVVFW
電腦識別系統是一個不斷向前發展的領域,一些優秀的算法如Tracking contours with snake,Eigenspace匹配技術,都非常浪費電腦資源。所以它現有的功能已不能充分滿足人們的需要。如今需要這樣一個跟蹤者:在當前的噪聲當中能找出目標色彩區域并且迅速準確地捕捉,同時系統資源消耗最少。而對于運動目標的檢測與跟蹤,它是指從包含運動目標的序列圖像中,檢測、識別和跟蹤運動目標。對運動目標進行跟蹤,并進一步對運動目標進行分析,當前安全監控、虛擬現實、人機交互等許多領域都需要這種運動目標的跟蹤及分析。同時,運動目標跟蹤問題具有較高的學術價值和理論意義,已經成為近年來國際上研究的熱點問題之一。
1 國內外發展概況及存在問題
因為CAMSHIFT算法有較好的跟蹤能力,在社會上就有了一定的應用。例如在大空間自動檢測滅火系統中,發展最快的就是基于視頻圖像的機器視覺火災探測系統[3]。一般傳統的火災報警器的工作原理都是探測火災發生時,它們所生成的煙、溫度和光參量等,然后通過信號處理、比較、判斷后,最終決定發出火災報警信號。與傳統的火災報警器相比,基于視頻圖像的機器視覺火災探測系統不僅具有一般相對穩定的特征,而且其監控范圍大,實時性好。此外,基于視覺的移動機器人跟蹤技術也在此基礎上得到了飛速的發展。其原理是機器人也可利用視覺對移動目標的識別和跟蹤,它是通過視覺傳感器獲得的圖像序列在空間域中分割為運動對象,在時間域中對這些對象進行建模、識別和跟蹤。
由于繁雜和低效的CAMSHIFT算法還是普遍存在的,并且它的實現結構也不靈活。因此即使CAMSHIFT算法有良好的跟蹤性能,卻未獲得廣泛地應用。此外雖然研究者不斷地開發出高效的圖像處理軟件包,并且在某些方面也起到了很大的作用,但是也存在著很多的缺點:1)很多軟件包不包含高級的數學計算函數;2)圖象處理軟件Matlab的運行速度太慢;3)大多數軟件包不支持可嵌入性。
除此之外,傳統的CAMSHIFT算法在實際應用中也存在著以下問題:
手動初始化搜索窗的同時需要人為定位跟蹤目標。由此也在實際應用中降低了算法的效率,但是也帶來了主觀誤差;
目標顏色概率模型不能更新,是因為它只在初始化時計算一次顏色直方圖。例如當一些外部環境因素變化較大時,目標顏色的統計特性有明顯的改變,因此一旦不去及時地更新顏色概率模型,就會影響跟蹤效果;
CAMSHIFT算法在復雜背景中很難取得較好的跟蹤效果,例如存在大面積相似背景顏色干擾時,跟蹤效果將會受到很大的影響;
缺乏對目標運動的預測機制,當目標運動速度過快,前一幀的搜索窗與下一幀的目標沒有重合部分時,會造成跟蹤失敗;
在跟蹤目標丟失或被完全遮擋后,搜索窗就會收縮,由于目標沒有連接,因此即使被跟蹤目標重新穩定出現在圖像序列中,也無法恢復跟蹤了。
2 原理
CAMSHIFT即\"Continuously Apative Mean-Shift\"算法,主要通過視頻圖像中運動物體的顏色信息來達到跟蹤的目的,利用目標的顏色直方圖模型得到每幀圖像的顏色投影圖,并根據上一幀跟蹤的結果自適應調整搜索窗口的位置和大小,從而得到當前圖像中目標的尺寸和中心位置。基本思想是視頻圖像的所有幀作MeanShift運算,并將上一幀的結果,也就是Search Window的中心和大小,作為下一幀MeanShift算法的Search Window的初始值,如此迭代下去,就可以實現對目標色彩的跟蹤。將MeanShift算法擴展到連續圖像序列(一般都是指視頻圖像序列),這樣就形成了CAMSHIFT算法。在CAMSHIFT算法基礎上對搜索窗口進行簡單運動預測,并增加二次搜索方法,提高跟蹤的穩定性。試驗結果表明,在圖像背景復雜且目標不規則運動的情況下,仍能有效地跟蹤到目標。
數字圖像處理技術的發展使電腦越來越貼近人們的需要,各項技術日新月異。基于CAMSHIFT的色彩跟蹤算法的實現就是對色彩跟蹤方向的深入探索并取得有效成果,更快跟準確的色彩跟蹤日益豐富了人們的生活。
3 結論
CAMSHIFT算法是一種快速有效的色彩跟蹤算法。在VFW的基礎上,OpenCV對VFW的函數進行封裝,實現了圖像處理和計算機視覺方面的很多通用算法。本文完成了OpenCV在VC6下安裝與配置,實現了CAMSHIFT 算法和視頻的采集、編輯、播放等功能。同時也可以看到,自己在OpenCV的基礎上開發程序,選擇自己所需的庫函數,能夠大大減少在計算機視覺領域中的開發的時間,從而提高了效率。并且在今后,更多的大規模計算領域都將采用GPU作為加速的手段,完成更多更復雜的工作。預計GPU將成為CPU,也將成為DSP后另外一個具有通用計算能力的處理器。
參考文獻
[1] CONTROL AUTOMATION,關于CAMSHIFT算法的色彩跟蹤[C].微計算機信息,2007,21;297-298,305.
[2] 董蓓,謝勤嵐,賈茜.基于Camshift算法的運動目標實時跟蹤系統.中南民族大學電信學院.
[3] 薛媛,李媛媛.基于meanshift和camshift相結合的火焰視頻圖像跟蹤設計.西安電子科技大學電子信息工程學院.
[4] 郭世龍.基于Camshift算法的移動機器人視覺跟蹤.2008,05,01.
[5] 方玫,喻擎蒼,李華強.C++Builder下基于OpenCV的數字圖像處理.浙江理工大學信息電子學院.