劉 偉
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
行人之間遮擋現(xiàn)象在行人跟蹤、行人識別與檢測、行人統(tǒng)計等許多行人圖像研究中都會涉及到。行人之間的遮擋已經(jīng)嚴(yán)重地影響識別、檢測、跟蹤等各種算法的執(zhí)行效果,如何做到遮擋分割算法并保證算法的實時性和可靠性,目前具有重要的研究意義。對遮擋條件下行人分割所使用的不同采樣設(shè)備有不同的算法和結(jié)果,都是現(xiàn)階段值得研究的方向。
遮擋行人分割主要是對感興趣區(qū)域分割[1-5]。行人分割的算法對魯棒性提出了很高的要求,同時,算法的實時性系統(tǒng)必須滿足。在現(xiàn)階段應(yīng)用中,不同設(shè)備對應(yīng)不同算法也會對魯棒性和實時性有很大的影響。目前,常用于遮擋條件下行人采樣的設(shè)備有單目和雙目設(shè)備。單目設(shè)備有采用可見光設(shè)備[6]和熱紅外設(shè)備[7-8]。而可見光設(shè)備是目前最常用的設(shè)備,在遮擋條件下處理受到光線影響大且分割遮擋算法一般從顏色、材質(zhì)等方面進(jìn)行,但是算法復(fù)雜而且在人群遮擋時服裝等接近的時候容易導(dǎo)致算法不準(zhǔn);熱紅外設(shè)備不受光線影響,主要是靠溫度來區(qū)分目標(biāo),當(dāng)遮擋目標(biāo)表面溫度接近時不容易區(qū)分目標(biāo)。雙目檢測主要采用2個可見光設(shè)備。傳統(tǒng)的雙目可見光設(shè)備雙目圖像位置關(guān)系結(jié)合算法[9],利用處于一定夾角的可見光攝像機(jī)采集同一個位置的視頻圖像,然后,算出該位置帶有點云特征的結(jié)合圖像。雙目可見光設(shè)備算法雖然可以分割提取遮擋目標(biāo),但是該設(shè)備算法存在算法復(fù)雜實時性差并且受光源影響大等問題。
針對在實際應(yīng)用中當(dāng)前常用設(shè)備的一系列問題,本文采用Kinect設(shè)備解決遮擋條件下行人檢測問題。由于Kinect設(shè)備采用深度采樣數(shù)據(jù)并且?guī)в衅矫嫖恢玫狞c云圖像,可以有效避免光源問題,而且在遮擋條件下目標(biāo)必然處于不同深度位置,因此,可以簡化算法排除遮擋。單目可見光設(shè)備的平面位置關(guān)系相關(guān)算法、熱紅外設(shè)備的分割算法和雙目可見光設(shè)備的點云信息算法都可以為深度圖像分割提供算法思路,避免大量基礎(chǔ)算法的研究。目前深度采樣設(shè)備的算法思路僅對深度圖像的自遮擋有大量研究,其中,基于深度數(shù)據(jù)變化[10]、基于形態(tài)學(xué)水線區(qū)域分割[11]和聚類算法[12]提供了對遮擋行人之間的分割算法思路。在水平方向采樣行人深度數(shù)據(jù)時,人自身的形態(tài)會導(dǎo)致一個人的深度數(shù)據(jù)驟變,而且在實際使用中Kinect深度數(shù)據(jù)會有大量噪聲存在,根據(jù)深度數(shù)據(jù)變化和邊緣檢測方法會把一個人分割為隨機(jī)多個人。聚類算法雖然可以有效分割行人,但是聚類算法需要迭代運算,實時性低。雙峰和迭代自適應(yīng)閾值算法[13]簡單,但是不能確定多個閾值分割。所以,本文研究新的算法用于Kinect,提出一種基于雙峰法和迭代自適應(yīng)閾值算法的改進(jìn)閾值算法,改進(jìn)并融合一種消除多余目標(biāo)的算法。結(jié)果表明了改進(jìn)算法的魯棒性和實時性都滿足需求。
雙峰法的思想是把圖像看成由前景和背景組成,并且前景和背景都在灰度直方圖上形成高峰,就把在2個高峰之間最低谷處的值作為圖像分割的閾值,如圖1所示。
圖1 雙峰法Fig.1 Double-peak threshold method
迭代閾值法的思想是基于逼近算法,首先,需要找出圖像的最大和最小灰度值,分別記為Rmax和Rmin,令閾值為T:
再根據(jù)(1)式計算的閾值T將圖像的平均灰度值分成2組R1和R2。然后,分別求出2組的平均灰度值u1和u2。用(2)式算出新閾值:
最后,循環(huán)計算閾值,直到新的u1和u2不再發(fā)生改變,就能獲得所需要的閾值去分割圖像。
Kinect深度數(shù)據(jù)都是漸大或者漸小,很難滿足雙峰閾值法的要求找到低谷,并且需要的閾值往往不只一個。迭代法滿足深度數(shù)據(jù)的特性,但是迭代法需要重復(fù)逼近運算,算法實時性低。
K均值聚類算法的目的是以像素值相似為基礎(chǔ)來分割圖像。其主要步驟為第1步對輸入基因表達(dá)矩陣作為對象集X,輸入指定聚類類數(shù)N,并在X中隨機(jī)選取N個對象作為初始聚類中心。設(shè)定迭代中止條件,比如最大循環(huán)次數(shù)或者聚類中心收斂誤差容限。第2步進(jìn)行迭代。根據(jù)相似度準(zhǔn)則將數(shù)據(jù)對象分配到最接近的聚類中心,從而形成一類。初始化隸屬度矩陣。第3步,更新聚類中心。然后,以每一類的平均向量作為新的聚類中心,重新分配數(shù)據(jù)對象。最后,一直反復(fù)執(zhí)行第2步和第3步直至滿足中止條件。
基于形態(tài)學(xué)水線區(qū)域分割算法[11]首先需要產(chǎn)生距離圖,采用(3)式迭代的腐蝕二值化的深度圖:
(3)式中:m是非空圖像的最大個數(shù);k表示迭代腐蝕次數(shù);B為原始圖像;S為結(jié)構(gòu)元素。
然后,用極限腐蝕的方法反復(fù)地腐蝕目標(biāo)將會把目標(biāo)腐蝕到消失,保留消失前一步結(jié)果,并設(shè)為目標(biāo)種子。用圖像值減去極限腐蝕得到的結(jié)果,得到了極限腐蝕合集。最后,對上一步集合的值和其對應(yīng)位置進(jìn)行粗化,就是連接在一起并明確畫出分割線來分割。
K均值聚類和基于形態(tài)學(xué)水線區(qū)域分割算法都用到了迭代算法的思想,計算機(jī)重復(fù)運算量非常大,而且基于形態(tài)學(xué)水線區(qū)域分割算法還要用到形態(tài)學(xué)運算,將進(jìn)一步增加運算時間。
姚亞夫[6]在論文中提出對圖像中擁有相同像素的連通域進(jìn)行分析,這個連通域被稱為Blob。采用常用的Blob分析方法分割行人,Blob分析是根據(jù)圖像閾值分割后所得到的各個Blob的外接矩形與中心位置作為特征,將2個或2個以上符合算法約束條件的Blob融合成一個外接矩形,該邊界包含融合前的所有Blob,以實現(xiàn)準(zhǔn)確的分割目標(biāo)。采樣設(shè)備安裝在行人的側(cè)面,獲得行人側(cè)面視頻并且行人與水平線垂直。通常情況下,垂直相鄰的Blob屬于需要融合的同一個行人目標(biāo),而水平相鄰的Blob不屬于同一個行人目標(biāo)。因此,垂直方向設(shè)置一個常數(shù)T1用來融合Blob,T1取值為行人在視頻圖像中的像素高度。水平方向設(shè)置一個T2,T2取值為0或負(fù)數(shù)。當(dāng)進(jìn)行比較的2個Blob滿足最小垂直距離小于T1且最小水平距離小于T2,Blob就進(jìn)行融合。然后,尋找下一個Blob,直到?jīng)]有符合條件為止。
此算法不適合行人離攝像頭距離不同而導(dǎo)致的高度和寬度的變化,并且有遮擋同時存在的情況。
Leibe B[14]等人提出先要找到行人的準(zhǔn)確位置,用3個標(biāo)準(zhǔn)應(yīng)用:相距、覆蓋和重疊。把行人的位置用外接矩形表示出來,然后,找到這個矩形的一個固定縱橫比。在2個矩形中間設(shè)置內(nèi)接橢圓,測得的2個矩形框中心距離為d,再測出橢圓中心指向矩形左上角角點的半徑為r。根據(jù)d和r的比較,再自定義一個比較標(biāo)準(zhǔn),這樣就可以得出是屬于上面3種應(yīng)用中的哪一種應(yīng)用標(biāo)準(zhǔn),如圖2所示。
圖2 遮擋距離示意圖Fig.2 Schematic schematic diagram
此算法可以作為判斷遮擋條件,但是當(dāng)要處理的已經(jīng)不是遮擋問題時,而是一個運動目標(biāo)被分割為2個或者多個目標(biāo),需要合并多余目標(biāo)時,這個算法就有不足之處。
首先,要把圖像深度數(shù)據(jù)用閾值分割方法與分割為多個部分,本文融合雙峰和迭代自適應(yīng)閾值算法,把單獨目標(biāo)的圖像深度數(shù)據(jù)的最小值(Tmin)和最大值(Tmax)都作為峰值,然后,根據(jù)實驗統(tǒng)計的行人深度數(shù)據(jù)值進(jìn)行分割多個目標(biāo)。統(tǒng)計單個輪廓非零最小值Nmin和最大值Nmax。
(4)式中:目標(biāo)分為F個區(qū)域,閾值為Tmin,Tmin+f,…,Tmin+ ( F -1)f,Tmax這個算式可以把運動目標(biāo)根據(jù)f的值分割開。其中,f為人的厚度 ,本文取值25。
經(jīng)過融合雙峰和迭代自適應(yīng)閾值分割預(yù)處理后,一般情況下已經(jīng)能正確識別運動行人目標(biāo)的位置和數(shù)量,但是還是有在人群集中覆蓋或者噪聲干擾較大的部分情況下,一個人會處于深度分割閾值的兩面,導(dǎo)致識別錯誤,如圖3所示。
圖3 一個人被識別為多個Fig.3 A person is identified as plurality
本文提出改進(jìn)算法,圖3的情況可以用圖4的矩形框來表示,其中,一個人被分為了M和N這2個矩形框的情況,如圖4所示。
圖4 一個行人被識別為兩個行人示意圖Fig.4 Schematic that a pedestrian was identified as two pedestrians
以M矩形為起點,依次尋找符合條件的N矩形,算法公式為
(5)—(7)式中:x,y為分割的任一矩形左上角點坐標(biāo);Cx,Cy為分割的任一矩形中心點坐標(biāo);w,h為分割的任一矩形寬和高。(5)式是為了找到圖4中間的垂直三角形,矩形框是檢測到的運動物體輪廓的外接矩形,垂直三角形是2個矩形的質(zhì)心連線。找到N矩形的質(zhì)心坐標(biāo)范圍在M矩形橫坐標(biāo)內(nèi),即( x ,x+w),并且垂直三角形的高必須要大于寬。然后,再把2個矩形的坐標(biāo)y最大點和x最大點記錄,畫出包涵2個矩形的最小外接矩形,作為最后的運動目標(biāo)運動范圍。
在一臺主頻為2.5 GHz,內(nèi)存為2 GB,利用Intel公司的開放源代碼計算機(jī)視覺庫OpenCV和OpenNI作為Kinect傳感器設(shè)備的接口用VS2010組建實驗平臺,實現(xiàn)該算法。本文使用Kinect在室內(nèi)拍攝了一系列水平狀態(tài)下復(fù)雜背景與簡單背景的行人數(shù)據(jù)進(jìn)行實驗,其中,可見光圖像和深度圖像大小都為640×480,幀率為每秒30幀。圖5是本實驗流程圖。
在閾值分割部分,如果統(tǒng)一處理所有輪廓,使有些人被分割為2個人,如圖6所示。因為不同輪廓中的人位于不同深度位置導(dǎo)致統(tǒng)計的最大值和最小值不能適用于每一個人,使本實驗最終結(jié)果如圖7所示。
表1顯示了視頻中有少量行人和大量行人時不同算法處理一幀需要的速度??梢钥闯?,該算法基本滿足實時性。
表1 不同算法運算時間 (單位:ms)Tab.1 Processing time for different algorithm (Unit:ms)
圖5 流程圖Fig.5 Flow chart
圖6 不同區(qū)域處理比較Fig.6 Comparison of different regional processing
圖7 不同背景情況Fig.7 Different background
定義識別率Pd,誤檢幀率Pf,平均錯檢個數(shù)Nf分別為
(8)—(10)式中:F為總體幀數(shù);Fr為正確識別幀數(shù);Ff為錯誤檢測幀數(shù);Fd為檢測識別幀數(shù);Na誤檢幀樣本平均數(shù);Nb錯誤檢測樣本平均數(shù)。表2列出了各消除多余目標(biāo)算法結(jié)果。
表2 各算法比較Tab.2 Comparison of algorithms
基于Kinect的遮擋條件下行人目標(biāo)檢測有著廣闊的應(yīng)用前景,使用本文提出的融合雙峰和迭代自適應(yīng)閾值算法能有效分割行人目標(biāo),并且配合使用本文提出的多余目標(biāo)融合算法能夠得到較好的結(jié)果。本文使用的算法在需要大量運算的復(fù)雜背景與人流量大的情況下,能保持處理一幀70 ms,94.8%的準(zhǔn)確率。比傳統(tǒng)可見光設(shè)備在處理速度和準(zhǔn)確率上都有所提升。
[1]李偉,何鵬舉,楊恒,等.基于雙閾值運動區(qū)域分割的AdaBoost行人檢測算法[J].計算機(jī)應(yīng)用研究,2012,29(9):3571-3574.
LIWei,HE Pengju,YANG Heng,et al.AdaBoost pedestrian detection algorithm based on dual-threshold motion area segmentation[J].Application Research of Computers,2012,29(9):3571-3574.
[2]高潮,田翠翠,郭永彩.基于改進(jìn)聚類中心分析法的紅外行人分割[J].計算機(jī)工程,2011,37(6):2678-2684.
GAO Chao,TIAN Cuicui,GUO Yongcai.Pedstrian Segmentation in Infrared Images Based on Improved Clustering Centers Analysis Algorithm[J].Computer Engineering ,2011,37(6):2678-2684.
[3]王海星.圖像背景自適應(yīng)分割技術(shù)研究[J].昆明冶金高等??茖W(xué)校學(xué)報,2010,26(5):18-22.
WANG Haixing.On Image Background Adaptive Segmentation Technology[J].Journalof Kunming Metallurgy College,2010,26(5):18-22.
[4]JORGE S.Maroues.Automatic Tracking Of Multiplt PtdestriansWith Group For Mation And Occlusions[J].IEEE PAMI,2010(31):210-227.
[5]郭鎖利,辛棟,劉延飛.近代圖像分割方法綜述[J].四川兵工學(xué)報,2002(7):93-96.
GUO Suoli,XIN Dong,LIU Yanfei.Review of modern method of picture segmentation[J].Journal of Sichuan Ordnance,2012(7):93-96.
[6]姚亞夫,劉佰昂.基于位置特征的運動行人檢測與跟蹤方法[J].廣西大學(xué)學(xué)報:自然科學(xué)版,2009,34(006):769-773.
YAO Yafu,LIU Baiang.A method of detecting and tracking moving pedestrians based on position features[J].Journal of Guangxi university:Natural Science Edition,2009,34(06):769-773.
[7]郭永彩,胡瑞光,高潮.紅外圖像中的行人檢測[J].重慶大學(xué)學(xué)報,2009,32(9):1070-1073.
GUO Yongcai,HU Ruiguang,GAO Chao.Pedestrian detection in infrared images[J].Journal of Chongqing University:Natural Science Edition,2009,32(9):1070-1073.
[8]賈俊濤.一種串聯(lián)組合分類的紅外行人檢測方法[J].應(yīng)用光學(xué),2012,33(4):770-773.
JIA Juntao.Infrared pedestrian detection method using series combination classification[J].Journal of Applied Optics,2012,33(4):770-773.
[9]錢慧佳,楊明,李顥,等.一種基于激光雷達(dá)和視覺的行人檢測方法[J].上海交通大學(xué)學(xué)報,2010(7):946-950.
QIAN Huijia,YANG Ming,LI Hao,et al.A Pedestrian Detection Method Based on Laser Scanner and Camera[J].Journal of Shanghai Jiaotong University,2010(7):946-950.
[10]張世輝,張煜婕,孔令富.一種基于深度圖像的自遮擋檢測方法[J].小型微型計算機(jī)系統(tǒng),2010,5(31):965-968.
ZHANG Shihui,ZHANG Yujie,KONG Lingfu.Self-occlusion Detection Approach Based on Depth Image[J].Journal of Chinese Computer Systems,2010,5(31):965-968.
[11]張梅,文靜華,張祖勛,等.基于形態(tài)學(xué)水線區(qū)域的深度圖像分割[J].光學(xué)技術(shù),2009,35(3):326-329.
ZHANG Mei,WEN Jinghua,ZHANG Zuxuan,et al.Segmentation for range image based onmorphology watershed region[J].Optical Technioue,2009,35(3):326-329.
[12]HOFFMAN R,JAIN A K.Segmentation and classification of range images[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,1987(5):608-620.
[13]趙善龍,劉明勇.圖像二值化時閾值自適應(yīng)選取方法及其Visual C++實現(xiàn)[J].哈爾濱鐵道科技,2006(1):8-11.
ZHAO Shanlong,LIU Mingyong.When Image Binarization An Adaptive Threshold Selection Method And Visual C++to Achieve[J].Harbin Railway Technology,2006(1):8-11.
[14]LEIBE B,SEEMANN E,SCHIELE B.Pedestrian detection in crowded scenes[C]//2005 IEEE Computer Society Computer Vision and Pattern Recognition.San Diego,USA:IEEE Press,2005:878-885.
(編輯:劉 勇)