国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種攝像機標(biāo)定系統(tǒng)的實現(xiàn)

2015-06-23 13:55江祥奎
西安郵電大學(xué)學(xué)報 2015年5期
關(guān)鍵詞:板間角點攝像機

江祥奎, 紀(jì) 旭

(西安郵電大學(xué) 自動化學(xué)院,陜西 西安 710121)

一種攝像機標(biāo)定系統(tǒng)的實現(xiàn)

江祥奎, 紀(jì) 旭

(西安郵電大學(xué) 自動化學(xué)院,陜西 西安 710121)

攝像機標(biāo)定系統(tǒng)中的參數(shù)直接影響攝像機三維重建效果的逼真度。本文以張正友兩步標(biāo)定法為基礎(chǔ),設(shè)計制作標(biāo)定模板,并采用針孔攝像機模型對攝像機標(biāo)定參數(shù)的求解過程進(jìn)行了優(yōu)化;結(jié)合OpenCV庫,在Matlab開發(fā)環(huán)境下實現(xiàn)了攝像機標(biāo)定系統(tǒng)。實驗結(jié)果表明,該方法提高了攝像機的標(biāo)定精度。

機器視覺;攝像機標(biāo)定;Matlab;OpenCV

攝像機標(biāo)定是機器視覺中的重要問題之一[1],它是二維圖像獲取三維空間信息的關(guān)鍵步驟。攝像機標(biāo)定已經(jīng)廣泛應(yīng)用于導(dǎo)航、視覺監(jiān)控、三維重建[2]、機器人視覺定位[3]和農(nóng)業(yè)機器人[4]等領(lǐng)域。

攝像機標(biāo)定方法可分為傳統(tǒng)標(biāo)定方法[5]、自標(biāo)定方法[6]和基于主動視覺的標(biāo)定方法[7]。傳統(tǒng)標(biāo)定方法標(biāo)定過程復(fù)雜,對標(biāo)定塊精度要求高;自標(biāo)定方法雖然實現(xiàn)起來靈活,但是魯棒性不足,標(biāo)定結(jié)果穩(wěn)定性不高;基于主動視覺的標(biāo)定方法需要精確控制攝像機的移動軌跡,實現(xiàn)難度較大,一般用于特定場合。

本文擬采用張正友的兩步法[5],將OpenCV[8,9]與Matlab工具箱[10,11]結(jié)合,以二者為聯(lián)合開發(fā)工具,設(shè)計并實現(xiàn)一種攝像機標(biāo)定系統(tǒng),以此提高攝像機的標(biāo)定精度。

1 攝像機標(biāo)定原理

采用針孔攝像機模型,將標(biāo)定物上的點與相機拍攝圖片上的點之間的映射關(guān)系進(jìn)行分析,進(jìn)而抽象出函數(shù)模型,如圖1所示。其中Oc為光心,π為圖片物理平面,f表示π到Oc的距離(焦距),4個坐標(biāo)系分別為世界坐標(biāo)系Ow,攝像機坐標(biāo)系Oc,圖像物理坐標(biāo)系O1和圖像像素坐標(biāo)系O。

把空間某點P轉(zhuǎn)換到它的像點p。先將該點的世界坐標(biāo)(Xw,Yw,Zw)通過平移轉(zhuǎn)換為攝像機坐標(biāo)(Xc,Yc,Zc);再根據(jù)三角幾何變換得到圖像物理坐標(biāo)(x,y);最后根據(jù)比例計算得到圖像像素坐標(biāo)(u,v)。

圖1 針孔攝像機模型

假設(shè)單個圖像像素在u方向和v方向上的物理尺寸為dx和dy,則圖像像素坐標(biāo)與圖像物理坐標(biāo)之間的關(guān)系[5]可表示為

(1)

(2)

由式(1)和式(2)聯(lián)立可得

(3)

其中dx,dy,u0,v0為需要求取的內(nèi)部參數(shù)。

(4)

其中R為3×3矩陣,T為三維平移向量,O=(0,0,0)T,R和T為攝像機外部參數(shù)。簡化后的Lw為一個4×4的矩陣。結(jié)合小孔成像原理[5],攝像機坐標(biāo)與圖像物理坐標(biāo)之間的關(guān)系可表示為

(5)

其矩陣形式為

(6)

聯(lián)立式(5)和式(6),得到空間點P與像點p之間的轉(zhuǎn)換關(guān)系為

(7)

其中L為一個3×4的矩陣。將矩陣轉(zhuǎn)換為方程表示并帶入Zc得到

(8)

式中l(wèi)1到l11為與攝像機內(nèi)部參數(shù)(焦比fu、fv,圖像中心(主點)坐標(biāo)cu、cv,畸變系數(shù)kc1、kc2、kc3、kc4、kc5)有關(guān)的系數(shù)。求取L的過程稱為攝像機標(biāo)定。

張正友兩步法的主要思想[12]首先利用線性和非線性方法求取內(nèi)外參數(shù)的初值,然后再解非線性最小化方程,以求精內(nèi)外參數(shù)。該方法使用平面模板,無需了解模板的運動參數(shù)。其特點是將攝像機的內(nèi)外參數(shù)與畸變參數(shù)分離,逐步取得最優(yōu)解。

2 攝像機標(biāo)定系統(tǒng)設(shè)計與實現(xiàn)

2.1 基于OpenCV的攝像機標(biāo)定流程

基于OpenCV的攝像機標(biāo)定流程如圖2所示。先輸入標(biāo)定圖像樣本組的存儲路徑、名稱、大小等相關(guān)數(shù)據(jù),再自動讀取該路徑N張圖片,逐個進(jìn)行角點提取并保存角點信息。當(dāng)所有圖像正確處理完成后,調(diào)用標(biāo)定算法進(jìn)行攝像機標(biāo)定,并得到攝像機的內(nèi)部、外部參數(shù)、標(biāo)定誤差。之后可以選擇調(diào)用誤差分析函數(shù)對標(biāo)定準(zhǔn)確度進(jìn)行判斷,當(dāng)標(biāo)定精度達(dá)到要求時,輸出標(biāo)定結(jié)果,釋放所有內(nèi)存資源后退出程序。

圖2 基于OpenCV的攝像機標(biāo)定流程

2.2 標(biāo)定系統(tǒng)設(shè)計

系統(tǒng)由攝像機標(biāo)定功能、數(shù)據(jù)處理功能和幫助功能等3部分組成,整體框架如圖3所示。

圖3 系統(tǒng)整體框架

攝像機標(biāo)定功能分為3個模塊完成。載入標(biāo)定圖像模塊負(fù)責(zé)按照輸入路徑自動搜索并添加規(guī)定格式的標(biāo)定圖像;提取圖像角點模塊負(fù)責(zé)對成功載入的所有標(biāo)定圖像依次進(jìn)行角點提取檢測處理;計算標(biāo)定參數(shù)模塊將提取到的各組角點坐標(biāo)帶入式(6),得到式(8),將這些方程聯(lián)立求解即可得到攝像機的內(nèi)外部參數(shù)。選定一個角點作為參照點,使用攝像機標(biāo)定參數(shù)對其余角點進(jìn)行還原,對比實際角點坐標(biāo),得到反投影誤差。

數(shù)據(jù)處理功能分為3個模塊完成。保存標(biāo)定結(jié)果模塊可以實時以MATLAB數(shù)據(jù)文本的格式保存本次標(biāo)定結(jié)果;加載標(biāo)定結(jié)果模塊可以從已保存的標(biāo)定結(jié)果中恢復(fù)之前的標(biāo)定數(shù)據(jù);標(biāo)定結(jié)果可視化模塊調(diào)用了MATLAB標(biāo)定工具箱中的函數(shù),實現(xiàn)了標(biāo)定板間空間位置和攝像機與標(biāo)定板間空間位置的模擬顯示。

幫助功能包括兩個模塊。其中運行提示模塊在程序運行時不斷打印控制臺信息;程序相關(guān)模塊記錄與程序相關(guān)的一些信息,調(diào)用時會將這些信息在控制臺輸出。

2.3 標(biāo)定系統(tǒng)實現(xiàn)

系統(tǒng)是在Windows 7平臺下利用Matlab 2014a結(jié)合OpenCV開發(fā)的,系統(tǒng)運行界面如圖4所示[13]。運行攝像機標(biāo)定系統(tǒng),系統(tǒng)工作正常。

圖4 攝像機標(biāo)定系統(tǒng)運行界面

3 標(biāo)定實驗結(jié)果及分析

對系統(tǒng)進(jìn)行攝像機標(biāo)定實驗。標(biāo)定模板采用AUTOCAD繪制、激光打印機打印的黑白西洋棋盤格圖案(每個方塊20mm),黑白格的交叉點為標(biāo)定點,如圖5所示。以20幅圖像為標(biāo)定圖像樣本組,如圖6所示。

圖5 標(biāo)定模板

圖6 標(biāo)定圖像樣本組

運行該系統(tǒng),依次讀取每張標(biāo)定圖片,提取角點(如圖7所示)并分別進(jìn)行顯示,角點提取結(jié)果如8所示。

圖7 自動選擇角點

圖8 角點提取結(jié)果

標(biāo)定完成后,調(diào)用Matlab標(biāo)定工具箱顯示標(biāo)定板間的空間位置關(guān)系及攝像機與標(biāo)定板間的空間位置關(guān)系,分別如圖9~圖11所示,從而獲得攝像機的內(nèi)外參數(shù)以及誤差數(shù)據(jù)。其中圖10是以攝像機鏡頭為原點,使用攝像機標(biāo)定參數(shù)對角點坐標(biāo)進(jìn)行計算得到的攝像機拍攝位置,而圖11則是以標(biāo)定板為原點。

圖9 標(biāo)定板間的空間位置關(guān)系

圖10 攝像機與標(biāo)定板間的空間位置關(guān)系I

圖11 攝像機與標(biāo)定板間的空間位置關(guān)系II

采用同樣的標(biāo)定圖片樣本組,分別進(jìn)行了兩組攝像機標(biāo)定實驗,標(biāo)定結(jié)果如表1所示。

由表1可知,標(biāo)定數(shù)值并未發(fā)生明顯變化,焦距長度符合實際參數(shù),畸變系數(shù)求取正常。求取的兩組參數(shù)像素誤差均在1個像素上下浮動,實現(xiàn)了較好的標(biāo)定精度。

表1 兩組標(biāo)定實驗結(jié)果

4 結(jié)束語

本文闡述了攝像機標(biāo)定的原理,采用針孔攝像機模型,運用張正友的兩步標(biāo)定法優(yōu)化攝像機內(nèi)外參數(shù)的求解過程,在此基礎(chǔ)上通過Matlab和OpenCV聯(lián)合編程實現(xiàn)了一種攝像機標(biāo)定系統(tǒng)的開發(fā)。設(shè)計制作了標(biāo)定模板,并進(jìn)行了系統(tǒng)測試和標(biāo)定實驗,實驗結(jié)果充分驗證了該標(biāo)定系統(tǒng)的可行性。

[1] 江祥奎,范永青,王婉.基于粒子群遺傳算法的BP神經(jīng)網(wǎng)絡(luò)攝像機標(biāo)定[J].計算機科學(xué)與探索,2014,8 (10): 1254-1262.

[2] 江祥奎.基于微分進(jìn)化遺傳算法的雙目攝像機標(biāo)定[J].西安郵電學(xué)院學(xué)報,2011,16(6):20-23

[3] 陳衛(wèi)東,尹紅娟,朱奇光.改進(jìn)直接線性標(biāo)定的移動機器人視覺定位算法[J].小型微型計算機系統(tǒng),2013,34(4):872-876.

[4] 遲德霞,王洋,寧立群,等.張正友法的攝像機標(biāo)定試驗[J].中國農(nóng)機化學(xué)報,2015,36(2):287-289,337.

[5] Zhang Z.A flexible new technique for camera calibration[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[6] Mohd Azwan Abbas, Derek D. Lichti, Albert K. Chong, et al. An on-site approach for the self-calibration of terrestrial laser scanner[J].Measurement, 2014,52:111-123.

[7] 任亮,邱天爽.一種基于正三交約束的攝像機標(biāo)定方法[J].電子學(xué)報,2014,42(10):2050-2054.

[8] 李宏雷.VC++環(huán)境下基于OpenCV 的攝像機標(biāo)定系統(tǒng)的開發(fā)[J].計算機應(yīng)用與軟件, 2011, 28 (6):19-21.

[9] 李躍,汪亞明,黃文清,等.基于OpenCV的攝像機標(biāo)定方法研究[J].浙江理工大學(xué)學(xué)報,2010,27(3):417-420.

[10]杜冬梅,田昆鵬,姜磊,等.基于 Matlab 的攝像機標(biāo)定方法研究[J].河南工程學(xué)院學(xué)報,2012,24(4):68-71.

[11]王建華、馮帆,梁偉,等.基于Matlab的攝像機標(biāo)定系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2012,40(3):97-99.

[12]毛劍飛,鄒細(xì)勇,諸靜.改進(jìn)的平面模板兩步法標(biāo)定攝像機[J].中國圖象圖形學(xué)報,2004,9(7):846-852.

[13]江祥奎,紀(jì)旭.基于OpenCV和Matlab的攝像機標(biāo)定系統(tǒng)設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程 ,2015,43(8):1516-1518.

[責(zé)任編輯:祝劍]

Implementation of a kind of camera calibration system

JIANG Xiangkui, JI Xu

(School of Automation, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

The parameters in camera calibration system can affect the fidelity of camera three-dimensional reconstruction effect directly. In this paper, based on Zhang Zhengyou’ two-step calibration method, a calibration template is designed and the solving process of camera calibration parameters is optimized by using pinhole camera model. Combined with OpenCV library, a camera calibration system is achieved under Matlab development environment. Experimental results show that the method can improve the accuracy of the camera calibration.

Machine vision,Camera Calibration,Matlab,OpenCV

2015-06-03

陜西省教育廳自然科學(xué)類專項科研計劃資助項目(14JK1666);西安郵電大學(xué)青年教師科研基金資助項目(ZL2014-32)

江祥奎(1979-),男,博士,講師,從事機器視覺研究。E-mail:jxk2002@126.com 紀(jì)旭(1993-),男,本科生,研究方向為嵌入式系統(tǒng)開發(fā)。E-mail:jixu-running@foxmail.com

10.13682/j.issn.2095-6533.2015.05.014

TP391

A

2095-6533(2015)05-0071-05

猜你喜歡
板間角點攝像機
一種改進(jìn)的Shi-Tomasi角點檢測方法
多支撐區(qū)域模式化融合角點檢測算法仿真
電容器的兩種工作狀態(tài)
關(guān)于電容器中U不變還是Q不變的判斷
基于FAST角點檢測算法上對Y型與X型角點的檢測
關(guān)于電容器中U不變還是Q不變的判斷
電容器的兩種工作狀態(tài)
攝像機低照成像的前世今生
新安訊士Q6155-E PTZ攝像機
如何消除和緩解“攝像機恐懼癥”
和田市| 嘉峪关市| 阳谷县| 龙川县| 磐安县| 和田县| 常德市| 仪征市| 华亭县| 定州市| 鲁山县| 连南| 黎川县| 夏河县| 壶关县| 托里县| 山西省| 金山区| 长子县| 刚察县| 元江| 开阳县| 株洲县| 尤溪县| 邹平县| 武强县| 仲巴县| 文昌市| 大化| 枞阳县| 合江县| 左权县| 民勤县| 扬州市| 内乡县| 江川县| 河西区| 贡山| 布尔津县| 碌曲县| 金阳县|