文生平, 陳志鴻, 張施華
(華南理工大學(xué) 聚合物新型成型裝備國家工程研究中心 聚合物成型加工工程教育部重點(diǎn)實(shí)驗(yàn)室,廣州 510640)
基于ARM的視覺導(dǎo)航AGV圖像處理方法研究
文生平, 陳志鴻, 張施華
(華南理工大學(xué) 聚合物新型成型裝備國家工程研究中心 聚合物成型加工工程教育部重點(diǎn)實(shí)驗(yàn)室,廣州 510640)
為了實(shí)現(xiàn)更加簡單高效的標(biāo)識線圖像的檢測與處理,提出了一種優(yōu)化的基于ARM的視覺導(dǎo)航AGV標(biāo)識線圖像處理方法;首先對采集到的圖像進(jìn)行灰度化處理并使用Otsu算法對圖像進(jìn)行閾值分割;然后采用優(yōu)化的中值濾波算法進(jìn)行圖像濾波并使用高效的邊緣提取策略獲取路徑邊緣特征;最后采用角度判斷的方法剔除錯(cuò)誤點(diǎn)并使用最小二乘法擬合成路徑的中心線;實(shí)驗(yàn)結(jié)果表明,該方法有較高的準(zhǔn)確率和較好的實(shí)時(shí)性,可以滿足工業(yè)生產(chǎn)中的實(shí)際需求,適用于基于嵌入式系統(tǒng)開發(fā)的視覺導(dǎo)航AGV。
視覺導(dǎo)航;邊緣提?。蛔钚《朔?;中值濾波
AGV(automated guided vehicle)即自動(dòng)導(dǎo)引小車,是一種通過裝備光學(xué)、電磁等導(dǎo)引裝置,實(shí)現(xiàn)在無人干預(yù)下沿著既定路徑自動(dòng)行駛的智能化運(yùn)輸設(shè)備[1]。近年來隨著計(jì)算機(jī)視覺與圖像處理技術(shù)的快速發(fā)展,使得視覺導(dǎo)航AGV成為一個(gè)發(fā)展熱點(diǎn),其出色的靈活性與智能化使其廣泛應(yīng)用于自動(dòng)化生產(chǎn)線、倉儲(chǔ)物流、港口物流傳送等領(lǐng)域[2]。
目前視覺導(dǎo)航AGV主要是利用視覺傳感器實(shí)時(shí)采集路面的圖像信息,通過對采集到的圖像進(jìn)行數(shù)字圖像處理,識別出車道標(biāo)識線并獲取AGV相對于標(biāo)識線中心線的位置偏移量與角度偏差,再由控制器發(fā)出指令對偏差進(jìn)行修正,使AGV沿著標(biāo)識線中心線運(yùn)動(dòng)[3]。
在圖像處理與視覺導(dǎo)引方面,通常采用以下幾種方法:
1)對圖像上的標(biāo)識線進(jìn)行邊緣特征提取,提取的結(jié)果直接作為控制的依據(jù)。
2)對圖像上的標(biāo)識線進(jìn)行邊緣特征提取后進(jìn)行曲線擬合,擬合的結(jié)果作為控制的依據(jù)[4]。
3)對圖像上的標(biāo)識線進(jìn)行邊緣特征提取,通過在特征邊緣處找到導(dǎo)引點(diǎn)作為控制的依據(jù)。
針對基于嵌入式系統(tǒng)開發(fā)的視覺導(dǎo)航AGV[5],由于其計(jì)算與存儲(chǔ)資源有限,對圖像處理算法的執(zhí)行效率有很高的要求。在確保標(biāo)識線有高識別準(zhǔn)確率的前提下,需要盡可能降低系統(tǒng)資源的開銷,以提高系統(tǒng)的實(shí)時(shí)性。
本文提出一種高效的視覺導(dǎo)航AGV圖像處理方法,高效提取標(biāo)識線邊緣并進(jìn)行中心線快速擬合,該算法有較高的準(zhǔn)確率和較好的實(shí)時(shí)性。
AGV系統(tǒng)包括圖像采集單元、圖像處理單元、無線局域網(wǎng)模塊、控制模塊、I/O模塊、底層硬件等,如圖1所示。
圖1 AGV系統(tǒng)總體架構(gòu)
地圖信息指包含標(biāo)識線的場景,圖像處理的目的是實(shí)時(shí)地將地圖信息轉(zhuǎn)化為控制器可讀取的路徑參數(shù),為視覺導(dǎo)引提供控制的依據(jù)。
圖像采集單元負(fù)責(zé)以一定頻率與分辨率采集帶有標(biāo)識線的圖像,并將采集到的圖像傳輸?shù)綀D像處理單元。
圖像處理單元負(fù)責(zé)對采集到的每一幀圖像進(jìn)行圖像預(yù)處理、特征提取、直線擬合等操作,最終獲得小車相對于標(biāo)識線中心線的角度偏差與位置偏移量,并打包成下位機(jī)可讀取的路徑參數(shù)。
無線局域網(wǎng)模塊負(fù)責(zé)將獲得的路徑參數(shù)發(fā)送到控制模塊。
控制模塊根據(jù)接收到的路徑參數(shù)輸出控制指令糾正小車當(dāng)前的位姿。同時(shí),控制模塊讀取當(dāng)前的電機(jī)狀態(tài)、電量水平、運(yùn)行速度等相關(guān)參數(shù)并實(shí)時(shí)調(diào)整小車的運(yùn)行狀態(tài)。
I/O模塊負(fù)責(zé)傳達(dá)控制指令到底層硬件模塊,同時(shí)讀取底層硬件當(dāng)前的電機(jī)狀態(tài)、電量水平、運(yùn)行速度等參數(shù)到控制模塊。
底層硬件接受控制指令,并按照控制指令進(jìn)行動(dòng)作。
AGV結(jié)構(gòu)模型如圖2所示,驅(qū)動(dòng)輪安裝在轉(zhuǎn)向裝置上。配有環(huán)形光源的圖像采集模塊垂直于地面安裝在小車的轉(zhuǎn)向裝置下方,通過測量圖像采集區(qū)域下的d與θ,得到小車相對于標(biāo)識線的位置偏差與角度偏差。控制器實(shí)時(shí)輸出控制指令,控制轉(zhuǎn)向裝置轉(zhuǎn)動(dòng)使小車能夠始終沿著車道線行駛。
圖2 AGV結(jié)構(gòu)模型
視覺導(dǎo)航AGV的標(biāo)識線導(dǎo)引需要對采集回來的路徑圖像進(jìn)行處理,獲得有用的路徑參數(shù)并傳遞到控制器,實(shí)現(xiàn)導(dǎo)航功能。具體包含以下步驟:
圖像預(yù)處理[6]主要包括了幾何校正、灰度化、閾值分割、圖像濾波等處理。由于視覺傳感器垂直于地面安裝,其采集到的圖像因透視而產(chǎn)生的形變較少,故可以不進(jìn)行幾何校正,而需要進(jìn)行灰度化、閾值分割與圖像濾波。
2.1.1 圖像灰度化
將彩色圖像轉(zhuǎn)化為灰度圖像的過程稱為圖像的灰度化處理。圖像傳感器采集到的圖像是24位RBG彩色圖像,這樣的彩色圖像將占用大量的存儲(chǔ)資源與計(jì)算資源,因此我們需要對圖像進(jìn)行灰度化處理以降低系統(tǒng)資源的消耗。灰度化的方法有分量法、最大值法、平均法與加權(quán)平均法。按照實(shí)驗(yàn)與經(jīng)驗(yàn)的推薦,按下式對R、G、B三個(gè)分量進(jìn)行加權(quán)平均能得到較理想的灰度圖像。
f(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j)
(1)
盡管灰度化后的圖像相對彩色圖像丟失了一定的色彩等級,但其仍然能反映整幅圖像的整體和局部的色彩和亮度等級的分布和特征。對于僅含有路徑標(biāo)識線的圖像而言,灰度化后對整體和局部的圖像描述產(chǎn)生的影響可以忽略不計(jì)。
2.1.2 閾值分割
閾值分割指把圖像分割為前景和背景。分割的方法可以分為全局閾值分割和局部閾值分割兩大類。全局閾值分割通過選取一個(gè)閾值T,使圖像g(x,y)像素灰度值大于此閾值T的設(shè)為255,小于此閾值的設(shè)為0。公式如下:
(2)
全局閾值有多種方法,其中Otsu算法[7]被認(rèn)為是圖像分割中閾值選取的最佳算法。其算法計(jì)算簡單,不受圖像的亮度和對比度影響,降低了錯(cuò)分的概率。本文利用Otsu法分割標(biāo)識線與背景,效果明顯,如圖3(b)所示。
圖3 實(shí)驗(yàn)結(jié)果
經(jīng)Otsu法閾值分割后的圖像背景灰度值為255(白色),標(biāo)識線灰度值為0(黑色),分割準(zhǔn)確,對比度高,能夠最大限度地節(jié)約系統(tǒng)存儲(chǔ)空間與提高圖像的處理速度。
2.1.3 基于均值查找的中值濾波法
中值濾波[8]是基于排序統(tǒng)計(jì)理論的一種能去除噪聲的非線性信號處理技術(shù)。其原理是把圖像中某一像素點(diǎn)的值用該點(diǎn)的鄰域各點(diǎn)的值的中值代替,從而消除孤立的噪聲點(diǎn),對于斑點(diǎn)噪聲與椒鹽噪聲的去除效果尤為突出。
中值濾波的執(zhí)行效率依賴于排序的運(yùn)算速度。排序需要遍歷像素點(diǎn)及其鄰域的像素值,再通過比較每個(gè)像素灰度值的大小進(jìn)行排序。算法本身十分耗時(shí),難以保證實(shí)時(shí)性。為此文中采用一種基于均值查找的中值濾波算法[9]。其算法的思想是:
以像素灰度值集合M的均值avg劃分M為相應(yīng)的兩個(gè)子集合。通過計(jì)算,分別獲得子集合元素個(gè)數(shù)n與子集合累計(jì)舍棄元素個(gè)數(shù)m,并分別與初始集合元素個(gè)數(shù)q的一半進(jìn)行比較,以確定中值所在的目標(biāo)集合M′,并對此集合進(jìn)行下一次迭代,直到目標(biāo)集合只包含一個(gè)元素為止。該元素則為集合M的中值。算法示例如圖4所示。此方法通過集合的多次二分,實(shí)現(xiàn)縮小目標(biāo)集合從而減少不必要的排序操作,大大提高了中值濾波算法的執(zhí)行效率。
要獲得車道標(biāo)識線的中心線首先需要對路徑的邊緣特征進(jìn)行提取?;舴蜃儞Q是圖像處理中一種經(jīng)典的特征提取技術(shù),用于檢測圖像中的特定形狀[10]。對于可近似看作直線的車道標(biāo)識線,其邊緣可以通過霍夫變換檢測出來。雖然霍夫變換的應(yīng)用很廣泛,但是其對圖像邊緣的細(xì)節(jié)要求較高,并且計(jì)算量大,難以達(dá)到高實(shí)時(shí)性的要求。故文中采取一種高效的邊界輪廓掃描法,方法如下:
Step1:對圖像自上而下逐像素行進(jìn)行掃描,本方法中圖像共有380行像素。掃描同時(shí)從左右兩端開始,方向指向內(nèi)部,如圖5所示,獲取各個(gè)像素點(diǎn)的灰度值。
圖4 基于均值查找的中值算法示例圖
圖5 行掃描示意圖
Step2:當(dāng)掃描首次遇到像素灰度值為0的像素點(diǎn)則返回當(dāng)前像素點(diǎn)的坐標(biāo)值,并插入到向量中。理想情況下將返回標(biāo)識線兩側(cè)邊緣的坐標(biāo)值。如此自上往下逐行掃描最終得到分別表示標(biāo)識線左右邊緣的兩個(gè)特征向量組veclj與vecrj,(j=0,2,3,…,379)。
Step3:對向量組veclj與vecrj分別進(jìn)行元素?cái)?shù)量檢查,當(dāng)元素?cái)?shù)量小于190(像素行總數(shù)的一半)時(shí),認(rèn)為沒有找到標(biāo)識線的邊緣,跳出此步驟。當(dāng)元素?cái)?shù)量大于190時(shí),認(rèn)為找到標(biāo)識線邊緣并進(jìn)行下一步操作。
Step4:向量組veclj與vecrj分別記錄了標(biāo)識線左右邊緣的坐標(biāo)。對兩組向量中的坐標(biāo)值進(jìn)行數(shù)學(xué)運(yùn)算可以得到標(biāo)識線中線的坐標(biāo)集合。記該坐標(biāo)集合為Mid,對Mid進(jìn)行直線擬合則得到標(biāo)識線中心線。Mid可以表示為:
Mid={(xi,yi)|xi=(veclj+vecrj)/2,yi=
j;j=0,2,...,379}
當(dāng)路徑為曲線時(shí),取小段路徑進(jìn)行分析,曲線路徑可以近似為直線處理。由于圖像采集單元安裝位置靠近地面,視野較小,其連續(xù)采集到的標(biāo)識線圖像可近似為直線,于是路徑的擬合問題可看作是線性回歸的問題。線性方程為:
y=a+bx
(3)
根據(jù)最小二乘法,其偏差平方和為:
(4)
式中,分別對a與b求偏導(dǎo)數(shù),有:
(5)
于是得到關(guān)于a,b的線性方程組:
(6)
解方程,得a,b:
(7)
其中:
最小二乘法是進(jìn)行直線擬合最簡單有效的方法,但其缺點(diǎn)是容易受到錯(cuò)誤點(diǎn)的影響從而影響直線的準(zhǔn)確度,為此需要對算法的使用進(jìn)行改進(jìn)。為了能夠?qū)崿F(xiàn)對錯(cuò)誤點(diǎn)的判斷與剔除,文中采用最小二乘法分段擬合直線,通過比較各段線段的角度對錯(cuò)誤點(diǎn)進(jìn)行定位,并剔除錯(cuò)誤點(diǎn)所在的小段路徑,最后對保留下來的路徑小段重新進(jìn)行擬合,得到最終直線段。該方法如下:
Step1:將像素點(diǎn)坐標(biāo)集合Mid在y方向上每十個(gè)像素點(diǎn)分成一段,得到如下38個(gè)坐標(biāo)集合:
Mid0={(xi,yi)|xi=(veclj+vecrj)/2,yi=j;
j=0,2,...,9}
Mid1={(xi,yi)|xi=(veclj+vecrj)/2,yi=j;
j=10,12,...,19}
Mid37={(xi,yi)|xi=(veclj+vecrj)/2,yi=j;
j=370,372,...,379}
Step2:使用最小二乘法分別對Mid0到Mid37進(jìn)行直線擬合,得到38段直線段L0,L1,…,L37。
Step3:設(shè)定一個(gè)角度閾值T來區(qū)分角度正常與角度異常的直線段,設(shè)定一個(gè)計(jì)數(shù)器f來統(tǒng)計(jì)錯(cuò)誤線段的總數(shù),計(jì)算各線段的斜率k,線段角度θi,并計(jì)算相鄰直線段的角度之差的△θi。公式如下:
θ=arctan(k)
(8)
(9)
Step4:對L0是否存在錯(cuò)誤點(diǎn)進(jìn)行判斷。當(dāng)L0中包含錯(cuò)誤點(diǎn)時(shí),會(huì)導(dǎo)致后面線段的錯(cuò)誤點(diǎn)的判斷失敗,對于這種情況,進(jìn)行如下的處理:若△θ1>T且△θ2 Step5:比較閾值T與△θi的大小,若△θi大于閾值T,則認(rèn)為線段Li中出現(xiàn)了錯(cuò)誤點(diǎn),導(dǎo)致線段的角度出現(xiàn)異常,剔除線段Li所對應(yīng)的像素點(diǎn)集合Midi,同時(shí)計(jì)數(shù)器f加1。若△θi小于閾值,則將集合Midi保存到向量vec中。 Step6:檢查計(jì)數(shù)器f,當(dāng)f<19,即當(dāng)存在錯(cuò)誤點(diǎn)的線段數(shù)量小于線段總數(shù)的一半時(shí),認(rèn)為錯(cuò)誤點(diǎn)對路徑擬合沒有影響,并對vec中的坐標(biāo)點(diǎn)集合進(jìn)行最小二乘擬合,得到最終直線。當(dāng)存在錯(cuò)誤點(diǎn)的線段數(shù)量大于線段總數(shù)的一半時(shí),認(rèn)為錯(cuò)誤點(diǎn)對路徑擬合產(chǎn)生影響,跳出程序,讀入下一幀進(jìn)行下一循環(huán)。 算法流程如圖6所示,流程與上述步驟一一對應(yīng),算法在Linux操作系統(tǒng)下采用C++進(jìn)行編寫。 圖6 直線擬合算法流程圖 為了驗(yàn)證本文提出的算法效率以及正確性,使用樹莓派三代,樹莓派攝像頭以及Turtlebot輪式機(jī)器人進(jìn)行實(shí)驗(yàn)。樹莓派三代是基于ARM的微型電腦,其CPU為ARM Cortex-A53,并且配有1GB內(nèi)存和無線網(wǎng)卡模塊,搭配樹莓派攝像頭,相當(dāng)于智能相機(jī),能夠完成圖像采集、圖像處理及無線通訊的功能。圖像處理后獲得的路徑數(shù)據(jù)通過無線局域網(wǎng)模塊發(fā)送至Turtlebot輪式機(jī)器人的控制模塊進(jìn)行整車調(diào)試。 利用上述的圖像處理方法,如圖3所示是對路徑標(biāo)識線圖像處理的過程與結(jié)果??梢钥吹皆紙D像是一段曲率較小的曲線,路面上存在大量干擾。使用Otsu法進(jìn)行閾值化后可以看到路徑與背景已經(jīng)很好地分割開來,路徑呈黑色,背景呈白色,但是圖像上仍存在大量的斑點(diǎn)噪聲與椒鹽噪聲。經(jīng)過優(yōu)化的中值濾波處理之后在中心線擬合的圖像中可以看到大部分干擾因素已經(jīng)被很好地去除,余留下的少量干擾因素因?yàn)楸恢本€擬合算法排除,沒有影響到中心線的擬合,使本算法的魯棒性得到保證。 對本圖像處理方法(優(yōu)化的中值濾波、高效邊緣提取與最小二乘直線擬合)與傳統(tǒng)的圖像處理方法(傳統(tǒng)的中值濾波、Hough算法直線檢測與最小二乘直線擬合)進(jìn)行對比實(shí)驗(yàn)。計(jì)算分別用以上兩種方法連續(xù)處理1000幀圖像的合計(jì)用時(shí)與平均用時(shí),以及統(tǒng)計(jì)最終直線擬合的成功率,結(jié)果如表1、表2與表3所示。 表1 中值濾波算法處理速度比較 表2 直線擬合方法處理速度比較 表3 中心線擬合成功率比較 從實(shí)驗(yàn)結(jié)果可以看到本圖像處理方法在處理效率上明顯優(yōu)于傳統(tǒng)圖像處理方法。就單幀圖像而言,優(yōu)化的中值濾波較傳統(tǒng)中值濾波效率提升31.60%,而本直線擬合方法較Hough直線檢測加最小二乘直線擬合效率提升57.45%。中心線擬合依賴于圖像預(yù)處理效果以及標(biāo)識線邊緣特征提取的完成度,由于本邊緣提取算法對邊緣細(xì)節(jié)要求較Hough算法低,導(dǎo)致最終中心線擬合的成功率較傳統(tǒng)方法高12%。在實(shí)際工作場景中連續(xù)處理的圖像數(shù)量遠(yuǎn)大于1000幀,其效率的提升是相當(dāng)可觀的,這對于計(jì)算與存儲(chǔ)資源有限的嵌入式系統(tǒng)顯得尤為重要。 本文針對嵌入式系統(tǒng)計(jì)算與存儲(chǔ)資源有限以及視覺導(dǎo)航AGV實(shí)際工作環(huán)境所要求的高實(shí)時(shí)性的問題,提出了一種可行的視覺導(dǎo)航AGV圖像處理方法。該方法采用了Otsu算法對圖像進(jìn)行閾值分割;使用優(yōu)化的基于均值查找的中值濾波算法進(jìn)行圖像濾波;使用高效的邊緣提取策略獲取路徑邊緣信息;采用分段角度判斷的方法剔除錯(cuò)誤點(diǎn)并使用最小二乘法擬合成路徑的中心線,大大提高了系統(tǒng)的運(yùn)行效率,保證了系統(tǒng)的魯棒性與實(shí)際工作中所要求的準(zhǔn)確性與實(shí)時(shí)性,有利于在基于ARM的視覺導(dǎo)航AGV上的應(yīng)用。 [1] 李西鋒, 魏生民, 閆小超. 視覺引導(dǎo)AGV的數(shù)字圖像處理方法研究[J]. 科學(xué)技術(shù)與工程, 2010, 10(10):2515-2519. [2] Xing W, Lou P, Yu J, et al. Intersection Recognition and Guide-path Selection for a Vision-based AGV in a Bidirectional Flow Network[J]. International Journal of Advanced Robotic Systems, 2014, 11(1):1. [3] Zhang H B, Yuan K, Shu Q M, et al. Visual navigation of an automated guided vehicle based on path recognition[A]. International Conference on Machine Learning and Cybernetics[C]. IEEE Xplore, 2004,6:3877-3881. [4] 樸 磊, 李劍中, 馮 剛. 視覺導(dǎo)引AGV的數(shù)字圖像處理[J]. 儀器儀表學(xué)報(bào), 2006, 27(s1):766-767. [5] 王宜懷, 吳 瑾, 蔣銀珍. 嵌入式系統(tǒng)原理與實(shí)踐[M]. 北京:電子工業(yè)出版社, 2012. [6] 王紅君,施 楠,趙 輝,等. 改進(jìn)中值濾波方法的圖像預(yù)處理技術(shù)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(5):237-240. [7] Otsu N. A Threshold Selection Method from Gray-Level Histograms[J]. IEEE Transactions on Systems Man & Cybernetics, 2007, 9(1):62-66. [8] Hanji G, Latte M V. Novel Median filter for impulse noise suppression from digital images[J]. International Journal of Computer Applications, 2014, 4(3/4):1-12. [9] 鮑 華,樊瑜波,饒長輝,等. 基于均值查找的快速中值濾波算法[J]. 四川大學(xué)學(xué)報(bào)(工程科學(xué)版),2011(2):76-79,86. [10] Aggarwal N, Karl W C. Line detection in images through regularized Hough transform[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2006, 15(3):582-91. Research on Image Processing Method of ARM-based Visual Navigation AGV Wen Shengping, ChenZhihong,Zhang Shihua (National Engineering Research Center of Novel Equipment for Polymer Processing, Ministerial Key Laboratory of Polymer Processing Engineering, South China University of Technology, Guangzhou 510640, China) In order to achieve a more simple and efficient detection and processing of the navigation line image, an optimized navigation line image processing method for ARM-based visual navigation AGV is proposed.First, image collected by the camera is grayed and then segmented by Otsu algorithm. Second, the optimized median value filter algorithm is used to denoise and the efficient edge extraction strategy is used to obtain the path edge. Finally, the error points are eliminated by the method of angle judgment, and the central line of the path is synthesized by the least square method. The experimental results show that the method has high accuracy and good real-time performance, and can meet the needs of industry. It is suitable for visual navigation AGV based on embedded system. visual navigation; edge extraction; least square method; median filtering 2017-05-12; 2017-05-31。 廣東省及廣州市科技計(jì)劃項(xiàng)目(2015B090901020;201508010058;201604010079)。 文生平(1966-),男,湖北荊州人,教授,碩士研究生導(dǎo)師,主要從事工業(yè)裝備的智能控制與機(jī)器視覺方向的研究。 1671-4598(2017)12-0207-04 10.16526/j.cnki.11-4762/tp.2017.12.054 TP242.6 A3 實(shí)驗(yàn)結(jié)果及分析
3.1 實(shí)驗(yàn)平臺
3.2 結(jié)果分析
4 結(jié)論