何浩 黃景維
摘要:在計算機(jī)視覺檢測中,廣泛應(yīng)用張正友標(biāo)定法進(jìn)行相機(jī)標(biāo)定。但是至少需要三次或更多次地拍攝標(biāo)定物,這需要煩瑣的人工操作,難以實現(xiàn)相機(jī)標(biāo)定的自動化?;趶堈褬?biāo)定法,該文提出了一種基于稀疏字典學(xué)習(xí)的相機(jī)標(biāo)定方法。該文根據(jù)張正友相機(jī)標(biāo)定模型,在相機(jī)的不同焦距下,離線獲取大量標(biāo)定圖像,計算出不同焦距下的內(nèi)參參數(shù),并以此構(gòu)造稀疏字典。當(dāng)在線使用該相機(jī)的時候,根據(jù)一幅圖像和該稀疏字典進(jìn)行相機(jī)標(biāo)定,可以獲得非常好的內(nèi)參初始值,再利用極大似然法優(yōu)化相機(jī)參數(shù)。通過內(nèi)參參數(shù)對比和重投影法對標(biāo)定結(jié)果進(jìn)行了評估,實驗結(jié)果表明,該方法可以得到有效的相機(jī)標(biāo)定內(nèi)外參數(shù)以及畸變參數(shù),實現(xiàn)單幅圖像的相機(jī)標(biāo)定,可以提高產(chǎn)品視覺檢測的自動化。
關(guān)鍵詞:單目相機(jī);相機(jī)標(biāo)定;張正友標(biāo)定法;稀疏表示;字典學(xué)習(xí)
中圖分類號:TP391.4 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)08-0184-04
1 概述
計算機(jī)視覺在質(zhì)量檢測、過程控制、機(jī)器人導(dǎo)航等領(lǐng)域有著廣泛的應(yīng)用[1]。在計算機(jī)視覺中,常常需要攝像機(jī)拍攝物體的圖像。然而,在實際的成像過程中,由于攝像機(jī)鏡頭的光學(xué)特性、鏡頭的老化等原因,可能會出現(xiàn)諸如徑向畸變或切向畸變等幾何畸變,從而影響計算機(jī)視覺的精度[2]。因此,必須準(zhǔn)確校準(zhǔn)相機(jī)。
為了校準(zhǔn)相機(jī),自標(biāo)定技術(shù)[3]通過在靜態(tài)場景中移動相機(jī)以拍攝足夠的圖像,并且使用圖像信息來評估相機(jī)的內(nèi)部參數(shù)。這樣的技術(shù)是靈活的,并且經(jīng)常用于機(jī)器人。由于要估計的參數(shù)很多,不能保證得到可靠的結(jié)果。對于這樣的問題,使用具有已知幾何結(jié)構(gòu)的精密三維標(biāo)定物,例如具有三個正交平面的三維標(biāo)定物,可以有效地完成標(biāo)定。但是,標(biāo)定物通常非常昂貴。一維標(biāo)定物[4]通過多次移動獲取多幅圖像,這對于同時標(biāo)定多個攝像機(jī)是非常有效的。但是,精確標(biāo)定需要多次移動,并不適用于工業(yè)場景。使用帶棋盤格的二維平面來實現(xiàn)相機(jī)標(biāo)定[5],即張氏標(biāo)定法,該方法只需要三幅以上的標(biāo)定圖像獲得初始值,然后通過優(yōu)化獲得精確的標(biāo)定結(jié)果。由于它不需要昂貴的標(biāo)定設(shè)備,而且可以很容易地獲得足夠的圖像進(jìn)行精確標(biāo)定,因此在攝像機(jī)標(biāo)定和視覺研究中得到了廣泛的應(yīng)用。然而,要獲得合適的初始值和準(zhǔn)確的標(biāo)定結(jié)果,需要三幅甚至更多的圖像,這就意味著需要對工作人員進(jìn)行更多的繁雜操作,不利于在線標(biāo)定與自動化。
因此,研究如何通過更少的圖像實現(xiàn)高精度的相機(jī)標(biāo)定是非常必要的。該文提出一種基于稀疏字典學(xué)習(xí)的相機(jī)標(biāo)定方法,通過離線構(gòu)造用于數(shù)據(jù)恢復(fù)的完備稀疏字典來稀疏表示相機(jī)參數(shù),在在線標(biāo)定過程中,只需一幅圖像就能準(zhǔn)確地恢復(fù)標(biāo)定參數(shù),有利于快速實現(xiàn)攝像機(jī)標(biāo)定,提高計算機(jī)視覺檢測的自動化。
2 張氏標(biāo)定相機(jī)模型
理想針孔攝像機(jī)模型在計算機(jī)視覺中得到了廣泛的應(yīng)用,理想針孔攝像機(jī)的投影模型將世界坐標(biāo)系轉(zhuǎn)換為像素坐標(biāo)系。如圖1所示。
3 稀疏字典構(gòu)建與學(xué)習(xí)
根據(jù)式(6),b包含相機(jī)內(nèi)參5個變量,根據(jù)式(9)方程組求解,在只有1張標(biāo)定板圖像的時候,無法求解準(zhǔn)確的相機(jī)內(nèi)參初值。所以本文將求解相機(jī)內(nèi)參的問題歸結(jié)為一個多變量的優(yōu)化問題,并從多變量優(yōu)化的角度提出一種基于稀疏字典學(xué)習(xí)的相機(jī)標(biāo)定方法。通過多組數(shù)據(jù)樣本訓(xùn)練,得到一個稀疏字典,使得b能夠在字典上稀疏表示為:
b=Dη(15)
其中,D是稀疏字典,而η是b在D上的投影。那么,式(9)可以表示為:
VDη=0
(16)
因為1張標(biāo)定圖提供一個單應(yīng)性矩陣H,H矩陣隱含相機(jī)內(nèi)參信息,而稀疏字典具有隱藏樣本數(shù)據(jù)特征的特點,因此,本文使用稀疏字典計算式(15),可以利用單幅圖像得到準(zhǔn)確的相機(jī)內(nèi)參初值,從而實現(xiàn)單幅圖像的高精密相機(jī)標(biāo)定。
3.1 K-SVD算法訓(xùn)練稀疏字典
稀疏字典的含義是,尋找一個稀疏系數(shù)x,以及字典D,使得Dx盡可能還原原始信號y,且x盡可能稀疏,x就是y的稀疏表示。稀疏字典學(xué)習(xí)的優(yōu)勢在于能對樣本數(shù)據(jù)實現(xiàn)降維表示,隱藏樣本數(shù)據(jù)最樸質(zhì)特征,提高計算速度。
稀疏字典學(xué)習(xí)的實現(xiàn)過程:通過離線采集相機(jī)標(biāo)定圖,通過張氏標(biāo)定法得到樣本數(shù)據(jù)Y,Y的每一列表示采集得到的一
對于上式優(yōu)化問題,常用-_SVD[7]訓(xùn)練方法進(jìn)行字典訓(xùn)練,根據(jù)誤差最小原則,使用SVD奇異值分解法對誤差項進(jìn)行分解,選擇使誤差最小的分解項,利用這個誤差最小的分解項更新字典的原子和對應(yīng)原子的稀疏編碼,經(jīng)過不斷迭代,最后可以得到優(yōu)化的解,以及優(yōu)化了的稀疏字典。因為目標(biāo)函數(shù)(18)存在兩個未知變量,K-SVD字典學(xué)習(xí)算法的過程首先是固定字典更新稀疏編碼,然后固定稀疏編碼更新字典,交替迭代更新,從而加快字典學(xué)習(xí)的目標(biāo)函數(shù)(18)收斂[8]。
3.2 基于稀疏字典的單幅圖像標(biāo)定
單幅圖像標(biāo)定計算過程如下:
1)用相機(jī)對二維平面標(biāo)定板進(jìn)行拍照,根據(jù)式(2)計算單應(yīng)性矩陣H;
2)根據(jù)式(18)計算矩陣V;
3)訓(xùn)練并得到稀疏字D,帶入式(16),求解稀疏編碼η,再根據(jù)式(15)可以求得b向量,即可根據(jù)式(10)得到相機(jī)內(nèi)參初始值;
4)通過式(11)計算相機(jī)外參;
5)初始化畸變系數(shù)為0,通過極大似然法對內(nèi)參、外參和畸變系數(shù)進(jìn)行優(yōu)化,得出最終結(jié)果。
由上述過程可知,使用稀疏字典算法,通過對多組樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)得到的稀疏字典,字典獲得樣本數(shù)據(jù)重要特征。此外,利用稀疏字典對數(shù)據(jù)樣本具有降維表示的特點,求出b所隱含的相機(jī)內(nèi)參的稀疏表示,可以實現(xiàn)1張標(biāo)定圖就能求出準(zhǔn)確的相機(jī)內(nèi)參初值,再通過極大似然優(yōu)化得到完整的相機(jī)內(nèi)外參數(shù)和畸變系數(shù)。
4 實驗結(jié)果
如圖2為樣本測試圖,使用的是邁德威視的MV-GE200GM-T相機(jī)。通過Tanimoto[9]系數(shù)對張氏標(biāo)定法計算9張標(biāo)定圖的相機(jī)內(nèi)參值與稀疏字典學(xué)習(xí)標(biāo)定法計算(1張標(biāo)定圖)的相機(jī)內(nèi)參值的最終優(yōu)化結(jié)果對比,其中,以張氏標(biāo)定法9張圖的結(jié)果為標(biāo)準(zhǔn)如表1一表4。
重投影誤差對比:實驗中使用重投影誤差作為評價指標(biāo)來對相機(jī)標(biāo)定結(jié)果進(jìn)行評價。重投影誤差公式為:
使用稀疏字典學(xué)習(xí)標(biāo)定法進(jìn)行標(biāo)定,通過式(19)計算標(biāo)定結(jié)果的重投影誤差;使用張正友標(biāo)定法9張標(biāo)定圖像情況下的進(jìn)行標(biāo)定,通過式(19)計算標(biāo)定結(jié)果的重投影誤差。兩種標(biāo)定方法的重投影誤差對比如圖3所示。
5 結(jié)論
本文提出了一種基于稀疏字典學(xué)習(xí)的攝像機(jī)標(biāo)定方法,該方法可以在一幅圖像上估計出合適的成像參數(shù)初值,并進(jìn)一步優(yōu)化所有標(biāo)定參數(shù)。我們分別計算了標(biāo)定參數(shù)的精度、重投影誤差。通過分別對3幅圖像和9幅圖像的張氏標(biāo)定法進(jìn)行比較,得出:(1)僅用一幅具有較大特征點的標(biāo)定物對攝像機(jī)進(jìn)行標(biāo)定,標(biāo)定參數(shù)的精度可達(dá)99%;(2)計算的重投影誤差在0.5像素的合理范圍內(nèi)。該方法使得標(biāo)定操作簡單,達(dá)到了滿意的標(biāo)定精度,進(jìn)一步提高了機(jī)器視覺檢測的自動化程度和檢測效率。
參考文獻(xiàn):
[1] Semeniuta, Oleksandr. Analysis of Camera Calibration withRespect to Measurement Accuracy[J]. Procedia Cirp, 41:765-770.
[2] Zhang G, He J, Yang X. Calibrating camera radial distortionwith cross-ratio invariability[J]. Optics and Laser Technology,2003, 35(6):457-461.
[3] Faugeras o D, Luong Q T, Maybank S J. Camera Self-Calibra-tion: Theory and Experiments[C]. European Conference onComputer Vision. Springer-Verlag, 1998.
[4] Zhang Z. Camera calibration with one-dimensional objects[J].lEEE Transactions on Pattern Analysis and Machine Intelli-gence, 2004, 26(7):0-899.
[5] Zhang Z. A Flexible New Technique for Camera Calibration[J]. lEEE Transactions on Pattern Analysis and Machine Intel-ligence, 2000, 22(11):1330-1334.
[6] AHARON, M. An algorithm for designing overcomplete dic-tionaries for sparse representation[J]. IEEE Transactions onSignal Processing, 2006, 54.
[7] Li Y, Li F, Bai B. Image fusion via nonlocal sparse K-SVDdictionary learning[J]. Applied Optics, 2016,55(7):1814-1826.
[8] Renjie WU, Kamata S. A Similar K-SVD Optimization Algo-rithm Generalizing the K-Means and the Bayesian tracking[J].Journal of Parasitology, 2013,57(5 7) : 1145-1168.
[9] Cha S., Yoon S. and Tappert C., Enhancing Binary FeatureVector Similarity Measures[R], CSIS Reports, 2005.