王 霄
(黃河科技學(xué)院,鄭州 450063)
隨著計(jì)算機(jī)智能控制、圖像處理及人工智能等技術(shù)的飛躍式發(fā)展,集成視覺(jué)傳感器和圖像采集卡的自動(dòng)識(shí)別系統(tǒng)被廣泛應(yīng)用于目標(biāo)識(shí)別和圖像特征分析等領(lǐng)域。本文將圖像處理技術(shù)應(yīng)用于水果選擇性采摘中,首先通過(guò)人眼對(duì)水果成熟度進(jìn)行判斷并貼上標(biāo)簽,然后由采摘機(jī)器人自動(dòng)識(shí)別系統(tǒng)根據(jù)標(biāo)簽上的等級(jí)區(qū)別進(jìn)行采摘,實(shí)現(xiàn)了英語(yǔ)字母多元信息識(shí)別與水果分級(jí)采摘功能。
英文字母等多元信息的自動(dòng)識(shí)別是圖像處理的一項(xiàng)新技術(shù)應(yīng)用。如今,英文字母廣泛應(yīng)用于信息標(biāo)簽、車牌號(hào)、指示牌等標(biāo)示,通過(guò)對(duì)英文字母多元信息的識(shí)別,能夠提高對(duì)目標(biāo)對(duì)象嵌套的視覺(jué)識(shí)別和追蹤能力。高效的英文識(shí)別在機(jī)器人導(dǎo)向、logo設(shè)計(jì)等領(lǐng)域的應(yīng)用前景比較寬廣。英文字母的圖像通過(guò)視覺(jué)傳感器CCD采集獲取,但在圖像獲取的過(guò)程中,由于天氣、拍攝角度或者標(biāo)識(shí)牌被污跡遮擋等原因,會(huì)影響字符的識(shí)別。因此,在字符圖像被獲取之后,需要進(jìn)行一系列的預(yù)處理工作,如灰度化、二值化及邊緣檢測(cè)等。預(yù)處理作為字符識(shí)別的第1個(gè)階段,其效果直接決定后續(xù)的字符分割和字符識(shí)別的成功率。
圖像預(yù)處理主要包括英文字母的圖像導(dǎo)入、顏色分割、灰度化、二值化和邊緣檢測(cè)等步驟,流程如圖1所示。
圖1 圖像預(yù)處理流程圖
在常見(jiàn)的論述中,圖形和圖像是對(duì)物體形態(tài)的兩種不同的描述,其存儲(chǔ)結(jié)構(gòu)和表示方法差別很大。圖形是目標(biāo)對(duì)象一種矢量結(jié)構(gòu)的描述方式,而圖像則是一種柵格結(jié)構(gòu)的描述方式。采摘機(jī)器人圖像信息獲取的目的是對(duì)獲取的信息進(jìn)行深入的研究,獲取更多的描述信息,為后續(xù)的判斷決策做準(zhǔn)備。英文字母的圖像包括BMP和JPG兩種,由于本文研究采用OpenCV手段加載圖像,因此對(duì)兩種圖像都可以識(shí)別,所以兩個(gè)種格式都能進(jìn)行后期的識(shí)別操作。
在進(jìn)行圖像處理中,有一個(gè)環(huán)節(jié)是圖像灰度化,而進(jìn)行灰度化必須提前做好顏色分割準(zhǔn)備。對(duì)圖像進(jìn)行顏色分割,需要先建立顏色坐標(biāo)系。本文采用LAB顏色模型進(jìn)行分割,該模型分布均勻,具有很強(qiáng)的實(shí)用性。LAB顏色坐標(biāo)如圖2所示。
圖2中,LAB顏色空間是在顏色中藍(lán)黃不可同時(shí)存在的基礎(chǔ)上建立的。其中,L為顏色的明度值;A為顏色的紅、綠值;B為顏色黃、藍(lán)值。
圖像進(jìn)行色彩分割時(shí),通常需要將LAB轉(zhuǎn)化為L(zhǎng)CH顏色模型。其中,LCH顏色模型如圖3所示。
圖2 LAB顏色坐標(biāo)圖
圖3 LCH顏色模型
在LCH顏色模型中,L為明度值,C為飽和度值,H為色調(diào)角度值。
RGB轉(zhuǎn)化為L(zhǎng)AB較為復(fù)雜,其公式表達(dá)式為
(1)
采摘機(jī)器人對(duì)目標(biāo)對(duì)象圖像進(jìn)行采集,然后通過(guò)LAB的顏色分割,可以得出對(duì)象的灰度化初始值和空間坐標(biāo)信息。
顏色有黑白和彩色兩種。黑白指顏色中,只有黑白之分,沒(méi)有其他色彩。在RGB和LCH兩種顏色模型中,如果R/G/B三者值相等,或者L/C/H相等,表示其是黑白色。其中,R/G/B相等(L/C/H相等)稱為灰度值。彩色和黑白色之間能夠通過(guò)顏色分割算法進(jìn)行轉(zhuǎn)化,彩色轉(zhuǎn)換為黑白稱為灰度化過(guò)程,而黑白轉(zhuǎn)向彩色稱為偽彩色過(guò)程。
從上面的敘述可知:灰度化處理實(shí)質(zhì)上是將RGB等值化的處理過(guò)程,其處理方法有最大值、平均值和加權(quán)平均值3種。本文采用加權(quán)平均值進(jìn)行圖像灰度化處理。
根據(jù)顏色分割重要性和指標(biāo)給R、G、B的應(yīng)權(quán)值進(jìn)行賦值,并使三者加權(quán)平均,即
R=G=B=WR·R+WG·G+WB·B
(2)
其中,WR、WG、WB為三者的顏色權(quán)值。三者去不同的權(quán)值便可以得到對(duì)應(yīng)的灰度圖像。加權(quán)平均值灰度化處理方法,對(duì)英語(yǔ)字符的亮度處理明顯,且不會(huì)對(duì)對(duì)原圖信息造成損失。
圖像二值化處理的技術(shù)手段有直方圖、最大熵閾值及OTSU法等。為使圖像二值化效果更明顯,灰度直方圖獨(dú)立性更強(qiáng)。本文采用最大熵閾值進(jìn)行二值化算法,使得圖像灰度值各類熵值最大。其算法描述如下:
設(shè)P點(diǎn)為灰度值分割閾值點(diǎn),L0,L1,L2,…,Ln是灰度值等級(jí)的概率等級(jí),將其分為兩端,則
(3)
圖像二值化后的熵為
H(S)=EA+EB
(4)
(5)
二值化分割發(fā)熱最佳閾值為
H0=argmax(H(S))
(6)
最大熵閾值二值化處理效果如圖4所示。
圖4 最大熵閾值二值化處理效果圖
maximum entropy threshold
邊緣檢測(cè)算法中應(yīng)用比較多的是Rebort、Prewitt和Sobel等,這些算法主要是通過(guò)圖像像素值判斷英文字母的邊緣。本文采用線密度算法對(duì)字符圖像邊緣進(jìn)行檢測(cè)。算法描述如下:
1)一般英文字母的寬度大約為8-10個(gè)像素點(diǎn),假設(shè)(i,j)是邊緣點(diǎn),那么分別向其左右取N個(gè)像素點(diǎn),如圖5所示。
2)計(jì)算(i,j)兩側(cè)的邊緣點(diǎn)密度值,即
(7)
其中,E(k)是與(i,j)相差k個(gè)像素點(diǎn)的值,則
(8)
英文字母的分割與識(shí)別是采摘機(jī)器人根據(jù)信息標(biāo)簽進(jìn)行采摘作業(yè)的基本,是最重要的環(huán)節(jié)之一。本文研究的英文字母識(shí)別算法是針對(duì)獨(dú)立字符進(jìn)行識(shí)別,因此字符分割和定位就顯得尤為重要。
本文采用連通域法對(duì)英文字母進(jìn)行字符分割,主要步驟如下:①對(duì)圖像進(jìn)行二值化;②將圖像的邊框去除掉;③提出相關(guān)區(qū)域的連通域;④根據(jù)積累的經(jīng)驗(yàn)對(duì)字符區(qū)域進(jìn)行篩選判斷;⑤對(duì)字符區(qū)域進(jìn)行準(zhǔn)確定位;⑥對(duì)于字符區(qū)域進(jìn)行歸一化處理;⑦對(duì)字符進(jìn)行二值化分割;⑧輸出分割后的字符。英文字母分割流程如圖6所示。
經(jīng)過(guò)前一節(jié)英文字母的分割操作,待識(shí)別的英文字母圖像已成為獨(dú)立的字符個(gè)體,此時(shí)可以采用SVM向量集對(duì)字符的特征模型集進(jìn)行訓(xùn)練,然后將特征提取和特征模型集進(jìn)行對(duì)比判斷,識(shí)別出字符,最后進(jìn)行輸出。字符識(shí)別示意如圖7所示。
圖6 英文字母分割流程圖
圖7 字符識(shí)別示意圖
英文字母自動(dòng)識(shí)別系統(tǒng)是采摘機(jī)器人對(duì)目標(biāo)對(duì)象進(jìn)行采摘的重要手段。首先技術(shù)人員人眼判斷并對(duì)需要采摘的對(duì)象貼上標(biāo)簽,然后由自動(dòng)識(shí)別系統(tǒng)通過(guò)CCD傳感器獲取圖像信息,再根據(jù)標(biāo)簽上的等級(jí)區(qū)別進(jìn)行采摘,并分等級(jí)進(jìn)行擺放。
采摘機(jī)器人作業(yè)過(guò)程中,需要對(duì)信息標(biāo)簽上的英文字母信息進(jìn)行快速判別處理,然后控制采摘機(jī)器人靈巧手進(jìn)行采摘作業(yè)。針對(duì)以上要求,本文設(shè)計(jì)了以Exynos4412(Cortex-A9)為核心的硬件平臺(tái),能夠進(jìn)行實(shí)時(shí)信息標(biāo)簽識(shí)別、控制靈巧手的采摘作業(yè)及采摘狀態(tài)的實(shí)時(shí)顯示。該硬件平臺(tái)主要包括CCD視覺(jué)傳感器、CD-ROW光驅(qū)、圖像采集卡、Exynos4412處理器、圖像處理軟件、CD-ROM、硬盤(pán)存儲(chǔ)設(shè)備、機(jī)械臂和靈巧手等設(shè)備模塊。該硬件平臺(tái)的系統(tǒng)框架圖如圖8所示。
圖8 系統(tǒng)框架圖
硬件部分是英文字母自動(dòng)識(shí)別系統(tǒng)正常運(yùn)作的平臺(tái),而硬件部分的運(yùn)行必須依靠底層軟件進(jìn)行驅(qū)動(dòng)。英文字母自動(dòng)識(shí)別系統(tǒng)軟件設(shè)計(jì)如圖9所示。
圖9 英文字母自動(dòng)識(shí)別系統(tǒng)軟件設(shè)計(jì)
system of English alphabet
為了使Exynos4412處理器正常運(yùn)行,首先必須要有平臺(tái)的引導(dǎo)軟甲Bootloader,然后根據(jù)Linux 源碼生成可以在硬件平臺(tái)運(yùn)行的Kernel,最后采用Buzybox工具ramdisk 文件系統(tǒng)映象文件。將3個(gè)文件采用網(wǎng)絡(luò)掛載的方式燒寫(xiě)到開(kāi)發(fā)板上,才能讓整個(gè)平臺(tái)正常的運(yùn)行。
其中,Linux Kernel的移植包括下面幾個(gè)部分:
1)修改內(nèi)核頂層目錄下的 Makefile,將交叉編譯工具改為ARM平臺(tái)的arm-none-linux- gnueabi-gcc。
2)修改Driver/net文件配置,進(jìn)行DM9000網(wǎng)卡驅(qū)動(dòng)的移植。
3)修改Driver/Device/usb.c文件配置,進(jìn)行USB 驅(qū)動(dòng)的移植。
4)配置內(nèi)核,進(jìn)行如下配置。
make menuconfig
[*] Networking support ————>
Networking options ————>
<*> Packet socket
<*> Unix domain sockets
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
Device Drivers ————>
[*] Network device support ————>
[*] Ethernet driver support (NEW) ————>
<*> DM9000 support
File systems ————>
5)編譯內(nèi)核和設(shè)備樹(shù)。
$ make uImage
$ make dtbs
為了驗(yàn)證該采摘機(jī)器人英文字母自動(dòng)識(shí)別系統(tǒng)的應(yīng)用性能,進(jìn)行了實(shí)際的采摘仿真測(cè)試分析。實(shí)驗(yàn)中,利用QT 5.7搭建仿真平臺(tái),運(yùn)行 Qt需要的圖像視覺(jué)識(shí)別函數(shù)接口,編譯和加載可視化的界面程序。該實(shí)驗(yàn)仿真識(shí)別結(jié)果如圖10所示。
圖10 實(shí)驗(yàn)仿真識(shí)別結(jié)果
由圖10可以看出:采摘機(jī)器人英文字母自動(dòng)識(shí)別系統(tǒng)從原始圖像、到處理后的圖像、再到結(jié)果的輸出都比較準(zhǔn)確,識(shí)別率達(dá)到了100%。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)可以準(zhǔn)確識(shí)別信息便簽上的英文字母,并將信息提煉出來(lái),用與采摘機(jī)器人進(jìn)行采摘判斷,能滿足選擇采摘作業(yè)要求,具有廣泛的應(yīng)用前景。
本文首先對(duì)圖像預(yù)處理中顏色分割、灰度化、二值化、邊緣檢測(cè)等步驟進(jìn)行介紹與分析,進(jìn)而對(duì)英文字母的分割與識(shí)別算法進(jìn)行研究,最后設(shè)計(jì)了英文字母自動(dòng)識(shí)別系統(tǒng)的硬件平臺(tái)和軟件移植,實(shí)現(xiàn)了英語(yǔ)字母多元信息標(biāo)簽自動(dòng)識(shí)別的功能,為采摘機(jī)器人的選擇采摘提供了便利。測(cè)試結(jié)果表明:該系統(tǒng)可以準(zhǔn)確識(shí)別信息便簽上的英文字母,并將信息提煉出來(lái),用于采摘機(jī)器人進(jìn)行采摘判斷。