張 杰,馬曉東,張吉旋
(中國飛行試驗研究院, 西安 710089)
根據(jù)系統(tǒng)中使用的視覺傳感器(測量攝像機)的數(shù)量,傳統(tǒng)的光學測量可以簡單地分為單目視覺測量、雙目視覺測量以及多目視覺測量[1]。為提高測量精度,增加空間約束關系,一般采用雙目視覺測量為主,通過目標在兩個攝像機上的成像關系計算其空間坐標。單目視覺測量是指采用一臺視覺傳感器獲取被測目標空間位置關系,其系統(tǒng)簡單、成本低、易實現(xiàn),在二維位置測量或準三維位置測量中使用較多。根據(jù)CCD攝像機的特點,在進行攝影測量時,應盡量使CCD成像面與被測量平面平行,但在實際的應用中,物象平行是很難達到的。
單目視覺用于二維位置測量時,因為攝像機中心位置靠近光學中心,成像畸變小、標定精度高,可以在小目標測量中獲取較高的靶面測量精度[2]。在大目標平面位置測量中,光學系統(tǒng)覆蓋面積大,圖像邊緣嚴重畸變。因此,如何提高大視場相機在單目視覺測量中的標定精度和測量精度一直是單目視覺研究的熱點和難點。
大視場單目視覺測量系統(tǒng)構建中需要大型高精度2D或3D靶標進行標定與數(shù)據(jù)分析。這種高精度靶標對精度控制、安裝使用以及后期的維護有很高的要求,需要耗費較多的人工成本。所以,探索一種新的大靶面視場的標定方法顯得尤為重要。本研究根據(jù)攝影測量原理,在完成攝像機標定的基礎上,對大靶面進行分割,將分割的小平面與標定結果相對應,實現(xiàn)了平面內物體的位置的測量。
攝像機的標定是視覺測量系統(tǒng)的重要組成部分。傳統(tǒng)的標定方法所產(chǎn)生的誤差,會隨著視場的增大而增大。通過建立大靶面視場模型,并對攝像機的畸變特性以及待測參數(shù)在視場內不同區(qū)域的變化特點進行分析。在進行攝像機畸變參數(shù)標定的基礎上將大靶面拆分為很多小的靶面,利用透視變換模型對拆分的小靶面逐個標定,根據(jù)幾何對應關系把標定好的小靶面組合起來從而實現(xiàn)對攝像機大視場的標定[4]。
對平面中任意一點坐標進行計算時,需要對攝像機進行標定圖像中任意一點畸變后的坐標為(xd,yd),理想點與畸變點之間的關系為[5]:
(1)
式中:k為畸變系數(shù),采用張正友圖像標定算法可以得到需要的畸變系數(shù)。
在視覺測量中,經(jīng)攝像機拍攝成像后,將三維目標信息立體圖像以二維平面圖像進行顯示,必定存在數(shù)據(jù)信息的丟失[6]。在實際測量中,假設圖像坐標(ui,vi)和目標平面上的原始坐標(xwi,ywi,zwi)。兩者投影的不均勻對應可以描述為[7-9]:
(2)
其中:Zc為該點深度信息即攝像機坐標系下光軸所在坐標,f/dx、f/dy、u0、v0為攝像機內參,R、T為相對位姿參數(shù),經(jīng)如圖1所示坐標轉換,可得:
圖1 坐標系變換
其中本文中選定點在同一靶面且滿足zwi=0,故式(2)可變換為:
(3)
將式(3)變換展開可得:
(4)
由式(4)可得:
zc=r31xwi+r32ywi+tz
(5)
將式(5)代入式(4),可得:
(6)
擴充到n個點,這些點像素坐標及世界坐標均已知,聯(lián)立式(6)并將其改寫為Ax=b的形式可得[10]:
(7)
當n≥4,式(7)有唯一解,為[11]:
x=(ATA)-1ATb
(8)
根據(jù)以上公式推導,在大靶面的標定過程中通過獲取同一平面上的4個點(8個數(shù)據(jù)),根據(jù)式(8)計算可得到R、T相關位姿參數(shù)信息,完成單目視覺大靶面平面位置測量系統(tǒng)的標定。
所謂圖像分割,主要指的是根據(jù)灰度、顏色、紋理和形狀等目標圖像自身的特征,把圖像劃分成若干個互不交迭的區(qū)域,并使這些特征在同一區(qū)域內呈現(xiàn)出相似性,而在不同區(qū)域間呈現(xiàn)出明顯的差異性。在本文的研究中,圖像分割的作用是將大視場的標定問題轉化到多個小視場內解決,這樣就避免了大視場光學成像系統(tǒng)成像邊緣畸變過大導致失真的問題。
圖像分割算法常用的主要有3種,分別是基于閾值、邊緣和區(qū)域對圖像進行相關處理。顧名思義,閾值法主要需要是按照某個準則函數(shù)來求解最佳灰度閾值,根據(jù)圖像的灰度特征來將其分到合適的類別中。邊緣法則是根據(jù)邊緣線中的特征突變信息,具體實現(xiàn)可利用圖像與模板進行卷積來完成。區(qū)域法中最常見的算法為分水嶺算法,是基于拓撲理論的數(shù)學形態(tài)學的分割方法進行。
基于邊緣的區(qū)域分割算法中,傳統(tǒng)的canny算法[12]依舊是由邊緣檢測和連接邊緣形成邊界兩部分組成。首先對圖像進行平滑,采用一維零均值高斯濾波器進行卷積操作,其中濾波器函數(shù)為:
(9)
接下來需要從水平和垂直兩個方向,通過一階偏導的有限差分,采用2×2大小的模板,計算出圖像的梯度幅值和方向,計算公式如下:
(10)
最后通過設定高、低閾值,通過與閾值比較確定圖像的邊緣[13]。
經(jīng)過改進的canny邊緣檢測分割算法中,對平滑過程中的濾波函數(shù)進行引導,代替原始的高斯濾波,或借鑒不同的邊緣檢測算子,對邊緣的梯度進行改進計算,以便能夠使邊緣定位更加準確。同時,閾值的選擇也十分重要,根據(jù)圖像自適應選取,可以提高圖像的信噪比,對后期進一步進行圖像處理有很大的促進作用。
在本文的研究中,線掃描激光器有很好的準直性,如圖2所示,實驗所用線掃描激光器在10 m內的誤差為±1 mm,對標定產(chǎn)生影響較小。
利用線掃描激光器對待測區(qū)域進行逐行或者逐列掃描,結合攝像機進行等時間間隔成像,獲取多個單根激光線的圖像。掃描過程中,攝像機處于靜止狀態(tài),最后將多幅圖像進行合成即可完成大靶面的高精度區(qū)域分割,形成一副完整的掃描圖。
最終單根激光線圖像的疊加,本質上就是每一組對應點像素值的求和。灰度值越高,圖像越趨近于白色,灰度值越低,圖像越趨近于黑色。進而疊加的圖像越多,圖像就越白,線激光器的顏色就會被白色取代。因此,需要對待疊加的圖像進行處理,提高圖像的對比度,將圖中的背景設置為黑色(像素值為0),消除灰度值疊加帶來的影響。
圖2 線掃描激光器對大靶面進行區(qū)域分割
基于區(qū)域分割的圖像處理技術可分為3個步驟進行,首先對采集到的圖片進行濾波,濾除噪聲干擾。濾波后的圖像如圖3所示。
圖3 濾波后的圖像
本文用線掃描激光器把5 000 mm×2 200 mm的視場分割成多個連續(xù)的400 mm×400 mm矩形區(qū)域,對攝像機經(jīng)過透視變換進行標定。
對實驗中的每張圖片來說,其光照強度不同,閾值也就不同。將其RGB色彩空間轉換為HSV空間,進行重復多次試驗,確定出在HSV空間提取線激光的最佳閾值范圍為0.38~0.14,閾值隨光照變強而逐漸減小。所以要根據(jù)圖像像素值的不同選取不同閾值的累加器。
激光線準直性好,且待處理圖像中的背景噪聲少,可用霍夫直線檢測算法提取激光線特征。所謂直線檢測,即對于直角坐標系中的任意一點A(x0,y0),經(jīng)過點A的直線滿足y0=kx0+b(k是斜率,b是截距)。但這種坐標系下,會出現(xiàn)一種特殊情況,那就是k是無窮大時,無法表示直線方程。此時,將坐標系換為極坐標系,根據(jù)對偶性將圖像中的像素點映射到參數(shù)空間下一條正弦曲線,使用直線的法線表示:l=xcosθ+ysinθ,其中-D≤l≤D,-90°≤θ≤90°,θ為與正x軸的夾角,D是圖像對角線最大距離[14]。這就是霍夫變換直線檢測的基本原理。
設置一個合適的門限值,將累加器中累計值小于所設定門限的點歸零。圖像中低于所設門限值的點與圖像中的線掃描激光器成像直線沒有直接的對應關系。查找霍夫變換累加器,用累加器中最大累計值標記該點,將其余區(qū)域設置為零,繼續(xù)查找剩余圖像,并記錄下一個點,直到霍夫變換累加器中的所有累加值都設置為零。沒有置零的點就是需要提取的直線上的點[14]。將所有的非零點連接起來,記錄檢測結果,如圖4所示。
圖4 檢測結果
最后,將所有采集到的圖像處理后疊加到一起的效果圖如圖5所示。掃描區(qū)域需要覆蓋或大于整個測量靶面,從圖5中可以看出,除紅色的激光外,所有區(qū)域均為黑色,說明本文區(qū)域分割算法對于大靶面的處理效果顯著。
圖5 線掃描激光器分割的網(wǎng)格
在對整個靶面進行區(qū)域分割后,需要對視場內的某一點的空間位置進行處理定位。首先對圖像進行處理,提取出目標在圖像中精確的坐標位置,根據(jù)生成的激光網(wǎng)格,找出這個點對應的小區(qū)域,最后按照標定的數(shù)學模型以及物象對應關系計算出實際目標點的空間位置。
目標所在位置如圖6(a)所示,首先對圖像中捕捉到的目標進行圖像坐標提取,得到目標的中心點坐標后,找出它所屬的小分割區(qū)域。如圖6(b)所示,在這個小區(qū)域內求得點的位置,根據(jù)標定時線激光掃描的寬度以及高度,就可以將這個點還原到整個大靶面內的位置,從而得到其在靶面中的精確坐標。實驗中選取50組點進行精度驗證,所得部分結果如表1所示。
圖6 目標與解算區(qū)域的關系
名稱計算坐標/mm實際坐標/mm誤差/mmx1400398.41.6y1400401.2-1.2x21 2001 199.50.5y21 2001 200.7-0.7x32 5002 500.00y31 1001 100.3-0.3x43 8003 998.51.5y42 0002 001.8-1.8x54 0003 998.71.3y5600601.3-1.3
從計算結果可以知道,列出的5個目標點計算精度均小于2 mm。誤差分布范圍在測量平面的中心區(qū)域精度最高,邊沿區(qū)域精度有所下降,總體精度能夠滿足大靶面位置測量要求。
針對單攝像機對平面空間上大區(qū)域范圍的位置測量問題,研究了矯正透視變換的方法,將大靶面通過激光二維分割變?yōu)樾“忻嫖恢脺y量,從而提高平面邊緣區(qū)域的測量精度。通過實驗分析,采用攝像機標定和區(qū)域分割法計算平面坐標,可以大大減小測量誤差,對提高大視場下單個攝像機平面約束空間位置的測量精度具有良好的效果。