于春和,祁樂陽
(沈陽航空航天大學 電子信息工程學院,遼寧 沈陽110136)
基于HALCON的雙目攝像機標定
于春和,祁樂陽
(沈陽航空航天大學 電子信息工程學院,遼寧 沈陽110136)
基于對雙目攝像機立體視覺系統進行標定的目的。采用HALCON標定板,通過軟件豐富算子平臺進行對比實驗得到雙目攝像機立體視覺系統的內部參數以及外部參數。算法結果準確,簡單易行。其程序魯棒性強,運算效率高,能夠高效的運用到雙目立體視覺系統中,為基于雙目立體視覺的人臉三維重建提供了堅實的基礎。
剛性轉換;雙目標定;機器視覺;HALCON標定板
Abstract:Based on the binocular stereo vision system for the purpose of calibration.The internal and external parameters of stereo vision system of binocular camera are obtained by using HALCON calibration board and comparative experiment by software rich operator platform.The results are accurate and simple.The program is robust and efficient,and can be applied to binocular stereoscopic vision system effectively,which provides a solid foundation for 3D reconstruction of human face based on binocular stereoscopic vision.
Key words:rigidity conversion;binocular calibration;machine vision;HALCON calibration plate
攝像機標定是機器視覺和攝像測量領域相對基礎的工作,同時也是最復雜、困難的工作。 攝像機標定的意義是得到立體空間中對象的幾何信息,其中所使用的圖像信息由雙目攝像機所得[1]。定后的雙目攝像機得到的圖像目標信息是準確的,為最終得到立體空間中對象的幾何信息打下堅實基礎。圖像信息與對象幾何信息的對應關系決定了待標定攝像機的內、外參數。簡言之,攝像機的標定就是求解被測目標的世界坐標與所得目標圖像坐標系同時獲得兩個待標定攝像機相互對應幾何關系的過程[2]。高精度攝像機標定中被廣泛應用的算法有Tasi的兩步法、Weng等的改良方法、Zhang的棋盤靶標方法等[3]。這些方法都假設像點和三維空間標志點的相互對應關系是已知的,精確計算攝像機內參、外參是這些算法的研究重點。基于Halcon的標定方法降低了操作難度,提高了可行性。
我們需要對雙目攝像機進行標定以達到從目標圖像中得到精確三維立體坐標的目的。所以必須了解三維立體世界坐標系中的目標物體如何投射到二維圖像平面以及相對應的攝像機參數[4]。本文說明的是較為常規的面陣攝像機模型,同時論述了對面陣攝像機的標定。在日常科研中,一般情況下應用針孔攝像機模型,如圖1所示。
雖然實際上成像平面在鏡頭光心的后端,但是在實際應用中我們可以假設成像平面在攝像機鏡頭光心前端焦距f處[5],如圖2所示。由此可以達到簡化計算步驟的目的。成像平面坐標系上的對應點P由世界坐標系上的Pw變換所得。首先,通過剛性轉換完成從世界坐標系到攝像機坐標系的轉換,可以使用三維位姿或相似變換矩陣表示。關系為:

圖1 針孔攝像機透視投影模型

T=(tx,ty,tz)T是一個平移向量。 R=R(X,Y,Z)是一個旋轉矩陣,其中X、Y、Z是對應于旋轉后對應的坐標系的軸向量在原始坐標系中的值[6]。剛性轉換的平移向量、旋轉角度即為攝像機的外部參數。世界坐標系中雙目攝像機的位姿由攝像機外參確定。攝像機坐標系中的某個三維點映射到成像平面坐標系的投射關聯為:

投射到成像平面時,鏡頭發生畸變導致坐標(U、V)變化。 如果鏡頭沒有發生畸變,投影點p′會在點P與光心連線的延長線上,如圖2所示。坐標位置的偏移就是鏡頭畸變所致。

圖2 鏡頭畸變
這種鏡頭畸變造成的圖像轉移可以不需要三維信息只在成像平面上建立數學模型。一般情況下,下屬表達式可以足夠準確的表示徑向畸變:

參數k表示徑向畸變的程度。當畸變類型為桶形畸變時K<0,當畸變類型為枕形畸變時K>0。這種表示畸變的數學模型優勢在于可以使用下述表達式進行畸變校正:

我們將點從成像平面坐標系轉換到像素坐標系中:

式中Sx是縮放比例參數,代表攝像機電荷耦合器件圖像轉換器的每個單元的水平方向距離和垂直方向距離,定義了徑向畸變的中心,表示成像平面上鏡頭光心的垂直投影[7]。攝像機進行的三維到二維的投影轉換由攝像機內參及外參決定。
綜上所述,得到攝像機的內參(f,k,Sx,Sy,Cx,Cy)和外參(tx,ty,tz,X,Y,Z)是攝像機標定的最終意義。
標定雙目攝像機的過程包括在圖像中識別標定板、在標定板中識別標定點精確坐標、確定所有坐標點圖像坐標與世界坐標間的對應關系。HALCON標定板擁有非常高的精度,這種精度是進行高精度測量的先決條件。因此,使用HALCON標定板是最簡單有效的方法之一。
標定精度受標定板類型及拍攝細節影響,所以對標定板時應注意以下事項。如果使用前向光,需要使用陶瓷材質的標定板。如果使用背光,需要使用玻璃材質的標定板。標定板的邊緣長度應大約為圖像邊緣長度的1/3。為了在不同圖像中體現出標定點透視畸變關系,我們應該在拍攝中不斷改變標定板方位。拍攝時光照要均勻,標定板應比參照物亮度高,但亮度不宜過高。標定板上亮的部分灰度值必須達到100以上。為了標定立體視覺系統,需要拍攝多組包含標定板的立體圖像對,在每個圖像對中的每幅圖像都包含一個完整的標定板。一般情況下,要確保立體圖像對中兩幅圖像的交迭區域一定比單個攝影機的視野小,圖像中標定板的位置能夠盡量覆蓋整個交迭區域[8]。
攝像機按規則提取到立體像對后,首先對目標做高斯濾波。然后,進行簡單的閾值分割。設定的閾值應該比標定板上白色部分的灰度值小。此外,該閾值的最佳設定應大于目標圖像其他大區域稍亮部分的灰度值。經過閾值分割后獲取的多個部分中,凹狀孔數量與CalTab描述文件中的標定點個數相一致的部分被提取出來。對目標部分做邊緣檢測。邊緣檢測靈敏度越高得到的信息越多,但是會降低對噪聲的抑制能力[9]。對所得邊緣振幅進行閾值分割,所有灰度值變化幅度大的邊緣都被選中。封閉輪廓的個數應該與標定板描述文件中點的個數相同,同時所有輪廓線的形狀應該都是橢圓形。利用線性方法擬合標志點邊緣的最優解[10]。本算法魯棒性較強,提高了邊緣檢測的穩定性。通過對擬合橢圓的最小外包矩形的選取,最終世界坐標系中標定點與成像平面坐標系中坐標點的映射關系[11-12]。
與單目攝像機標定相似,雙目攝像機標定的輸入參數可以分為兩類,其一為對應坐標點在世界坐標系中的坐標。此外還有,坐標點在兩個成像平面坐標系中的坐標;其二為雙目攝像機的初始參數[13]。與單目攝像機標定不同的是在雙目攝像機標定時函數find_caltab和函數find_marks_and_pose必須在立體圖像對的每幅圖像中分別調用。標定程序流程圖如圖3所示。

圖3 程序流程圖
函數 read_image(:Image:FileName:)讀取文件名為FileName的圖像Image;函數find_caltab(ImageL,CaltabL,CaltabName,SizeGauss,MarkThresh,MinDiamMarks)基于標定板在一個亮的區域中存在黑色標定板的特征在圖像中尋找標定板,效果如圖4(a)所示。第一步,對待標定圖像執行高斯模糊,高斯核的大小由輸入參數SizeGauss決定。該參數與對噪聲的抑制效果成正比。高斯模糊后對圖像進行灰度閾值分割。灰度閾值為MarkThresh到255。提取出凹孔個數與標定板描述文件中對應點個數相一致的凸出部分。凹孔的最小直徑為MinDiamMarks,量級為像素,視圖片而定。這樣有利于降低錯誤目標的干擾,提高系統運行速度[14]。
find_marks_and_pose算子對選中的標定板上的圓進行分割,提取的坐標點個數、周長、坐標位置都應該與標定板描述文件相符合。否則會自動調整StartThresh,使StartThresh按照DeltaThresh步長減小到MinThresh,直到找到精確的標定點圓心。RCoordL、CCoordL、StartPoseL 為 3個返回值,分別為測得的行、列及對應估計的攝像機外部參數。binocular_calibration算子的輸入參數為標定點在成像平面坐標系中的坐標以及兩個攝像機內參初始值,而且該函數返回雙目攝像機之間的相對位姿。標定效果如圖4所示。

圖4 標定效果
標定完成后務必不要對雙目立體視覺系統進行改變,比如焦距、相對位姿等[15]。然而,無論雙目攝像機的內部參數還是外部參數發生變化,只需要單獨對發生變化部分進行重新標定即可。
在實驗中,我們在正常光照下拍攝了2組分別為15副、25副HALCON 100 mm標定板圖像。兩組對比結果如表1所示。
由實驗結果可以得出結論:基于HALCON的雙目攝像機標定算法結果準確,簡單易行。其程序魯棒性強,運算效率高,能夠高效的運用到雙目立體視覺系統中,為基于雙目立體視覺的人臉三維重建提供了堅實的基礎。
[1]張廣軍.機器視覺[M].北京:科學出版社,2005.
[2]馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1998.
[3]Tsai R Y.An efficient and accurate camera calibration technique for 3D machine vision[J].Proc.ieeeConf.on ComputerVision & Pattern Recognition,1986:364-374.
[4]賈云得.機器視覺[M].北京:科學出版社,2005.
[5]李良福,陳衛東,馮祖仁,等.目標跟蹤與定位中的視覺標定算法研究 [J].應用光學,2008,29(4):481-486.
[6]Fitzgibbon A,Pilu M,Fisher R B.Direct least square fitting of ellipses [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1999,21(5):475-480.
[7]羅珍茜,薛雷,孫峰杰,等.基于HALCON攝像機標定[J].電視技術,2010,34(4):100-102.
[8]賈丹,攝像機現場標定算法研究[D].哈爾濱:哈爾濱工程大學,2007.
[9]Steger C,Ulrich M, Wiedemann C.Machine vision algorithms and applications[C]//Machine vision algorithms and applications.Wiley-VCH,2007.
[10]譚曉波.攝像機標定及相關技術研究[D].長沙:國防科學技術大學,2003.
[11]ZHANG Zheng-you.A flexible new technique for camera calibration[J].IEEE Transaction on Pattern Analysis and machine Intelligence,2000,22(11):1330-1334.
[12]劉源洞,孔建益,王興東,等.雙目立體視覺系統的非線性攝像機標定技術 [J].計算機應用研究,2011,28(9):3398-3400.
[13]張滋黎.基于視覺引導的大尺度空間坐標測量方法研究[D].天津:天津大學,2009.
[14]唐志豪,許幀英,李伯全,等.三維視覺測量系統平臺的軟件設計及實現 [J].計算機測量與控制,2006(11):1566-1568.
[15]Lenz R K,Tsai R Y.Techniques for calibration of the scale factor and image center for high accuracy 3D machine vision metro logy[C]//Proceedings of IEEE International Conference on Robotics and Automation.Washington DC:IEEE,1987:68-75.
Binocular camera based on HALCON
YU Chun-he,QI Le-yang
(School of Electronic and Information Engineering, Shenyang Aerospace University,Shenyang110136,China)

表1 標定結果比較
TN391
A
1674-6236(2017)19-0190-04
2016-09-01稿件編號201609004
于春和(1976—),男,遼寧沈陽人,博士,副教授。研究方向:信息獲取與處理。