李國亮+古明輝+盧健瀚
摘 要
本文設(shè)計(jì)了一種基于Hi3516A及ODROID-C2的單目測距系統(tǒng)。該系統(tǒng)以Hi3516A作為主控芯片進(jìn)行圖像數(shù)據(jù)采集,通過交換機(jī)將所采集數(shù)據(jù)傳輸?shù)絆DROID-C2,再由ODROID-C2對圖像數(shù)據(jù)進(jìn)行處理,經(jīng)過識別算法及測距相關(guān)算法進(jìn)行物體識別及測距,最后給出結(jié)果值。實(shí)際測試的結(jié)果表明,測距的精度可達(dá)到20cm以內(nèi),基本能滿足項(xiàng)目需求。
【關(guān)鍵詞】單目攝像頭測距 圖像數(shù)據(jù)采集
1 背景及單目測距原理介紹
目標(biāo)測距是機(jī)器人視覺系統(tǒng)的重要應(yīng)用。目前,主要的目標(biāo)測距方法主要有超聲波測距,紅外測距,激光測距以及視覺測距。近年來,視覺測距吸引了許多學(xué)者的研究。隨著制造技術(shù)的發(fā)展,攝像頭設(shè)備價(jià)格走低的同時(shí)性能越來越好。因此攝像頭應(yīng)用于視覺測距領(lǐng)域成為一種受歡迎的方式。
1.1 單目測距原理介紹
視覺測距首先要解決的問題是將圖像的座標(biāo)轉(zhuǎn)換為機(jī)器人實(shí)際座標(biāo)。座標(biāo)映射器的任務(wù)就是將攝像頭幀圖片的像素點(diǎn)座標(biāo)映射到機(jī)器人座標(biāo)。
從圖1三角等比例相似關(guān)系可以計(jì)算出實(shí)際距離d=d0[(h-a)/a]=d0*h/a-d0=A+B/PVC
計(jì)算出縱座標(biāo)后,橫座標(biāo)的距離也可以相應(yīng)地計(jì)算出來,如圖2所示。
根據(jù)三角形相似關(guān)系,實(shí)際橫座標(biāo)X=(C*PR)/PV。其中C為常數(shù),PR為X像素點(diǎn)座標(biāo)像素值,PV為Y像素點(diǎn)座標(biāo)像素值。在得知常數(shù)A、B、C后,再計(jì)算目標(biāo)在圖片中的像素值,即可計(jì)算出機(jī)器人座標(biāo)的實(shí)際值。A,B,C常數(shù)與攝像頭與地面的形成的角度有關(guān)。攝像頭的位置確定不變后,這些值就可以確定了。A,B,C常數(shù)的值可以通過左確定距離拍攝棋盤格的圖片,通過角檢測算法確定與棋盤4個(gè)角同像素的對應(yīng)關(guān)系得出。本文不對此算法展開討論。
2 系統(tǒng)介紹
單目測距系統(tǒng)分為硬件系統(tǒng)及軟件系統(tǒng)。
2.1 硬件系統(tǒng)
硬件系統(tǒng)框圖如圖3所示,攝像頭模塊包括圖像傳感器及鏡頭系統(tǒng)。鏡頭采用5MP像素,為了有較大的視覺范圍,采用3.6MM的焦距,圖像傳感器采用SONY的IMAX178。此CMOS圖像傳感器面積為1/1.8'',最大3072*2048 約 6.29M有效像素。5M像素輸出時(shí),可在12bit下達(dá)到60幀/秒,14 bit下達(dá)到30 幀每秒。為了達(dá)到更高的幀率,選定了 5M像素,12bit,60幀/秒。
HI3516A集成智能分析加速引擎,支持智能運(yùn)動偵測、周界防范、視頻診斷等多種智能分析應(yīng)用。內(nèi)置A7@ 600MHz, 32KB I-Cache, 32KB D-Cache /128KB L2 cache,支持 Neon 加速,集成 FPU 處理單元,H.264 BP/MP/HP, H.265 Main Profile, MJPEG/JPEG Baseline 編碼,H.264/H.265 編碼可支持最大分辨率為 5M Pixel,H.264/H.265 多碼流實(shí)時(shí)編碼能力:? 5M@30fps+VGA@30fps。輸入支持8/10/12/14 bit RGB Bayer DC時(shí)序視頻輸入,時(shí)鐘頻率最高150MHz,支持MIPI、 LVDS/Sub-LVDS、 HiSPi接口,兼容多種sensor并行/差分接口電氣特性,提供可編程sensor時(shí)鐘輸出,支持輸入最大分辨率為5M Pixel。
列舉以上參數(shù)可知,IMAX178 同Hi3516A連接及配合工作是合適的,可充分發(fā)揮2者的性能。為了讓Hi3516A專注于ISP處理,Hi3516A出來的圖像通過交換機(jī)傳輸?shù)絆DROID-C2進(jìn)行算法計(jì)算并處理結(jié)果。ODROID-C2系個(gè)功能強(qiáng)大的四核單板計(jì)算機(jī),CPU為四核Amlogic ARM? Cortex?-A53(ARMv8),時(shí)鐘頻率為 1.5Ghz,集成了包含2個(gè)像素處理器+2個(gè)Vertex陰影處理器的Mali?-450 GPU,2Gbyte的DDR3 SDRAM,網(wǎng)絡(luò)接口為千兆以太網(wǎng),同時(shí)帶有H.265 4K/60FPS 以及 H.264 4K/30FPS 的 VPU。可運(yùn)行最新的Ubuntu及Android系統(tǒng)。
2.2 軟件系統(tǒng)
如圖4所示,IMX178 經(jīng)過光電轉(zhuǎn)換,出來的是Bayer 格式的原始圖像, Bayer 格式的原始圖像傳送給 ISP后經(jīng)過邏輯單元進(jìn)行算法處理及Firmware控制鏡頭及IMAX178完成光圈調(diào)節(jié)、曝光調(diào)節(jié)、白平衡調(diào)節(jié)、減嘈、除霧、Gamma調(diào)節(jié)、銳化調(diào)節(jié)等功能,輸出 RGB 空間域的圖像給后端的視頻采集單元VIU。設(shè)計(jì)過程可以參考HiISP的開發(fā)參考文檔,開發(fā)文檔中詳細(xì)的列出了相關(guān)的接口調(diào)用。
如圖5所示,Hi3516A運(yùn)行于Ubuntu系統(tǒng),主要由2個(gè)功能模塊組成。分別為圖片采集模塊及HTTP服務(wù)模塊。圖片采集模塊包括圖4的ISP子系統(tǒng)以及圖片及視頻輸出接口。HTTP服務(wù)模塊監(jiān)聽8080端口,以響應(yīng)ODROID-C2及其他外界訪問,接收攝像頭相關(guān)參數(shù)設(shè)置及圖片、視頻采集或其他控制命令。
如圖6所示,ODROID-C2運(yùn)行于Ubuntu系統(tǒng),主要由4個(gè)功能模塊組成。圖片視頻服務(wù)器儲存所采集的圖片及視頻文件,然后通過目標(biāo)識別模塊計(jì)算出所要識別的目標(biāo)在圖片中的像素位置信息,得出像素位置信息后,將結(jié)果發(fā)送到目標(biāo)距離計(jì)算模塊,最后輸出目標(biāo)到HTTP服務(wù)器。
3 測試結(jié)果
實(shí)際距離指攝像頭與地面垂直交點(diǎn)為起點(diǎn),在地平面的直線距離。已經(jīng)考慮到攝像頭與地面的傾角。從120cm到500cm,系統(tǒng)測量均可以識別出目標(biāo)并準(zhǔn)確計(jì)算直線距離值。測量實(shí)際誤差均少于20cm。
4 結(jié)論
本文給出了一種單目測距系統(tǒng)的方案,介紹了軟硬件的設(shè)計(jì),并且給出了實(shí)際測量的結(jié)果值。從測量結(jié)果看,從系統(tǒng)畸變允許的視域范圍內(nèi),誤差在20cm以內(nèi),基本能滿足項(xiàng)目需求。
參考文獻(xiàn)
[1]Coordinate Mapping,Andreas, Konstantin,Reiko & Taavi,http://robotex.ing.ee/2012/01/coordinate-mapping/2012,01.
[2]IMAX178LQJ-C Technical Datasheet V3.0.0,Sony corporation 2012.11
[3]Hi3516A/Hi3516D專業(yè)型HD IP Camera 用戶指南,深圳市海思半導(dǎo)體有限公司,2015(06).
[4]ODROID-C2 Specifications,Hardkernel co.,Ltd.2013.