作者:路亞寧 ,陸 翔 ,方鳳才
引 言
近些年,智能機(jī)器的發(fā)展使得人們能夠突破自身能力的局限性,來(lái)完成困難且復(fù)雜的任務(wù),同時(shí)智能機(jī)器利用其模擬人類感知功能的特點(diǎn),能夠有效地替代人們完成機(jī)械從重復(fù)性任務(wù)。因此,具有視覺(jué)功能的智能機(jī)器能夠準(zhǔn)確地識(shí)別物體并連續(xù)地操作,進(jìn)而在產(chǎn)品質(zhì)量檢驗(yàn)、零件識(shí)別及組件定位等方面得到廣泛應(yīng)用。隨著機(jī)器視覺(jué)識(shí)別技術(shù)的提升,許多先進(jìn)的智能機(jī)器都將機(jī)器視覺(jué)技術(shù)嵌入到產(chǎn)品內(nèi)部,提升其與環(huán)境的感知功能,如大疆、零度等企業(yè)研發(fā)的新一代無(wú)人機(jī)產(chǎn)品使用基于機(jī)器視覺(jué)技術(shù)的目標(biāo)識(shí)別與追蹤技術(shù)。以色列拉斐爾公司研發(fā)的“保護(hù)者”號(hào)的無(wú)人艇能夠通過(guò)機(jī)器視覺(jué)的圖像技術(shù)獲得環(huán)境信息,進(jìn)而自動(dòng)識(shí)別和監(jiān)視附近船只。在傳統(tǒng)上,以勘探為目標(biāo)的智能車大多數(shù)是人工遙控和判斷的。雖然機(jī)器一定程度地避免了勘察人員遇險(xiǎn),但人們依然需要通過(guò)感官去找尋目標(biāo)物體。因此,將機(jī)器視覺(jué)技術(shù)加入到勘探智能車?yán)飳O大地減輕勘探人員的負(fù)擔(dān)。
本文設(shè)計(jì)并實(shí)現(xiàn)一種基于機(jī)器視覺(jué)的智能車系統(tǒng)。該系統(tǒng)基于目標(biāo)物體的顏色,采用顏色識(shí)別、圖像去噪、輪廓檢測(cè)等算法準(zhǔn)確地識(shí)別并定位目標(biāo)物體。另外,智能車的運(yùn)動(dòng)控制系統(tǒng)采用STM32F4處理器完成車體方向移動(dòng)以及機(jī)械臂抓取物體功能。整個(gè)設(shè)計(jì)結(jié)合了機(jī)器視覺(jué)識(shí)別技術(shù)、網(wǎng)絡(luò)數(shù)據(jù)交互技術(shù)以及車體控制技術(shù)。
1、 智能車平臺(tái)硬件搭建
1.1 硬件設(shè)計(jì)框架與組成
整個(gè)智能車控制系統(tǒng)如圖1所示。智能車采用STM32F407單片機(jī)作為主控器。攝像頭模塊將采集的物體圖像信息以視頻流的形式通過(guò)無(wú)線路由(WiFi)模塊實(shí)時(shí)傳給電腦端。電腦端對(duì)視頻流的每一幀進(jìn)行相應(yīng)的圖像算法處理后,將對(duì)應(yīng)的指令通過(guò)WiFi模塊傳至主控芯片,進(jìn)而控制車體的移動(dòng);當(dāng)?shù)竭_(dá)指定位置后控制機(jī)械臂抓取物體以實(shí)現(xiàn)顏色物體的定位與搬運(yùn)。
STM32F407系統(tǒng)板作為車體系統(tǒng)的控制中心,負(fù)責(zé)處理數(shù)據(jù)和指令,并將WiFi網(wǎng)絡(luò)模塊傳來(lái)的指令轉(zhuǎn)為硬件的控制(如PWM脈沖),進(jìn)而控制電機(jī)和機(jī)械臂,實(shí)現(xiàn)向目標(biāo)物體前進(jìn)并抓取的功能。車體系統(tǒng)的電機(jī)驅(qū)動(dòng)模塊采用的是一種高電壓、大電流的電機(jī)驅(qū)動(dòng)芯片L298N。L298N電機(jī)驅(qū)動(dòng)芯片負(fù)責(zé)驅(qū)動(dòng)直流減速電機(jī)GM25?370,通過(guò)對(duì)應(yīng)輸出端口的高低電平實(shí)現(xiàn)車體的前進(jìn)、停止及左右方向的轉(zhuǎn)動(dòng)[5]。車體系統(tǒng)的機(jī)械臂模塊采用 MG996R 舵機(jī)作為關(guān)節(jié)驅(qū)動(dòng),并配合四自由度的鋁合金結(jié)構(gòu),能夠完成一些較為精細(xì)的動(dòng)作。主控芯片通過(guò)調(diào)節(jié)PWM脈沖的占空比進(jìn)而控制每個(gè)舵機(jī)所需要轉(zhuǎn)動(dòng)的角度,并通過(guò)計(jì)時(shí)器來(lái)控制每個(gè)舵機(jī)角度的保持時(shí)間[6],最終完成相應(yīng)的機(jī)械臂動(dòng)作。
1.2 網(wǎng)絡(luò)模塊設(shè)計(jì)
WiFi網(wǎng)絡(luò)模塊作為整個(gè)車體控制系統(tǒng)與電腦連接的媒介,負(fù)責(zé)完成系統(tǒng)的網(wǎng)絡(luò)通信,同時(shí)與攝像頭模塊交互,實(shí)現(xiàn)視頻流的傳輸。網(wǎng)絡(luò)模塊能夠搭建服務(wù)器,并在后臺(tái)實(shí)現(xiàn)實(shí)時(shí)監(jiān)控指令數(shù)據(jù)與指令轉(zhuǎn)碼,進(jìn)而傳輸?shù)杰圀w主控芯片的I/O端口來(lái)控制車體的動(dòng)作。因此,WiFi網(wǎng)絡(luò)模塊的功能主要體現(xiàn)在攝像頭視頻流傳輸與電腦指令傳輸兩個(gè)方面。
1.2.1 視頻流傳輸
為了實(shí)現(xiàn)遠(yuǎn)程視頻傳輸,電腦端需要借助網(wǎng)絡(luò)端口傳輸。由于電腦端與 WiFi模塊需要同處于一個(gè)網(wǎng)絡(luò),因此WiFi模塊通過(guò)手機(jī)的個(gè)人熱點(diǎn)連接上級(jí)無(wú)線路由器,即二級(jí)路由器模式作為網(wǎng)絡(luò)的接入。同時(shí),啟動(dòng)DHCP協(xié)議將電腦端連至WiFi模塊的網(wǎng)絡(luò),此時(shí)電腦端作為網(wǎng)絡(luò)客戶端發(fā)送請(qǐng)求指令,而WiFi模塊作為網(wǎng)絡(luò)服務(wù)器端對(duì)其響應(yīng)[7]。經(jīng)無(wú)線網(wǎng)絡(luò)配置,電腦端通過(guò)視頻流傳輸?shù)姆绞将@取實(shí)時(shí)畫(huà)面,即“mjpg?streamer”服務(wù)。其中,mjpg作為一種視頻編碼格式,能夠?qū)z像頭的模擬視頻信號(hào)壓縮翻譯成視頻流[8]。當(dāng)電腦客戶端通過(guò)Socket套接字與 WiFi模塊服務(wù)器連接完成后,電腦客戶端請(qǐng)求發(fā)送視頻流,將圖片壓縮后以數(shù)據(jù)流的形式傳輸。
1.2.2 指令轉(zhuǎn)碼傳輸
在電腦客戶端與 WiFi 模塊服務(wù)器端完成連接后,電腦客戶端將緩存的指令發(fā)送到服務(wù)器上??紤]到十進(jìn)制表示的習(xí)慣,電腦客戶端只需要發(fā)送十進(jìn)制的數(shù)字字符串,服務(wù)器即可完成轉(zhuǎn)碼操作。首先,服務(wù)器利用atoi函數(shù)掃描十進(jìn)制字符串,當(dāng)掃描到數(shù)字時(shí),字符串內(nèi)的數(shù)字將轉(zhuǎn)為整數(shù)格式;其次,服務(wù)器利用 itoa函數(shù)將十進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制數(shù)存到一維數(shù)組,進(jìn)而分配給4位GPIO 端口;最后,指令以4位二進(jìn)制高低電平與主控芯片串口傳輸。
1.3 車體控制
車體控制系統(tǒng)作為整個(gè)車體的執(zhí)行端,以STM32F407小系統(tǒng)為核心控制器,將接收到的操作指令轉(zhuǎn)換為對(duì)應(yīng)車體的操作,其中主要的車體操作是對(duì)直流電機(jī)的驅(qū)動(dòng)及機(jī)械臂的轉(zhuǎn)動(dòng)。車體控制臺(tái)共使用了5個(gè)舵機(jī)和2個(gè)電機(jī),因此需要STM32處理器輸出6路PWM信號(hào)。而PWM信號(hào)輸出的原理是一種計(jì)數(shù)模式對(duì)波形占空比的調(diào)控。在一個(gè)周期內(nèi),高低電平持續(xù)的時(shí)間是可變的,通過(guò)改變?cè)谝粋€(gè)周期內(nèi)高電平所占整個(gè)周期的時(shí)間的長(zhǎng)短去控制舵機(jī)的角度。PWM信號(hào)的控制主要由STM32F4芯片中的自動(dòng)重裝載寄存器和捕獲比較寄存器完成[9]。
2、 機(jī)器視覺(jué)算法
2.1 目標(biāo)顏色識(shí)別算法
顏色是識(shí)別目標(biāo)物體的首要特征。電腦端通過(guò)顏色的閾值來(lái)識(shí)別目標(biāo)物體,而顏色空間通常分為RGB色彩模型和HSV色彩模型。其中,RGB模型的色彩是由紅(R)、綠(G)、藍(lán)(B)三個(gè)分量的矢量和表示[10],其色彩、深淺和明暗的變化是沿三維直角空間幾何線遞進(jìn)的。而HSV模型的顏色是由色調(diào)(Hue)、飽和度(Saturation)和明亮度(Value)三個(gè)維度的倒錐形表示[11],其分量直接描述了色彩、深淺和明暗。因此,基于顏色特征檢測(cè)目標(biāo)選取HSV閾值更為直觀可靠。
由于攝像頭采集圖像是以RGB色彩模型的格式存儲(chǔ),因此電腦端在處理圖像時(shí)需要進(jìn)行色彩模型轉(zhuǎn)換。在遍歷圖像每一個(gè)像素的過(guò)程中,電腦端根據(jù)RGB模型與 HSV模型之間的關(guān)系,將RGB值轉(zhuǎn)換為HSV值。進(jìn)而,根據(jù)設(shè)定的HSV顏色范圍,將各色彩通道中滿足閾值范圍的像素點(diǎn)轉(zhuǎn)為純白色,即(255,255,255);否則轉(zhuǎn)為黑色,即(0,0,0)。最終,目標(biāo)物體與環(huán)境完全分離,效果如圖2所示。
2.2 圖像填充去噪算法
考慮到部分物體有表面部分鏤空的情況,如圖3所示,圖像可以通過(guò)膨脹形態(tài)學(xué)操作填充細(xì)小輪廓附近的空洞。而對(duì)于光線的強(qiáng)弱造成圖像有噪聲的情況(圖3小球團(tuán)邊緣所示),圖像可以通過(guò)腐蝕形態(tài)學(xué)操作去除噪聲。然而,腐蝕操作會(huì)使目標(biāo)區(qū)域的面積變小,膨脹操作會(huì)使目標(biāo)區(qū)域的面積變大。因此,選用開(kāi)運(yùn)算即先腐蝕再膨脹的操作,不僅保證了目標(biāo)區(qū)域的面積大致不變,還對(duì)圖像進(jìn)行了降噪、填充處理,使得圖像輪廓更清晰[12]。圖像填充去噪算法選用3×3的卷積核,通過(guò)卷積核在原圖像上的滑動(dòng)及像素運(yùn)算分別完成腐蝕、膨脹操作。在腐蝕的過(guò)程中,若卷積核的元素與對(duì)應(yīng)的原圖像的像素值相與為1,則中心元素賦值為,否則為0,其效果如圖4a)、圖4b)所示;而在膨脹的過(guò)程中,若卷積核的元素與對(duì)應(yīng)的腐蝕后圖像的像素值相或?yàn)?,則中心元素賦值為1,否則為0,其效果如圖4c)、圖4d)所示。
2.3 最大輪廓檢測(cè)算法
考慮到在目標(biāo)物體的周圍可能存在相同顏色雜物的情況,圖像通過(guò)最大輪廓檢測(cè)法能夠有效地排除小型雜物,準(zhǔn)確地框選出物體。
輪廓檢測(cè)的原理是通過(guò)確定外邊界、孔邊界以及它們的層次關(guān)系,將邊界與原圖對(duì)應(yīng)即可完成用邊界表示原圖的操作[13]。而在遍歷圖像的過(guò)程中,當(dāng)遇到外邊界以及孔邊界的起始點(diǎn)時(shí),圖像開(kāi)始標(biāo)記邊界的像素,再利用編碼的思想給不同邊界賦不同的數(shù)值就能確定出邊界的層次關(guān)系。
最大輪廓檢測(cè)的原理是在檢測(cè)出最外層的邊界后將其存儲(chǔ)在點(diǎn)的序列里,按照邊界面積降序排序選出最大面積的輪廓。而選取最外層的邊界也能夠有效地篩去內(nèi)部的孔輪廓,對(duì)于大面積鏤空的目標(biāo)物體,利用輪廓檢測(cè)也能準(zhǔn)確地識(shí)別出來(lái)。同時(shí),選取最大面積的輪廓也能有效地篩去體積較小的雜物,其效果如圖5所示。
2.4 算法總體框架
機(jī)器視覺(jué)算法的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)對(duì)目標(biāo)顏色物體的識(shí)別和方位判斷,進(jìn)而使智能車控制系統(tǒng)能夠自動(dòng)找尋物體并實(shí)現(xiàn)抓取。該算法所選取的目標(biāo)物體特征以顏色為首要特征,但在實(shí)際的環(huán)境中車體會(huì)面臨同顏色雜物的干擾,從而造成目標(biāo)判斷的失誤。因此,該算法在圖像處理算法中增添了最大輪廓檢測(cè),確保目標(biāo)的準(zhǔn)確性。
電腦端機(jī)器視覺(jué)算法處理與方位判定是整個(gè)設(shè)計(jì)的核心,它不僅實(shí)現(xiàn)了獲取和處理畫(huà)面的功能,還實(shí)現(xiàn)了上位機(jī)對(duì)下位機(jī)的指令操控,設(shè)計(jì)流程如圖6所示。
在目標(biāo)物體識(shí)別之前,電腦端先從視頻中提取每一幀圖像,然后基于顏色識(shí)別算法、圖像去噪填充算法以及最大輪廓檢測(cè)算法,實(shí)現(xiàn)對(duì)一幀畫(huà)面的處理。檢測(cè)出目標(biāo)物體后,電腦端計(jì)算出物體的面積和質(zhì)點(diǎn)坐標(biāo),通過(guò)判斷質(zhì)心橫坐標(biāo)在畫(huà)面的區(qū)域來(lái)給出車體行進(jìn)方向的控制指令。
當(dāng)目標(biāo)物體未被檢測(cè)出時(shí),車體將不停旋轉(zhuǎn)直到找到紅色物體。電腦端控制系統(tǒng)將物體面積的大小以及質(zhì)心橫坐標(biāo)大小作為指令的判斷值,當(dāng)物體面積未達(dá)到預(yù)設(shè)的面積值及方位時(shí),車體一直前進(jìn)并根據(jù)方位實(shí)時(shí)調(diào)整方向,直到物體面積到達(dá)預(yù)設(shè)值且在畫(huà)面中心,則向車體發(fā)出停止指令,然后執(zhí)行物體抓取指令。
3、 系統(tǒng)測(cè)試與實(shí)現(xiàn)
3.1 圖像處理的測(cè)試與結(jié)果分析
通過(guò)在電腦端調(diào)整不同顏色的閾值范圍,使得系統(tǒng)對(duì)各種顏色的物體進(jìn)行精準(zhǔn)識(shí)別。其中,圖7描述出目標(biāo)物體分別為紅色和藍(lán)色特征時(shí)系統(tǒng)識(shí)別的情況。由圖像所示,紅色和藍(lán)色物體均可被系統(tǒng)識(shí)別與框選。
3.2 物體距離的測(cè)試與結(jié)果分析
目標(biāo)物體與車體的距離是通過(guò)視覺(jué)中目標(biāo)顏色的面積判斷的。面積越大,說(shuō)明物體與車體距離越近。選取10個(gè)面積值,面積與距離之間的對(duì)應(yīng)關(guān)系如表1所示。經(jīng)輪廓檢測(cè)后的物體面積是通過(guò)OpenCV庫(kù)對(duì)像素點(diǎn)進(jìn)行幾何計(jì)算得到的有向面積值。
表1反映出視覺(jué)內(nèi)物體面積與車物距離成反比,且面積的增長(zhǎng)與距離的減小呈非線性關(guān)系。當(dāng)面積在1000 pixel以內(nèi)時(shí),距離變化范圍可達(dá)2m之遠(yuǎn);而面積在1000~10000 pixel變化的過(guò)程中,距離變化范圍不到70cm;當(dāng)面積在11686 pixel以上時(shí),距離變化范圍不會(huì)超過(guò)34cm,同時(shí)面積的變化值與距離的變化值之比將更小。
由于機(jī)械臂伸展抓取物體的長(zhǎng)度固定為25cm,結(jié)合面積與距離的關(guān)系,在面積達(dá)到20 000時(shí),車體即可停止并借助機(jī)械臂完成物體抓取的過(guò)程。
3.3 物體方位的測(cè)試與結(jié)果分析
目標(biāo)物體的質(zhì)心橫坐標(biāo)代表目標(biāo)物體相對(duì)車體的橫向方位,質(zhì)心的縱坐標(biāo)代表目標(biāo)物體相對(duì)車體的縱向方位。由于目標(biāo)物體與車體攝像頭始終處于同一水平線上,因此目標(biāo)物體與車體的方位僅通過(guò)目標(biāo)物體質(zhì)心橫坐標(biāo)判斷即可,進(jìn)而使車體判斷左轉(zhuǎn)、右轉(zhuǎn)或指令。因此,攝像頭視野范圍的區(qū)域?qū)M向分為三個(gè)區(qū)域用以判斷車體方位,而區(qū)域的選取是車體對(duì)物體定位精準(zhǔn)的關(guān)鍵。在機(jī)械臂抓取物體前,車體要確保正對(duì)物體,因此中間的區(qū)域會(huì)比兩側(cè)的區(qū)域窄。經(jīng)過(guò)調(diào)試,左側(cè)區(qū)域的橫坐標(biāo)范圍定為0~270,中間區(qū)域的橫坐標(biāo)范圍定為270~380,右側(cè)區(qū)域的橫坐標(biāo)范圍定為380~600。
于是,當(dāng)物體質(zhì)心在左側(cè)區(qū)域時(shí),車體將接收到左轉(zhuǎn)指令‘2’,視覺(jué)效果與網(wǎng)絡(luò)監(jiān)視情況如圖8所示。物體質(zhì)心在中間區(qū)域時(shí),車體將接收到前進(jìn)指令‘1’,效果如圖9所示。當(dāng)物體質(zhì)心在右側(cè)區(qū)域時(shí),車體將接收到右轉(zhuǎn)指令‘3’,效果如圖10所示。
4 、結(jié) 語(yǔ)
基于機(jī)器視覺(jué)的智能車采用特定的圖像處理算法能夠長(zhǎng)期準(zhǔn)確地識(shí)別和定位目標(biāo)物體。在網(wǎng)絡(luò)數(shù)據(jù)交互方面,該設(shè)計(jì)采用無(wú)線傳輸?shù)姆绞綄?shí)時(shí)交換圖像信息與動(dòng)作指令。同時(shí),在車體控制方面,該設(shè)計(jì)采用嵌入式處理能夠高效地控制車體的移動(dòng)以及機(jī)械臂的轉(zhuǎn)動(dòng)。結(jié)合了機(jī)器視覺(jué)算法、網(wǎng)絡(luò)傳輸與硬件控制系統(tǒng)的智能車設(shè)計(jì)能夠準(zhǔn)確地找尋并抓取目標(biāo)物體,在勘探與分揀領(lǐng)域有著極大的研究?jī)r(jià)值。
審核編輯:
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631960 -
機(jī)器視覺(jué)
+關(guān)注
關(guān)注
161文章
4320瀏覽量
119991 -
WIFI
+關(guān)注
關(guān)注
81文章
5280瀏覽量
203081
原文標(biāo)題:論文速覽 | 基于機(jī)器視覺(jué)的智能車設(shè)計(jì)與實(shí)驗(yàn)研究
文章出處:【微信號(hào):現(xiàn)代電子技術(shù),微信公眾號(hào):現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論