摘 要:針對電腦鍵盤自動組裝生產線研制過程中的攝像機標定問題,提出一種新的攝像機精確標定方法。該方法選用2D圓點陣列作為靶標,首先在不考慮攝像機鏡頭畸變的情況下,利用改進的Matlab標定工具箱估計出攝像機參數的初始值;然后考慮攝像機的鏡頭畸變,利用改進遺傳算法實現對攝像機參數的精確求解。實驗結果表明,該方法是有效可行的。
關鍵詞:計算機視覺攝像機標定圓點陣列靶標遺傳優化
中圖分類號:TP24,TP391文獻標識碼:A文章編號:1674-098X(2011)09(c)-0018-04
Abstract:Aiming at improving performance of the vision system for keyboard assembly,a new accurate camera calibration method is proposed.2D circle array is used to extract feature points for calibration.Lens distortion is neglected,and modified camera calibration toolbox for Matlab is adopted to compute camera parameters.Those parameters are taken as initials,and camera model with lens distortion is resolved by improved genetic algorithm(GA).Consequently,camera parameters with higher accuracy are obtained.Experiment results indicate the proposed method is feasible.
Key words:computer vision;camera calibration;circle array target;genetic optimization
隨著計算機技術和工業自動化程度的不斷提高,采用圖像傳感器的視覺技術已被廣泛地應用到工業生產過程中。為從圖像傳感器獲取的二維信息得到與其相對應的三維空間信息,則須確定圖像傳感器成像的幾何模型。而確定圖像傳感器的幾何模型的過程即是所謂的攝像機標定[1-3]。目前,攝像機標定大致可分為傳統標定法、自標定法和基于主動視覺的標定法等三大類[2]。這些標定方法采用的數據處理技術可歸結為線性變換、非線性優化和混合優化等三種。其中,混合優化方案兼顧了線性變換的快速性和非線性優化的準確性等優點,是近年來較為成功的攝像機標定技術。本文基于混合優化思想,選用二維圓陣列作為靶標,提出一種基于改進GA的快速而準確的攝像機標定方法。該方法既能保證標定的精確性,又具有特征點提取快速、非線性優化過程簡便等優點。
1 攝像機模型
1.1 理想攝像機模型
在不考慮鏡頭畸變的情況下,攝像機的成像可看作小孔成像。由于小孔成像滿足空間點、光心和像點在一條直線上,因此此時的攝像機成像原理如圖1所示。圖中,為攝像機焦距;為空間點在圖像物理坐標系下的圖像坐標;為空間點在世界坐標系中的坐標;為攝像機坐標系。
由圖1可得,理想針孔攝像機模型可以表述為:
(1)
式中,為任意非零尺度因子;,為對應于的圖像像素坐標系下的齊次坐標;為標準正交矩陣,為向量,分別為表征世界坐標系和攝像機坐標系之間相對位置關系的旋轉矩陣和平移向量,分別用式(2)和(3)表示;為空間點的齊次坐標;為攝像機內部參數矩陣,可用式(4)表述,其中和分別為一個像素在圖像物理坐標系中沿、方向的物理尺寸;為主點坐標。
(2)
(3)
(4)
1.2 考慮非線性畸變的攝像機模型
由于光學系統的加工誤差和裝配誤差等因素,因此攝像機成像精度不可能達到理想針孔攝像機模型的成像精度,即空間點在像平面上實際位置與理想成像位置間存在一定的畸變誤差。畸變誤差可分為三種:偏心畸變、薄棱鏡畸變和徑向畸變。其中,前兩種畸變的存在將導致成像時的徑向偏差和切向偏差;徑向畸變的存在僅導致成像時的徑向偏差,且偏差關于光軸對稱。
因此,考慮非線性畸變的攝像機模型可表述為:
(5)
式中,是由理想針孔攝像機模型計算出的理想成像點的坐標;為考慮畸變后的實際成像點的坐標;和為徑向畸變;和為偏心畸變;和為薄棱鏡畸變。在工業視覺應用中,徑向畸變是影響視覺系統精度的最主要因素。因此,本文在進行攝像機標定時,僅考慮徑向畸變對成像精度的影響,其標定模型為:
(6)
又,圖像像素坐標系和圖像物理坐標系之間存在如下關系:
(7)
聯立式(2)~(4)、(6)和(7),可得考慮徑向畸變的攝像機標定模型為:
(8)
2 參數求解方法
本文利用2D圓點陣列作為靶標,首先利用Matlab標定工具箱估計出針孔攝像機模型中的攝像機參數,然后以此為初始值,利用改進GA實現對考慮徑向畸變的攝像機參數的優化。
2.1 標定板制作和特征點提取
由于攝像機標定需要借助靶標提供的標定特征點來確定攝像機的模型參數,所以特征點提取的精度將直接影響攝像機的標定精度。因此,選用合適的標定板,并設計合理的特征點提取方法是保證視覺系統正確運行的基礎。目前,攝像機標定多采用2D平面靶標,包括棋盤靶標、網格靶標和圓點陣列靶標等[3]。圓形特征[4-6]因具有易于檢測、中心定位精度高且計算量小等優點,而被廣泛應用于工業機器視覺系統中。本文選用如圖2所示的二維圓形點陣列作為靶標,以圓形特征的中心為標定特征點。將標定板平面看作世界坐標系的平面,因此標定過程中,所有特征點的坐標可記為0。
標定板上的圓形特征經過成像后通常呈橢圓形。對橢圓中心的定位,本文采用文獻[7]提出的方法,以實現復雜背景下的標定特征點自動提取,并在Matlab環境下開發了圓形特征點坐標自動提取應用程序extract_circle.m。然后,用該程序替換Matlab標定工具箱toolbox_calib中的矩形角點提取文件extract_grid.m。圖3顯示了特征點提取的效果。
2.2 理想攝像機模型求解
對式(1)描述的針孔攝像機模型,運用修改過的Matlab標定工具箱toolbox_calib進行攝像機內、外參數的求解。
本文選用20張從不同角度拍攝的照片作為標定圖片。首先將20張圖片讀入內存,并提取其特征點,然后運行標定程序,即可得到攝像機的內、外參數。
2.3 基于改進GA的非線性攝像機模型求解
由于遺傳算法的求解過程具有在染色體和目標函數確定后與問題本身無關的優點,因此容易滿足旋轉矩陣正交這一約束條件。本文運用改進的GA,通過以下幾個步驟實現對攝像機參數的精確化求解。
A.參數編碼
設、和分別是攝像機坐標系的、和軸繞世界坐標系的、和軸旋轉的角度,由于是標準正交矩陣,故有:
(1-9)
由式(1-9)可得:
(10)
即,可將、和作為遺傳基因實現旋轉矩陣的精確求解。
因此,針對攝像機參數標定的遺傳算法的染色體可構造為:
由于與二進制編碼相比,實數編碼具有占用存儲空間小,且計算精度高、速度快等優點[8][9],因此本文采用實數編碼技術對上述參數進行編碼。
B.種群初始化
各參數的初始值由2.2節計算得出;種群大小設為,的選取要兼顧算法精度和運行速度。
C.適應度函數設計
適應度函數是影響遺傳算法性能的關鍵因素之一[10]。本文選用空間點的實際坐標和期望坐標的殘差作為適應度函數,如式(11),通過求取其最小值來獲得攝像機參數的優化組合。
(11)
D.選擇
傳統遺傳算法的選擇算子運用“適者生存”的思想不能保證遺傳算法收斂于全局最優。為克服這一不足,文獻[11]和文獻[12]提出了改進方法,但這些方法都因計算量大而導致運算效率下降。為此,本文采用一種只需計算子代個體適應值的選擇算子,其基本思路是先對父代種群進行交叉和變異操作,將父代種群的最優個體直接復制到下一代,然后計算每個子代個體的適應值,并將其從大到小進行排序,最后按(12)式對每個子代個體進行復制概率的賦值,這樣好的子代個體和差的子代個體均以較大的概率進入下一代,而序號居中的子代個體則以較大的概率被淘汰。
(12)
式中,為種群大小;
E.交叉和變異
遺傳算法在優化多峰函數時應具備兩個特征:①在搜索到含最優個體的區域后能向最優個體收斂;②在進行全局搜索時,具備搜索新的解空間的能力。以上兩個特征之間的平衡關系體現在交叉概率和變異概率的取值范圍上。本文采用自適應交叉和自適應變異的方法來平衡上述兩個特征之間的關系,其交叉概率和變異概率的定義如下:
(13)
(14)
其中,為當前種群的最大適應值;為當前種群的平均適應值;為兩交叉個體中較大的應值;為進行變異操作的個體的適應值;、和均為交叉系數,其取值范圍為,且滿足;、和均變異系數,其取值范圍為,且滿足;; 。
由式(13)和(14)可知,這種自適應遺傳算法將群體多樣性作為控制變量,且運用個體本身的適應值對個體的交叉率和變異率進行實時調整。
3 標定實驗與結果分析
采用索尼HDR-XR150E,其圖像分辨率為640×480,焦距為2.5~62.5mm,數碼變焦300倍,光學變焦25倍。標定環境完全模擬鍵盤自動組裝線上的視覺系統的工作環境,即主要考慮光照變化對攝像機標定的影響。因此,在采集標定圖像時,首先將標定板放置在光照強度不同的環境下拍攝10幅圖像;然后將標定板放置光照條件良好但具有不同程度遮擋的環境下拍攝10幅圖像。
實驗時,將所拍攝的20副圖像存入改進的Matlab標定工具箱toolbox_calib中,然后利用toolbox_calib求得攝像機的內參數如下:
Focal Length:fc=[965.89531 965.89531]
Principal point:cc=[319.50000 239.50000]
Skew:alpha_c=[0.00000]=> angle of pixel=90.00000 degrees
Distortion:kc=[0.000000.000000.000000.000000.00000]
選取20副圖像中的任意1副,可求得攝像機的外參數如下:
Translation vector:Tc_ext
=[-279.064621 -291.828667 1453.950915]
Rotation vector:
omc_ext=[2.171701 2.138509 -0.122121]
Rotation matrix:
Rc_ext=[0.015826 0.999850 0.007016
0.992552 -0.014862 -0.120915
-0.120793 0.008877 -0.992638]
Pixel error:err=[0.53018 0.86471]
以上述攝像機的內參數為初值,外參數的范圍依據實際情況進行認為設定,、和的范圍設為-10°~10°,和的范圍設為-300~300mm,的范圍設為0~1800mm,運用改進的GA對攝像機參數進行優化,經過32代優化后各參數基本不再發生變化。表1給出了采用文獻[6]和本文方法經過32代優化后的攝像機內參數。
根據得到的精確攝像機內參數,對拍攝20副圖像進行處理,每個特征點實際坐標和計算坐標之間的誤差,其平均值為[0.19835 0.26331]。
上述實驗結果表明,本文所提出的攝像機標定方法能滿足鍵盤自動組裝對視覺系統精度的要求。
4 結語
采用2D平面圓點陣列作為靶標,并通過自動對多幅圖像進行處理來實現特征點的自動提取。利用該思想對標準Matlab標定工具箱toolbox_calib進行改進,然后用其實現了線性攝像機模型的求解。以此為基礎,運用基于多目標優化的自適應遺傳算法實現了對非線性攝像機模型的精確求解。實驗表明,本文提出的攝像機標定方法能實現攝像機參數的快速而準確的標定,為實現視覺系統的可靠工作奠定了基礎。
參考文獻
[1]ZHANG Z.Camera calibration with one-dimensional objects[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2004,26(7):892-899.
[2]QU X J,ZHANG L,MENG B,et al.A new camera calibration method based on two stages distortion model[J].Internal Conference of Information Science and Management Engineering,2010,12:125-129.
[3]張廣軍.視覺測量[M].北京:科學出版社,2008.
[4]Z.Y.Zhang.A Flexible New Technique for Camera Calibration[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[5]Alvarez L,Salgado A,Sanchez J.Robust Detection and Ordering of Ellipse on a Calibration Pattern[J].Pattern Recognition and Image Analysis,2007,17(4):508-522.
[6]楊潔,閆清東,馬越.基于Matlab/simulink的二維圓標定方法.計算機應用,2010,30(6):1610-1612.
[7]夏瑞雪,盧榮勝,劉寧,等.基于圓點陣列靶標的特征點坐標自動提取方法[J].中國機械工程,2010,21(16):1906-1910.
[8]TOMIOKA S,NISIYAMA S and ENOTO T.Nonlinear least square regression by adaptive domain method with multiple genetic algorithms[J].IEEE Trans.on Evolutionary Computation, 2007,11:1-16.
[9]ROY R,GHOSHAL S P and BHATT P.Evolutionary computation based four-area automatic generation control in restructured environment[J]. Third Internal Conference on Power Systems(ICPS 09),2009:1-6.
[10]王小平,曹立明.遺傳算法—理論、應用與軟件實現[M]. 西安交通大學出版社,2002:28.
[11]KUO T,HWANG S Y.A Genetic Algorithm with Disruptive Selection[J].IEEE Trans.On Systems,Man and Cybernetics,1996,26(2):299-307.
[12]LIU Z M,ZHOU J L and LAN S.New Adaptive Genetic Algorithm Based on Ranking[C]//Pro.of the Second International Conference on Machine Learning and Cybernetics, Xi’an,China,2003,3:1841-1844.