,
(1.黑龍江中醫(yī)藥大學,哈爾濱 150040; 2.黑龍江中醫(yī)藥大學附屬一醫(yī)院,哈爾濱 150040)
新時期,移動互聯(lián)技術與人工智能技術飛速發(fā)展,為生產(chǎn)生活提供了巨大的便利。作為人工智能的重要分支,運動目標跟蹤方法將圖像處理、智能計算以及模式識別等眾多技術相融合,在眾多領域應用廣泛,如:安全監(jiān)控、目標探測、車輛跟蹤等。CamShift算法是典型的特征跟蹤算法,依據(jù)目標物的顏色特征進行識別跟蹤,其運算復雜度低,實時獲取跟蹤結果,且性能穩(wěn)定。不過,一旦目標物的顏色與背景色、目標物顏色相似,或者存在遮擋的情況下,就會出現(xiàn)目標丟失、準確性大大降低的問題[1-4]。
徐琨等人在2009年時提出了基于CamShift的自適應顏色空間目標跟蹤算法,依據(jù)當前量和類間平均距離動態(tài)地選取當前的顏色空間,克服了只適用于單個顏色空間的缺陷[5]。倪麒等人在2010年將高斯混合模型同CamShift算法結合,通過背景差分提取出運動物體所在的局部區(qū)域避免了手動選取的缺陷[6]。王冉等人則在2012年提出將運動預測與Camshift算法相結合以提高對于運動目標的跟蹤準確率[7]。本文將提出一種將高斯混合模型引入CamShift算法中的優(yōu)化方法,以解決在目標與背景差異較小情況下,目標丟失率升高的問題,并通過實驗證明該方法的可行性與準確性。
本實驗中,為統(tǒng)計圖像顏色概率分布情況,我們先將圖像由RGB顏色空間轉(zhuǎn)換為HSV顏色空間。因為HSV色度空間在色度、飽和度以及亮度三個分量上三者之間相互獨立并且可以很好的反映出圖像的灰度信息以及色彩信息,且HSV的H(色度)分量可以比較好的反應出目標色彩信息,可將H分量作為統(tǒng)計目標顏色直方圖的考量依據(jù)。
具體轉(zhuǎn)換過程中,先把原圖中的像素點替換為對應的顏色直方圖以作后續(xù)統(tǒng)計,最終將其歸一化為[0 255],最終獲取到圖像顏色概率分布圖[8-12]。具體步驟如下:
1)根據(jù)查找輪廓,讀入一幀圖片,預覽;
2) 將圖片中所有顏色換成HSV色度空間;
3)設定識別顏色的取值范圍,分成R、G、B三種色彩;
4)在圖片中查找相關顏色,轉(zhuǎn)換成二值圖,并將所得的二值圖像四邊都分別增加一個像素,設定為查找輪廓;
5)重復上面步驟,直到所有顏色都識別完畢。
在跟蹤搜索領域,CamShift算法是一種常見的根據(jù)目標特征進行目標跟蹤的算法,該算法以目標圖像顏色的直方圖為依據(jù),只要通過在概率分布中不斷迭代,就可以最終尋找到極值并進行目標定位。如圖2為CamShift圖像跟蹤原理,CamShift算法思想主要包含如下幾點:
1)目標局部發(fā)生位移,影響目標顏色概率分布;
2)實時計算、統(tǒng)計整個目標不同顏色的概率分布情況,分析目標變化情況;
3)將歷史frame的計算值,作為實時計算的frame的Search Window的初始值;
4)對搜索框中的顏色分布進行計算和分析,實時、靈活調(diào)整搜索框位置和大小。
本設計中,首先分析圖像顏色概率分布確定目標搜索窗大小,假定其為s;計算出所采用的搜索窗的質(zhì)心坐標,其可以采用以上求得的概率分布圖的零階矩和一階矩求出來,其零階矩如下:
(1)
而x以及y的一階矩如下所示:
(2)
通過以上方法求得的搜索窗質(zhì)心為:
得出搜索框質(zhì)心位置,這其中,I(x,y)是像素點(x,y)的值,其橫坐標和縱坐標在搜索窗內(nèi)。
搜索窗的大小需要根據(jù)需要進行適當調(diào)整,其大小根據(jù)下式重新確定:
(3)
重新確定的搜索窗的大小為:
(4)
(5)
這其中:
l是新確定的搜索窗的長,而ω是新的搜索窗的寬度。
高斯模型用高斯概率密度函數(shù)精確量化圖像,將圖像分解為若干個基于高斯概率密度函數(shù)形成的模型。為提高模型的精確性,本文在模型中引入權值均值,建立背景圖像并實時更新,后續(xù)處理中結合權值、權值均值和背景圖像等因素對像素點進行前景和背景的分類。所以:
Dik(x,y)=|fk(x,y)-Bk(x,y)|
(6)
并且根據(jù)如下公式進行閾值判斷:
(7)
這其中,fk是當前的圖像幀,而Dk則是差分得出的圖像,Rk是二值化后的圖像,Bk則是圖像的背景。
高斯混合模型的核心是能否構建一個合理的背景模型并且進行背景模型的更新操作。一般構建一個合適的背景模型是通過對一個時間段內(nèi)的背景圖像的累積獲取的:第一步是獲取一段不存在運動物體的視頻序列,將這一背景序列的點(x,y)的像素值的和表示為S(x,y),而用Sq(x,y)代表這一背景序列中像素點(x,y)的平方和,兩者分別如下表示:
S(x,y)=I1(x,y)+I2(x,y)+I3(x,y)+...+Ik(x,y)
(8)
(9)
針對于高斯分布的背景模型的均值和方差如下計算:
(10)
(11)
其中,N是整個背景序列中背景圖的數(shù)量。
在整個環(huán)境中,隨著時間的變化,背景也會發(fā)生改變。所以為了避免系統(tǒng)產(chǎn)生較大的誤差,需要對背景進行相應的更新,這里采用自適應的背景模型更新方法,其公式如下表示:
(12)
(13)
公式內(nèi)的系數(shù)α是更新速度,在采用自適應的背景 更新算法時需要將運動物體排除在背景模型的更行之外,而且不能要求每一個圖像幀都進行背景模型的更新[17-18]。
采用高斯混合模型對一個移動的目標進行檢測,先對圖像進行二值化處理,再根據(jù)高斯混合模型計算得出的當前幀的背景圖像。高斯混合模型可以得出每一幀的當前背景進而提取出目標區(qū)域中的移動目標部分,進而實現(xiàn)運動目標的跟蹤監(jiān)測。高斯混合模型聯(lián)合CamShift運動圖像跟蹤檢測實施步驟如下:
1)高斯混合模型標示出跟蹤區(qū)域,作為后續(xù)算法跟蹤初始搜索窗;
2)計算目標跟蹤區(qū)域顏色概率分布數(shù)據(jù);
3)用CamShift算法計算獲取下一步搜索窗具體位置、長寬等數(shù)據(jù);
4)計算出運動目標所在矩形區(qū)域的中心、橫縱坐標、搜索窗等參數(shù)的絕對差值;
5)判斷步驟4中得到的差值是否超出設定的閾值:若差值大于閾值,則采用第一步中獲取的矩形框作為下一個搜索窗,否則的話將步驟(的搜索窗作為下一個搜索窗,并從第二步重新計算得出結果。
本次實驗智能高清攝像機采用海康威視某型號200 W像素CCD,操作系統(tǒng)為Linux操作系統(tǒng)。算法部分在Linux ubuntu操作系統(tǒng)下(采用ubuntu操作系統(tǒng)的原因在于該系統(tǒng)裁剪性好,且對多種接口友好度高),采用OpenCV2.3視覺庫編程設計實現(xiàn),將實現(xiàn)好的軟件合并到智能高清攝像機中。其部分代碼如下:
import rospy
import cv2from cv2
import cv as cvfrom rbx1_vision.ros2opencv2
import ROS2OpenCV2from std_msgs.msg
import Stringfrom sensor_msgs.msg import Image
import numpy as np
class CamShiftNode(ROS2OpenCV2):
def __init__(self, node_name):
ROS2OpenCV2.__init__(self, node_name)
self.node_name = node_name
The minimum saturation of the tracked color in HSV space,
as well as the min and max value (the V in HSV) and a
threshold on the backprojection probability image.
self.smin = rospy.get_param("~smin", 85)
self.vmin = rospy.get_param("~vmin", 50)
self.vmax = rospy.get_param("~vmax", 254)
self.threshold = rospy.get_param("~threshold", 50)
測試設備:海康威視某型號200 W像素CCD高清攝像機;
測試環(huán)境:某地級市某狹窄雙向行駛道路;
照度儀檢測值:88lux-125lux;
采集開始時間:16時32分;
視頻幀率:75 fps;
跟蹤目標數(shù):4個;
拍攝時,攝像頭位置較為固定,可理想化為穩(wěn)定狀態(tài);
設定:跟蹤目標質(zhì)心為黃色、檢測框為綠色、檢測調(diào)整框為灰色。
我們對設計的目標跟蹤方法進行實驗驗證,驗證可行性以及準確性??尚行缘尿炞C設計為使用該方法對一段錄制好的視屏進行動態(tài)目標的跟蹤提取,以判斷其是否可以完成運動目標的跟蹤目的。準確性是驗證跟蹤目標不丟失,且維持較長的跟蹤時間。圖3為Ubuntu系統(tǒng)下編程示例。
圖4 低照度環(huán)境下較大畫面動態(tài)目標跟蹤結果
驗證結果如圖4所示,其中正方形方框為檢測框,較粗且不規(guī)則線段為跟蹤目標質(zhì)心移動軌跡。
1)可行性:
可以看出,隨著鏡頭畫面中跟蹤物的不斷移動,正方形搜索窗一直標示著運動的目標,這證明了所提方法可以完成對運動目標進行跟蹤的目的,充分證明方法是可行且有效的。
且在跟蹤過程中,黃色質(zhì)心點隨著時間的推移構成了四條連續(xù)、未間斷的線條軌跡,且沒有出現(xiàn)離散點。這說明在跟蹤過程沒有出現(xiàn)丟幀以及目標丟失的情況。
2)準確性:
本次測試實在黃昏時間段,光照條件較差,照度僅為88lux-125lux(從光學角度來看,該光照數(shù)值說明光照條件較差,屬于惡劣光照環(huán)境)。測試環(huán)境中,不斷出現(xiàn)行人、自行車、電瓶車等移動物體,干擾性較大,目前算法可以準確跟蹤到畫面中的移動物體。
四個跟蹤目標中,左上角白色小車與JAC小型卡車均整體位于檢測框內(nèi),左起第三輛銀色小車的上半檢測框侵入車輛圖像上邊緣內(nèi),最右邊銀色面包車的檢測框上邊緣和左邊緣均有一定程度的侵入。說明檢測框跟蹤效果較好,沒有出現(xiàn)目標的丟失,且檢測框的準確性較高(沒有出現(xiàn)30%以上的誤差)。四個跟蹤目標中僅有JAC牌小型卡車出現(xiàn)了檢測調(diào)整框,說明檢測框調(diào)整及時且準確。
四個跟蹤目標的質(zhì)心軌跡均平滑、線性,沒有出現(xiàn)離散的質(zhì)心點,這說明跟蹤的效果相比較于普通的跟蹤算法來說,有較大的性能優(yōu)勢。
實驗環(huán)節(jié)準確、充分證明了高斯混合模型聯(lián)合CamShift算法的可行性,于以往跟蹤算法相比,其優(yōu)勢如下:
1)高斯混合模型的加入,使得CamShift算法的性能大幅度提升,主要體現(xiàn)在丟失率的降低和連續(xù)跟蹤能力的增強;
2)RGB顏色空間到HSV顏色空間的轉(zhuǎn)換使圖像采集數(shù)
據(jù)的處理更為可控,提高了算法的運算性能,保證了運算速度。
與其他跟蹤算法相比,本設計也存在一些美中不足,主要是高斯混合模型的加入大大提高了數(shù)據(jù)預處理環(huán)節(jié)的運算量,對硬件運算能力要求較高。若后續(xù)算法優(yōu)化環(huán)節(jié)能夠降低對硬件的要求就更為理想,將大幅度降低該設計實際應用的風險,提高經(jīng)濟性。
本文基于CamShift算法,結合高斯混合模型對于圖像目標定位設計了一種運動目標跟蹤方法。提出了采用高斯混合模型對目標圖像的修正,提出存在運動物體的目標區(qū)域的方法。這一方法通過直接運算,提高了系統(tǒng)的適應性與效率。通過CamShift算法采用一個根據(jù)高斯混合模型得出的搜索窗對目標區(qū)域進行目標跟蹤。文章最后通過實驗進行測試,證明該算法跟蹤效果較好,且不會出現(xiàn)跟蹤丟失的現(xiàn)象,本文所提出算法很好克服了運動目標跟蹤過程中目標跟蹤過程中目標發(fā)散,容易丟失的缺點,具有很好的適用性。
參考文獻:
[1] 張 娟, 毛曉波, 陳鐵軍. 運動目標跟蹤算法研究綜述[J]. 計算機應用研究, 2009, 26(12):4407-4410.
[2] 胡瑞欽,張立建,孟少華.基于OpenCV的圖像橢圓特征識別與定位研究[J]. 計算機測量與控制2016(12):116-118.
[3] 常發(fā)亮, 劉 雪, 王華杰. 基于均值漂移與卡爾曼濾波的目標跟蹤算法[J]. 計算機工程與應用, 2007, 43(12):50-52.
[4] 周志宇, 汪亞明, 黃文清. 基于動態(tài)圖像序列的運動目標跟蹤[J]. 浙江工程學院學報, 2002, 19(3):165-170.
[5] 徐 琨, 賀昱曜, 王衛(wèi)亞. 基于CamShift的自適應顏色空間目標跟蹤算法[J]. 計算機應用, 2009, 29(3):757-760.
[6] 雷陽陽,程維明,何康華.基于線陣CCD的圖像采集系統(tǒng)設計[J]. 計算機測量與控制2016(11):215-218.
[7] 王 冉. 基于Camshift算法的運動預測目標跟蹤改進算法研究[D]. 濟南:山東大學, 2012.
[8] 趙文倩, 匡遜君, 李明富. 基于改進的Camshift運動目標跟蹤算法的研究[J]. 信息技術, 2012(7):165-169.
[9] 錢永青, 謝勤嵐, QIANYong-qing,等. 結合Camshift和Kalman預測的運動目標跟蹤[J]. 計算機工程與科學, 2010, 32(8):81-83.
[10] 劉 雨,周麗娟.基于譜分解的模糊C均值算法在彩色圖像分割中的應用[J]. 計算機測量與控制,2016(12):168-171.
[11] 劉 明, 趙孝磊. 一種改進的Camshift目標跟蹤算法[J]. 南京理工大學學報(自然科學版), 2013, 37(5):755-760.
[12] 張春林, 李小堅. 基于幀間差分和背景差分結合的Camshift目標跟蹤算法[J]. 工業(yè)控制計算機, 2014(6):118-120.
[13] 李勁菊, 朱 青, 王耀南. 一種復雜背景下運動目標檢測與跟蹤方法[J]. 儀器儀表學報, 2010, 31(10):2242-2247.
[14] 羅 敏,李 輝.低照度條件下超分辨率人臉圖像采集系統(tǒng)設計與實現(xiàn)[J]. 2016(11):229-231.
[15] 周 帥, 秦明偉, 侯寶臨. 結合局部差分的CamShift動目標跟蹤算法[J]. 自動化儀表, 2017, 38(2).
[16] 楊 杰, 穆平安, 戴曙光,等. 一種改進Camshift算法的研究[J]. 計算機應用與軟件, 2014(2):167-170.
[17] 鄔大鵬, 程衛(wèi)平, 于盛林. 基于幀間差分和運動估計的Camshift目標跟蹤算法[J]. 光電工程, 2010, 37(1):55-60.
[18] 譚 艷, 王宇俊. 一種結合背景差分的改進 CamShift 目標跟蹤方法[J]. 西南師范大學學報(自然科學版), 2016, 41(9):120-125.