陳章寶,侯 勇
(蚌埠學(xué)院,安徽 蚌埠 233030)
網(wǎng)球撿球機(jī)器人是一個集嵌入式系統(tǒng)開發(fā)、視覺目標(biāo)識別與定位、路徑規(guī)劃、智能控制于一體的智能化系統(tǒng),其核心技術(shù)之一為基于機(jī)器視覺的目標(biāo)識別與精確定位技術(shù)。文獻(xiàn)[1-2]提出了基于顏色特征、紋理特征、形狀特征的目標(biāo)識別技術(shù),能夠很好地識別復(fù)雜開放場景中的前景目標(biāo),文獻(xiàn)[3-5]提出了基于單目視覺、雙目視覺、多傳感器融合的目標(biāo)定位算法,以及基于單目視覺的點(diǎn)、線、面特征的目標(biāo)識別方法,文獻(xiàn)[6-7]根據(jù)目標(biāo)跟蹤是否有檢測過程的參與,提出了生成式和判別式的目標(biāo)跟蹤分類,在目標(biāo)發(fā)生幾何變化、復(fù)雜的動態(tài)場景情況下,提出了層次化的表觀模型來有效表征目標(biāo)對象,獲得了魯棒且準(zhǔn)確的目標(biāo)跟蹤,文獻(xiàn)[8-9]提出了深度學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)在視覺目標(biāo)識別定位與跟蹤方面的廣闊應(yīng)用前景,以及將深度學(xué)習(xí)引入計算機(jī)視覺的挑戰(zhàn)和技術(shù)難點(diǎn)。本文采用算法的應(yīng)用效果和時間效率的折中技術(shù),利用網(wǎng)球的顏色特征進(jìn)行前景目標(biāo)的提取,基于網(wǎng)球的圓形輪廓特征進(jìn)行目標(biāo)識別,通過目標(biāo)區(qū)域質(zhì)心的獲取進(jìn)行網(wǎng)球目標(biāo)的定位,在局部視域下進(jìn)行目標(biāo)的跟蹤。本算法實現(xiàn)了網(wǎng)球目標(biāo)準(zhǔn)確識別與精確定位的同時,滿足了機(jī)器視覺系統(tǒng)實時性的需求。
撿球機(jī)器人采用四輪差速驅(qū)動小車底盤,搭載網(wǎng)球收集耙輪、網(wǎng)球提升機(jī)構(gòu)、單目視覺攝像頭、機(jī)器人箱體和控制系統(tǒng)。工作時,小車在視覺導(dǎo)航下移動到網(wǎng)球位置,在收集耙輪的作用下將網(wǎng)球耙入小車箱體底部,經(jīng)提升機(jī)構(gòu)提升到箱體上部的網(wǎng)球收集箱。視頻信號采集與處理系統(tǒng)采用ARM contex-A8 內(nèi)核的S5PV210 主板,移植Arm-Linux 操作系統(tǒng),OpenCV圖像處理與機(jī)器視覺庫,進(jìn)行視頻信號的采集和處理;控制系統(tǒng)采用ARM contex-M3內(nèi)核的STM32F103 主板,包括電機(jī)驅(qū)動模塊(包括底盤四輪差速驅(qū)動、提升輪驅(qū)動、耙輪驅(qū)動)、電源管理模塊和通信模塊等。
視覺目標(biāo)識別與定位系統(tǒng)通過攝像頭獲取網(wǎng)球場景視頻幀,對單幀圖像進(jìn)行預(yù)處理,網(wǎng)球目標(biāo)的識別和定位,采用就近取球的路徑規(guī)劃策略,通過相機(jī)標(biāo)定和坐標(biāo)變換,獲取最近網(wǎng)球與撿球機(jī)器人的相對位置,驅(qū)動小車移向網(wǎng)球,對后續(xù)幀圖像進(jìn)行局部區(qū)域的目標(biāo)再識別來實現(xiàn)視覺跟蹤,直至撿取網(wǎng)球,再進(jìn)入下一個最近網(wǎng)球的拾取過程。
視頻攝像頭采用USB 接口和CMOS 圖像傳感器,靈敏度高、曝光時間短,程序設(shè)計中采用int open(const char *pathname,into flag,…)函數(shù)打開攝像頭,并進(jìn)行分辨率和數(shù)據(jù)模式等參數(shù)設(shè)置等初始化操作,通過視頻圖像的采集進(jìn)程獲取視頻幀圖像并存儲。抽取2幀場景圖像如圖1所示。
圖1 網(wǎng)球場景圖像
攝像頭感光材料的溫度變化和自然場景環(huán)境光照變化等因素使得獲取的圖像存在大量的噪聲,采用高斯濾波對單幀圖像進(jìn)行平滑濾波。常用的圖像空域濾波方法包括均值濾波、方框濾波、高斯濾波等,均為采用像素鄰域的灰度加權(quán)求取當(dāng)前像素點(diǎn)灰度,高斯濾波器采用(2k+1)×(2k+1)高斯模板矩陣,可通過式(1)求取。
其中,σ為標(biāo)準(zhǔn)差,k為高斯矩陣的維數(shù)。為使高斯濾波模板的權(quán)系數(shù)之和為1,對高斯模板矩陣進(jìn)行歸一化處理,通過高斯模板與圖像矩陣的卷積運(yùn)算,實現(xiàn)對灰度圖像的卷積濾波。
對RGB圖像的高斯濾波,可將R、G、B顏色分量分別進(jìn)行濾波,再合成為彩色圖像,這種濾波方法忽略了各通道的關(guān)聯(lián)性,但是具有較高的時間效率。文獻(xiàn)[10]采用基于四元數(shù)的彩色圖像增強(qiáng)技術(shù),通過四元數(shù)傅里葉變換,將彩色圖像在頻域進(jìn)行濾波,再通過四元數(shù)傅里葉逆變換獲得濾波后的彩色圖像。本文采用第一種方法對場景圖像進(jìn)行濾波處理,根據(jù)網(wǎng)球圓形的形狀特征,采用圓形濾波模板對場景圖片進(jìn)行濾波,通過截取單個網(wǎng)球的部分圖像并經(jīng)過放大處理,取得的濾波效果如圖2所示。
圖2 高斯濾波效果圖
通過不同濾波半徑和方差的濾波器濾波,均能濾除不同光照變化以及相機(jī)曝光等原因引起的噪聲,經(jīng)過觀察,在r=5,σ=1.8 的濾波條件下,較好地保持了網(wǎng)球的顏色特征和形狀特征。
網(wǎng)球具有明顯的顏色特征,可在開放的網(wǎng)球場景中基于顏色特征進(jìn)行前景目標(biāo)的提取。數(shù)字圖像常用的顏色模型有RGB、HSV、CMYK 等,攝像機(jī)獲取的圖像用RGB 顏色模型表示,此模型面向硬件,廣泛應(yīng)用于攝像機(jī)和顯示器。HSV顏色模型相比于RGB模型更加接近于人對彩色的感知,各個分量分別為色調(diào)(Hue)、飽和度(Saturation)、亮度值(Value)。HSV 顏色空間的H 分量能很好地區(qū)分網(wǎng)球顏色與場地背景顏色的差異,但是很難區(qū)分網(wǎng)球與場地白色標(biāo)線,而RGB顏色模型中的B分量可以很好地區(qū)分網(wǎng)球與場地標(biāo)線,通過對比試驗,結(jié)合HSV 模型的H 分量和RGB 模型的B 分量分別進(jìn)行閾值分割和合成,相比其他閾值化操作取得了更好的效果。
網(wǎng)球目標(biāo)提取的對比實驗設(shè)計如下:(1)對RGB 圖像進(jìn)行灰度化和二值化操作;(2)針對HSV模型的H 分量和RGB 模型的B 分量分別進(jìn)行閾值分割和合成。實驗1中,直接對采集的場景RGB 圖像進(jìn)行灰度化,基于Otsu 算法進(jìn)行二值化操作,獲取的前景目標(biāo)如圖3(b)所示,從圖示內(nèi)容可以看出,10 個網(wǎng)球目標(biāo)全部提取出來,但是網(wǎng)球場白色標(biāo)線也同時被作為前景目標(biāo)提取出來。實驗2 中,通過對比各通道顏色分量的直方圖,可以得出,在H通道進(jìn)行網(wǎng)球和網(wǎng)球場地標(biāo)線與場地背景的分割,在B通道進(jìn)行網(wǎng)球和網(wǎng)球場地與網(wǎng)球場地標(biāo)線的分割,再將兩個分割矩陣進(jìn)行對應(yīng)元素的“與”操作,獲取的網(wǎng)球目標(biāo)如圖3(c)所示,從圖中可以看出,10 個網(wǎng)球目標(biāo)被全部提取出來,但是圖像的左下方,由于相機(jī)的邊界效應(yīng),一些像素點(diǎn)被作為前景目標(biāo)提取出來。
圖3 前景目標(biāo)提取
基于網(wǎng)球的顏色特征可以很好地把網(wǎng)球作為前景目標(biāo)提取出來,但是在多幅場景圖片試驗中,在有光照變化和陰影的開放網(wǎng)球場地環(huán)境下,一些干擾點(diǎn)、場地邊界點(diǎn)、部分場地標(biāo)線,場地放置的物品也被作為前景目標(biāo)提取出來,部分干擾點(diǎn)可以通過圖像的形態(tài)學(xué)運(yùn)算進(jìn)行消除,被作為前景的部分場地標(biāo)線和場地放置物品需要通過目標(biāo)的輪廓特征來進(jìn)行識別。
特征提取是從圖像中提取目標(biāo)物非圖像的表示和描述,模式識別是根據(jù)目標(biāo)特征進(jìn)行分類,應(yīng)用于圖像領(lǐng)域稱為圖像識別,圖像識別根據(jù)提取的前景圖像特征,識別出目標(biāo)物體。網(wǎng)球相較于其他的前景目標(biāo)具有明確的圓形輪廓特征,可以通過Canny算法進(jìn)行邊緣檢測,根據(jù)邊緣圖像通過Hough變換進(jìn)行網(wǎng)球的圓形輪廓檢測。考慮到程序運(yùn)行的時間效率,本文采用目標(biāo)物體的致密性(即目標(biāo)區(qū)域的周長平方與區(qū)域面積之比)特征進(jìn)行目標(biāo)識別。實驗表明,基于致密性輪廓特征的網(wǎng)球識別算法能夠識別出全部前景目標(biāo)中的網(wǎng)球,且屏蔽了全部的非網(wǎng)球目標(biāo)。
網(wǎng)球定位包括求取網(wǎng)球在圖像中的像素位置,以及實際場地中網(wǎng)球與攝像頭的相對位置。后者在目標(biāo)跟蹤中進(jìn)行介紹,這里通過形態(tài)學(xué)運(yùn)算中的連通分量提取實現(xiàn)對各個網(wǎng)球區(qū)域的標(biāo)記,求取各連通區(qū)域質(zhì)心作為各個網(wǎng)球的像素坐標(biāo)。根據(jù)網(wǎng)球識別中提取的二值圖像,對如圖3(c)中的10個網(wǎng)球區(qū)域進(jìn)行標(biāo)記并計算區(qū)域質(zhì)心,連通分量提取算法通過迭代標(biāo)記各個連通區(qū)域,其算法概要如下。
初始化:Β0=連通分量A中的某個種子點(diǎn)
算法中Β0為某一連通區(qū)域中的種子像素點(diǎn),S為膨脹結(jié)構(gòu)元素(8 連通區(qū)域提取采用3×3 結(jié)構(gòu)元素,4 連通使用3×3 十字形結(jié)構(gòu)元素),循環(huán)中從種子點(diǎn)Β0開始不斷用結(jié)構(gòu)元素S對其進(jìn)行膨脹操作,每次膨脹的結(jié)果與Α相交,將Β限制在Α的內(nèi)部,直至Β充滿整個連通區(qū)域Α,實現(xiàn)連通區(qū)域的標(biāo)記。
對前景網(wǎng)球目標(biāo)的連通區(qū)域標(biāo)記完成后,計算每個區(qū)域的質(zhì)心位置,即完成了每個網(wǎng)球區(qū)域的像素質(zhì)心定位,質(zhì)心求取方法采用式(2)實現(xiàn)。
上式為求取第k個連通區(qū)域Α的質(zhì)心位置,xi和yi代表區(qū)域Α中所有像素的橫坐標(biāo)和縱坐標(biāo),Ν為區(qū)域像素總數(shù),通過連通區(qū)域標(biāo)記,區(qū)域質(zhì)心提取并作“+”標(biāo)記,結(jié)果如圖4所示。
圖4 網(wǎng)球區(qū)域質(zhì)心定位
運(yùn)動目標(biāo)跟蹤可以描述為在撿球機(jī)器人的移動過程中,針對當(dāng)前幀識別的目標(biāo)物體,在后續(xù)幀中快速搜索定位目標(biāo)物體的過程。目標(biāo)跟蹤根據(jù)有無檢測過程的參與分為生成式跟蹤和判別式跟蹤[6]。生成式跟蹤根據(jù)當(dāng)前幀的目標(biāo)識別結(jié)果,建立目標(biāo)特征的先驗知識,按照一定的跟蹤策略進(jìn)行目標(biāo)的識別并估計目標(biāo)的最優(yōu)位置;判別式跟蹤通過對每一幀圖像進(jìn)行目標(biāo)識別來進(jìn)行跟蹤,稱為基于檢測的跟蹤。本文綜合兩者的優(yōu)點(diǎn)提出局部視域下的檢測式跟蹤策略,目標(biāo)跟蹤原理如圖5所示。
圖5 局部視域下目標(biāo)跟蹤
隨著機(jī)器人(攝像頭)向最近距離網(wǎng)球的靠近,根據(jù)運(yùn)動估計最近網(wǎng)球目標(biāo)只會出現(xiàn)圖示的扇形區(qū)域,根據(jù)前文所述的基于網(wǎng)球的顏色特征和形狀特征在扇形的局部視域下,進(jìn)行網(wǎng)球目標(biāo)的再次識別和定位。通過相機(jī)標(biāo)定和坐標(biāo)換算,獲取最近網(wǎng)球相對于攝像機(jī)的相對位置(θ,d),通過PID 控制驅(qū)動撿球機(jī)器人直線行進(jìn)至目標(biāo)位置拾取網(wǎng)球。
基于視覺的網(wǎng)球撿球機(jī)器人能夠代替網(wǎng)球運(yùn)動者執(zhí)行繁重的撿球任務(wù)。本文提出的基于顏色特征和輪廓特征的視覺網(wǎng)球識別和定位技術(shù),在開放的網(wǎng)球場地和靜態(tài)環(huán)境下,能夠在一定的距離范圍內(nèi)識別和定位所有網(wǎng)球,且算法的執(zhí)行效率高。后續(xù)需要研究在有人運(yùn)動的動態(tài)網(wǎng)球場地上,如何識別并避讓運(yùn)動人員、網(wǎng)球場地圍欄等,在動態(tài)環(huán)境下為機(jī)器人提供視覺導(dǎo)航;為提高撿球效率,在視覺導(dǎo)航中進(jìn)行路徑規(guī)劃,以及實現(xiàn)多機(jī)器人的協(xié)同撿球以及多路徑規(guī)劃問題。