李孟華 唐茂 唐子淇 高健
摘 要:利用單目攝像頭成像原理,提出一種兩步測高測距的方法。分別建立兩個測點處被測物與其成像之間的幾何關系,根據(jù)兩個測點間距攝像頭參數(shù)以及顯示屏像素參數(shù),同時得到被測物高度計算公式和被測物與測點距離計算公式。將攝像頭與被測物體的位置歸納為:攝像頭主光軸穿過被測物和攝像頭主光軸不穿過被測物,本文給出的計算公式完全適用于以上兩種情況。通過實驗對測量精度進行驗證,并對誤差進行了分析,提出了誤差來源與相應的解決思路。結(jié)果表明本測量方法精確度高,適應性好。
關鍵詞:單目攝像頭;兩步法;測高;測距
1 引言
單目視覺系統(tǒng)結(jié)構(gòu)簡單,通過一個攝像頭即可獲取目標圖像深度等信息。同時還具有運算速度快、攝像機標定簡單的優(yōu)點。基于單目視覺系統(tǒng)開發(fā)的測距儀器在在汽車防撞[1-5]、機器人自動避障[6,7]等領域應用廣泛。
目前已有大量基于單目測量的方法用來測量高度或者測距。文獻[1-5]原理類似,都是通過被測物移動引起圖像大小的變化和光學幾合原理距離來計算鏡頭與物體的距離,但是邊緣檢測過程易受物體的規(guī)則和光照的影響;文獻[8]利用經(jīng)典的單目測距法,即成像幾何光學得到被測物高度,但是事先需要標定;文獻[9]通過在匹配點中隨機選取一些特征點,使用PNP算法計算目標距離,但需要進行大量的運算。文獻[10]提出一種結(jié)合射影幾何知識的自動化標定方法,完成目標物的高度測量;文獻[11]首先用閾值分割法和快速連通區(qū)域標記算法初步計算身高,最后根據(jù)攝像機成像模型進行計算,但需要進行大量的運算,對場景中的幾何要求也較高。
本文基于單目測距模型和單目攝像頭成像原理得出了測量被測物高度和測點到被測物距離的測量方法和計算模型:分別建立兩個測點處被測物與其成像之間的幾何關系,根據(jù)兩個測點間距攝像頭參數(shù)以及顯示屏像素參數(shù),同時得到被測物高度計算公式和被測物與測點距離計算公式。將攝像頭與被測物體的位置歸納為:攝像頭主光軸穿過被測物和攝像頭主光軸不穿過被測物,本文給出的計算公式完全適用于以上兩種情況。
2 測高原理及公式推導
2.1 測高原理分析
本系統(tǒng)利用組合透鏡成像規(guī)律對被測物的高度進行測量。測量者在離被測物一定距離的地方,利用攝像頭獲得被測物像長,測量者前進一段距離后,再次利用攝像頭獲得被測物像長,根據(jù)兩次像長、被測物高度以及測量者前進距離之間的光學幾何關系,即可求得被測物的高度。
2.2 測高公式推導
攝像頭鏡頭就相當于一個凸透鏡,根據(jù)凸透鏡成像規(guī)律我們可以畫出被測物和被測物的像之間的光路圖。由于測點與被測物體的位置關系具有多樣性,總結(jié)各種位置關系,最終將這些位置關系歸納為2種類型,即透鏡組主光軸穿過被測物和透鏡組主光軸不穿過被測物,接下來就分別對這2種類型進行被測物高度的計算研究。
4 測量方法及結(jié)果分析
4.1 實驗條件
計算軟件由matlab編程實現(xiàn),可設定已知參數(shù);將攝像頭安裝于三腳架上方便攜帶搬動,精確標定攝像頭焦距f=3.6mm(定焦),CCD像素面積3.6μmx3.6μm,顯示屏像素尺寸0.18mm×0.18mm,轉(zhuǎn)換倍數(shù)K=30。
在0.1~10米的范圍內(nèi)選擇物體進行系統(tǒng)測試,被測物包括牛奶盒,多媒體講桌,大門和高頂小樓。
4.2 測量步驟
(a)將攝像頭正對被測物,拍下被測物的照片;
(b)在被測物照片上標識出被測物大致范圍,按下確定鍵表示確定本次操作;
(c)將攝像頭向前移動一段距離,確保被測物圖像明顯變大;
(d)在被測物照片上標識出被測物大致范圍,按下確定鍵表示確定本次操作;
(e)把攝像頭放回最先的位置,再重復以上步驟2次;
(f)軟件自動計算3次測量結(jié)果并求平均值作為最終結(jié)果,至此,完成一個被測物高度的測量。
4.3 測量結(jié)果及分析
分別選取牛奶盒、多媒體講桌、大門和高頂小樓作為被測物,測量結(jié)果如表1所示。
4.4 誤差分析
由下表1可知,測量結(jié)果的精確度較高,較好地驗證了方案設計與理論分析的正確性。從被測物高度表達式(3-11)可知,單個像素點長度Lpix、焦距f和轉(zhuǎn)換倍數(shù)K都是定值,不會影響測量結(jié)果。因此,影響測量結(jié)果的因素有兩次測點間距S、兩次被測物像長的像素個數(shù)N1、N2,故誤差主要來源是兩次測點間距S和兩次被測物像長的像素個數(shù)N1、N2。
5 結(jié)論
(1)利用單目攝像頭成像原理,提出一種兩步測高測距的方法。
(2)將攝像頭與被測物體的位置歸納為:攝像頭主光軸穿過被測物和攝像頭主光軸不穿過被測物,本文給出的計算公式完全適用于以上兩種情況。
(3)通過實驗對測量精度進行驗證,實驗結(jié)果證實了本測高測測距方法的有效性。
(4)由誤差分析得出被測物像長是誤差最主要的來源,因此,如何更加準確得到被測物像長應成為今后進一步研究的重點。
基金項目:機床動態(tài)共性技術(shù)的研究及數(shù)控系統(tǒng)專用操作程序的設計(2015ZX04005004-3)。
參考文獻:
[1] 王連桂,杜俊賢.基于單目視覺的車輛測距系統(tǒng)研究[J].電子世界,2014(19):16-16.
[2] 吳駿,李文杰,耿磊,肖志濤,張芳,李月龍.基于單目視覺的前方車輛檢測與測距[J].計算機工程,2017,(第2期).
[3] 于國防,劉巖,譚相錄,付麗娜,寇立強. 基于單目視覺的倒車障礙物測距技術(shù)的研究[J].計算機應用與軟件,2012,29(4):197-199.
[4] 陳勇,陳瑤.基于單目視覺的前方車輛距離計算方法研究[J]. 機電工程,2014,31(11):1499-1504.
[5] 余厚云,張為公.基于單目視覺的跟馳車輛車距測量方法[J].東南大學學報(自然科學版)(3):154-158.
[6] 于乃功,黃燦,林佳. 基于單目視覺的機器人目標定位測距方法研究[J]. 計算機測量與控制(10):60-62+66.
[7] 肖大偉.基于單目視覺的輪式移動機器人目標測距及跟蹤研究[D].東南大學, 2016.
[8] 屈姍姍,陳瀟,吳曉紅,等.基于單目視覺測距的測高測面積方法[J].科學技術(shù)與工程, 2016,16(2):224-228.
[9] 汪亞兵,馮肖維,肖健梅,等.基于單目視覺的實時目標距離測量[J].工業(yè)控制計算機,v.31(1):113-115.
[10] 錢鷹,張夢.基于單目視覺的目標物高度測量[J].計算機工程與設計,2016,37(3):709-713.
[11]甘志杰,劉云.基于單目視覺的實時身高測量算法[J].青島科技大學學報(自然科學版),2008,29(4):366-369.
[12]李峰,周雷,苗剛中. 基于單目視覺的目標測距方法[C]// 華東六省一市自動化學會學術(shù)年會. 2012.
[13]陳強,朱立新,夏德深.結(jié)合Canny算子的圖像二值化[J].計算機輔助設計與圖形學學報,2005,17(6):1302-1306.
[14]李了了,鄧善熙,丁興號.基于大津法的圖像分塊二值化算法[J].微計算機信息, 2005(14):76-77.