甘肅政法大學 劉衛(wèi)華 劉勇杰
隨著信息科技的快速發(fā)展,視頻監(jiān)控等相關行業(yè)也逐漸成熟起來,作為一個獨立的產(chǎn)業(yè)體系,視頻資料不論種類還是數(shù)量都與日俱增。但不正當?shù)牟僮魇侄我彩沟靡曨l資料魚龍混雜,那么,如何在海量的視頻資料中提取到符合要求的數(shù)據(jù)信息,是目前亟待解決的重要問題,因此基于海量視頻資料信號為基礎的目標追蹤與檢測應運而生。本文主要基于OpenCV并利用mean shift算法來實現(xiàn)對視頻中出現(xiàn)的多運動目標進行單目標追蹤檢測,實驗表明該算法有較好的追蹤效果。
科技革命以來,隨著各類技術的不斷更新發(fā)展,電子監(jiān)控等相關領域也在越來越多的范圍內(nèi)使用。如何及時有效的在視頻中尋找出有用信息便顯得尤為重要,于是對有用的特定目標的檢測與跟蹤的相關研究也就應運而生,并且成為了視覺領域的一大熱點。現(xiàn)在,一般的智能系統(tǒng)基本上都包括對特定有用目標的檢測和跟蹤,還有識別以及行為分析等功能。運動目標檢測,其鎖定的是我們需要注意的區(qū)域,更是后續(xù)其他處理的基礎,跟蹤與識別作為圖像高級語義處理的環(huán)節(jié)為后面行為分析提供依據(jù)。
基于C++的視覺庫OpenCv是可以在多系統(tǒng)進行操作的開源軟件。它容納了計算機視覺的領域眾多函數(shù),包括工業(yè)產(chǎn)品、醫(yī)學圖像、安全保衛(wèi)領域、交互操作、相機校正、雙目視覺以及機器人學。本文主要利用OpenCV庫來實現(xiàn)對視頻中出現(xiàn)的多運動目標進行單目標追蹤。
運動目標檢測是指在攝像頭監(jiān)控界限內(nèi)有活動的目標時,采用圖像分割,將背景圖像中的目標的運動區(qū)域提取出來。視頻分析的基礎是移動目標的檢測,因為與視頻分析算法有關的圖像處理都是以目標區(qū)域的像素點為基礎來進行處理。目標檢測的結果直接影響視覺監(jiān)控系統(tǒng)的整體性能??茖W技術突飛猛進,日新月異,運動目標的檢測種類繁多,與日劇增。
運動目標的跟蹤,簡單說,就是在圖像中對感興趣的目標進行定位并且使用可視化的方式進行標記,一般來說,都是通過數(shù)學的方式,對目標的信息加以表示,然后整個圖像中找到與建立的數(shù)學表達最為相似的待選區(qū)域在圖像中具體位置的過程。移動目標的數(shù)學表達不僅局限于對移動目標進行數(shù)學建模,還包括圖像邊緣,圖像輪廓、形狀、區(qū)域等常用的目標特征表達元素。一般會通過使用多個特征來提高跟蹤的可靠性,單個特征使用較少。常見的運動目標檢測方法有:
對圖像提取特征,然后將需要進行檢測的圖像與相似性檢測算法匹配,實現(xiàn)目標跟蹤。在對于目標的追蹤中,常見的相似性度量包括歐氏,塊,棋盤距離,Bart Charlie系數(shù),Hausdorff距離等在內(nèi)的五類方法。在它們當中屬歐幾里德距離使用最廣泛和最簡單。
搜索算法就是對目標進行直接計算,通過匹配計算得到值找到最佳位置不借用任何其他數(shù)據(jù),該方法計算量過大,并且在跟蹤時沒這個必要,因此使用搜索算法來加快檢測。常見的搜索方法是通過預測下一幀的可能位置,并在相關區(qū)域中最為合適的點。對比其他算法,卡爾曼濾波是現(xiàn)在比較成熟的預測算法之一。
相較于常見的傳統(tǒng)算法,Mean shift算法近年來不斷受到許多研究員以及學者青睞的主要原因是因為它的計算量不大,而且實時性較好,并且具有很高的穩(wěn)定性。因此,也激發(fā)了研究人員對對Mean Shift目標跟蹤算法改進的興趣,使該算法適用范圍也越來越廣,尤其是在目前較火的人工智能領域。基于mean shift的目標跟蹤算法的實質(zhì)是一種在密集分布數(shù)據(jù)中尋找部分最佳值的算法,通過進行迭代的運算方式進行計算。在概率論和統(tǒng)計學中對數(shù)據(jù)統(tǒng)計進行預測的方法,通常是對獲取的樣本進行建模處理,而在該過程中的最為主要的任務,就是進行概率密度估計,估計一般分為參數(shù)、非參數(shù)兩種方法。mean shift算法運行過程是基于第二者的。參數(shù)估計法通過預先了解概率密度及參數(shù)分布來進行后續(xù)工作。而非參數(shù)密度估計則任何的條件,就可以進行計算來為后續(xù)工作做準備,主要方式通過后期對樣本數(shù)據(jù)的訓練得到其收斂函數(shù)。在現(xiàn)實跟蹤過程中,當目標出現(xiàn)遮擋等影響時,由于外層的像素值容易受遮擋或背景的影響,所以模型中心附近的像素比靠外的像素更有意義。因此,對于所有采樣點,每個樣本點的重要性應該是不同的,離中心點越遠,其權值應該越小。故引入核函數(shù)和權重系數(shù)來提高跟蹤算法的魯棒性并增加搜索跟蹤能力。
在圖像處理方面,以核函數(shù)法、最近鄰域估計法以及直方圖法為最常用的非參密度估計方法。計算核函數(shù)是mean shift算法最重要的部分,核函數(shù)的選取直接決定著目標跟蹤算法的時間復雜度以及精確程度,而選取不同核函數(shù)會使目標跟蹤過程的結果存在很大差異。因此,核函數(shù)如何選取以及如何對它進行優(yōu)化,不僅影響mean shift算法的性能,更是間接影響著視頻信息中對感興趣的目標的跟蹤效果。
本文運用mean shift算法進行運動圖像多目標中的單目標跟蹤。mean shift目標跟蹤算法來源之一是均值漂移法,后者的跟蹤原理是:通過對正在實施跟蹤的目標區(qū)域與目標即將移動到的區(qū)域進行它們之間像素值特征的分析,就會以數(shù)據(jù)模型的形式建立一個實時跟蹤檢測區(qū)域與待測區(qū)域的聯(lián)系框架,接著利用初始幀值與當下幀值相似函數(shù)的數(shù)量特征,搭建幀與幀之間的數(shù)據(jù)模型,目標模型的向量是可以借助相似函數(shù)的數(shù)據(jù)模型關系計算得到,這個向量便就是目標正確的移動方向向量,均值漂移算法的快速收斂性導致目標模型的mean shift向量算法要想通過收斂計算得到目標的真實位置就要不斷的使用迭代的方法來求取mean shift向量,達到跟蹤的目的。
圖1 mean shift算法追蹤流程圖
圖2 實驗結果圖
首先對輸入的視頻目標跟蹤進行初始化,在本文中同時設置了調(diào)節(jié)所選區(qū)域的按鈕,可通過調(diào)節(jié)按鈕對待檢測目標進行適度調(diào)節(jié),使之能夠在追蹤過程中擁有較好的準確度以及速度。在追蹤目標時有通過檢測方式獲取目標區(qū)域的方式,也可以通過手工選取的方式。在本文中要實現(xiàn)的是出現(xiàn)多個目標時,對單一的特定目標進行追蹤,所以使用手動選取的方式選定跟蹤目標會比檢測方式要實用許多,并且會提高追蹤的效率。然后計算搜索窗口的直方圖分布,該值是由核函數(shù)加權得到,可以用相同手段獲取對應的第N幀窗口的直方圖分布,其原則就是依靠兩個目標模板涉及的最大限度內(nèi)的相似程度,從而使得搜索圖標或者搜索窗口從密度最為集中的方向移動進行判斷和定位操作,從而可以知曉真實 的目標位置。圖1所示為mean shift算法的追蹤流程圖。
圖2所示是對某游戲視頻中的特定運動游戲人物進行追蹤的結果圖。
實驗結果圖2中第四幅圖是對實驗結果圖第一幅圖中紫色人物使用鼠標進行圈定之后形成的灰度值加權直方圖特征,用于后續(xù)追蹤過程。從四幅圖像中可以看到,該算法對于視頻中出現(xiàn)的多目標進行特定單目標的追蹤有較好的效果,一般來說不會受到周圍環(huán)境因素的影響,使得被跟蹤目標丟失的現(xiàn)象。
對于mean shift算法在追蹤過程中也存在著部分的缺陷,首先,對于被追蹤的目標,它的窗口大小從一開始就設定好了,所以當目標遠離攝像頭或者靠近時,目標大小會發(fā)生變化,由此會導致跟蹤目標的丟失情況;第二在實驗過程中我們發(fā)現(xiàn),如果目標速度提升較快時,由于目標在視頻幀與幀之間位置變化較大,會影響到追蹤的實際效果;第三在對于直方圖的統(tǒng)計也有部分缺點,比如,在顏色特征描述方面信息并不是全面的收集,會缺少選定區(qū)域空間的信息。為此,可以做以下的部分優(yōu)化,例如加大匹配目標的特征,在算法中加入一些預算法的機制,來減少程序的計算量,加快檢測、追蹤的時間;另外對于目標大小發(fā)生變化,目標信息丟失導致追蹤失敗的問題,可以使用動態(tài)的選擇框來進行解決。