劉昌輝,帥考,楊維榮
武漢工程大學(xué)計算機科學(xué)與工程學(xué)院,湖北 武漢 430205
嵌入式視覺的測距系統(tǒng)設(shè)計
劉昌輝,帥考,楊維榮
武漢工程大學(xué)計算機科學(xué)與工程學(xué)院,湖北 武漢 430205
行車操作人員在實際操作過程中,會出現(xiàn)對與之相鄰障礙物之間的距離太近而不能及時規(guī)避情況,導(dǎo)致碰撞事故的發(fā)生.針對這一問題,筆者構(gòu)建了以ARM11微處理器為核心,以USB攝像頭為圖像采集設(shè)備的測距系統(tǒng),在基于機器視覺和圖像處理的基礎(chǔ)上,將單目視覺和激光技術(shù)相結(jié)合,考慮對應(yīng)點匹配和單個特征點提取誤差對測量結(jié)果影響,將激光點作為特征點的單目視覺測距的方法.實驗結(jié)果表明,該系統(tǒng)能有效的測量與障礙物的距離,測量準確,可靠性高且滿足實時性要求.
嵌入式;機器視覺;圖像處理;單目測距
隨著工業(yè)生產(chǎn)蓬勃發(fā)展,行車作為起吊搬運的重要設(shè)備,被廣泛應(yīng)用于各種工業(yè)現(xiàn)場,由于繁重的操作任務(wù),操作人員往往注重于重物的運行,而對與之相鄰障礙物的安全距離不能及時預(yù)判,導(dǎo)致相撞的事故時有發(fā)生.為了避免事故的發(fā)生,使行車能夠平穩(wěn)、安全、有效的運行,行車的防撞技術(shù)成為目前國內(nèi)外的重要研究方向.
防撞系統(tǒng)中最基本和最關(guān)鍵的技術(shù)是距離檢測,目前運用在障礙物檢測上的測距方式主要有紅外線測距、激光測距、超聲波測距、毫米波雷達測距以及視覺測距等多種方法,如姜海嬌建立的激光雷達測距系統(tǒng)根據(jù)測距特性對測量精度進行研究[1],沈燕等人介紹的基于單片機的超聲波測距設(shè)計實現(xiàn)測距功能[2],劉鑫等人采用雷達測距實現(xiàn)倒車防撞控制等[3],都在一定程度上滿足了防撞要求.然而這幾種測距方式都有其局限性,紅外線測距響應(yīng)時間長,使操作人員得到的提前預(yù)警不足以躲避碰撞;激光測距成本較高,且對傳感器表面光潔度要求也較高;超聲波測距易受到空氣密度、溫度等影響,產(chǎn)生較大誤差;雷達測距易受到電磁波干擾等,限制了其在防撞系統(tǒng)中的應(yīng)用.
伴隨著圖像處理技術(shù)和嵌入式的不斷發(fā)展,視覺測距為安全車距檢測提供了一種更有效的解決方案.本文在ARM11開發(fā)平臺基礎(chǔ)上實現(xiàn)了單目視覺測距功能,通過以目標物體上激光點為特征點,對激光點進行識別定位,以達到對目標物體進行測距定位的目的.經(jīng)實驗證明,該系統(tǒng)測距精度較高,實時性好.
嵌入式視覺測距系統(tǒng)主要由嵌入式開發(fā)板、Linux操作系統(tǒng)、圖像處理模塊及單目視覺測距算法組成.本視覺測距系統(tǒng)中,采用一個USB接口的CMOS攝像頭作為圖像采集設(shè)備,考慮到ARM11具有的高性能、低功耗和低價格等特點,本系統(tǒng)選用ARM11的S3C6410處理器為控制核心,為軟件系統(tǒng)的運行提供硬件支持.其具體硬件構(gòu)成如下:
(1)S3C6410是一個16/32位的RISC微處理器,擁有強大的內(nèi)部資源和視頻處理能力,主頻為533 MHz,最高可達667 MHz.
(2)支持Mobile DDR和多種NAND FLASH.包括128M字節(jié)的Mobile DDR,以及1G字節(jié)的型號為K9G8G08U0A的NAND FLASH,用于存儲內(nèi)核代碼、應(yīng)用程序、操作系統(tǒng)和數(shù)據(jù)資料等.
(3)4個串口,包括了三個三線TTL電平串口和一個五線的RS 232電平串口.
(4)1個USB HOST插口,支持USB1.1協(xié)議,可插鼠標、U盤等.
系統(tǒng)結(jié)構(gòu)框如圖1所示.
系統(tǒng)通過USB攝像頭采集圖像,然后將圖像信息傳送到S3C6410嵌入式處理器中進行圖像處理,并將圖像在LCD顯示器上實時顯示.
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System architecture
測距系統(tǒng)的硬件為基本功能和擴展功能提供了扎實的基礎(chǔ),軟件系統(tǒng)就是要充分利用硬件資源,實現(xiàn)系統(tǒng)的穩(wěn)定運行,是整個系統(tǒng)的重要組成部分.軟件部分的設(shè)計主要有建立交叉編譯環(huán)境;Bootloader的移植;Linux操作系統(tǒng)和相關(guān)驅(qū)動的移植;圖像采集、處理和顯示.本文基于Qt/Embedded實現(xiàn)圖像顯示界面.
圖像的采集采用了于ARM11開發(fā)板中外接USB攝像頭,并在Linux內(nèi)核加載了USB驅(qū)動和Video4Linux2(簡稱V4L2).V4L2是Linux內(nèi)核中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,本系統(tǒng)中為USB攝像頭提供統(tǒng)一的編程接口.系統(tǒng)在實現(xiàn)圖像采集時,首先通過調(diào)用函數(shù)open(“/dev/video0”,O_RDWR)打開視頻設(shè)備,然后進行圖像采集的參數(shù)初始化,申請圖像采集的幀緩沖區(qū),并將這些幀緩沖區(qū)從內(nèi)核空間mmap()映射到用戶空間,通過在隊列中循環(huán)輸入輸出幀緩沖區(qū)的數(shù)據(jù)完成圖像的采集.圖2描述了整個系統(tǒng)圖像采集的主要流程.
圖2 視頻采集流程圖Fig.2 Flow chart of video capture
嵌入式系統(tǒng)的應(yīng)用開發(fā)是在PC機上完成的,在PC機上運行調(diào)試應(yīng)用程序,再將程序編譯成二進制代碼,使程序可以在ARM11開發(fā)平臺上運行.系統(tǒng)中選用的圖形用戶界面是具有可移植性好和支持多個GUI平臺交互開發(fā)特點的Qt/Embedded,所以除了在PC機上移植Qt/Embedded之外,還必須安裝在ARM11開發(fā)板中.當(dāng)一個Qt/Embedded應(yīng)用程序在開發(fā)板中能穩(wěn)定運行時,開發(fā)過程才結(jié)束.操作人員可以通過圖形界面直觀的看到攝像頭采集到的圖像信息和與被測目標之間的距離信息.Qt/Embedded的軟件開發(fā)流程如圖3所示.
圖3 測距系統(tǒng)的顯示流程圖Fig.3 Display flow chart of ranging system
基于單目視覺的測距方法是采用模擬人眼的方式,通過獲得豐富的環(huán)境圖像信息進行測距[4-5],該方法穩(wěn)定性高,實用性強,還能從圖片中獲得其它的很多信息,起到輔助駕駛的功能.但是該方法也存在算法復(fù)雜,計算量大等缺點,針對這些不足,本文提出了一種單目視覺基于特征點的測距算法,該算法減少了特征點數(shù)目,降低了計算量,大大增加了實時性.
該測距方法主要由激光光源和成像系統(tǒng)構(gòu)成,系統(tǒng)原理圖如圖4所示.
系統(tǒng)中設(shè)定激光束與攝像頭的中心光軸平行,當(dāng)激光源發(fā)出光束照射在障礙物表面時,會在障礙物表面形成一個光斑,在USB攝像頭中顯示.經(jīng)過圖像灰度化、平滑濾波和邊緣特征提取處理,對光斑圖像運用圓擬合法進行中心坐標運算后,可以得到激光點在圖像中的位置坐標,只需獲得這個點在沿著y軸方向上的距離中心點的距離,根據(jù)三角測距原理,就可以計算出攝像頭與障礙物之間的距離.如公式(1)所示.
根據(jù)公式可知,距離D的運算是以激光源與攝像頭之間的距離h和激光點與攝像頭軸線之間的夾角θ為已知的前提下計算的,其中h可以測量獲得,本設(shè)計中將攝像頭與激光源固定測得的高度差h為6.0 cm,夾角θ也可以根據(jù)公式(2)得出.
其中:pfc(number of pixel from center of focal plane)為焦平面激光點到中心的像素數(shù)量;rpc(Radians per pixel pitch)表示為每個像素點的弧度;ro(Radian offset)為弧度補償,用于彌補對齊錯誤,矯正數(shù)據(jù).
將θ帶入公式(1)中,可以將D表示為公式(3)所示.
式(3)中rpc和ro可以通過測量實際已知距離和在該距離上攝像頭獲取的圖像信息中激光點的位置信息來驗算求出.本文中用于計算rpc和ro的校正數(shù)據(jù)如表1所示.
圖4 測距系統(tǒng)原理圖Fig.4 Schematic diagram of ranging system
表1 校正數(shù)據(jù)Table 1 The correction data
將校正數(shù)據(jù)分別代入公式(3)中可得出兩個方程式31=6.0/tan(57rpc+ro)和47=6.0/tan(30rpc+ro),然后計算分別得出rpc= 0.002 398 643 2,ro=0.055 279 314.則求距離公式(3)中僅有pfc為未知數(shù),若在不同距離情況下的圖像信息中分別求出pfc的值即可計算出當(dāng)前實際距離.
本系統(tǒng)軟件部分在Linux系統(tǒng)下開發(fā),并將程序加載到硬件平臺上脫機運行進行實驗驗證,對障礙物距離檢測實驗的數(shù)據(jù)如表2所示.
從總體上看,系統(tǒng)的測量值與實際值相差較小,且用作校正數(shù)據(jù)的距離,在系統(tǒng)中進一步測量時,誤差很小,其他數(shù)據(jù)也基本穩(wěn)定在實際距離的一定范圍內(nèi),能滿足系統(tǒng)設(shè)計要求.與傳統(tǒng)測距方法相比較,傳統(tǒng)單目視覺測量的數(shù)據(jù)誤差是隨著距離的增大而變化的,距離較小時尚能滿足系統(tǒng)要求,但當(dāng)距離越大時其誤差也越大,而本測距系統(tǒng)的實驗數(shù)據(jù)中,當(dāng)距離逐漸增加時,測量誤差雖然在一定幅度內(nèi)變化,但仍具有較高的精度.
表2 障礙物距離測量數(shù)據(jù)Table 2 Obstacle distance measurement data
測量值出現(xiàn)誤差的主要原因是USB攝像頭實際采集圖像過程中的環(huán)境因素以及人為測量中的不準確性,如校正數(shù)據(jù)中實際的距離的測量誤差及激光與攝像頭之間距離h的確定等.對于測距數(shù)據(jù)中校正數(shù)據(jù)的實際測量與其他的距離相比較,產(chǎn)生誤差的原因是系統(tǒng)近距離與遠距離校正值間的差異,系統(tǒng)可在試驗中選取不同距離內(nèi)的兩組實際值分別求取rpc和ro的值,再對這些rpc和ro值取平均值運算,以減少系統(tǒng)測量誤差.
本文以ARM11微處理器作為嵌入式處理器,以USB攝像頭作為圖像采集設(shè)備,視覺傳感器和激光技術(shù)來檢測行車與障礙物之間的距離,為了避免機器視覺中對應(yīng)點匹配引起的測量誤差和圖像處理及距離顯示的實效性問題,設(shè)計了一種單目視覺融合激光技術(shù)的測距系統(tǒng).與傳統(tǒng)的測距技術(shù)如紅外測距、激光測距等相比,具有良好的抗干擾性和低成本等優(yōu)勢,并且通過實驗驗證系統(tǒng)的測量值穩(wěn)定在實際距離的一定范圍內(nèi),能實時有效準確的檢測行車與障礙物之間的距離,具有良好的實用性.
致謝
本項目來源于武鋼集團鍛造廠,方案設(shè)計和運行維護都得到了他們的大力支持與協(xié)作,在此表示衷心的感謝!
[1]姜海嬌,來建成,王春勇,等.激光雷達的測距特性及其測距精度研究[J].中國激光,2011,38(5):234-240.
JIANG Hai-jiao,LAI Jiang-cheng,WANG Chun-yong,et al.Research on ranging property of laser radar and its range[J].Accuracy Chinese Journal of Lasers,2011,38(5):234-240.(in Chinese)
[2]沈燕,高曉蓉,孫增友,等.基于單片機超聲波測距儀設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(7):126-129.
SHEN Yan,GAO Xiao-rong,SUN Zeng-you,et al.Design of ultrasonic ranging instrument based on MCU[J].Modern Electronics Technique,2012,35(7):126-129.(in Chinese)
[3]劉鑫,朱靖玉.基于單片機的倒車雷達設(shè)計[J].電子設(shè)計工程,2012,20(1):94-97.
LIU Xin,ZHU Jing-yu.Design of automobile reversing rader based on microcontroller[J].Electronic Design Engineering,2012,20(1):94-97.(in Chinese)
[4]WAHAB M N A,SIVADEV N,SUNDARAJ K.Target distance estimation using monocular vision system for mobilerobot[C]//In:Open system(ICOS)2011 IEEE conrerence on,IEEE,2011:11-15.
[5]韓延祥,張志勝,戴敏.用于目標測距的單目視覺測距算法[J].光學(xué)精密工程,2011,19(5):1110-1117.
HAN Yan-xiang,ZHANG Zhi-sheng,DAI Min Monocular vision system for distance measurement based on feature points[J].Optics and Precision Engineering,2011,19(5):1110-1117.(in Chinese)
Design of distance measurement system based on ARM embedded vision
LIU Chang-h(huán)ui,SHUAI Kao,YANG Wei-rong
School of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430205,China
In the actual operation by crane operator,there exists the situation that operator can not make avoiding action timely at distance between crane and adjacent obstacles,causing collision accident.Aimed at this collision problem,we established distance measurement system by ARM 11 and USB camera.On the basis of machine vision and image procession,considering the effect of corresponding point match and extraction deviation of single characteristic point on measurement result,we integrated laser technology into monocular vision and adopted the monocular vision method of distance measurement using single laser point.The test result indicates that this system can effectively measure the distance of obstacles with accurate measurement and high reliability,meeting real-time requirement.
embedded;machine vision;image procession;distance measurement by monocular
TP31
A
10.3969/j.issn.1674-2869.2015.04.014
1674-2869(2015)04-0065-04
本文編輯:陳小平
2015-04-07
劉昌輝(1965-),男,湖北襄陽人,副教授,博士.研究方向:人工智能系統(tǒng),計算機控制系統(tǒng).