遲龍云,張 海,趙晨旭
(1. 北京航空航天大學(xué)自動化科學(xué)與電氣工程學(xué)院,北京100083;2.北京航空航天大學(xué)中法工程師學(xué)院,北京 100083)
為了保證大型場景的安全穩(wěn)定,視頻監(jiān)控作為一種安防的有效手段,已經(jīng)被廣泛應(yīng)用在各種復(fù)雜的公共場合。由計算機代替人眼對視頻進(jìn)行分析處理,不僅可以減輕監(jiān)控人員的勞動強度、提高監(jiān)控識別的準(zhǔn)確率,而且還可以提供許多人工監(jiān)控不能實現(xiàn)的功能。目前的監(jiān)控技術(shù)大多都采用一個固定安裝的攝像機對某個場景進(jìn)行監(jiān)控。對于場景比較大的區(qū)域如機場、火車站、海關(guān)、停車場等,由于傳統(tǒng)的攝像機的視野范圍有限,不能同時獲取周圍環(huán)境中所有目標(biāo)的位置,監(jiān)控人員需要對著多個監(jiān)控畫面分別進(jìn)行觀察,對目標(biāo)的監(jiān)控定位只能限定在有限的攝像機監(jiān)控范圍內(nèi)[1],這樣不僅喪失了對目標(biāo)監(jiān)控的連續(xù)性,更不利于從整體上把握分析監(jiān)控目標(biāo)的狀態(tài)。因此,需要一種經(jīng)濟的廣角圖像生成技術(shù)實現(xiàn)對大場景的廣角監(jiān)控,以多攝像機拍攝圖像為基礎(chǔ)的圖像拼接技術(shù)應(yīng)運而生。
早期的圖像拼接技術(shù)以Brown等[2]的Auto-Stitch算法為代表,但是該算法有2個應(yīng)用前提:拍攝到場景大致在一個平面上和拍攝圖片時的光心位置必須相同。當(dāng)拍攝場景或拍攝條件不符合以上情況時,拼接結(jié)果會產(chǎn)生明顯的重影。Gao等[3]提出了基于雙單應(yīng)性矩陣假設(shè)的拼接算法,即假設(shè)待拼接圖像可以分為背景和地面2個基本平面,通過計算2個平面對應(yīng)的單應(yīng)性矩陣,實現(xiàn)圖像的精確配準(zhǔn)。Lin 等[4]使用仿射變換對齊圖像,能夠處理一定視差下的圖像拼接問題。網(wǎng)格優(yōu)化模型是一套靈活的圖像優(yōu)化框架,網(wǎng)格優(yōu)化方法以Zara-goza等[5]提出的盡可能投影(As Projective As Po-ssible Image Stitching,APAP)算法為代表,將圖像劃分為均勻的網(wǎng)格,并分別為每個網(wǎng)格計算一個單應(yīng)矩陣,使用局部單應(yīng)性對齊圖像。Lin 等[6]提出了使用縫合線引導(dǎo)的局部單應(yīng)對齊(Seam-guided Local Alignment,SEAGULL)方法,通過聚類產(chǎn)生多條局部單應(yīng)性矩陣假設(shè),然后計算最佳縫合線生成一系列的候選拼接結(jié)果,并提出了一種評價標(biāo)準(zhǔn)來評估縫合效果,最后選擇得分最高的結(jié)果作為最終的全景圖像。Chang 等[7]提出了形狀保護(hù)半投影(Shape-Preserving Half-Projective,SPHP)算法,通過引入結(jié)構(gòu)保護(hù)方法,使得圖像的非重疊區(qū)域到重疊區(qū)域,由相似變換逐漸過渡到透視變換,不僅可以使重疊區(qū)域準(zhǔn)確對齊,并且能最大限度地減少非重疊區(qū)域的投影失真。Chen等[8]提出的具有全局相似性先驗的自然圖像拼接(Natural Image Stitching with the Global Similarity Prior,NISwGSP)算法使用APAP初始化網(wǎng)格,并同時利用局部相似項和全局相似項對網(wǎng)格優(yōu)化結(jié)果進(jìn)行約束,減小了投影失真,大大提升了多張圖像的拼接效果。
針對存在視差的圖像拼接問題,現(xiàn)有算法雖然能得到一定的拼接結(jié)果,但是仍會出現(xiàn)重影、鬼影和形狀扭曲變形等問題。因此,需要研究全局配準(zhǔn)方法的局部優(yōu)化問題,盡可能地消除投影畸變,實現(xiàn)重疊區(qū)域的平滑過渡。
論文基于NISwGSP算法進(jìn)行改進(jìn),針對該算法特征匹配數(shù)量較少并且分布不均勻、特征稀疏區(qū)域配準(zhǔn)方法不合理及直線結(jié)構(gòu)容易遭到破壞等問題,對特征點篩選算法加以改進(jìn),利用超像素區(qū)域輔助網(wǎng)格匹配點的篩選,并對網(wǎng)格優(yōu)化過程添加直線保持項,以實現(xiàn)部分重疊區(qū)域的合理配準(zhǔn)。最后采用最佳縫合線的方法避免了未配準(zhǔn)區(qū)域出現(xiàn)重影,提升了大視差復(fù)雜場景下的拼接性能并保持了拼接結(jié)果的合理性。在由上述方法得到大場景下的全景圖像后,調(diào)用最優(yōu)攝像機配置資源實現(xiàn)對圖像中目標(biāo)的快速定位,方便監(jiān)控人員從整體上直觀把握前景目標(biāo)的位置。
該算法首先對所有待拼接的圖像進(jìn)行快速特征點提取和描述 (Oriented FAST and Rotated BR-IEF,ORB)[9]并進(jìn)行暴力匹配得到候選匹配信息。傳統(tǒng)的隨機抽樣一致性(Random Sample Consen-sus,RANSAC)算法[10]針對純旋轉(zhuǎn)條件下的錯誤匹配點剔除十分有效,但是當(dāng)拍攝2張待拼接圖像的相機光心不再重合時,圖像之間對應(yīng)的轉(zhuǎn)換關(guān)系不能單純地利用一個單應(yīng)性矩陣來表達(dá),該算法便無法獲得足夠多的正確匹配點對。針對此問題,本文利用魯棒的多平面RANSAC算法[11]實現(xiàn)了大視差圖像間的匹配點對的有效篩選。通過計算多組可能的假設(shè)模型,每組假設(shè)模型對應(yīng)一個全局單應(yīng)性矩陣或全局基礎(chǔ)矩陣,找到使得匹配點投影誤差小于閾值數(shù)量最多的假設(shè)模型即為最終合理的模型。模型對應(yīng)的投影殘差小于閾值的候選匹配點即為篩選后的匹配點。經(jīng)過篩選后的正確匹配點為后續(xù)的網(wǎng)格匹配點生成及圖像配準(zhǔn)過程提供支持。
為了使圖像匹配點位置分布更加均勻,在得到正確匹配特征點后,將輸入圖像分別劃分為均勻的網(wǎng)格,然后用APAP算法將重疊區(qū)域的網(wǎng)格頂點利用局部單應(yīng)性矩陣投影得到相應(yīng)的網(wǎng)格匹配點。
Mij=
{(Vi1,P(Vi1)),(Vi2,P(Vi2)),…,(Vik,P(Vik))}
(1)
其中,P(·)為網(wǎng)格頂點經(jīng)局部單應(yīng)性矩陣投影后的圖像坐標(biāo),并且P(Vjk)位于圖像Ij內(nèi)。同理定義集合Mji為對于頂點Vjk滿足P(Vjk)位于圖像Ii內(nèi)的匹配點對集合,即(P(Vjk),Vjk)∈Mji。以Mij∪Mji表示圖像Ii和圖像Ij中所有區(qū)域初步得到的網(wǎng)格點匹配對集合。
(2)
(3)
(4)
(5)
λgΨg(V)+λsΨs(V))
(6)
在式(6)中,Ψa(V)為區(qū)域配準(zhǔn)項,Ψl(V)為局部相似項,Ψg(V)為全局相似項,Ψs(V)為直線保持項,λl、λg、λs分別為各項對應(yīng)的系數(shù)。
區(qū)域配準(zhǔn)項:在得到網(wǎng)格匹配點后,區(qū)域配準(zhǔn)項通過最小化匹配點之間的像素坐標(biāo)誤差,求取最優(yōu)的網(wǎng)格頂點位置集合。具體可以表示為
(7)
局部相似項:為了保證匹配點附近的網(wǎng)格在配準(zhǔn)時不會發(fā)生局部扭曲的現(xiàn)象,該項通過局部相似變換的方式最小化網(wǎng)格的形變量,可以使變換合理地由重疊區(qū)域過渡到非重疊區(qū)域。具體定義如下
(8)
(9)
全局相似項:該項通過上文求取的全局尺度項和全局旋轉(zhuǎn)項保證待拼接的圖像能夠自然地投影到最終的全景圖像平面上。能量函數(shù)定義如下所示
(10)
(11)
直線保持項:在NISwGSP算法中,當(dāng)圖像中的直線結(jié)構(gòu)穿越多個網(wǎng)格時,由于每個網(wǎng)格進(jìn)行的變換均不相同,可能會導(dǎo)致直線在經(jīng)過變形之后失去原本的特性。針對此問題,算法設(shè)計了直線保持項。在計算該項之前,首先利用LSD算法分別檢測待拼接圖像中的直線,并根據(jù)直線的長度對其進(jìn)行篩選,當(dāng)直線長度大于網(wǎng)格對角線長度時,以該直線起點作為起始采樣點對直線上的點進(jìn)行均勻采樣,最后將采樣點作為優(yōu)化項的輸入?yún)⑴c網(wǎng)格頂點的優(yōu)化過程。該項的具體形式為
(12)
待拼接圖像經(jīng)過對準(zhǔn)后必須通過融合才能形成完整的全景圖像。傳統(tǒng)的圖像融合算法有多分辨率融合算法、加權(quán)平均法、泊松融合算法和最佳縫合線算法等[18]。多分辨率融合算法具有算法復(fù)雜度低、速度快等特點,但是當(dāng)圖像重疊區(qū)域不能嚴(yán)格對齊時,融合效果并不理想;加權(quán)平均法速度較快,但是容易出現(xiàn)偽影和曝光等問題;泊松融合算法融合效果較好,但是計算量較大并且用時太長;最佳縫合線算法雖然能夠較好地處理大視差場景下的圖像融合問題,但是當(dāng)圖像存在明顯的曝光差異時,融合區(qū)域不能自然地進(jìn)行過渡,造成全景圖像出現(xiàn)明顯的接縫。
為了實現(xiàn)重疊區(qū)域的自然過渡,得到更加準(zhǔn)確、合理的融合圖像,本文將最優(yōu)縫合線搜索算法與多分辨率融合算法相結(jié)合。首先根據(jù)待拼接圖像相鄰像素的相似性構(gòu)造重疊區(qū)域的加權(quán)圖,利用最大流-最小割算法得到待拼接圖像的掩碼;然后構(gòu)造圖像的拉普拉斯金字塔,將原圖像分解到不同的空間頻帶上,并在每個頻帶上采用不同的融合算子進(jìn)行融合;最后根據(jù)最佳縫合線信息對圖像進(jìn)行重構(gòu)得到最終的全景圖像。其中加權(quán)圖的具體構(gòu)造方法如下
(13)
式中,p和q代表圖像Ii和圖像Ij重疊區(qū)域的2個相鄰像素,E(p,q)表示像素p、q之間的邊的權(quán)重。若p、q在2幅圖之間的內(nèi)容均具有較高的相似性,則認(rèn)為該部分得到了準(zhǔn)確的對齊,相應(yīng)邊的權(quán)重較小,反之則權(quán)重較大。
當(dāng)目標(biāo)在某一時刻出現(xiàn)在多個攝像機的視野重疊區(qū)域時,可以通過攝像機配置信息聯(lián)合三角測量的方式實現(xiàn)目標(biāo)空間位置的快速定位,具體介紹如下:
(14)
進(jìn)一步可得
(15)
聯(lián)立多個觀測到該目標(biāo)的相機給出的方程可得
(16)
為了簡便,式(16)可以表示為
(17)
(18)
運動目標(biāo)在世界系的坐標(biāo)可以直接通過求解偽逆的方式獲得
(19)
當(dāng)場景中存在如地面和操場之類的平面或者監(jiān)控攝像機的內(nèi)參或外參矩陣不再可信時,可以通過平面在世界系與圖像坐標(biāo)系下的對應(yīng)關(guān)系實現(xiàn)前景目標(biāo)的快速定位。具體方法如下:
由攝像機透視投影關(guān)系可知,平面在不同坐標(biāo)系間的轉(zhuǎn)換關(guān)系可以由一個單應(yīng)性矩陣H表達(dá)
(20)
已知平面上的點P在世界系下的坐標(biāo)Pw和圖像平面的齊次坐標(biāo)p,則兩者的關(guān)系如下
(21)
一般情況下,運動目標(biāo)都會與地面等場景中的主平面有接觸,因此可以選取目標(biāo)在平面上的點作為待定位點。由于單目視覺在無外界測量輔助或先驗知識的情況下不具備距離無尺度模糊恢復(fù)能力[19]。因此,需要選取至少4組已知世界系坐標(biāo)的圖像點作為控制點,計算該平面在射影變換中的投影矩陣H,并且控制點與待定位的目標(biāo)點都處于最佳縫合線的同一側(cè)。
在獲取目標(biāo)在圖像平面的像素坐標(biāo)后,可以通過單應(yīng)性矩陣H求取前景目標(biāo)在世界坐標(biāo)系的大致位置,實現(xiàn)目標(biāo)的快速定位。
由于圖像拼接沒有公用的數(shù)據(jù)集,為了驗證算法對大場景下圖像拼接結(jié)果的合理性以及對目標(biāo)定位結(jié)果的精確性,本文在相關(guān)論文中的圖像以及真實采集的圖像的基礎(chǔ)上進(jìn)行了一系列實驗,并與AutoStitch、APAP、SPHP、NISwGSP算法進(jìn)行了比較。具體結(jié)果如圖1所示。
如圖1所示,A列和B列輸入圖像來自于文獻(xiàn)[6],明顯可以看出,AutoStitch、APAP、SPHP和基于平均融合的NISwGSP算法均出現(xiàn)了明顯的鬼影問題,除此之外AutoStitch、APAP和SPHP算法也出現(xiàn)了不同程度的尺度失真問題?;谧罴芽p合線的NISwGSP算法雖然解決了鬼影和尺度失真的問題,但是由于重疊區(qū)域?qū)R效果不理想,拼接結(jié)果在接縫處出現(xiàn)了結(jié)構(gòu)不連續(xù)的現(xiàn)象。本文的方法則得出了相對較好的結(jié)果。
圖1的C列是由實際采集的圖像得到的拼接結(jié)果。由于條件的限制,實驗以操場看臺上手機拍攝的圖像模擬監(jiān)控攝像機拍攝的真實操場場景。輸入圖像存在重復(fù)的紋理結(jié)構(gòu)(草坪、跑道等),擁有多個復(fù)雜平面,存在較大的視差并且共視區(qū)域包含特征稀疏區(qū)域和特征豐富區(qū)域等繁雜的場景信息。由C列可以看出,基于平均融合的NISwGSP算法的拼接結(jié)果存在明顯的失真情況,如嚴(yán)重的鬼影、損失了操場邊緣的直線特性及左側(cè)路燈及建筑發(fā)生了明顯的變形等狀況。雖然基于最佳縫合線的NISwGSP算法消除了鬼影問題,但是圖中的結(jié)構(gòu)信息仍然遭到了嚴(yán)重的破壞。本文中的算法則相對較好地解決了這些問題,提升了拼接結(jié)果的自然性與準(zhǔn)確性。
圖1 輸入圖像及結(jié)果對比Fig.1 Input image pair and results comparison
實驗在Windows10環(huán)境(2.80GHz CPU, 8GB RAM)下進(jìn)行,算法運行時間對比如表1所示。將融合算法由平均融合改為最佳縫合線算法后,算法耗時大幅增加。相對于基于最佳縫合線的NISw-GSP算法來說,本文提出的改進(jìn)算法在時間上稍有增加,但是能取得良好的拼接效果。
表1 運行時間
對于前景目標(biāo)定位問題,如圖2所示,首先選取已知世界坐標(biāo)的4個點(任意3點不共線)作為控制點。其中以點1處作為世界系坐標(biāo)原點建立直角坐標(biāo)系,然后基于此求取操場平面與圖像平面的單應(yīng)性矩陣H。最后利用求得的單應(yīng)性矩陣H對場景中的一些平面點進(jìn)行定位的結(jié)果及誤差如表2所示,其中估計誤差由目標(biāo)點的世界坐標(biāo)估計值與實際值的歐氏距離表示。
圖2 控制點選取Fig.2 Control points selection
表2 定位結(jié)果及誤差
Tab.2 Location results and errors
序號圖像坐標(biāo)/pixel估計的世界坐標(biāo)/m真實的世界坐標(biāo)/m估計誤差/m1(717,1857)(8.66,8.72)(9.35,7.85)1.112(2043,1827)(53.67,-0.50)(51.20,-2)2.893(257,1889)(0.47,16.16)(0,15.70)0.664(1986,2464)(50.19,71.47)(53.25,69.10)3.875(827,1820)(6.07,-0.33)(6.35,-2)1.77
由實驗結(jié)果可以看出,利用該方法可以實現(xiàn)監(jiān)控角度下目標(biāo)的快速定位,最終估計誤差在2.06m左右。
本文針對NISwGSP圖像拼接算法中網(wǎng)格匹配點生成結(jié)果不符合圖像真實信息以及直線結(jié)構(gòu)容易遭到破壞等情況導(dǎo)致的全景圖像失真問題,提出了相關(guān)的改進(jìn)方案。實驗總結(jié)及展望如下:
1)特征匹配及網(wǎng)格點匹配的結(jié)果嚴(yán)重影響圖像的對齊質(zhì)量。本文利用多平面RANSAC算法獲得了較多的合理匹配點,并且基于超像素區(qū)域?qū)W(wǎng)格匹配點進(jìn)行了篩選,在充分利用圖像特征的同時,減少了由錯誤的匹配信息帶來的影響,對局部單應(yīng)性矩陣的生成和網(wǎng)格優(yōu)化提供了一定的支持。
2)幾何結(jié)構(gòu)的保持對全景圖像的自然性至關(guān)重要。本文提出的基于直線約束的網(wǎng)格變形算法對網(wǎng)格變形起到了一定的抑制作用,使網(wǎng)格變形后的結(jié)果更加合理。
3)基于局部單應(yīng)性矩陣的目標(biāo)定位算法能夠根據(jù)圖像信息對監(jiān)控場景下的目標(biāo)進(jìn)行快速定位,增強了監(jiān)控端對目標(biāo)信息的整體把控能力。
4)本文提出的算法能夠有效提升圖像配準(zhǔn)的精確性,后續(xù)可以利用直線和輪廓等其他結(jié)構(gòu)信息進(jìn)一步提升重疊區(qū)域的配準(zhǔn)效果。對于基于全景圖像的定位算法,如何在統(tǒng)一的坐標(biāo)系下實現(xiàn)目標(biāo)的高精度定位則是后續(xù)的改進(jìn)方向。