徐中宇, 李春龍, 孫秋成, 寧 闖
(1.長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 長春 130012; 2.長春工業(yè)大學(xué) 基礎(chǔ)科學(xué)學(xué)院, 長春 130012)
基于遺傳算法的攝像機內(nèi)部參數(shù)標(biāo)定優(yōu)化方法
徐中宇1, 李春龍1, 孫秋成2, 寧 闖1
(1.長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 長春 130012; 2.長春工業(yè)大學(xué) 基礎(chǔ)科學(xué)學(xué)院, 長春 130012)
基于張正友標(biāo)定法, 提出一種新的基于遺傳算法的攝像機內(nèi)部參數(shù)標(biāo)定優(yōu)化方法.該方法能矯正傳統(tǒng)攝像機標(biāo)定不可靠的初始化和容易陷入局部最優(yōu)解而帶來的精度損失, 提高了攝像機內(nèi)部參數(shù)的標(biāo)定精度.通過與張正友標(biāo)定法進行比較, 證明了該方法性能穩(wěn)定, 能快速、準(zhǔn)確地標(biāo)定攝像機內(nèi)部參數(shù).
攝像機標(biāo)定; 遺傳算法; 內(nèi)參優(yōu)化
高精度工業(yè)測量和新興3D打印等技術(shù), 對計算機視覺測量的精度提出了更高要求, 而攝像機標(biāo)定的結(jié)果直接影響視覺測量的精確性[1-2].因此, 提高攝像機標(biāo)定精度是機器視覺在實際應(yīng)用中最關(guān)鍵的問題.
現(xiàn)有的攝像機標(biāo)定技術(shù)分為傳統(tǒng)攝像機標(biāo)定技術(shù)、基于主動視覺的標(biāo)定方法和攝像機自標(biāo)定3類[3].當(dāng)應(yīng)用場合對標(biāo)定精度要求較高時, 傳統(tǒng)標(biāo)定法有其不可取代的作用.目前應(yīng)用較廣泛的標(biāo)定方法主要有Tsai兩步標(biāo)定法[4]、張正友標(biāo)定法[3]和胡占義等[5]提出的基于外極點的正交運動法.其中張正友標(biāo)定法使用2D標(biāo)定平面, 降低了標(biāo)定成本, 具有較高的求解速度和標(biāo)定精度.但由于其使用基于線性模型估計畸變參數(shù)的方法, 因此很難可靠地初始化[6], 且因非線性優(yōu)化算法的局限性, 該方法存在陷入局部最優(yōu)的可能, 從而降低了標(biāo)定精度.
基于此, 本文結(jié)合張正友標(biāo)定方法和遺傳算法的優(yōu)點, 提出一種新的基于遺傳算法的攝像機內(nèi)參優(yōu)化方法.遺傳算法模擬生物進化過程中的遺傳變異過程, 使用染色體對解空間中的種群編碼, 在僅知道目標(biāo)函數(shù)的條件下即可迅速找到全局最優(yōu)解[7].實驗證明該方法準(zhǔn)確、可行.
攝像機標(biāo)定模型涉及世界坐標(biāo)系(Ow,Xw,Yw,Zw)、攝像機坐標(biāo)系(Oc,Xc,Yc,Zc)、圖像坐標(biāo)系(o1,x,y)和圖像像素坐標(biāo)系(o1,u,v)[1], 如圖1所示.
圖1 攝像機模型坐標(biāo)系Fig.1 Coordinate system of camera model
引入歸一化齊次圖像坐標(biāo)后, 通常任一空間點Pw(Xw,Yw,Zw)到圖像像素坐標(biāo)p(u,v)下的線性變換模型可表示為
其中:α=f/dx;β=f/dy; (u0,v0)為攝像機像素平面主點坐標(biāo);γ為圖像坐標(biāo)系u軸、ν軸的不垂直因子;M1為內(nèi)部參數(shù)矩陣; (Rt)為外部參數(shù);M2為外部參數(shù)矩陣.
由于鏡頭畸變會導(dǎo)致空間點在成像過程中存在不同程度的非線性變形, 因此通常情況下, 理想平面圖像坐標(biāo)點(xu,yu)可表示為實際圖像坐標(biāo)點(xd,xd)與畸變誤差之和[8], 即
其中λ為比例因子.利用r1和r2的正交性可得下列約束:
由于一個單應(yīng)性矩陣H有8個自由度, 而外部參數(shù)有6個(3個旋轉(zhuǎn), 3個平移), 因此從一個轉(zhuǎn)換矩陣只能獲得關(guān)于攝像機內(nèi)部參數(shù)的兩個約束.A-TA-1實際上描述了圖像的絕對二次曲線在圖像平面的投影[9].求解H是一個非線性最小二乘問題, 可用梯度法、Gauss牛頓法或Levenberg-Marquardt等非線性優(yōu)化方法.令
由于B是對稱矩陣, 因此可表示為b=(B11,B12,B22,B13,B23,B33)T, 如果實驗中使用了n幅圖像, 則每幅圖像都會得到對應(yīng)的兩個約束方程, 即有Vb=0, 其中V是一個2n×6的矩陣.如果n≥3, 可得到方程的唯一解b.確定b值后, 通過式(6)易求得內(nèi)部參數(shù)矩陣A中各元素的值:
遺傳算法執(zhí)行過程中, 處理經(jīng)過編碼的個體而不是參數(shù)本身, 摒棄了傳統(tǒng)搜索算法中單點搜索的劣勢, 采用多個個體同時參與處理的方式, 減少了陷入局部最優(yōu)解的風(fēng)險.此外, 遺傳算法的個體評價機制只使用適應(yīng)度函數(shù)完成, 不受函數(shù)本身是否連續(xù)或可微的影響.
遺傳算法是解決攝像機標(biāo)定這類多參數(shù)、大范圍、非線性優(yōu)化問題的一種可行方法.標(biāo)準(zhǔn)遺傳算法用于高維空間(參數(shù)個數(shù)大于10)的尋優(yōu)時性能會變差, 且隨著搜索空間維數(shù)的增加, 算法性能會急劇退化[10].基于此, 人們提出了外參固定的優(yōu)化模型, 降低了優(yōu)化函數(shù)的維數(shù), 避免了遺傳算法的不足.同時, 在合理的范圍內(nèi)擴展計算得到的內(nèi)參初始值, 作為遺傳算法優(yōu)化的搜索范圍, 使內(nèi)參的優(yōu)化結(jié)果更可信.
使用遺傳算法優(yōu)化下列目標(biāo)函數(shù):
本文優(yōu)化算法描述如下:
1) 初始化種群.在張正友標(biāo)定算法計算出的初始值基礎(chǔ)上, 隨機產(chǎn)生包含輸入?yún)⒘?A,k1,k2,p1,p2)的N個個體群, 每個個體群包含M個個體作為初始群體P(0).
2) 確定編碼方式.編碼是使用不同的編碼方式, 將目標(biāo)函數(shù)的可行域(表現(xiàn)型)轉(zhuǎn)化為遺傳算法可使用基因型的過程, 不同的編碼方式適用于不同的目標(biāo)函數(shù)優(yōu)化[11].因為該優(yōu)化問題維數(shù)(參數(shù))較高, 搜索范圍較大, 故利用浮點數(shù)編碼方式進行編碼, 可在優(yōu)化過程中避免二進制編碼對參數(shù)進行的編碼和譯碼過程, 從而降低了編碼、譯碼對精度的損傷.
3) 建立適應(yīng)度函數(shù).適應(yīng)度值是評價每個個體在整個群體中健壯性的重要標(biāo)志, 遺傳算法要求個體適應(yīng)度必須為正或零, 故建立如下適應(yīng)度函數(shù):
其中:f(x)為目標(biāo)函數(shù);Cmax為估計最大值.
4) 選擇策略.每個個體的適應(yīng)度值都標(biāo)示了自己在群體中的位置, 根據(jù)群體中個體的適應(yīng)值, 按賭輪盤選擇策略計算其相對適應(yīng)值:
其中fi表示當(dāng)前進化代數(shù)群體中第i個個體的適應(yīng)值.每個個體遺傳到下一代的繁殖量為Ni=round(reli·N), 其中: round(x)表示最接近x的整數(shù);N為群體的規(guī)模.
5) 交叉運算.設(shè)定交叉概率Pc, 隨機組合第t代群體P(t)內(nèi)的個體, 對每個個體以概率Pc交換它們之間的部分染色體.針對選中的兩個個體x1,x2進行如下交叉:
6) 變異運算.設(shè)定遺傳算法變異概率Pm可根據(jù)適應(yīng)度值大小而改變[12], 以概率Pm將變異算子作用于群體, 計算得到參與變異操作的個體數(shù)量.對群體P(t)中選擇的個體, 改變其某一個或某一些基因座上的基因值為其他等位基因.群體P(t)經(jīng)過選擇、交叉、變異運算后得到下一代群體P(t+1).
7) 算法終止.當(dāng)?shù)螖?shù)達到預(yù)設(shè)的代數(shù), 或最優(yōu)個體的適應(yīng)度達到給定的閾值, 或最優(yōu)個體的適應(yīng)度和群體適應(yīng)度不再上升時, 算法終止.
算法運算結(jié)束得到優(yōu)化后的攝像機內(nèi)部參數(shù).
下面通過實驗驗證本文標(biāo)定方法的準(zhǔn)確性及可行性.實驗中, 使用焦距為8 mm的定焦工業(yè)鏡頭, 從不同方向?qū)ANO CBC200 MM-5.0型標(biāo)定面板(外形: 200 mm×200 mm×3.0 mm; 圖形: 棋盤格5.0 mm×5.0 mm, 精度1 μm)拍攝5幅圖像(1 376×1 024像素).使用張正友標(biāo)定法計算出內(nèi)參初始值, 結(jié)果列于表1.
表1 攝像機內(nèi)參標(biāo)定初始值Table 1 Initial value of intrinsic parameter of camera
當(dāng)標(biāo)定結(jié)果與攝像機及標(biāo)定板所處位置無關(guān)時, 可假設(shè)攝像機坐標(biāo)為世界坐標(biāo), 拍攝2幅圖像用于內(nèi)參優(yōu)化.在上述初始值的基礎(chǔ)上結(jié)合各參數(shù)的屬性, 在合理范圍內(nèi)擴展其范圍作為遺傳算法的搜索范圍, 結(jié)果列于表2.
表2 內(nèi)參初始值及遺傳算法搜索區(qū)間Table 2 Initial value and the genetic algorithm search range
遺傳算法初始種群在表2所列范圍內(nèi)隨機產(chǎn)生, 并使用浮點數(shù)編碼方法對其編碼.設(shè)置種群規(guī)模M=100, 算法終止代數(shù)T=150, 并采用自適應(yīng)的交叉和變異概率.基于MATLAB遺傳算法工具箱函數(shù)[13]編程, 分別對2幅圖像進行內(nèi)參的最優(yōu)化修正.經(jīng)過多次實驗并取其平均值, 可得理想的內(nèi)參最優(yōu)化結(jié)果.將實驗所得結(jié)果與張正友標(biāo)定法得到的結(jié)果進行比較, 結(jié)果列于表3.分別計算其二次投影誤差, 結(jié)果如圖2和圖3所示.圖2為張正友標(biāo)定法在x軸和y軸方向得到的二次投影誤差, 其平均誤差為err=(0.039 76,0.042 34).圖3是本文方法在x軸和y軸方向得到的二次投影誤差, 其平均誤差為err=(0.033 14,0.035 40).通過與張正友的標(biāo)定結(jié)果比較可知, 本文提出的方法具有一定的可行性, 且優(yōu)化效率更高.
表3 采用兩種實驗方法得到的內(nèi)參數(shù)值Table 3 Internal parameter values obtained by two experimental methods
圖2 張正友標(biāo)定法投影誤差Fig.2 Projection error of Zhang’s method
圖3 本文標(biāo)定法投影誤差Fig.3 Projection error of the present method
綜上所述, 本文在充分考慮了標(biāo)定模型的初始化問題和傳統(tǒng)非線性優(yōu)化方法的局限性基礎(chǔ)上, 結(jié)合遺傳算法強大的全局搜索能力, 提出了一種新的基于遺傳算法的攝像機自標(biāo)定內(nèi)參優(yōu)化方法.在模型初始化過程中, 使用張正友標(biāo)定方法保證了計算的內(nèi)外參初始值真實可信; 在模型優(yōu)化中固定外參以降低遺傳算法的搜索維度; 在初始值范圍內(nèi)確定搜索范圍, 以縮小遺傳算法的搜索空間; 實驗中多次測量保證了實驗數(shù)據(jù)的準(zhǔn)確性.實驗結(jié)果表明, 本文提出的攝像機內(nèi)參優(yōu)化方法是可行的, 不僅提高了標(biāo)定精度, 且更便捷.
[1]馬頌德, 張正友.計算機視覺: 計算理論與算法基礎(chǔ) [M].北京: 科學(xué)出版社, 2003: 51-70.(MA Songde, ZHANG Zhengyou.Computer Vision: Computer Theory and Algorithms Based [M].Beijing: Science Press, 2003: 51-70.)
[2]張廣軍.機器視覺 [M].北京: 科學(xué)出版社, 2005: 14-97.(ZHANG Guangjun.Machine Vision [M].Beijing: Science Press, 2005: 14-97.)
[3]ZHANG Zhengyou.A Flexible New Technique for Camera Calibration [J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334.
[4]Tsai R Y.A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses [J].IEEE Journal of Robotics Automation, 1987, 3(4): 323-344.
[5]胡占義, 吳福朝.基于主動視覺攝像機標(biāo)定方法 [J].計算機學(xué)報, 2002, 25(11): 1149-1156.(HU Zhanyi,WU Fuchao.A Review on Some Active Vision Based Camera Calibration Techniques [J].Chinese Journal of Computers, 2002, 25(11): 1149-1156.)
[6]Schreier H W, Garcia D, Sutton M A.Advances in Light Microscope Stereo Vision [J].Experimental Mechanics, 2004, 44(3): 278-288.
[7]Murthy C A.Genetic Algorithms: Basic Principles and Applications [C]//Proceedings of 2012 IEEE Computational Intelligence and Signal Processing (CISP 2012).Guwahati, Assam, India: IEEE, 2012: 22.
[8]WENG Juyang, Paul C, Marc H.Camera Calibration with Distortion Models and Accuracy Evaluation [J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(10): 965-980.
[9]LIU Ding, WU Xiongjun, YANG Yanxi.An Improved Self-calibration Approach Based on Adaptive Genetic Algorithm for Position-Based Visual Servo [J].Journal of Control Theory and Applications, 2008, 6(3): 246-252.
[10]TANG Kezong, YANG Jingyu, CHEN Haiyan, et al.Improved Genetic Algorithm for Nonlinear Programming Problems [J].Journal of Systems Engineering and Electronics, 2011, 22(3): 540-546.
[11]ZHANG Yi, ZHAO Jun.Priority-Based Encoding Genetic Algorithm for Solving Two-Stage Capacitated Facility Location Problem with Side Constraints [C]//Proceedings of 2011 IEEE International Conference on Intelligent Computing and Intelligent Systems (ICIS 2011).Beijing: IEEE, 2011: 72-75.
[12]HU Fengge, ZHANG Jianhua, FANG Liye.Sparse Planar Retrodirective Antenna Array Using Improved Adaptive Genetic Algorithm [J].Journal of Electronic Science and Technology, 2011, 9(3): 265-269.
[13]雷英杰, 張善文, 李續(xù)武.MATLAB遺傳算法工具箱及應(yīng)用 [M].西安: 西安電子科技大學(xué)出版社, 2005.(LEI Yingjie, ZHANG Shanwen, LI Xuwu.MATLAB Genetic Algorithm Toolbox and Applications [M].Xi’an: Xidian University Press, 2005.)
InternalParameterOptimizingMethodofCameraCalibrationBasedonGeneticAlgorithm
XU Zhongyu1, LI Chunlong1, SUN Qiucheng2, NING Chuang1
(1.SchoolofComputerScienceandEngineering,ChangchunUniversityofTechnology,Changchun130012,China;
2.SchoolofBasicScience,ChangchunUniversityofTechnology,Changchun130012,China)
An internal parameter optimizing method of camera calibration based on genetic algorithm was proposed.This method is a re-amendment of internal parameter obtained by Zhang Zhengyou calibration.It can rectify the loss of precision caused by unreliable initialization and locally optimal solution and improve the calibration precision of interior parameters of the camera.The result shows that the performance of this method is stable.It can quickly and accurately calibrate the camera internal parameters.
camera self-calibration; genetic algorithm; internal optimization
2013-11-07.
徐中宇(1971—), 男, 漢族, 博士, 副教授, 從事圖像處理和生物認(rèn)證的研究, E-mail: xuzhongyu01@126.com.通信作者: 李春龍(1987—), 男, 漢族, 碩士研究生, 從事數(shù)字圖像處理的研究, E-mail: 408534325@qq.com.
吉林省教育廳“十一五”科學(xué)技術(shù)研究項目(批準(zhǔn)號: 吉教科合字[2010]第295號).
TP391.4
A
1671-5489(2014)06-1267-05
10.13413/j.cnki.jdxblxb.2014.06.30
韓 嘯)