陽永清
(長(zhǎng)沙師范學(xué)院信息與公共實(shí)驗(yàn)管理中心,湖南長(zhǎng)沙 410100)
攝像機(jī)是最為常用的視覺傳感器,將攝像機(jī)加入到機(jī)器人以后,可將攝像機(jī)作為控制器,使機(jī)器人通過對(duì)被測(cè)物體或工件的圖像獲取、目標(biāo)特征提取、檢測(cè)與數(shù)據(jù)分析[1],將機(jī)器人的機(jī)械運(yùn)動(dòng)與機(jī)器視覺的檢測(cè)技術(shù)融合起來,逼真地模擬出人體的頭眼或手眼功能,根據(jù)環(huán)境觀測(cè)與任務(wù)目標(biāo)完成不同的作業(yè)任務(wù),降低工業(yè)產(chǎn)品的工程設(shè)計(jì)難度[2]。競(jìng)賽系統(tǒng)機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè)存在無用區(qū)域,易出現(xiàn)噪聲及空洞現(xiàn)象,存在誤檢率較高的問題,因此,有必要對(duì)競(jìng)賽系統(tǒng)機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè)進(jìn)行深入研究。
國(guó)內(nèi)外都在積極研究機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè)方法,以期將機(jī)器人應(yīng)用于重復(fù)性、高強(qiáng)度、勞動(dòng)量大的工作領(lǐng)域,在國(guó)內(nèi)外機(jī)器人競(jìng)賽中取得了優(yōu)異的成果,因此,研究了幀間差分法與背景差分法兩種機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè)方法[3]。雖然目前研究的幀間差分法與背景差分法都可以讓機(jī)器人檢測(cè)出運(yùn)動(dòng)目標(biāo),但是幀間差分法在應(yīng)用的過程中會(huì)引起噪聲和空洞;背景差分法只能在特定的背景中檢測(cè)出運(yùn)動(dòng)目標(biāo)。
因此,針對(duì)幀間差分法與背景差分法存在的問題,重點(diǎn)研究競(jìng)賽系統(tǒng)中機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè),利用深度學(xué)習(xí)算法,讓機(jī)器人可以在競(jìng)賽系統(tǒng)中檢測(cè)運(yùn)動(dòng)中的目標(biāo)時(shí),不會(huì)受到無用區(qū)域因素的干擾,且適應(yīng)競(jìng)賽系統(tǒng)中場(chǎng)景變化。
將機(jī)器人獲取運(yùn)動(dòng)目標(biāo)圖像的攝像頭看作模型的中心Oc,Yc是機(jī)器人獲取運(yùn)動(dòng)目標(biāo)時(shí)產(chǎn)生的光軸,這條光軸與投影平面A相互垂直,此時(shí)在機(jī)器人獲取運(yùn)動(dòng)目標(biāo)圖像的攝像頭平面右側(cè)創(chuàng)建虛擬投影平面A′[4]。建立以O(shè)c為原點(diǎn),Yc為Y軸,Zc為X軸的機(jī)器人獲取運(yùn)動(dòng)目標(biāo)圖像攝像頭的圖像獲取模型,如圖1所示。在圖1 機(jī)器人攝像頭運(yùn)動(dòng)目標(biāo)圖像獲取模型中,P為機(jī)器人捕捉圖像過程中的任意一點(diǎn),其成像在平面A上的投影點(diǎn)是P′,在平面A′的投影點(diǎn)是P″,Xc為X軸投影,并將x、o、y圖像的平面坐標(biāo)以及像素坐標(biāo)u、o、v設(shè)置在圖1模型中。
圖1 運(yùn)動(dòng)目標(biāo)圖像獲取模型
根據(jù)圖1 建立數(shù)學(xué)關(guān)系式,設(shè)機(jī)器人獲取運(yùn)動(dòng)目標(biāo)圖像攝像頭焦距為f,則有:
將式(1)帶入運(yùn)動(dòng)目標(biāo)圖像獲取模型,則有:
式(2)為運(yùn)動(dòng)目標(biāo)圖像獲取數(shù)學(xué)矩陣模型。機(jī)器人在競(jìng)賽系統(tǒng)中尋找運(yùn)動(dòng)的目標(biāo)機(jī)器人,通過圖1 或式(2)獲取運(yùn)動(dòng)目標(biāo)圖像,且這個(gè)圖像屬于運(yùn)動(dòng)目標(biāo)范圍圖[5]。因此機(jī)器人在獲取到運(yùn)動(dòng)目標(biāo)圖像后,需要對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行標(biāo)定,在標(biāo)定運(yùn)動(dòng)目標(biāo)圖像后,將獲取的圖像進(jìn)行分割處理,進(jìn)而提取運(yùn)動(dòng)目標(biāo)特征。
機(jī)器人獲取到圖像后,想要在機(jī)器人競(jìng)賽系統(tǒng)中獲取運(yùn)動(dòng)中的準(zhǔn)確位置,需要將圖1 模型中的幾何位置、屬性參數(shù),與坐標(biāo)系中的一一對(duì)應(yīng),進(jìn)而分割圖像、提取運(yùn)動(dòng)目標(biāo)特征、確定運(yùn)動(dòng)目標(biāo)位置。因此提取圖1 模型中的像素坐標(biāo)系u、o、v和圖像坐標(biāo)系X、O、Y,如圖2 所示。
圖2 像素坐標(biāo)系和圖像平面坐標(biāo)系
圖1 中的光軸與圖像平面的中心重合,因此將這個(gè)重合點(diǎn)作為像素坐標(biāo)系和圖像坐標(biāo)系的中心點(diǎn)O,將像素坐標(biāo)系提取為因此設(shè)圖像平面坐標(biāo)系單位距離上的像素值為dx和dy,則有:
將式(3)帶入像素坐標(biāo)系和圖像平面坐標(biāo)系,則有:
式(4)即圖像平面坐標(biāo)系矩陣。聯(lián)立式(2)和式(4),設(shè)則有:
式(5)中m即為機(jī)器人獲取圖像中標(biāo)定的運(yùn)動(dòng)目標(biāo),根據(jù)標(biāo)定的運(yùn)動(dòng)目標(biāo)m即可分割機(jī)器人獲取的圖像。
機(jī)器人在檢測(cè)到運(yùn)動(dòng)目標(biāo)時(shí),需要將運(yùn)動(dòng)目標(biāo)從背景圖像中提取出來,因此需要分割圖像,增強(qiáng)運(yùn)動(dòng)目標(biāo)的辨識(shí)度,將檢測(cè)目標(biāo)與背景圖像進(jìn)行區(qū)分,進(jìn)而提取運(yùn)動(dòng)目標(biāo)的特征[7]。因此,設(shè)圖像中運(yùn)動(dòng)目標(biāo)顏色閾值為H1和H2,并將圖像分割成3 個(gè)區(qū)域:背景區(qū)域Z1、Z3,目標(biāo)區(qū)域Z2。由于顏色存在色調(diào)、亮度和飽和度3 個(gè)基點(diǎn),而色調(diào)在顏色特征中具有單調(diào)唯一性,且由可見光光譜中各分量成分的波長(zhǎng)來確定,因此采用顏色的色調(diào)基點(diǎn)區(qū)分圖像背景和運(yùn)動(dòng)目標(biāo)[8]。所以,設(shè)色調(diào)值小于圖像閾值H1的像素組成背景區(qū)域Z1,色調(diào)值在圖像閾值H1和H2之間的像素組成目標(biāo)區(qū)域Z2,色調(diào)值大于圖像閾值H2的像素組成背景區(qū)域Z3。由于顏色色調(diào)存在變化差異,因此需要設(shè)置顏色的基本色調(diào),作為區(qū)分背景區(qū)域與目標(biāo)區(qū)域的色調(diào)值[9]。因此,設(shè)基本色調(diào)值為H0,且H1=H2=H0,依照經(jīng)驗(yàn)取像素色調(diào)值為ε,目標(biāo)區(qū)域Z2的圖像面積為N,背景區(qū)域Z1、Z3中重新歸類到目標(biāo)區(qū)域Z2的像素?cái)?shù)為n1、n2,背景區(qū)域Z1像素的色調(diào)值為Hi,背景區(qū)域Z3像素的色調(diào)值為Hj,則有:
當(dāng)式(6)中背景區(qū)域Z1的像素色調(diào)值Hi符合H1-Hi<ε時(shí),將背景區(qū)域Z1這一部分像素重新歸類至目標(biāo)區(qū)域Z2;當(dāng)式(6)中背景區(qū)域Z3的像素色調(diào)值Hj符合Hj-H2<ε時(shí),將背景區(qū)域Z3這一部分像素重新歸類至目標(biāo)區(qū)域Z2[10]。不斷重復(fù)這一步驟,直至將圖像所有區(qū)域都重新歸類,然后將背景區(qū)域Z1、Z3合并,即完成圖像分割。圖像分割結(jié)束,即可提取出目標(biāo)區(qū)域Z2中運(yùn)動(dòng)目標(biāo)特征。
將深度學(xué)習(xí)看作可導(dǎo)的得分函數(shù),通過將圖像目標(biāo)區(qū)域的像素與深度學(xué)習(xí)中的每個(gè)元素按位置相乘、相加后作為該區(qū)域中心點(diǎn)的像素值,并在函數(shù)中輸入分割好的目標(biāo)區(qū)域圖像Z2,輸出不同分類的圖像像素,并深度學(xué)習(xí)圖像特征,從而激活圖像上任意位置的特征激活值[11]。因此,設(shè)深度學(xué)習(xí)的卷積核w的大小為a?b,輸出圖像特征為g,則有:
在式(7)的運(yùn)算過程中,深度學(xué)習(xí)的卷積核會(huì)按照一定的速度學(xué)習(xí)輸入目標(biāo)圖像,然后激活目標(biāo)圖像上任意位置的不同特征值,其特征值激活過程如圖3所示[12]。
圖3 深度學(xué)習(xí)特征值激活過程
深度學(xué)習(xí)可以反向傳播卷積核,讓卷積核在傳播過程中提取目標(biāo)區(qū)域圖像的基本視覺特征,在深度學(xué)習(xí)中輸入卷積核,卷積會(huì)自動(dòng)生成二維激活圖,將這些二維激活圖映射在深度方向上并疊加[13]。卷積核即可輸出目標(biāo)區(qū)域圖像的特征值,此時(shí)即可檢測(cè)運(yùn)動(dòng)目標(biāo)位置。
將機(jī)器人所處的競(jìng)賽系統(tǒng)看成一個(gè)四維向量,設(shè)機(jī)器人在k時(shí)刻檢測(cè)運(yùn)動(dòng)目標(biāo)時(shí),競(jìng)賽系統(tǒng)狀態(tài)為Xk,在x軸和y軸上的運(yùn)動(dòng)目標(biāo)坐標(biāo)為xsk、ysk,速度為xvk、yvk,機(jī)器人檢測(cè)運(yùn)動(dòng)目標(biāo)間隔周期為T,則有競(jìng)賽系統(tǒng)四維向量基于式(7)的計(jì)算結(jié)果可知,機(jī)器人觀測(cè)到的目標(biāo)特征為g,目標(biāo)所在區(qū)域?yàn)閆2,因此機(jī)器人在k時(shí)刻的觀測(cè)特征向量Z2gk為,m為機(jī)器人運(yùn)動(dòng)目標(biāo)位置參數(shù)[15-16]。此時(shí)令機(jī)器人獲取運(yùn)動(dòng)目標(biāo)圖像時(shí)間間隔為Δt,設(shè)運(yùn)動(dòng)目標(biāo)在x軸和y軸上的加速度為xak、yak,則有機(jī)器人所獲取運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)方程:
若機(jī)器人在檢測(cè)運(yùn)動(dòng)目標(biāo)時(shí)不存在誤差,即機(jī)器人檢測(cè)到的位置為運(yùn)動(dòng)目標(biāo)位置,則有:
聯(lián)立式(8)、(9),則有:
式(10)計(jì)算結(jié)果即為機(jī)器人檢測(cè)到的運(yùn)動(dòng)目標(biāo)。該檢測(cè)機(jī)器人運(yùn)動(dòng)目標(biāo)將機(jī)器人獲取圖像中的目標(biāo)進(jìn)行標(biāo)定,將目標(biāo)從圖像中分割出來,進(jìn)而提取出運(yùn)動(dòng)目標(biāo)特征,從而可以實(shí)時(shí)檢測(cè)運(yùn)動(dòng)中的目標(biāo),以此達(dá)成機(jī)器人在競(jìng)賽系統(tǒng)中檢測(cè)機(jī)器人運(yùn)動(dòng)時(shí)的位置。
為了驗(yàn)證文中研究設(shè)計(jì)的運(yùn)動(dòng)目標(biāo)檢測(cè)方法,實(shí)驗(yàn)在Delphi 7.0 集成開發(fā)環(huán)境和OpenCV 2.5 下完成,實(shí)驗(yàn)采用視頻行為識(shí)別數(shù)據(jù)庫(kù)上的測(cè)試視頻,且該測(cè)試視頻拍攝鏡頭固定,視頻大小為300×400,真彩色格式,幀率為30 fps,使用TMi3-3110M 主頻2.4 GHz 的PC 機(jī)計(jì)算。競(jìng)賽系統(tǒng)機(jī)器人實(shí)驗(yàn)路徑如圖4 所示。
圖4 實(shí)驗(yàn)路徑示意圖
機(jī)器人從啟動(dòng)區(qū)A點(diǎn)出發(fā),以曲線方式運(yùn)動(dòng)到B點(diǎn),再由B點(diǎn)以直線方式回退到D點(diǎn),最后D點(diǎn)原地扭轉(zhuǎn)航向角,直線運(yùn)動(dòng)到E點(diǎn)附近。
將文中提出的運(yùn)動(dòng)目標(biāo)檢測(cè)方法記為實(shí)驗(yàn)A組,將引言里提到的幀間差分法與背景差分法,分別記為實(shí)驗(yàn)B 組和實(shí)驗(yàn)C 組?;跈C(jī)器人檢測(cè)運(yùn)動(dòng)目標(biāo)的特點(diǎn),從運(yùn)動(dòng)目標(biāo)特征提取和運(yùn)動(dòng)目標(biāo)檢測(cè)兩個(gè)方面分析3 組檢測(cè)方法,檢測(cè)機(jī)器人運(yùn)動(dòng)路線、背景和移動(dòng)背景特征,是否符合實(shí)際目標(biāo)特征和運(yùn)動(dòng)路線。為了保證實(shí)驗(yàn)測(cè)試結(jié)果的可靠性和真實(shí)性,進(jìn)行50 次實(shí)驗(yàn),并將所得特征和運(yùn)動(dòng)路線按實(shí)驗(yàn)次序繪成圖形,直觀上比較不同檢測(cè)方法的差異。
從行為識(shí)別數(shù)據(jù)庫(kù)上的測(cè)試視頻中選取一組背景移動(dòng)視頻,機(jī)器人在運(yùn)動(dòng)過程中,觀察到的背景在不斷變化,采用PC 機(jī)檢測(cè)機(jī)器人運(yùn)動(dòng)過程中,提取變化背景特征實(shí)驗(yàn)結(jié)果,如圖5 所示。
圖5 背景特征提取圖
從圖5 中可以看出,在只有室內(nèi)背景時(shí),實(shí)驗(yàn)B組和實(shí)驗(yàn)C 組檢測(cè)效果夸大,凡是出現(xiàn)在機(jī)器人視野內(nèi)的,都會(huì)給機(jī)器人帶來干擾,當(dāng)有移動(dòng)背景出現(xiàn)時(shí),機(jī)器人會(huì)將移動(dòng)背景擴(kuò)大化。而實(shí)驗(yàn)A 組卻可以很好地屏蔽背景的干擾,準(zhǔn)確識(shí)別出移動(dòng)干擾背景的具體位置。因此,實(shí)驗(yàn)A 組明顯優(yōu)于實(shí)驗(yàn)B 組和實(shí)驗(yàn)C 組,可以準(zhǔn)確提取目標(biāo)特征,屏蔽背景干擾。
從行為識(shí)別數(shù)據(jù)庫(kù)上的測(cè)試視頻中選取一組機(jī)器人競(jìng)賽視頻,該視頻中記錄了一個(gè)機(jī)器人從右至左行駛的小段距離,該機(jī)器人的移動(dòng)前和移動(dòng)后的位置如圖6 所示。該機(jī)器人在行駛過程中為勻速行駛,且行駛的目標(biāo)中心軌跡曲線應(yīng)是從右至左的平滑曲線,且曲線的首尾位置應(yīng)與圖6 中車輛移動(dòng)前位置和移動(dòng)后位置相符。
圖6 運(yùn)動(dòng)目標(biāo)移動(dòng)前后位置
針對(duì)該視頻,分別使用3 種檢測(cè)方法檢測(cè)該機(jī)器人,并提取了3 種檢測(cè)方法所檢測(cè)出的運(yùn)動(dòng)目標(biāo)區(qū)域,利用重心法找出目標(biāo)中心,在連續(xù)幀中記錄3種檢測(cè)方法所檢測(cè)到的運(yùn)動(dòng)目標(biāo)軌跡,其檢測(cè)結(jié)果如圖7 所示。
圖7 機(jī)器人中心軌跡
從圖7 中可以看出,實(shí)驗(yàn)B 組檢測(cè)到的機(jī)器人位置存在突變,與圖6 所示的目標(biāo)機(jī)器人行駛的實(shí)際情況不符;實(shí)驗(yàn)C 組提取到的機(jī)器人行駛軌跡明顯過短,且檢測(cè)到的移動(dòng)前位置和移動(dòng)后位置與圖6所示的目標(biāo)機(jī)器人行駛的實(shí)際情況存在差別;實(shí)驗(yàn)A 組移動(dòng)前后位置與圖6 所示的目標(biāo)車輛行駛的實(shí)際情況一致。由此可見,實(shí)驗(yàn)A 組檢測(cè)方法可以準(zhǔn)確檢測(cè)出運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)前后位置,且在運(yùn)動(dòng)過程中,也不會(huì)失去運(yùn)動(dòng)目標(biāo),可以實(shí)時(shí)檢測(cè)運(yùn)動(dòng)目標(biāo)所在位置。
通過機(jī)器人手臂與控制者手臂之間執(zhí)行動(dòng)作的一致性程度,判斷機(jī)器人上肢映射完成情況,該實(shí)驗(yàn)包括左臂、右臂兩組動(dòng)作測(cè)試[17-18]。
由圖8可以看出,從體感控制結(jié)果來看,機(jī)器人能夠較好地識(shí)別控制者的控制指令,完成相應(yīng)的任務(wù)。
圖8 機(jī)器人上肢體感控制測(cè)試
為進(jìn)一步驗(yàn)證檢測(cè)方法的有效性及其時(shí)間性能,統(tǒng)計(jì)了兩次實(shí)驗(yàn)機(jī)器人檢測(cè)運(yùn)動(dòng)目標(biāo)過程中存在的檢測(cè)率、誤檢率以及平均每幀檢測(cè)時(shí)間,其檢測(cè)結(jié)果如表1 所示。
表1 檢測(cè)結(jié)果數(shù)據(jù)
從表1 中可以看出,3 種檢測(cè)方法對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)率均高達(dá)90%以上,可以完整檢測(cè)到運(yùn)動(dòng)目標(biāo),但在檢測(cè)過程中,實(shí)驗(yàn)A 組的誤檢率低于實(shí)驗(yàn)B 組和實(shí)驗(yàn)C 組,平均每幀檢測(cè)到運(yùn)動(dòng)目標(biāo)的時(shí)間同樣高于實(shí)驗(yàn)B 組和實(shí)驗(yàn)C 組。綜合上述實(shí)驗(yàn)結(jié)果可知,文中研究的檢查方法檢測(cè)率高,檢測(cè)速度快,可以準(zhǔn)確提取背景和移動(dòng)背景特征,并實(shí)時(shí)檢測(cè)運(yùn)動(dòng)目標(biāo)。
文中研究的運(yùn)動(dòng)目標(biāo)檢測(cè)方法,充分發(fā)揮了深度學(xué)習(xí)目標(biāo)圖像特征提取的優(yōu)勢(shì),降低機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)特征提取的困難度,特征提取誤差控制在最小范圍內(nèi),檢測(cè)運(yùn)動(dòng)目標(biāo)結(jié)果控制在合理范圍內(nèi),且可以實(shí)時(shí)檢測(cè)運(yùn)動(dòng)目標(biāo)。但是該研究檢測(cè)方法,并沒有考慮機(jī)器人檢測(cè)多運(yùn)動(dòng)目標(biāo)的問題,也未曾考慮在極端復(fù)雜環(huán)境下,機(jī)器人對(duì)障礙物的識(shí)別功能。因此,在今后的研究與分析中,應(yīng)該嘗試從三維角度來進(jìn)行運(yùn)動(dòng)目標(biāo)特性分析,考慮多個(gè)運(yùn)動(dòng)目標(biāo)出現(xiàn)時(shí),機(jī)器人對(duì)檢測(cè)目標(biāo)的識(shí)別程度,將機(jī)器人的實(shí)時(shí)避障功能、路徑規(guī)劃功能與目標(biāo)檢測(cè)及跟蹤功能相結(jié)合,讓機(jī)器人可以在極端復(fù)雜的環(huán)境下檢測(cè)跟蹤運(yùn)動(dòng)目標(biāo)。