張濤
(河南省測繪工程院,河南鄭州45000)
單目數碼相機的幾何標定方法
張濤
(河南省測繪工程院,河南鄭州45000)
以河南省測繪工程院開發設計的數碼相機幾何標定軟件為依托,介紹一種單目數碼相機幾何標定的簡單方法。
河南省測繪工程院; 單目數碼相機; 幾何標定
普通數碼相機要具備量測性必須先進行幾何標定[1],旨在獲取相機與客觀物理世界尺度相關聯的相機參數。數碼相機的幾何標定一般采用室外幾何檢校場檢校[2]和室內標志物檢校[3]。建立室外幾何檢校場代價較高,室內標志物檢校在標志物的精準測量和建設上代價也不低。近年來在人工智能科學方面,機器視覺領域OPENCV開源了基于棋盤格靶標的檢校方法,廣泛用于微距相機或攝像頭的檢校,多種文獻均表述了其檢校精度可以達到亞像素級[3]。筆者在OPENCV開源視覺算法基礎上設計開發了一款單目數碼相機簡易幾何標定軟件。本文將以此軟件為依托介紹索尼A5100相機幾何標定應用實例。
軟件以VC++6.0為平臺基于OPENCV和GDAL/OGR自主開發。棋盤格角點檢測算法采用OPENCV,其他圖像讀取存儲和處理算法均采用底層開發[4]。軟件主界面如下:

圖1 自主開發程序的主界面
完成索尼A5100相機標定實例工程用到的功能包括以下部分:
(1)輸出真彩色定標靶;(2)半自動量測靶標點;(3)提取靶標點;(4)計算標定參數;(5)自動復測靶標點;(6)剔除粗差靶標;(7)本軟件相機參數輸出Australis工程;(8)設置其他檢校參數訓練改正映射模板。
首先利用軟件系統生成預制格網物理尺寸和數目的真彩色數字靶標影像,在平板電視上回放或者由專業打印機打印數字標靶影像,手工制作標定板;操作待標定的相機從各個角度和距離對標定板進行拍照采集樣本影像;導出樣本影像利用軟件采用半自動或全自動的方式對樣本影像中的靶標進行量測提取坐標;利用量測的坐標數據進行解算輸出標定參數;利用標定參數訓練生成相機畸變改正模板影像,最后在實際的工程應用中利用畸變改正模板影像掩膜改正相機畸變生成無相機畸變影像[5]。流程框圖如下:

圖2 工作流程框圖
點擊“輸出數字定標靶”按鈕,設置輸出數字定標靶影像參數和輸出影像文件存儲路徑。

圖3 數字定標靶參數設置

圖4 軟件自動生成的15*15格5cm數字定標靶影像
可以將數字定標靶影像回放到平板電視機上或者利用回放精度控制在0.1mm的專業惠普打印機[6],用亞光相紙按照254dpi打印出標靶影像,粘貼在鋼化玻璃平板上制成標定板。本文實例采用第二種方法制作標定板實物如圖5所示。

圖5 用鋼化玻璃板粘貼打印靶標制作的標定板實物
將待標定的索尼A5100相機鏡頭對準標定板實物,從不同角度、不同距離拍攝樣本影像,注意每一張影像必須全包含標定板靶標畫面,拍攝的影像盡可能多地包括空間所有的方向,一般可以采用在三種距離上相機分別沿著垂直、水平、左對角線、右對角線進行拍攝,并且旋轉相機180°之后重復上述方向進行一組樣本影像拍攝采集。拍攝完之后下載所拍攝樣本影像到PC上,剔除靶標景物拍攝不全、拍攝影像質量欠佳的影像樣本。最終本案例可用的有效樣本數量為251個,部分樣本影像如圖6所示。

圖6 采集的部分標定樣本影像
點擊“半自動量測靶標點”按鈕,選擇采集樣本影像集合路徑,并設置靶標屬性參數,設置完成后程序自動運行,彈出用戶交互式采集四角靶標點界面,按照“A1—B2—C3—D4”先后順序手動采集靶標四角點,采集完成后點位處出現紅圈,如圖7所示。手動量測四角靶標格點是為了對目標靶標區建立仿射變換[7]進行粗定位,目標區粗定位的結果會引導程序自動精化量測所有靶標格網點的像面坐標值,如圖8所示。

圖7 手動量測四角靶標格點進行目標區粗定位

圖8 粗定位后自動精化量測所有靶標格
所有樣本靶標量測完成之后,每張樣本影像文件夾下會各生成一個* .corner文件,此文件記錄每個樣本提取量測的靶標格像平面坐標和其對應的物方坐標值,格式如圖9所示。

圖9 每樣本影像自動量測記錄的靶標測量文件
點擊“提取靶標點”按鈕,自動提取合并所有樣本的靶標量測* .corner文件為“all_corner.zt”文件,格式如圖10所示。

圖10 提取合并的所有樣本影像靶標量測值
點擊“計算標定參數”按鈕,讀取3.4步驟提取合并的所有樣本影像靶標量測值“all_corner.zt”文件,程序自動解算得到相機標定參數,“相機檢校參數.txt”文件,見圖11、圖12。

圖11 相機標定參數文件

圖12 相機標定的精度結論
點擊“自動復測靶標點”按鈕,讀取3.5步驟生成的“相機檢校參數.txt”文件,程序將自動復測精化量測所有樣本影像的靶標,大大提高靶標量測的準確性和檢校的穩健性。復測將重新生成每張樣本影像對應的靶標量測文件*.corner文件,不同之處在于在影像名稱后上自動添加了“_adjust”。可以重復3.4、3.5、3.6步驟直至得到較滿意的相機標定參數文件。
點擊“剔除粗差靶標”按鈕,讀取“相機檢校參數.txt”文件,設置剔除粗差的參數(圖13),程序將自動進行不斷剔除觀測值粗差,反復迭代計算,直至達到預置的精度條件[8]。

圖13 粗差剔除參數設置
點擊“本軟件相機參數輸出Australis工程”按鈕,讀取“相機檢校參數.txt”文件,可以將本次檢校工程完整等效地轉換為Australis相機檢校工程,可以將樣本觀測值在權威的Australis軟件系統下進行解算(圖14),得到Australis格式的相機參數[9]。

圖14 Australis軟件下恢復的相機攝站位置和姿態
點擊“設置其它檢校參數訓練改正模板”按鈕,利用3.7和3.8步驟的相機參數,生成該相機的畸變改正模板影像作為該相機畸變的通用模型,軟件界面如圖15所示。利用該模板影像通過掩膜計算就可以很直接地得到該相機的無主點偏移,無透鏡畸變的影像,簡便地應用于后續的攝影測量工程和基于影像的三維視場重建工程[10]。

圖15 生成相機畸變改正模板影像
本文以筆者在OPENCV開源視覺算法基礎上設計開發的幾何標定軟件為依托介紹了索尼A5100相機的幾何標定應用實例,理念先進,方法簡單可靠,為普通數碼相機的幾何標定提供了完整的工作流程和軟件方案。開發的軟件界面友好,算法上創新性地采用靶標區手工粗定位來引導格點的自動精化量測的方法,大幅度提升軟件自動量測靶標格點的準確性和成功率,算法魯棒性好,檢校結果能夠與同行業權威軟件結果互通參照,在機器視覺和無人機航攝工程領域有很強的實踐意義和應用效益。
[1]袁楓,張繼賢,齊維君,等. 非量測數字相機實驗室幾何標定[J]. 測繪學報,2016(5):601-607.
[2]楊阿華,李學軍,魏勇,等.基于室外檢校場的航空數碼相機檢校方法[J]. 裝備學院學報,2014(3):77-82.
[3]王浩,許志聞,謝坤,等.基于OpenCV的雙目測距系統[J]. 吉林大學學報(信息科學版),2014(2):188-194.
[4]王海濤,洪亮,譚成國. 一種用于相機檢校的黑白棋盤格角點提取算法[J]. 測繪通報,2016(12):33-38.
[5]郭輝,李天子,徐克科.數碼相機畸變差模型中不同參數組合對物方坐標精度的影響[J]. 工程勘察,2012(9):62-64,68.
[6]“速”、“質”兼顧完美成像:國土資源航遙中心制圖部HP Designjet4000試用體驗[J]. 地理信息世界,2005(3):58.
[7]管焱然,管有慶. 基于OpenCV的仿射變換研究與應用[J]. 計算機技術與發展,2016(12):58-63.
[8]江克斌. 論迭代思維[J]. 工程兵工程學院學報,1987(4):75-76,59.
[9]張本昀,吳曉明,喻錚錚,等. 非量測型相機檢校及可靠性研究[J].測繪科學,2008(S1):84-86,94.
[10]謝梓威,范沖,張云生. 一種結合紋理擇優算法的影像三維重建方法[J]. 測繪科學,2017(1):101-106.
張濤(1983— ),男,漢族,注冊測繪師,主要從事攝影測量與遙感技術的工程應用與開發。E-mail:handsup123@163.com