摘 要: 針對(duì)一類面向家庭的目標(biāo)監(jiān)控機(jī)器人,利用改進(jìn)的“Zhang”的標(biāo)定方法實(shí)現(xiàn)對(duì)可移動(dòng)旋轉(zhuǎn)雙目攝像頭的內(nèi)、外參數(shù)的估算,通過(guò)連續(xù)拍攝的圖片獲取視差圖,利用前景檢測(cè)獲取前景目標(biāo),再運(yùn)用直方圖定位標(biāo)記出移動(dòng)目標(biāo)物體。由于在家庭環(huán)境中,移動(dòng)目標(biāo)物體往往是待監(jiān)測(cè)對(duì)象,辨識(shí)對(duì)象需要對(duì)包含目標(biāo)物的圖片進(jìn)行人臉檢測(cè)與識(shí)別。通過(guò)改進(jìn)的局部二值模式算子與權(quán)重設(shè)計(jì)標(biāo)記出臉部的輪廓,并檢測(cè)相似度,實(shí)現(xiàn)對(duì)監(jiān)測(cè)對(duì)象的歸檔管理與統(tǒng)計(jì)。實(shí)驗(yàn)測(cè)試結(jié)果表明,估算的外參數(shù)誤差較小,移動(dòng)目標(biāo)物體在部分遮擋時(shí)亦可被檢測(cè)出,人臉檢測(cè)匹配的成功率較高。
關(guān)鍵詞: 家庭機(jī)器人; 標(biāo)定方法; 運(yùn)動(dòng)目標(biāo)檢測(cè); 局部二值模式
中圖分類號(hào): TN911.73?34; TP368.1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)23?0051?04
Abstract: For a type of home target monitoring robot, an improved "Zhang" calibration method is used to estimate the internal and external parameters of the removable and rotated binocular camera. The disparity map is obtained by means of the images taken successively. The foreground detection is used to acquire the foreground object, and then the moving target object is located and marked with histogram. In the home environment, since the moving target object often tends to the object under monitoring, it is necessary for identification object to detect and recognize the human face in the image containing the target object. With the LBP (local binary pattern) operator and weight design, the facial contour is marked and the face similarity is detected to realize the file management and statistics of the monitored object. The experimental results show that the estimated error of the external parameters is small, the moving target object can be detected in the condition of partial occlusion, and the success rate of face detection and matching is high.
Keywords: home robot; calibration method; moving object detection; LBP
0 引 言
伴隨計(jì)算機(jī)視覺(jué)和人工智能的發(fā)展,各式各樣的機(jī)器人在相關(guān)的領(lǐng)域獲得豐富的成果,并將科研成果應(yīng)用于生活領(lǐng)域之中[1],其中,面向家庭的服務(wù)型機(jī)器人以助老、扶幼、觀寵為目標(biāo)[2],逐漸被廣泛接受。與普通的機(jī)器人不同,家庭機(jī)器人必須具備對(duì)指定目標(biāo)的監(jiān)控功能,通常單目攝像頭在對(duì)目標(biāo)圖像識(shí)別的基礎(chǔ)上,計(jì)算與目標(biāo)物體的距離,若缺乏相關(guān)的特征數(shù)據(jù),其計(jì)算結(jié)果準(zhǔn)確性不高[3]。而雙目攝像的原理類似于人眼成像,它包含兩個(gè)左右并行攝像頭,在同一時(shí)間段內(nèi)同步拍照,利用左右圖片的差距進(jìn)行計(jì)算,獲得目標(biāo)物體與定點(diǎn)之間的距離信息[4]。
目前,利用雙攝像頭進(jìn)行目標(biāo)物判定在交通路況[5]、目標(biāo)移動(dòng)物體測(cè)速[6]、足球機(jī)器人導(dǎo)航[7]、植物葉片生長(zhǎng)[8]等方面獲得了廣泛的應(yīng)用,這些應(yīng)用往往用于觀測(cè)已有的目標(biāo)物品,其性能和特征已知,不會(huì)對(duì)目標(biāo)的行為進(jìn)行二次分析[9]。
本文利用場(chǎng)景信息采集、立體圖像繪制、3D、圖像識(shí)別等技術(shù),在經(jīng)典的“兩步法標(biāo)定”的基礎(chǔ)上,實(shí)現(xiàn)隨機(jī)器人移動(dòng)、轉(zhuǎn)角的自適應(yīng)內(nèi)、外參數(shù)標(biāo)定算法,利用雙目視差匹配法處理視差圖像,根據(jù)前景檢測(cè)獲得的景深信息,使用分層雙向定位法對(duì)目標(biāo)物體進(jìn)行識(shí)別,此外,增加目標(biāo)的人臉識(shí)別功能,通過(guò)提取臉部邊緣信息,比對(duì)樣本庫(kù),對(duì)于符合特征的目標(biāo)樣本分類歸檔,同時(shí)記錄其移動(dòng)時(shí)間與坐標(biāo),便于后期分析相關(guān)人員的動(dòng)作與行為。
1 運(yùn)動(dòng)攝像機(jī)模型標(biāo)定方法
家庭機(jī)器人識(shí)別和檢測(cè)目標(biāo)的流程如圖1所示。
若要利用雙目視覺(jué)定位空間內(nèi)任意點(diǎn)的坐標(biāo),可采用以下的方法,首先確保左右兩個(gè)攝像頭拍攝的圖片中包裹此點(diǎn),然后計(jì)算該點(diǎn)的平面坐標(biāo)和深度信息,通過(guò)公式計(jì)算其三維坐標(biāo),獲得此點(diǎn)的準(zhǔn)確位置信息。
目前,普遍采用針孔相機(jī)模型模擬雙目攝像頭的成像方式[10],這種模型復(fù)雜性較低,準(zhǔn)確性和性能較高。圖2是此模型中空間某點(diǎn)的成像示意圖。
三維坐標(biāo)與二維坐標(biāo)之間轉(zhuǎn)換的方程包含攝像頭內(nèi)部參數(shù)和外部參數(shù)的非線性方程,若給出一定數(shù)量點(diǎn)的坐標(biāo)可以求得透視變換矩陣的元素,從而得到攝像頭的內(nèi)外參數(shù)。目前,傳統(tǒng)的攝像機(jī)標(biāo)定方法為兩步法,流行的兩步法有“Zhang”方法和“Tsai”的方法[11],這些方法在計(jì)算內(nèi)外參數(shù)時(shí)需要參照目標(biāo)物體的位置,精確度較高。endprint
然而這種標(biāo)定方法得到的內(nèi)外參數(shù)只針對(duì)當(dāng)前攝像頭狀態(tài),本文設(shè)計(jì)的雙目視覺(jué)運(yùn)動(dòng)機(jī)器人系統(tǒng),采用“Zhang”的方法實(shí)現(xiàn)攝像頭標(biāo)定后,通過(guò)計(jì)算得到精確的內(nèi)參數(shù),當(dāng)攝像頭平移和旋轉(zhuǎn)時(shí),外參數(shù)隨之變化,采用傳統(tǒng)的兩步法無(wú)法滿足此時(shí)的要求,基于此,本文設(shè)計(jì)改進(jìn)的“Zhang”方法,實(shí)現(xiàn)外參數(shù)自適應(yīng)的標(biāo)定算法。
1.1 攝像頭與運(yùn)動(dòng)機(jī)器人相對(duì)靜止
當(dāng)攝像頭綁定機(jī)器人時(shí),二者同步運(yùn)動(dòng),機(jī)器人坐標(biāo)系和攝像頭坐標(biāo)系同時(shí)發(fā)生變化,即二者在世界坐標(biāo)系的定位已經(jīng)不再準(zhǔn)確,原有的標(biāo)定參數(shù)失去作用。此時(shí),可將世界坐標(biāo)系的原點(diǎn)與攝像頭組的中分線重合,在明確初始狀態(tài)世界坐標(biāo)與機(jī)器人坐標(biāo)之間關(guān)系的基礎(chǔ)上,當(dāng)機(jī)器人運(yùn)動(dòng)時(shí),世界坐標(biāo)系也在隨之運(yùn)動(dòng),通過(guò)公式轉(zhuǎn)換,亦可得到目標(biāo)物體的三維信息。
式中:[R1]可以利用式(4)重新計(jì)算得到;[R,][T]是旋轉(zhuǎn)前通過(guò)標(biāo)定得到的旋轉(zhuǎn)矩陣和平移向量。
由此,可估算出旋轉(zhuǎn)后的外部參數(shù),不需要重新標(biāo)定,且準(zhǔn)確性較高。
2 雙目視覺(jué)運(yùn)動(dòng)目標(biāo)檢測(cè)方法
家庭機(jī)器人的一個(gè)重要功能是識(shí)別家中運(yùn)動(dòng)的物體,此時(shí)需要檢測(cè)目標(biāo)物,判斷其狀態(tài)是否發(fā)生變化。
本文設(shè)計(jì)了快速目標(biāo)物識(shí)別方法,利用兩個(gè)攝像頭獲取圖片的細(xì)微差異,計(jì)算得到視差圖并將連續(xù)的兩幅視差圖進(jìn)行差分與乘積,獲得包含深度信息的前景圖像,最后利用直方圖定位確定目標(biāo)物體。
2.1 視差圖計(jì)算方法
針對(duì)連續(xù)拍攝的若干張圖片,計(jì)算先后兩張圖片的絕對(duì)差值,將視差圖上屬于目標(biāo)物體上的點(diǎn)提取出來(lái)??刹捎瞄撝祬^(qū)間的形式判斷此點(diǎn)的位置,即當(dāng)視差的絕對(duì)差值大于閾值時(shí),標(biāo)記此點(diǎn)屬于前景,依照式(6)的最小值更新視差值;反之,此點(diǎn)為背景點(diǎn),用視差坐標(biāo)代替此點(diǎn)的位置。
2.2 前景目標(biāo)檢測(cè)
為提高目標(biāo)物檢測(cè)的準(zhǔn)確性,可事先分別對(duì)圖像進(jìn)行腐蝕和膨脹處理,增強(qiáng)圖像的光照,提升圖片邊緣的圓滑性。
2.3 直方圖定位
在獲取前景圖像的基礎(chǔ)上,對(duì)每個(gè)不相連的區(qū)域進(jìn)行分層檢測(cè),保證每個(gè)區(qū)域內(nèi)部只有一個(gè)目標(biāo)物體。具體設(shè)計(jì)方法如下:
(1) 為每個(gè)視差層確定惟一的ID信息。
(2) 計(jì)算當(dāng)前區(qū)域內(nèi)視差直方圖的最大值[hk,]并標(biāo)記此時(shí)的視差值[hk],利用式(8)獲得直方圖的閾值[zk,]依照式(9)創(chuàng)建一個(gè)視差層。當(dāng)滿足式(10)時(shí),算法結(jié)束。
(3) 刪除依照式(9)新建的視差層,并跳轉(zhuǎn)至第(2)步。
利用直方圖定位方法可以獲取目標(biāo)物體,并在圖片中標(biāo)記出移動(dòng)的物體。
3 人臉檢測(cè)與識(shí)別方法
在檢測(cè)運(yùn)動(dòng)目標(biāo)的基礎(chǔ)上,進(jìn)一步識(shí)別在家庭中的成員、寵物等,并對(duì)帶頭像的樣本圖片分類歸檔,同時(shí)記錄目標(biāo)物移動(dòng)的時(shí)間、坐標(biāo)。用戶可先預(yù)存家庭相關(guān)成員的樣本圖片,對(duì)樣本學(xué)習(xí)后,進(jìn)行人臉識(shí)別與檢測(cè)。與樣本人員無(wú)關(guān)的陌生人員也將記錄在案。
人臉識(shí)別與檢測(cè)主要采用局部二進(jìn)制模式直方圖(Local Binary Patterns Histograms,LBPH)模型[12],該模型通過(guò)OpenCV中的FaceRecognizer類創(chuàng)建[13]。同時(shí),為解決圖片有效區(qū)域不均衡的問(wèn)題,通過(guò)LBP算子[14]進(jìn)行計(jì)算,為不同密度的區(qū)域增加不同的權(quán)重信息。具體設(shè)計(jì)方法如下:
首先將包含運(yùn)動(dòng)目標(biāo)的圖片切割為若干個(gè)等面積區(qū)域,對(duì)每個(gè)點(diǎn)進(jìn)行LBP算子的計(jì)算,得到該區(qū)域的直方圖。將已經(jīng)獲取的最近鄰域分類器作為評(píng)價(jià)標(biāo)準(zhǔn),可得到一個(gè)距離矩陣:
式中:[Si]表示分布在中心周圍點(diǎn)的位置信息;[Mi]表示中心點(diǎn)的位置信息;[wj]為不同區(qū)域的權(quán)重信息,權(quán)重[wj]可通過(guò)識(shí)別率的區(qū)間進(jìn)行設(shè)置,權(quán)重的數(shù)值隨著識(shí)別率的增高而減小。
識(shí)別率的影響因子除了包含LBP算子的半徑、數(shù)量之外,還包含窗口大小的因素,而此因素會(huì)影響特征的維數(shù)。因此選擇合適尺寸的窗口信息是至關(guān)重要的。
此時(shí),可先設(shè)計(jì)一個(gè)容器儲(chǔ)存樣本信息,采用LBPHFaceRecognizer方法識(shí)別灰度圖信息,建立LBPH模型。再使用train方法進(jìn)行樣本訓(xùn)練、predict方法識(shí)別人臉信息,返回?cái)?shù)據(jù)包含兩個(gè)內(nèi)容:一是人臉?biāo)鶎俚膶?duì)象;二是與所屬對(duì)象的相似度,相似度數(shù)值越小表示兩者越相近。
4 實(shí)驗(yàn)結(jié)果與分析
將機(jī)器人置于家庭內(nèi)部,采集連續(xù)圖片序列約400幀。利用紅外傳感器檢測(cè)、雷達(dá)傳感器測(cè)距代替機(jī)器人的觸覺(jué)實(shí)現(xiàn)基本的避障功能。使用改進(jìn)的“Zhang”方法對(duì)兩個(gè)攝像頭進(jìn)行標(biāo)定,利用棋盤作為標(biāo)定參照物,獲取其內(nèi)、外部參數(shù),結(jié)果如表1所示。
通過(guò)觀察標(biāo)定結(jié)果,發(fā)現(xiàn)兩個(gè)攝像頭的內(nèi)參數(shù)差異很小。
當(dāng)攝像頭相對(duì)機(jī)器人旋轉(zhuǎn)角度時(shí),計(jì)算標(biāo)定外參數(shù)與估計(jì)外參數(shù)的平均誤差,如表2所示。通過(guò)實(shí)驗(yàn)測(cè)定,發(fā)現(xiàn)估算結(jié)果與標(biāo)定結(jié)果誤差較小,對(duì)目標(biāo)識(shí)別結(jié)果的影響可以忽略。
在攝像頭標(biāo)定的基礎(chǔ)上,檢測(cè)目標(biāo)運(yùn)動(dòng)物體。
圖3分別是第37幀和第45幀圖片,矩形框標(biāo)出的是檢測(cè)出的移動(dòng)目標(biāo)物。
當(dāng)目標(biāo)物被部分遮擋時(shí),此種檢測(cè)方法仍可檢測(cè)出運(yùn)動(dòng)的物體。
確定運(yùn)動(dòng)目標(biāo)物之后,提取目標(biāo)的臉部輪廓,完成人臉檢測(cè),并為每個(gè)對(duì)象創(chuàng)建存儲(chǔ)空間進(jìn)行存檔,記錄其移動(dòng)的時(shí)間和位置。圖4是人臉檢測(cè)識(shí)別的效果,表3為使用若干測(cè)試用例后得到的結(jié)果。
由圖4及表3結(jié)果可知,圖片中人臉識(shí)別和單人匹配準(zhǔn)確率較高,三人及以上匹配時(shí)閾值影響較大,準(zhǔn)確率受到影響。由于準(zhǔn)確性受到多方面因素的影響,例如光照、色彩等,有效的變化補(bǔ)償和特征描述是此系統(tǒng)未來(lái)研發(fā)的難點(diǎn)之一。
5 結(jié) 論
目前,攝像頭監(jiān)控已經(jīng)遍布社會(huì)環(huán)境的每一個(gè)角落,而家庭監(jiān)控也逐漸被大眾接受,這類小范圍內(nèi)的視頻監(jiān)控與信息統(tǒng)計(jì)機(jī)器人系統(tǒng)可為用戶提供快捷方便的家庭服務(wù)。endprint
本文在家庭機(jī)器人內(nèi)置左、右兩個(gè)攝像頭,利用改進(jìn)后的“Zhang”的標(biāo)定方法,獲取水平、旋轉(zhuǎn)移動(dòng)時(shí)的攝像頭內(nèi)、外參數(shù),避免二次標(biāo)定,便于機(jī)器人的移動(dòng)與旋轉(zhuǎn)。此外,通過(guò)連續(xù)圖片的視差,檢測(cè)前景圖片,并進(jìn)行直方圖定位,從而獲得運(yùn)動(dòng)的目標(biāo)物體,再將其應(yīng)用于人臉檢測(cè),獲得移動(dòng)人物的頭像,并分類管理和統(tǒng)計(jì),方便用戶分析特定時(shí)間段內(nèi)家庭人員的動(dòng)作與位置。通過(guò)實(shí)驗(yàn)進(jìn)一步驗(yàn)證了對(duì)目標(biāo)物體識(shí)別和檢測(cè)的精度。
參考文獻(xiàn)
[1] 靳國(guó)強(qiáng),陳小平.面向智能服務(wù)機(jī)器人任務(wù)規(guī)劃的行動(dòng)語(yǔ)言擴(kuò)展[J].軟件學(xué)報(bào),2013(7):1614?1624.
[2] 李建華.基于綜合導(dǎo)向的輪式移動(dòng)機(jī)器人自適應(yīng)軌跡跟蹤控制[J].西安交通大學(xué)學(xué)報(bào),2005,39(3):252?254.
[3] LI S Z, ZHANG Z Q. Floatboost learning and statistical face detection [J]. IEEE transactions on pattern analysis and machine intelligence, 2004, 26(9): 1112?1113.
[4] 應(yīng)再恩,李正洋,平雪良.基于雙目視覺(jué)動(dòng)態(tài)跟蹤的機(jī)器人標(biāo)定[J].計(jì)算機(jī)應(yīng)用研究,2015,31(5):1424?1427.
[5] 李兵,楊殿閣,邵林.基于波束形成和雙目視覺(jué)的行駛汽車噪聲源識(shí)別[J].汽車工程,2008,30(10):889?892.
[6] 黃椰,黃靖,肖長(zhǎng),等.基于雙目立體視覺(jué)的船舶軌跡跟蹤算法研究[J].計(jì)算機(jī)科學(xué),2017,44(1):308?313.
[7] 高慶吉,洪炳熔,阮玉峰.基于異構(gòu)雙目視覺(jué)的全自主足球機(jī)器人導(dǎo)航[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2003,35(9):1029?1032.
[8] 于合龍,黃浦,蘇紅宏.基于雙目視覺(jué)的植物葉片三維形態(tài)與光照度同步測(cè)量[J].農(nóng)業(yè)工程學(xué)報(bào),2016,32(10):149?156.
[9] 李瑞峰,李慶喜.機(jī)器人雙目視覺(jué)系統(tǒng)的標(biāo)定與定位算法[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2007,39(11):1719?1722.
[10] TSAO W K, LEE A J T, LIN Y H. A data mining approach to face detection [J]. Pattern recognition, 2010, 43(3): 1039?1049.
[11] 尚倩,阮秋琦,李小利.雙目立體視覺(jué)的目標(biāo)識(shí)別與定位[J].智能系統(tǒng)學(xué)報(bào),2011,6(4):303?311.
[12] 賈寧,高楠,力貴才.基于OpenCV的圖像分類軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2014,41(11):150?153.
[13] 陳凱楓,肖南峰.家庭服務(wù)機(jī)器人的人臉檢測(cè)、跟蹤與識(shí)別研究[J].機(jī)器人技術(shù),2006,22(5):228?230.
[14] 嚴(yán)云洋,郭志波,楊靜宇.基于特征空間劃分的AdaBoost人臉檢測(cè)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(11):2106?2109.endprint