殷啟明,鄧永和,蔣宇洋,喻順濤,肖悅之
(湖南工程學(xué)院 計(jì)算科學(xué)與電子學(xué)院,湘潭 411104)
紅外技術(shù)通過(guò)兩百年來(lái)的發(fā)展和沉淀,技術(shù)趨于成熟,由于紅外成像清晰、成本較低,對(duì)場(chǎng)景中的人體目標(biāo)進(jìn)行檢測(cè)和跟蹤一直以來(lái)都受到人們的關(guān)注,在各類生產(chǎn)應(yīng)用場(chǎng)景中得到廣泛應(yīng)用.在計(jì)算機(jī)視覺(jué)領(lǐng)域中,人體目標(biāo)的檢測(cè)與跟蹤已成為一個(gè)重要分支,在機(jī)器人視覺(jué)、人機(jī)對(duì)話、智能監(jiān)控等方面有著良好的發(fā)展?jié)摿蜐撛诘膶?shí)用價(jià)值.由于人體的非剛體性、復(fù)雜的姿態(tài)變化以及復(fù)雜運(yùn)動(dòng)導(dǎo)致人體成像的大小變化,再加上背景干擾、目標(biāo)遮擋以及目標(biāo)運(yùn)動(dòng)的隨意性等特點(diǎn)[1],使得這一課題的研究更具挑戰(zhàn)性.對(duì)Mean Shift 算法應(yīng)用于紅外跟蹤中的不足提出了解決方法,采用Kalman 濾波和Bhattacharyya 系數(shù)遮擋判定因子結(jié)合的方法解決了在目標(biāo)快速運(yùn)動(dòng)和遇到遮擋情況下的跟蹤效果差的問(wèn)題[2].
設(shè)計(jì)的紅外攝像頭自動(dòng)跟蹤系統(tǒng),能夠?qū)︾R頭下的目標(biāo)物體進(jìn)行自動(dòng)跟蹤拍攝.通過(guò)紅外自動(dòng)跟蹤攝像頭的檢測(cè)設(shè)備對(duì)周圍環(huán)境中的數(shù)據(jù)進(jìn)行檢測(cè),攝像頭將采集到的數(shù)據(jù)輸入系統(tǒng)數(shù)據(jù)處理中心,系統(tǒng)微處理器通過(guò)CPU 進(jìn)行數(shù)據(jù)化讀取儲(chǔ)存,并且通過(guò)控制邏輯判斷是否存在異常數(shù)據(jù),最后進(jìn)行處理與反饋[2].
紅外跟蹤攝像頭模塊采用的是ov7725 并帶有FIFO(先入先出,對(duì)設(shè)備運(yùn)行要求不高)的攝像頭模塊,ov7725 適用RGB(顏色標(biāo)準(zhǔn))和YUV(顏色編碼方法).采用STM32 F103zet6 單片機(jī)作為主控模塊,TFT/LCD 240-320 作為顯示模塊,搭配的舵機(jī)sg90進(jìn)行移動(dòng)目標(biāo)物體的指向工作.當(dāng)目標(biāo)物體出現(xiàn)在鏡頭范圍內(nèi)時(shí),攝像頭獲取環(huán)境數(shù)據(jù),將環(huán)境數(shù)據(jù)發(fā)送給單片機(jī),單片機(jī)的微處理中心對(duì)環(huán)境數(shù)據(jù)進(jìn)行處理.攝像頭取閾值進(jìn)行判斷并構(gòu)建坐標(biāo)系,當(dāng)目標(biāo)物體發(fā)生移動(dòng)時(shí),將數(shù)據(jù)傳遞給舵機(jī),發(fā)出對(duì)應(yīng)的PWM 波,驅(qū)動(dòng)舵機(jī)跟隨移動(dòng),完成整個(gè)自動(dòng)跟蹤拍攝工作.硬件設(shè)計(jì)實(shí)物如圖1 所示.
圖1 硬件實(shí)物圖
如圖2 所示,Mean Shift 算法是一個(gè)無(wú)參數(shù)概率密度估計(jì)算法,對(duì)人體目標(biāo)的隨意性運(yùn)動(dòng)有很強(qiáng)的適應(yīng)能力,能夠很好地跟蹤非剛體目標(biāo).但是對(duì)目標(biāo)物快速運(yùn)動(dòng)以及旋轉(zhuǎn)、形變等姿態(tài)運(yùn)動(dòng)變化不敏感.Mean Shift 算法的主要優(yōu)點(diǎn)是能在短時(shí)間內(nèi)收斂、計(jì)算量小、計(jì)算速度快,特別適合于對(duì)實(shí)時(shí)性要求很高的攝像跟蹤目標(biāo)系統(tǒng),Mean Shift 算法系統(tǒng)比較獨(dú)立,適合獨(dú)立模塊化,適合與其他算法集成[6].
圖2 Mean Shift算法迭代過(guò)程
卡爾曼濾波是一種數(shù)值估計(jì)優(yōu)化算法,在不需要儲(chǔ)存很長(zhǎng)的先驗(yàn)數(shù)據(jù)的情況下就能更新系統(tǒng)模型,在系統(tǒng)模型的確切性質(zhì)不完全明了的情況下就能夠估計(jì)信號(hào)的狀態(tài)[7].可以利用運(yùn)動(dòng)目標(biāo)上一幀的圖像信息對(duì)目標(biāo)運(yùn)動(dòng)進(jìn)行預(yù)測(cè),能很好地彌補(bǔ)Mean Shift 算法對(duì)目標(biāo)物的旋轉(zhuǎn)與形變等運(yùn)動(dòng)變化不敏感的缺陷.利用卡爾曼濾波來(lái)預(yù)測(cè)出目標(biāo)的大體位置,采用Mean Shift 算法與卡爾曼濾波結(jié)合的方法,能夠很好地解決運(yùn)動(dòng)目標(biāo)的快速運(yùn)動(dòng)問(wèn)題[8].
對(duì)于遮擋問(wèn)題,使用Bhattacharyya 系數(shù)作為遮擋判定因子[9].當(dāng)目標(biāo)被遮擋時(shí),Bhattacharyya 系數(shù)迅速減少,此時(shí)Mean Shift 算法收斂到與目標(biāo)最相似的區(qū)域,Mean Shift 算法不能較準(zhǔn)確地識(shí)別目標(biāo).當(dāng)采取遮擋處理后重新獲得了目標(biāo),目標(biāo)匹配的Bhattacharyya 系數(shù)迅速恢復(fù),因此可以作為遮擋判定的依據(jù).
為了確保紅外跟蹤攝像頭的高性能和穩(wěn)定性,長(zhǎng)時(shí)間持續(xù)穩(wěn)定工作是關(guān)鍵,數(shù)據(jù)的安全性和連續(xù)性體現(xiàn)在視頻完整性和信息連續(xù)性.在運(yùn)行人臉特征檢測(cè)跟蹤的模型的同時(shí),對(duì)攝像頭捕捉到的圖片幀進(jìn)行連續(xù)的視頻封裝,封裝的視頻為AVI(Audio Video Interleaved)格式,最大的特點(diǎn)就是其強(qiáng)大的兼容性和寬泛的應(yīng)用場(chǎng)景[10].
在進(jìn)行視頻封裝保存的時(shí)候,規(guī)定保存視頻的路徑(path)為“/sd/yst/avi”,之后每一次寫入視頻之前,系統(tǒng)管理的模塊os 會(huì)對(duì)這個(gè)目錄下文件個(gè)數(shù)進(jìn)行統(tǒng)計(jì),最新的視頻保存的文件名為(path +“/”+str(num)+“.avi”)如果文件夾中有76 個(gè)視頻文件,則下一個(gè)保存的視頻文件名為77.avi.這樣的保存模式可以確定最新的視頻文件,便于計(jì)算機(jī)進(jìn)行管理.由于該設(shè)計(jì)沒(méi)有配備UPS 電源,為避免突發(fā)性供電缺失導(dǎo)致視頻數(shù)據(jù)丟失,設(shè)置為40 s 保存一下視頻,最大限度地保證視頻內(nèi)容的時(shí)空邏輯的連續(xù)性.
如圖3 所示,文件夾中的187.avi 和190.avi 未能正確地顯示出來(lái),是因?yàn)樵谕话l(fā)斷電的情況下,程序未能及時(shí)完成視頻保存工作,導(dǎo)致視頻文件受到損壞,對(duì)于該類連續(xù)的文件,需要分時(shí)進(jìn)行保存操作,避免一旦斷電,導(dǎo)致長(zhǎng)時(shí)間錄制的文件被損壞,而分時(shí)保存文件在連續(xù)性上能夠得到保障,穩(wěn)定性也會(huì)大幅度提高.
圖3 視頻保存
聯(lián)合調(diào)試是對(duì)數(shù)據(jù)采集、人機(jī)交互各環(huán)節(jié)進(jìn)行調(diào)試,檢測(cè)系統(tǒng)運(yùn)行過(guò)程中各個(gè)數(shù)據(jù)獲取的銜接,在整個(gè)外圍模塊聯(lián)合調(diào)試過(guò)程中,會(huì)因?yàn)槟K適應(yīng)性問(wèn)題、數(shù)據(jù)傳輸方式問(wèn)題,導(dǎo)致相關(guān)的數(shù)據(jù)顯示、獲取、打包出現(xiàn)異常、亂碼提示等錯(cuò)誤.針對(duì)存在的問(wèn)題,必須進(jìn)行兼容性測(cè)試調(diào)整.只有在一次一次的迭代測(cè)試過(guò)程中,分析各種異常情況,解決各種異常問(wèn)題,才能成功實(shí)現(xiàn)舵機(jī)對(duì)移動(dòng)物體做出指向工作,如圖4 所示.
圖4 目標(biāo)物體跟蹤(左圖)與舵機(jī)指向工作(右圖)
在經(jīng)過(guò)調(diào)試和測(cè)試后,達(dá)到了預(yù)期的設(shè)計(jì)效果,當(dāng)目標(biāo)在攝像頭有效范圍內(nèi)發(fā)生移動(dòng)時(shí),目標(biāo)跟蹤系統(tǒng)可以實(shí)時(shí)、準(zhǔn)確跟蹤視頻畫面中框選的目標(biāo),實(shí)現(xiàn)人臉目標(biāo)跟蹤,如圖5 所示.
圖5 人臉目標(biāo)跟蹤
從圖6 中的Bhattacharyya 系數(shù)變化曲線中可以看出,當(dāng)遮擋發(fā)生時(shí),Bhattacharyya 系數(shù)迅速減少,因此可以作為遮擋判定的依據(jù).
圖6 Bhattacharyya系數(shù)變化圖
當(dāng)遮擋面積比較大或者全遮擋發(fā)生時(shí),采用卡爾曼濾波對(duì)目標(biāo)進(jìn)行一次線性預(yù)測(cè),結(jié)束后在預(yù)測(cè)位置進(jìn)行Mean Shift 搜索,對(duì)搜索到的極值點(diǎn)的目標(biāo)窗口內(nèi)的Bhattacharyya 系數(shù)進(jìn)行判定,達(dá)到了預(yù)期效果.
經(jīng)過(guò)測(cè)試,設(shè)計(jì)的紅外攝像頭自動(dòng)跟蹤系統(tǒng),能夠?qū)︾R頭下的目標(biāo)物體進(jìn)行自動(dòng)跟蹤拍攝.系統(tǒng)能夠成功地實(shí)現(xiàn)應(yīng)急情況的處理.主要優(yōu)點(diǎn)有:(1)紅外跟蹤攝像頭能夠?qū)Τ霈F(xiàn)在鏡頭下的環(huán)境數(shù)據(jù)進(jìn)行采集,并將采集到的數(shù)據(jù)轉(zhuǎn)化為可傳輸形式.(2)系統(tǒng)建立了可實(shí)時(shí)傳輸數(shù)據(jù)的通道,能夠?qū)Νh(huán)境數(shù)據(jù)進(jìn)行采集,處理器能夠?qū)?shù)據(jù)進(jìn)行處理、分離和反饋.(3)可實(shí)現(xiàn)友好的人機(jī)交互,能夠?qū)崿F(xiàn)數(shù)據(jù)的展示,將分析處理后的數(shù)據(jù)顯示在模塊上.
以紅外攝像頭的目標(biāo)跟蹤系統(tǒng)作為研究對(duì)象,設(shè)計(jì)的紅外跟蹤攝像頭系統(tǒng),通過(guò)硬件連接設(shè)計(jì)、軟件邏輯設(shè)計(jì)實(shí)現(xiàn)整個(gè)系統(tǒng)自主化工作.采用了Mean Shift 算法與卡爾曼濾波結(jié)合方法,采用Bhattacharyya 系數(shù)作為遮擋判定因子,解決快速運(yùn)動(dòng)與遮擋問(wèn)題,實(shí)現(xiàn)響應(yīng)更加快速,工作更加穩(wěn)定,判斷更加準(zhǔn)確,極大程度地提升了該設(shè)計(jì)的魯棒性、科學(xué)性和實(shí)用性.