吳 芳,茅 健,周玉鳳,李 情
(上海工程技術大學 機械工程學院,上海 201620)
基于三線結構光的相機平面標定方法研究
吳 芳,茅 健,周玉鳳,李 情
(上海工程技術大學 機械工程學院,上海 201620)
相機標定技術是結構光三維視覺測量的關鍵技術之一,結構光測量系統(tǒng)的相機標定的精度對三維測量的精度有很大影響;首先對三線結構光系統(tǒng)圖的相機標定方法進行了分析,簡單介紹了工業(yè)相機成像的幾何模型及標定的原理;其次利用Harris角點檢測方法提取特征點坐標,并選用了BP神經網絡來校正工業(yè)相機的畸變模型,以提高標定算法的優(yōu)化速度和標定精度;最后采用張正友的平面標定法對校正后的攝像機模型進行標定實驗,由實驗結果知,該方法具有一定的準確性和有效性,在一定誤差范圍內,基于神經網絡畸變校正的張正友相機標定能夠有效提高視覺檢測的精度。
三線結構光;相機標定;針孔模型;畸變模型;平面標定方法;BP神經網絡
在醫(yī)學、航空、機器人等諸多現(xiàn)代化應用中,線結構光測量技術一直都是研究的熱點。隨著計算機技術和機器視覺技術的不斷發(fā)展,結構光三維測量的精度要求也隨之提高,而相機的標定精度對測量精度有很大影響,相機標定精度的高低在某種程度上也反映了測量精度的高低[1],因此對工業(yè)相機標定方法的研究具有重要意義。相機參數實際上是相對于某種幾何成像模型的,這個模型是對相機鏡頭成像過程的簡化,如針孔模型[2],它是相機標定研究的基礎。然而,考慮到針孔模型不能準確建立相機成像的幾何模型,為了解決這個問題還需要考慮相機的鏡頭畸變[3],所以相機畸變誤差校正成為相機標定研究的重要內容。相機標定的過程就是確定其內外參數的過程,經典的相機標定方法主要包括張正友法、DLT方法、兩步法、透視變換法、雙平面法等。
1)DLT方法:張艷珍和歐宗瑛提出一種新的相機線性標定方法,該方法采用的攝像機畸變模型為一階徑向畸變模型,分步線性求解相機的內外參數,能夠快速求解。但是畸變問題沒有有效解決。DLT方法[4]是針孔模型的擴展,在不考慮鏡頭畸變的影響的情況下,可以使用線性方法標定,但是由于它沒有考慮到成像畸變因素,因此標定精度較低。
2)兩步標定法:兩步標定法是由Roger Y. Tsai提出的,該方法中大部分參數是采用線性直接求解的,只有少數參數是采用迭代方法求解[5-6],所以迭代少,計算速度較快,但是該模型畸變模型較為簡單,不能較好地解決圖像畸變問題。
3)張正友標定方法:劉艷、李騰飛提出的一種張正友標定改進方法[7-10],該方法把相機的內外參數的初始值求解出來并運用最小二乘法進行優(yōu)化,進而得到相機內外參數的最終值,初始數值的魯棒性雖然提高了,但是相機畸變的解決效果不好。
從上述分析可知,上述幾種方法都不能有效解決三線結構光測量系統(tǒng)相機的畸變問題,因此有必要對相機標定進行研究。而神經網絡方法具有很強的學習能力和非線性能力,它有著與相機標定相似的工作機制。相機的畸變問題可以利用神經網絡來解決。因此本文利用神經網絡的非線性映射能力建立相機畸變的準確模型。
多線結構光模式是光帶模式的擴展,多線結構光相比單線結構光而言,具有測量速度快、精度高、抗干擾能力強,多線結構光測量系統(tǒng)簡單,容易搭建系統(tǒng)平臺。因此本文選擇三線結構光模式,并針對其進行相機標定,提出一種基于三線結構光測量系統(tǒng)的相機平面標定方法,將神經網絡應用于三線結構光的相機標定中。本文采用BP神經網絡校正相機畸變模型,然后采用張正友的平面標定法對校正后的相機模型進行matlab標定仿真,并將仿真結果與未加BP神經網絡校正的標定結果進行了對比分析。
1.1 基于BP神經網絡的相機畸變校正模型
本文采用BP神經網絡校正攝像機畸變模型,設圖像像素坐標為(u,v)、世界坐標為(Xw,Yw,Zw),則該網絡的拓撲結構如圖1所示。
圖1 BP神經網絡校正攝像機畸變模型
該BP算法包括以下兩個重要的過程。
1)正向傳播過程:輸入信號從輸入層傳向中間隱含層,再由隱含層傳向輸出層。
2)反向傳播過程:當輸出層得不到期望的輸出時,則轉入反向傳播過程,將誤差信號沿正向傳播的通路反向返回。
網絡結構的設計如下:
神經網絡結構的設計是一個重要環(huán)節(jié),主要包括輸入層數據的設計、學習率的確定、增量因子、減量因子、動量因子、動量項權值的設計。它們的具體說明如下:
1)輸入層數據:圖像像素坐標輸出層數據:經網絡學習后輸出(Xw,Yw)的二維坐標;
2)學習率η:采用的學習率η自適應調整公式如下:
(1)
式(1)中,a為減量因子,b為增量因子,E為誤差函數。
3)減量因子:a=0.9;
4)增量因子:b=1.1;
5)動量因子:α=0.8;
6)動量項的權值:附加動量項的權值調整公式如公式(2)和(3)所示:
(2)
(3)
式中Δvlj(j=1,2,...;l=1,2,...)隱含層與輸出層間權值的調整量,Δwji(i=1,2...;j=1,2,...)隱含層與輸入層間權值的調整量,α為動量因子,0<α<1,帶有α的那一項為動量項,取值為0.8,n為迭代次數。
通過學習二維與三維之間的坐標關系,利用本文創(chuàng)建的神經網絡可以得出二維圖像像素坐標與三維世界坐標之間的關系??紤]到本文設計的網絡是為了實現(xiàn)從圖像坐標到三維坐標之間的映射,即從圖像像素坐標(u,v)到(Xw,Yw,Zw)的映射關系,同時采用基于平面共面點的方法來進行標定,也就是令三維坐標中的Zw=0把三維降低為二維,這樣既可以提高運行速度,又不影響精度。
該網絡設計具有以下優(yōu)點:
1)動態(tài)的進行網絡學習;
2)取得合理地學習率;
3)網絡的收斂速度加快;
4)防止網絡振蕩的產生。
1.2 平面標定方法
張正友法[11]是一種介于傳統(tǒng)標定法和自標定法之間的一種標定方法,該方法操作簡便,精度高,成本低,速度快,是標定方法中的不二選擇[12]。本文標定方法需要對標定板進行不同空間角度的抓拍圖像,設Ow-XwYwZw為世界坐標系,Oc-XcYcZc為相機坐標系,標定板在平Zw=0面上,由于圖像已經進行了畸變校正,所以不用考慮攝像機畸變,則可以得到單應性矩陣、相機的內部參數以及世界坐標系、相機坐標系之間的關系,如(4)式所示:
(4)
式(4)中的各個字母的含義如下:
1)H即為單應性矩陣;
2)A中元素為攝像機機的內部參數;
3)s=Zc,即相機坐標系的第3個數值;
4)T為從世界坐標系到相機坐標系的平移矩陣;
5)r1、r2、r3為從世界坐標系到相機坐標系的旋轉矩陣R的列向量。
2.1 harris角點提取
本文實驗所采用的標定板為8×11黑白方塊,其方塊大小為30×30 mm,如圖2所示。攝像機采用的是瑞士Photonfocus工業(yè)相機,其分辨率為2 048*1 088。
采集6幅圖片并應用基于圖像灰度的角點檢測算法中的harris角點檢測方法[13-14]進行特征點提取,因為角點檢測方法能夠檢測出圖像中相對準確地角點、具有精準的定位性能、對噪聲具有較強的魯棒性、較高的計算速率。對其中一幅棋盤圖像進行特征點提取,其提取的檢測結果如圖3所示。
圖2 棋盤格標定板
圖3 特征點提取
2.2 基于BP網絡的畸變校正
取88個harris角點坐標如圖3所示,將這88個harris角點坐標分為兩部分:(1)一部分為78個harris標定點;(2)另一部分為10個harris測試點。利用MATLAB進行仿真的測試結果如表1、表2所示,分別得出橫、縱軸方向的期望輸出與預測輸出的誤差。從表1、表2可以看出期望輸出與預測輸出的誤差比較小,BP神經網絡的畸變校正效果良好。
表1 BP網絡橫軸方向坐標的預測輸出
表2 BP網絡縱軸方向坐標的預測輸出
2.3 張正友相機參數標定
將上述經過BP神經網絡校正后的6幅圖像進行張正友相機參數標定。Harris角點的選取原則同上,但是此時是從經過BP神經網絡校正后的圖像中選取harris角點坐標。
圖4 標定板與相機的三維空間位置關系
圖5 棋盤角點提取誤差
仿真獲得的標定板與相機的空間位置關系如圖4所示,仿真獲得的角點提取的誤差如圖5所示,由圖5角點的聚散程度和分布位置可知這6幅圖的角點提取效果良好。6號藍色圈圈和5號紫色點比較集中的聚集在(0,0)附近,其他點次之,6幅圖的角點只有極少數偏離原點程度大,但都是在允許的范圍之內,6幅圖的角點的橫縱坐標均在-1~1 pixel范圍內,這說明整體標定誤差較小。接下來,對多幅圖像的角點的校正圖像坐標值和空間坐標值進行張正友平面標定,得到相機的內參數矩陣A、畸變系數K為:
即主點坐標(u0,v0)為(262.39614,-4.30536)。u軸和v軸上的尺度因子分別為1412.60686、1351.43474。徑向畸變系數分別為k1=-0.48395、k2=0.55451、k3=0.00000。切向畸變系數分別為p1=0.06800,p2=0.00059。利用matlab可以得到外部參數標定結果,即:旋轉矩陣R和平移矩陣T為:
2.4 標定精度評價
在完成前面工作的基礎上,標定精度的評價也是本文的一個重要部分,從標定精度評價部分可以看出相機標定的好壞。
針對相機畸變問題,可以通過BP神經網絡進行畸變校正;針對相機的內外參數的求解問題,本文利用張正友平面標定法和Matlab tool box工具[15],求解出相機的全部內外參數。對有無BP神經網絡校正進行了對比試驗,結果如表3所示。
表3 有無BP神經網絡校正的誤差對比
在此之前伍尤富做過類似的研究,提出過一種神經網絡的攝像機平面模板標定方法[16],他采用動態(tài)因子的學習算法,沒有采用自適應學習率,精度較高,但是速度一般。譚曉波使用攝像機平面標定方法[17],其沒有使用BP神經網絡進行校正,得到的標定相對誤差為0.009 86,而本文方法,即經過BP神經網絡校正后的相對誤差為0.004 6。
可以明顯看出,加BP神經網絡校正的誤差小于不加BP神經網絡的情況,同時該方法也更加簡潔快速。由于采用的是經過BP網絡校正后的整幅圖像的特征點,而不是采用圖像中心附近畸變較小的特征點,它有明顯的優(yōu)點:(1)標定的魯棒性提高了;(2)避免了傳統(tǒng)標定非線性優(yōu)化的繁瑣性;(3)標定速度和標定精度提高了。
標定精度提高了,但是誤差并沒有完全消除。在本文實驗中,誤差產生的原因有很多,主要包括以下幾個部分:(1)棋盤格標定模板的誤差;(2)標定角點提取的誤差;(3)harris測試點的數目不同,誤差大小可能也不一樣;(4)采集圖片數量不同,誤差大小可能也不一樣;(5)標定系統(tǒng)的誤差,采取的標定方法不同誤差大小可能也不一樣,由于時間有限,并沒有對現(xiàn)在已有的每一種方法進行實驗對比。
本文選用BP神經網絡來校正畸變模型,采用一種改進的BP神經網絡,通過分析工業(yè)相機標定與神經網絡的關系,提出了基于三線結構光的BP神經網絡畸變校正的攝像機標定改進方法。matlab仿真驗證了該方法的準確性和有效性,在一定誤差范圍內,神經網絡的相機標定能夠有效提高三維測量的精度。該方法有效地利用了神經網絡的優(yōu)點,動態(tài)的進行網絡學習,標定速度和標定精度都有所提高。但是,在短時間內,沒有辦法把該標定技術與圖像處理技術融合起來,這是今后的重點研究內容之一。其次,本文方法雖然能有效降低圖像畸變帶來的誤差,但是并不代表沒有其它方面的誤差,如鏡面反射、漫反射、光源、圖片數目、硬件配置等帶來的誤差。所以,各種誤差產生的原因及解決辦法也是今后的研究內容之一。
[1] 郭海豐.基于神經網絡的攝像機標定方法研究[D].沈陽:東北大學,2009.
[2] Chen Xiaobo, Xi Juntong, Jin Ye, et al. Accurate calibration for a camera-projector measurement system based on structured light projection[J].Optics and Lasers in Engineering ,2009:1-10.
[3] Zhang Zhengyou.Flexible camera calibration by viewing a plane from unknown orientations[A].Computer Vision.The Proceedings of the Seventh IEEE International Conference on[C]. 1999:2-8.
[4] Fuqiang Zhou, Yi Cui, Bin Peng, Yexin Wang.A novel optimization method of camera parameters used for vision measurement[J].Optics & Laser Technology,2012:1-10.
[5] 羅 聰.基于線結構光的三維重構[D].北京:中國科學院研究生院(光電技術研究所),2015.
[6] 賈 丹.攝像機現(xiàn)場標定算法研究[D].哈爾濱:哈爾濱工程大學,2007.
[7] 劉 艷,李騰飛.對張正友相機標定法的改進研究[J].光學技術,2014,06:565-570.
[8] 吉 玲. 雙目立體視覺中三維重建關鍵技術研究[D]. 天津:天津理工大學, 2015.
[9] 王 政, 胡志雄. 基于張正友標定算法的內參數線性與非線性解算[J]. 鄭州師范教育, 2013(2):68-71.
[10] 岳曉峰, 祁 歡. 基于張正友平面模板法的雙目立體視覺系統(tǒng)標定[J]. 機械工程師, 2014(2):1-3.
[11] Zhang Zhengyou. A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence .2000 11(22):3-22.
[12] 符 紅.結構光投影三維輪廓測量系統(tǒng)的標定[D].杭州:浙江大學,2013.
[13] 金偉龍,周美英.基于不同BP網絡層數的雙目立體視覺標定研究[J].光學技術,2015(1):2-5.
[14] 于 泓.攝像機標定算法研究[D].濟南:山東大學,2006.
[15] 徐世杰,陜 毅.攝像機標定算法的MATLAB語言實現(xiàn)[J].應用科技,2004(7):1-3.
[16] 伍尤富. 基于神經網絡的攝像機平面模板標定方法[J]. 計算機工程與設計, 2008,29(6):1527-1528.
[17] 譚曉波. 攝像機標定及相關技術研究[D]. 長沙:國防科學技術大學, 2004.
ResearchonCameraPlaneCalibrationBasedonThree-WireStructuredLight
WuFang,MaoJian,ZhouYufeng,LiQing
(SchoolofMechanicalEngineering,ShanghaiUniversityofEngineeringScience,Shanghai201620,China)
Camera calibration technology is one of the key techniques of structured light 3D vision measurement. The precision of camera calibration of structured light measurement system has great influence on the accuracy of 3D measurement. The camera calibration method of the three-line structured light system diagram is analyzed, and the geometric model and calibration principle of the industrial camera are introduced. Secondly, the Harris corner detection method is used to extract the feature point coordinates, and BP neural network is used to correct The calibration model of the camera is calibrated by Zhang Zhengyou's plane calibration method, and the experimental results show that this method has certain accuracy and validity, and it can improve the precision and effect of the calibration algorithm. In a certain error range, the calibration of the camera based on neural network distortion correction can effectively improve the accuracy of visual inspection.
three-wire structured light; camera calibration; pinhole model; distortion model; plane calibration method; BP neural network
2016-12-20;
2017-02-06。
吳 芳(1991-), 女, 安徽池州人,碩士研究生, 主要從事多線結構光的機器視覺測量方向的研究。
1671-4598(2017)07-0206-03DOI:10.16526/j.cnki.11-4762/tp
TP
A
茅 健(1972-), 男, 江蘇南通人,博士, 副教授,碩士生導師, 主要從事精度檢測與質量控制、先進制造技術等方向的研究。