鄒燕飛 劉淑英
(咸陽師范學院計算機學院 咸陽 712000)
移動目標偵測的算法研究和實現(xiàn)?
鄒燕飛 劉淑英
(咸陽師范學院計算機學院 咸陽 712000)
基于圖像的移動偵測技術(shù)在安防系統(tǒng)、行車記錄儀,包括現(xiàn)在比較流行的XBox中都有廣泛的應用,可是市場上對移動偵測的應用討論的比較多,相比之下對它如何實現(xiàn)討論很少,具體的實現(xiàn)算法很難找到。論文提出了一種解決方案,通過算法實現(xiàn)了偵測的運作過程,結(jié)合在移動設備iPhone手機將該算法進行試驗,最終能夠?qū)崿F(xiàn)對水平(上、下、左、右)移動方向和固定場景下的移動物體遠近的識別,驗證了算法中圖像分辨率、算法效率和精準度的問題。
移動偵測;圖像識別;偵測算法
移動偵測技術(shù)受視頻質(zhì)量、視頻圖像分辨率的影響較大,而且對算法的效率要求很高[1]。因此在不降低算法效率的情況下,需要提高取幀頻率來提高偵測的敏感度,篩選圖像中噪點提升識別的準確度[2]。移動目標的不規(guī)則和使用場景的復雜性也提高了對偵測算法的要求[3~4]。
受 Canny算法啟發(fā)[5~6],本文提取 Canny算法中受用的部分并結(jié)合智能手機這個使用場景,實現(xiàn)一種可行偵測的方案,通過去噪點、加快圖像捕捉的頻率、分出更多的取值矩陣來提高偵測精確度,對移動偵測算法的原理和實現(xiàn)步驟做了詳細的描述,對算法的正確性做了驗證,對其性能進行了檢測。
直方圖可以反映一張RGB的二維圖像的灰度特征,取不同時段的兩張圖像,比較它們的直方圖,可以大致判斷出圖像是否有大幅度的變化[7]。取直方圖中的一個通道,可以反映出兩張圖片在該灰度通道上的變化,偵測算法就是根據(jù)channel(0)上的灰度變化,來識別圖像的變化。
圖1 多通道下的灰度直方圖
多通道下的灰度直方圖為原始圖像劃分區(qū)域,單獨給圖像中的每個區(qū)域計算出直方圖,通過比較兩張圖像中每個區(qū)域的灰度值的變化幅度,來判斷物體的移動方向和物體是否在靠近,如圖2所示。圖2(a)和(b)、(c)和(d)分別是按時間順序前后截取的兩張圖片,其中值“0”表示該區(qū)域灰度值和之前的圖片在同區(qū)域沒有大幅變化,“1”表示該區(qū)域灰度值和之前的圖片在同區(qū)域有大幅變化[8~10]。那么根據(jù)這兩張圖的特征就可以判斷出一個移動目標正在向左移動。
圖2 按時間順序前后截取的兩組圖片
圖2 (c)和(d)展現(xiàn)了目標物體正在靠近或者是正在變大,再根據(jù)具體的應用場景就能判斷出目標物體的狀態(tài)。
根據(jù)算法原理,可得實現(xiàn)步驟如下:
算法中定義的參數(shù):
1)按照FrequencyValue的頻率從視頻中獲取到單幀的圖像,對圖像中的像素點進行區(qū)域劃分,假定劃分了一個8*8的區(qū)域塊。
2)對各個區(qū)域塊計算直方圖在channel(0)上的灰度值,將這64個值保存到數(shù)組A中,作為下次運算的歷史參考值。
3)和上一次獲取的圖像作比較,計算出每個區(qū)域塊中的灰度差值,計算出所有的符合Effec?tiveValue的各個區(qū)域,并記下這些區(qū)域,寫入數(shù)組B中。
4)根據(jù)數(shù)組B,計算出變化區(qū)域塊的中心區(qū)域塊的位置,尋找中心區(qū)域塊的目的是為了計算移動目標的移動方向,只要和下一張圖像中的中心區(qū)域塊比較,就可以得出移動目標的移動向量。并將數(shù)組B中元素個數(shù)數(shù)量保存到數(shù)組PointNumArray中,作為移動目標遠近或者是形態(tài)大小變化的參考值。例如圖3中的第二行第三列的區(qū)域塊就是這幾個變化區(qū)域塊的中心區(qū)域塊。中心區(qū)域塊的位置記入C數(shù)組中。
圖3 尋找中心區(qū)域塊的位置
5)重復上述1)~4)步驟,就可以通過C數(shù)組中記錄的位置,取出數(shù)組C中的兩個相鄰的點,點A(m1,n1),點B(m2,n2),則那個時段下移動目標的移動向量計算如下:AB=(m2-m1,n2-n1),結(jié)合PointNumArray數(shù)組對應位置上的變化區(qū)域塊的個數(shù)變化,來初步評判移動物體是否在靠近或者是否變大。例如PointNumArray中對應兩個點得值分別為 NumberA 和 NumberB,NumberB-NumberA>Value,那么這個物體可能在靠近,或者是正在變大。
說明:
FrequencyValue:定義了取幀的頻率,例如其值為3代表了間隔3幀從視頻中取一幅圖像。
CriticalValue:定義了噪點的判斷值,大于該值則判定為噪點,直接舍棄,不加入后期運算。
EffectiveValue:定義有效變化值的臨界點,大于該變化值則認可該區(qū)域發(fā)生了變動。
獲取直方圖的灰度openCV的calcHist方法,因為只取出單通道下的灰度值,所以效率很高,另一方面為了加快運算的速度,對原始圖像的分辨率做了調(diào)整,對原始圖像進行了適當?shù)膲嚎s,從原始的1280*720,提取出來的是640*480的圖像[11]。結(jié)果測試在iPhone5處理性能的環(huán)境下,1s大概可以對8*8區(qū)域分塊的4張圖片做運算。計算中心區(qū)域塊和差值運算,由于區(qū)域塊數(shù)量不會很多,所以運算時間可以忽略不計。
本文討論的算法會應用在iPhone移動設備上,前置攝像頭120萬像素,可提取1280*960的圖像,算法用于捕捉前置攝像頭鏡頭前的移動目標,然后在屏幕上繪制出移動目標的運動軌跡。使用蘋果自帶SDK從攝像視頻中獲取Medium類型的視頻流,得到的是640*480的圖像,以及使用openCV函數(shù)庫對單幀圖像在進行劃塊后分別進行直方圖灰度運算運算,取channel(0)上的值。圖像劃分成8*8的區(qū)域,單個區(qū)域是80*60的圖像。
1)取幀處理
利用AVCapture從前置攝像頭的視頻流中取出單個幀,過4幀取一次,獲取到單個圖像之后,對圖像進行分割,圖像有像素點組成,單個像素點由RGBA構(gòu)成,指針指向了圖片的存數(shù)區(qū)域,由于單張圖片像素點確定,所以每塊區(qū)域的像素點的起終點可以獲得。使用openCV::calcHist計算出每個區(qū)域塊中通道0的灰度值,得到Frame1-Frame64所有的灰度值后放入數(shù)組中。
2)計算前后兩次獲取的灰度值數(shù)組的差值
前后兩次計算的區(qū)域灰度值分別放在Histo?ryArray(上一張圖片)以及 CurrentArray(當前圖片)中,比較各數(shù)組中對應位置上的數(shù)值差值,得到數(shù)值差值數(shù)組A,對A中各個數(shù)值和刪選常量進行比較number1>ConstValue則定義為有效變化,所有有效變化的區(qū)域塊定義為1,無效變化則定義成0,得道一個新的數(shù)組EffectiveArray。
3)計算中心區(qū)域塊和去噪點
數(shù)組的存儲方式是一維的,從1~64的順序,需要把一維的數(shù)組轉(zhuǎn)化為二維序列。一維到二維的轉(zhuǎn)換方法如下:取到某個Number的位置之后,對其進行除行數(shù)取整再經(jīng)過上加一運算后得到P1,對行數(shù)求余數(shù)得到P2,則Number在二維平面上位置就是(p1,q1)。然后進行去噪處理,假設我們獲得了4個點,(p1,q1),(p2,q2),(p3,q3),(p4,q4),先對行進行處理,從中取出3個塊的行值,p2、p3、p4做方差運算,得道一個值SA1,SA1代表了取出p1之后其他幾個塊的行值得方差值,同理算出SA2、SA3、SA4,比較這四個方差值,方差值最小的那個則暫時視為噪點,相同的方式計算出列上的SB1、SB2、SB3、SB4,如果SB1也為最小值,那么可以確定點(p1,q1)為噪點,并將EffectiveArray中對應塊的值從1改成0。
獲取到各個有效位置之后,對各個有效區(qū)域塊的行值和列值求平均值,對平均值取整后,得到得位置坐標即視為中心點。
4)軌跡描繪以及形態(tài)變化
把各個中心點顯示到屏幕上,并計算出兩個相鄰點的向量就能夠做出類似圖4的形狀。
圖4 計算出兩個相鄰點的向量
圖5 在時間軸上獲取到的有效區(qū)域數(shù)量
通過該圖我們可以檢測出是否存在移動目標以及移動目標的移動方向,在屏幕上相對移動速度。通過計算各個EffectiveArray中有效區(qū)域的個數(shù),就可以繪制出類似圖5中的形狀,圖5展現(xiàn)了在時間軸上獲取到的EffectiveArray中的有效區(qū)域數(shù)量在增加。
本論文中討論的偵測算法已經(jīng)應用到上線IOS應用“拇指音”中,經(jīng)過反復的測試和調(diào)試,已經(jīng)能夠做到良好的體驗,使用iPhone前置攝像頭,能夠順利捕捉出在鏡頭前移動的手,以及手掌是否在靠近鏡頭,并且能夠在相比iPhone5性能低很多的iPhone4上流暢地運行,算法效率得到了驗證。讀者可以通過AppStore搜索“拇指音”查看運行效果。
[1]郭玲,李真真,杜明輝.基于單目序列圖像的運動目標跟蹤[J].華南理工大學學報(自然科學版),2012,40(3):94-97.GUO Ling,LI Zhenzhen,DU Minghui.Moving target track?ing based on monocular sequence images[J].Journal of South China University of Technology(Natural Science Edition),2012,40(3):94-97.
[2]李文斌,周曉敏,王長松.一種基于背景減法的運動目標檢測算法[J].北京科技大學學報,2008,30(2):212-216.LI Wenbin,ZHOU Xiaomin,WANG Changsong.Detec?tion algorithm of moving objects based on background sub?traction method[J].Journal of University of Science and Technology Beijing,2008,30(2):212-216.
[3]Sezan M I,A peak detection algorithm and its application to histogram-based imagedata reduction[J].Computer Vi?sion,Graphics and Image Processing,1990,49(1):36-61.
[4] Arifin A D.Thresholding ofdigitalimagesusing two-di-mejsional entropies[J].Pattern Recognition,1992,25(8):803-808.
[5]周曉明,馬秋禾,肖蓉,等.一種改進的Canny算子邊緣檢測算法[J].測繪工程,2008,17(2):28-31.ZHOU Xiaoming,MA Qiuhe,XIAO Rong,et al.An Im?proved Canny Edge Detection Algorithm[J].Engineering of Surveying and Mapping,2008,17(2):28-31.
[6]黃劍玲,鄭雪梅.一種改進的基于Canny算子的圖像邊緣提取算法[J].計算機工程與應用,2008,44(25):170-172.HUANG Jianling,ZHENG Xuemei.Improved Image Edge Detection Algorithm Based on Canny Operator[J].Com?puter Engineering and Applications,2008,44(25):170-172.
[7]馮桂,盧健,林宗堅.圖像直方圖不變特征在影像匹配定位中的應用[J].計算機輔助設計與圖形學學報,2000(2):146-148.FENG Gui,LU Jian,LIN Zongjian.An image matching ap?proach based on the invariant feature of image histogram[J].Journal of Computer-Aided Design&Computer Graphics,2000,12(2):146-148.
[8]田小林,焦李成,緱水平.加權(quán)空間函數(shù)優(yōu)化的FCM的SAR圖像分割[J].西安電子科技大學學報,2008,35(5):846-852.TIAN Xiaolin,JIAO Lichen,GOU Suiping.SAR image segmentation using optimized FCM with weighted spatial function[J].Journal of Xidian University,2008,35(5):846-852.
[9]練秋生,孔令富.非抽樣輪廓波變換構(gòu)造及其在圖像去噪中的應用[J].儀器儀表學報,2006,27(4):331-335.LIAN Qiusheng.KONG Lingfu.The undecimated contour?let transform and its application on image denoising[J].Chinese Journal of Scientific Instrument,2006,27(4):331-335.
[10]Chandran V,et al.Pattern recognition using invariants defined from higher order-spectra one dimensional inputs[J].IEEE Transactions on Signal Processing,1993,1(41):205-212.
[11]黃凱奇,任偉強,譚鐵牛.圖像物體分類與檢測算法綜述[J].計算機學報,2014,37(6):1225-1240.HUANG Kaiqi,REN Weiqiang,TAN Tieniu.A review on image object classification and detection[J].Chinese Journal of Computers,2014,37(6):1225-1240.
Research and Implementation of Algorithm for Moving Target Detection
ZOU Yanfei1LIU Shuying2
(Department of Computer,Xianyang Normal University,Xianyang 712000)
Image motion detection technology in the security system,vehicle traveling data recorder,including the widely used XBox is now more popular,and the technique in the future intelligent machines will be more and more important.But to dis?cuss the application of mobile detection on the market more,in contrast to how it achieves very little discussion algorithm is difficult to achieve specific find.This paper presents a solution,the operation process of detection is used to realize the algorithm,and has been applied in the mobile device,capable of more basic level(upper and lower,left and right)recognition of moving objects mov?ing direction and distance of the fixed scene.The algorithm also takes into account the image resolution,the algorithm efficiency and accuracy problem.
motion detection technology,image recognition,detection algorithm
Class Number TP39
TP39
10.3969/j.issn.1672-9722.2017.12.036
2017年6月11日,
2017年7月27日
國家自然科學基金項目(編號:61462057);咸陽師范學院專項科研基金項目(編號:13XSYK057)資助。
鄒燕飛,女,講師,碩士,研究方向:云計算、并行計算。劉淑英,女,碩士,副教授,研究方向:神經(jīng)網(wǎng)絡。