胡齡心,李 浩*
(1.河海大學(xué)地球科學(xué)與工程學(xué)院,江蘇 南京 211100)
深度相機能獲得被拍攝物體到鏡頭的距離值,在深度圖像上體現(xiàn)出物體的遠(yuǎn)近關(guān)系,能更加直觀地反映三維世界。深度相機本身具有便捷高效的特點,其在工業(yè)、農(nóng)業(yè)、交通、物流、醫(yī)療、機器人等領(lǐng)域發(fā)揮重要的作用,服務(wù)于目標(biāo)探測、姿態(tài)估計、運動估計、自主導(dǎo)航、三維重建等技術(shù)需求。一種高精度的深度相機標(biāo)定方法能夠獲得精確的相機參數(shù),成為相機高效使用的前提和保障。針對現(xiàn)有的標(biāo)定方法,本文進(jìn)行分類整理,比較不同方法的優(yōu)缺點,為后期深度相機標(biāo)定的研究和應(yīng)用提供一定的參考。
通過三維空間物體到二維平面的投影關(guān)系建立相機成像模型,可以獲得相機的內(nèi)方位元素。由于鏡頭制造等原因?qū)е聦嶋H成像點位置存在偏差,因此建立畸變模型來進(jìn)行校正。相機的標(biāo)定便是求解內(nèi)方位元素和畸變系數(shù)的過程。
普通相機接收物體反射的光線,通過傳感器將光信號轉(zhuǎn)換成電信號,繼而轉(zhuǎn)換成數(shù)字信號,從而獲得拍攝圖像。目前,對普通相機的標(biāo)定有基于標(biāo)定物的方法、自標(biāo)定方法[1]、基于主動視覺的方法[2-3]。ToF深度相機主動發(fā)射紅外光,再接收由物體反射的紅外光,根據(jù)時間差或相位差計算距離獲得深度圖像,根據(jù)反射光線量的不同獲得紅外圖像。但深度圖像沒有圖案紋理信息,故傳統(tǒng)的像點坐標(biāo)提取方法不可用,需要制作特殊標(biāo)定物。紅外圖像雖然能體現(xiàn)圖案信息但分辨率較低,會影響標(biāo)定效果。此外ToF 相機受拍攝物體材質(zhì)、拍攝距離的限制,拍攝的場景信息存在不完整情況,導(dǎo)致圖像上存在黑洞。因此,與普通相機相比,ToF 相機在像點坐標(biāo)的提取方面就存在一定的缺陷。
基于標(biāo)定物的標(biāo)定方法精度較高,且標(biāo)定物在ToF 相機成像范圍內(nèi)能較完整成像,目前對ToF 相機的標(biāo)定主要采用標(biāo)定物的方法。選用的標(biāo)定物有線狀物體、棋盤格、圓孔板、控制場等,通常將它們分為一維、二維、2.5 維和三維的標(biāo)定物。確定使用的標(biāo)定物后,通過建立標(biāo)定點在世界坐標(biāo)系與像素坐標(biāo)系之間的映射關(guān)系,從而解算相機參數(shù)。ToF 相機沿用普通相機的成像模型,使用的解算方法有線性標(biāo)定法、單應(yīng)矩陣法、共線條件法(直接線性變換法、光束法)。
基于標(biāo)定物的標(biāo)定方法需要借助三維空間中位置已知的物體,將標(biāo)定物上已知位置的點和圖像上的點實現(xiàn)一一對應(yīng),從而計算相機的內(nèi)方位元素。該方法精度較高,同時在靈活性和魯棒性之間取得了綜合的效果。
共線條件方程是攝影測量常見的基本方程式,根據(jù)像點、投影中心、物點位于同一條直線上建立共線表達(dá)式:
式中,x0、y0、f 表示相機內(nèi)方位元素;x、y 表示像點的像平面坐標(biāo);XS、YS、ZS表示攝站點的物方坐標(biāo);XA、YA、ZA表示物點的物方坐標(biāo);φ、ω、κ 表示圖像的角元素。
在相機的標(biāo)定方法中直接線性變換法和光束法都是建立在共線條件方程的基礎(chǔ)上。直接線性變換法(DLT)是Abdel 等[4]1971 年首次提出的,建立像素坐標(biāo)系到世界坐標(biāo)系之間的直接線性關(guān)系,采用最小二乘原理求解。但方法未考慮畸變影響,導(dǎo)致精度較低,后期采用非線性優(yōu)化的方式提高精度。光束法平差(BA)在1958 年被引入攝影測量領(lǐng)域[5],以共線方程為數(shù)學(xué)模型,對誤差方程線性化后通過迭代的方式進(jìn)行解算。自檢校光束法平差在光束法基礎(chǔ)上引入附加參數(shù)進(jìn)行平差計算,在相機標(biāo)定中通常將畸變系數(shù)作為附加參數(shù)。
基于控制場的共線條件法在普通相機的標(biāo)定中使用較廣,但因深度相機本身的限制,對控制場有一定的要求,否則存在成像效果不佳的情況。目前,主要使用回光反射材料制作控制場靶標(biāo),在紅外圖像上識別并提取標(biāo)定點。趙強[6]基于控制場實現(xiàn)ToF 相機的標(biāo)定,通過DLT 求解初值并以迭代的方式優(yōu)化,使用自檢校光束法對相機參數(shù)進(jìn)一步調(diào)整,得到較好的結(jié)果。Kahlmann 等[7]引入額外光源增強紅外圖像上點的顯示效果,在平板上按等間隔距離布設(shè)紅外LED,制作主動發(fā)射光源的標(biāo)定板,采用自檢校光束法平差的原理解算相機內(nèi)方位元素。由于該方法中控制點是共面分布,會影響平差效果從而降低標(biāo)定精度,但該方法對標(biāo)定板的改進(jìn)為日后的標(biāo)定研究提供了新的思路。
一維線性標(biāo)定法是張正友[8]2004 年提出的根據(jù)標(biāo)定物上的共線點實現(xiàn)標(biāo)定的方法,需要使用包含3 個共線已知點的線狀物體做標(biāo)定物,標(biāo)定過程中需要固定物體一端而不斷變化另一端位置,獲得拍攝的多幅圖像,通過物點和對應(yīng)像點間的轉(zhuǎn)換關(guān)系以及共線點的線性約束建立方程(式3),從而求解相機參數(shù)。
式中,a,b,c 表示標(biāo)定物上3 個點(A,B,C)在圖像坐標(biāo)系下的齊次坐標(biāo)形式;λ1、λ2為已知常數(shù),表示標(biāo)定點之間的位置關(guān)系;L 表示標(biāo)定物長度;K 表示內(nèi)方位元素矩陣,ZA表示A 點相對深度。
Diana 等[9]2017 年使用線性標(biāo)定法實現(xiàn)對多ToF相機的標(biāo)定,通過R-最近鄰算法實現(xiàn)不同視角點云對齊狀態(tài)下的匹配,利用三維匹配點和二維投影點建立相機參數(shù)矩陣,加入徑向和切向畸變系數(shù)實現(xiàn)最終非線性優(yōu)化。但該類標(biāo)定方法普遍精度較低,同時算法對圖像的噪聲較為敏感,因此標(biāo)定精度有待提升。而一維的標(biāo)定物構(gòu)造簡單,能很好地解決遮擋、重疊問題,同時減少角點提取的工作量,在深度圖像中能更好地減輕物體邊緣模糊的現(xiàn)象,相較于其他標(biāo)定物,其在多深度相機的標(biāo)定中值得深入研究。
張正友[10]1999 年提出基于棋盤格的單應(yīng)矩陣標(biāo)定方法,將像素坐標(biāo)(u,v)和世界坐標(biāo)(X,Y,Z)的映射關(guān)系用單應(yīng)矩陣H 的形式表現(xiàn):
包含如下的約束關(guān)系:
使用拍攝的多張圖像,根據(jù)最小二乘原理求解相機內(nèi)方位元素K。考慮徑向畸變的影響,使用的畸變模型如下:
通過最小二乘原理求解畸變系數(shù)k1,k2,最后對相機參數(shù)進(jìn)行非線性優(yōu)化。
由于棋盤格圖案制作方便,且算法具有較好的魯棒性,因此對普通相機和深度相機都是使用最多的標(biāo)定方法。對深度相機的標(biāo)定使用的是紅外圖像,但受紅外圖像分辨率的影響較大,會造成角點的提取誤差?,F(xiàn)有對單應(yīng)矩陣求解方法的改進(jìn)主要體現(xiàn)在3 個方面:增強圖像顯示、改進(jìn)標(biāo)定物、優(yōu)化標(biāo)定參數(shù)。
2.3.1 圖像顯示方面的改進(jìn)
Marvin 等[11]2006 年通過多幅灰度圖像取均值的方法抑制噪聲影響,并利用直方圖歸一化來增強灰度圖像的對比度,采用雙線性重采樣的方法增加圖像的分辨率,從而提高角點檢測的準(zhǔn)確性。
Sven 等[12]2012 年對ToF 相機得到的紅外圖像進(jìn)行雙三次上采樣,得到亞像素精度,采用非銳化掩膜的方法來增強局部對比度。并對棋盤格圖案添加自編碼標(biāo)記,實現(xiàn)角點的自動快速檢測,最后使用單應(yīng)矩陣的方法求解相機元素。該方法縮短了標(biāo)定點檢測的時間,同時提高了標(biāo)定點識別的正確率。
Ramanpreet 等[13]2014 年分析棋盤格上黑色方形比白色方形的散粒噪聲高,利用分割技術(shù)提取出白色方形并計算其對應(yīng)的點云數(shù)據(jù),通過對點云數(shù)據(jù)擬合平面來獲得亞像素角點的深度d?。考慮相機投影模型中相似三角形原則,在歸一化平面上結(jié)合深度值d?來表示實際的三維點xic,N(i)表示角點i 的周圍點,引入真實棋盤格的大小csize,構(gòu)建參數(shù)方程對內(nèi)方位元素進(jìn)行優(yōu)化:
該方法創(chuàng)新地利用深度值與實際棋盤格大小相關(guān)聯(lián),實現(xiàn)對相機參數(shù)的優(yōu)化,在保證精度的同時,使用較少的圖像和角點信息,具備一定的優(yōu)勢。
2.3.2 標(biāo)定物選取方面的改進(jìn)
標(biāo)定板除了棋盤格圖案也有圓形圖案,與提取棋盤格角點不同,這里將圓心作為標(biāo)定點。Jiyoung 等[14-15]2011 年針對ToF 相機提出圓孔標(biāo)定板,在標(biāo)定板上的隨機位置通過挖孔的方式來增加距離信息。對深度圖像采用雙三次插值來提高分辨率,通過單應(yīng)矩陣的方法得到畸變系數(shù),消除圖像的徑向畸變。最后考慮重投影誤差,采取非線性優(yōu)化,提出的圓孔標(biāo)定板實現(xiàn)了在深度圖像上標(biāo)定,今后基于深度圖像的研究有待繼續(xù)深入。
在圓形圖案的基礎(chǔ)上,對標(biāo)定點的提取位置也有改進(jìn)。David 等[16]2015 年提出將多個圓形通過組合的形式來定義標(biāo)定點,考慮到圖像分辨率低導(dǎo)致圓心提取存在誤差,將標(biāo)定板上各個圓心以“×”形式連線的交點作為標(biāo)定點。首先固定的小范圍內(nèi)計算單應(yīng)矩陣,使用模板匹配的方式對該范圍內(nèi)的標(biāo)定點位置進(jìn)一步細(xì)化,然后逐步擴大范圍直至檢測到整個標(biāo)定板。該方法提出了一種標(biāo)定點定義的新模式,不再局限于棋盤格角點和圓心點,為今后標(biāo)定點的位置選擇提供了更多可能性。
2.3.3 參數(shù)優(yōu)化方面的改進(jìn)
在獲得相機參數(shù)初值后,通過構(gòu)建相應(yīng)的誤差方程可以實現(xiàn)對相機參數(shù)的優(yōu)化。
通過建立深度圖像和紅外圖像方程,定義觀測值殘差平方和,確定方差因子從而對相機參數(shù)實現(xiàn)優(yōu)化。Christian 等[17]2008 年和Ingo 等[18]同時考慮深度圖像和反射圖像,建立約束方程分別表示合成的深度圖像和反射圖像(式9),按泰勒公式一階展開,建立相應(yīng)的參數(shù)協(xié)方差,用來改進(jìn)參數(shù)向量(式10),采取迭代的方式直到收斂,最終實現(xiàn)對相機參數(shù)的優(yōu)化。Marvin 等[19]2010 年采取兩步優(yōu)化的方法,首先利用單應(yīng)矩陣獲得初值,將角點重投影誤差最小化,然后將Ingo 等的優(yōu)化方法應(yīng)用到紅外圖像上,實現(xiàn)對相機參數(shù)的優(yōu)化。
Alina 等[20]2014 年使用單應(yīng)矩陣的方法獲得相機參數(shù)初始值,根據(jù)法向量ni和偏移量θi將棋盤格平面參數(shù)化(式11),根據(jù)角點paik與重投影點paik的差值、深度測量值dil與預(yù)測值dil 之間的差值,建立誤差方程(式12),實現(xiàn)基于角點重投影誤差和基于平面約束誤差的聯(lián)合優(yōu)化,最終達(dá)到對相機參數(shù)的優(yōu)化。
目前對ToF 深度相機標(biāo)定的研究都是基于標(biāo)定物的方法,沿用普通相機的成像模型,深度相機在標(biāo)定以及應(yīng)用方面還有待深入研究。
在深度相機的標(biāo)定方面存在著以下的不足:
1)受標(biāo)定物的影響較大。一維標(biāo)定物對圖像的噪聲有強烈的敏感性,造成標(biāo)定精度較低;二維和2.5 維標(biāo)定物提取的角點數(shù)目較多,但受分辨率等影響存在較多的位置誤差,影響標(biāo)定的效果;三維控制場需使用特殊材料制作,成本較高且使用群體受限。
2)受拍攝條件的影響大。深度相機測量距離的約束限制了其獲取信息的范圍,受物體反射的影響限制了信息的完整性,黑色物體或全透光物體則會影響信息的準(zhǔn)確性,現(xiàn)有標(biāo)定方法未能充分考慮多種因素對標(biāo)定效果的影響。
3)標(biāo)定點的提取精度有待提升。深度圖像和紅外圖像都受到分辨率的限制,導(dǎo)致標(biāo)定點存在較大的位置誤差,而進(jìn)行過多的預(yù)處理步驟會影響原始數(shù)據(jù)的可靠性。
4)相機模型有待改進(jìn)。目前的標(biāo)定延用普通相機的成像模型,模型中缺少對深度值的考慮。目前的方法是在優(yōu)化過程中引入深度值,若某個點的深度值存在較大誤差,則對整個優(yōu)化過程會產(chǎn)生較大影響。
5)標(biāo)定方法受限。深度相機因設(shè)備的限制導(dǎo)致標(biāo)定點提取存在誤差,給解算方法帶來了挑戰(zhàn),目前的算法受噪聲、點位誤差影響較大,算法的穩(wěn)定性有待提高。
針對目前標(biāo)定方法的不足,對其未來發(fā)展進(jìn)行以下推測:由于相機本身測量距離近以及獲得圖像分辨率低的限制,在提升精度方面更大可能從標(biāo)定物本身入手,研究一種精度較高同時成像效果較佳的物體來提供約束關(guān)系,減輕點位誤差造成的影響。同時為適應(yīng)低分辨率圖像,高精度的標(biāo)定點提取問題亟待解決??梢砸朦c云數(shù)據(jù),結(jié)合距離信息提高標(biāo)定點的位置提取精度。在后期的優(yōu)化方面,深入探究不同誤差項對標(biāo)定結(jié)果的影響,建立約束效果強的誤差方程,增加參數(shù)優(yōu)化的可靠性。未來深度相機的硬件設(shè)備也日益完善,可能服務(wù)于高精度的測量場合,基于三維標(biāo)定物的方法將被更多地使用。
深度相機在三維重建領(lǐng)域使用廣泛,而多相機組合的方式能提高建模效率,但給多深度相機標(biāo)定提出了挑戰(zhàn)。線狀物體在深度圖像中不存在自身遮擋問題,不同方向成像存在差異,將其作為標(biāo)定物在多深度相機聯(lián)合標(biāo)定中存在優(yōu)勢。在一些精度要求較低的場合,追求的是更加靈活的標(biāo)定方法。選擇結(jié)構(gòu)簡單的物體或位于相機成像范圍內(nèi)的場景信息,通過多幅圖像間的匹配點建立約束方程,探究更為靈活的標(biāo)定方法。
未來對深度相機標(biāo)定的研究應(yīng)充分考慮深度相機獲得物體距離值的特性,對相機成像模型進(jìn)行改進(jìn),實現(xiàn)三維坐標(biāo)到三維坐標(biāo)的映射關(guān)系,對相機參數(shù)標(biāo)定的同時實現(xiàn)對相機測距精度的確定。
現(xiàn)有的ToF 深度相機標(biāo)定方法主要使用張正友棋盤格的方法,是目前深度相機標(biāo)定的主流方法。該方法受圖像分辨率的影響,存在一定的提取誤差,需要采取措施加以改進(jìn),減少角點的位置誤差。后期通過引入重投影誤差項或深度測量誤差項建立誤差方程,采用非線性優(yōu)化的方法提高參數(shù)精度。未來對ToF 相機標(biāo)定的研究更應(yīng)該結(jié)合相機本身的成像特點,考慮自身具有約束的三維物體做標(biāo)定物,引入距離值改進(jìn)標(biāo)定模型,在參數(shù)優(yōu)化方面尋找更穩(wěn)健的參數(shù)。針對服務(wù)領(lǐng)域的不同,探究不同的相機標(biāo)定方法,做到與實際應(yīng)用更好地結(jié)合。