岳 娟,高思莉*,李范鳴,蔡能斌
(1. 中國(guó)科學(xué)院 上海技術(shù)物理研究所 智能紅外感知重點(diǎn)實(shí)驗(yàn)室,上海 200083;2.上海市現(xiàn)場(chǎng)物證重點(diǎn)試驗(yàn)室,上海 200083)
近些年,隨著攝影技術(shù)的發(fā)展與普及,基于多視角圖像匹配的三維數(shù)字城市建模、城市規(guī)劃與安全管理[1-2]以及各應(yīng)用背景下的場(chǎng)景重構(gòu)[3]、場(chǎng)景識(shí)別[4]正日益發(fā)展起來(lái),這對(duì)傳統(tǒng)圖像匹配技術(shù)提出了挑戰(zhàn),迫切需要發(fā)展大仿射形變圖像匹配技術(shù)。
目前,大仿射形變圖像匹配方法主要可分為三類[5-6]:(1)采用局部特征穩(wěn)定區(qū)域(Maximally Stable Extremal Regions, MSER),Harris-Affine,Hessian-Affine等算法提取原圖中具有仿射不變性的區(qū)域,進(jìn)行特征描述與匹配,這類方法不具備完全仿射不變性,對(duì)仿射形變大的場(chǎng)景匹配效果不夠好[7-8];(2)首先采用SIFT,MSER等算法對(duì)原圖進(jìn)行粗匹配,計(jì)算出描述原圖間幾何形變關(guān)系的變換矩陣H;然后基于變換矩陣H,對(duì)原圖間的幾何形變進(jìn)行糾正,得到一張?jiān)紙D像的糾正圖像;最后對(duì)該糾正圖像和另一張?jiān)紖⒖紙D像再次進(jìn)行SIFT匹配[9],這類方法匹配效果很大程度上取決于粗匹配結(jié)果,但如本文3.1節(jié)home場(chǎng)景SIFT匹配結(jié)果所示,對(duì)于這類大仿射形變場(chǎng)景,往往由于粗匹配點(diǎn)數(shù)量過(guò)少,不能或不足以準(zhǔn)確計(jì)算H矩陣,則難以保證最終匹配效果;(3)ASIFT法。ASIFT算法首先采用近似窮舉法的思想模擬相機(jī)光軸定向參數(shù),對(duì)原圖進(jìn)行正仿射變換,分別模擬出兩張?jiān)瓐D的斜視仿射圖像序列空間;然后在斜視仿射圖像序列空間中,進(jìn)行特征提取與SIFT匹配[8]。該方法以時(shí)間換空間,模擬出仿射圖像序列進(jìn)行匹配,來(lái)提升算法對(duì)圖像仿射形變的魯棒性,具有完全仿射不變性。
但是,ASIFT窮舉法的思想帶來(lái)大量的運(yùn)算量,且對(duì)原始圖像進(jìn)行正仿射變換的物理意義不夠明顯。另外,在一般的應(yīng)用場(chǎng)景下,ASIFT對(duì)大角度緯度上進(jìn)行更多的經(jīng)度角采樣的現(xiàn)實(shí)意義并不大:如傾斜度t=8時(shí),從2.1節(jié)仿射成像模型可知,此時(shí)緯度θ=cos-1(1/t)=82.82°,相機(jī)光軸與物方平面夾角很小,現(xiàn)實(shí)應(yīng)用中一般很少出現(xiàn)這種情況,然而ASIFT算法卻依然在該緯度上進(jìn)行20次經(jīng)度采樣、仿射變換,造成較大的計(jì)算資源浪費(fèi)。學(xué)者們?cè)贏SIFT算法的基礎(chǔ)上,基于傾斜相機(jī)各鏡頭光軸的相對(duì)位置關(guān)系這一先驗(yàn)知識(shí),進(jìn)行不同視角影像間的幾何畸變糾正[1,10],以減少仿射變換模擬次數(shù),但僅限于基于傾斜相機(jī)的影像匹配這一特殊應(yīng)用場(chǎng)景。
基于此,本文從逆仿射變換出發(fā),提出一種具有近似仿射尺度不變特征的快速圖像匹配算法Fast-AASIFT,進(jìn)行仿射變形糾正,估計(jì)出原圖(相機(jī)像平面v)對(duì)應(yīng)的正射糾正圖像(物方平面u),然后在正射圖像上進(jìn)行特征點(diǎn)提取、SIFT描述,最后進(jìn)行SIFT優(yōu)化匹配。與ASIFT算法相比,該算法具有更清晰的物理意義,且可基于圖像信息大幅減少仿射變化次數(shù),能在保證算法抗仿射形變魯棒性的同時(shí),又有效提高算法效率,具有應(yīng)用價(jià)值,尤其對(duì)基于手機(jī)等電子設(shè)備拍照的場(chǎng)景重構(gòu)、場(chǎng)景識(shí)別等具有重要意義。
(1)
v=Au.
(2)
圖1 仿射成像模型Fig.1 Affine imaging model
鑒于SIFT算法具有尺度和旋轉(zhuǎn)不變性,可取λ=1,ψ=0,則仿射矩陣A可以簡(jiǎn)化為:
(3)
其逆變換矩陣A-1如下:
(4)
基于式(4),通過(guò)如下2個(gè)步驟實(shí)現(xiàn)仿射變形糾正,估計(jì)出原圖對(duì)應(yīng)的正射圖像。
2.1.1 尺度變換/傾斜變換
(5)
基于式(5)進(jìn)行尺度變換,變換過(guò)程如圖2所示,其中xoy表示像平面坐標(biāo)系,xIoIyI表示圖像坐標(biāo)系,兩者坐標(biāo)軸單位均為像素(pixel)。記原圖I0寬為Wo、高為H0,尺度變換圖It寬為Wt、高為Ht,則:
圖2 尺度變換Fig.2 Scale transformation
(6)
2.1.2 旋轉(zhuǎn)變換
逆仿射糾正的旋轉(zhuǎn)變換分為以下兩步:像平面坐標(biāo)系下圖像逆旋轉(zhuǎn)變換與基于圖像坐標(biāo)系的圖像變換。
(1)像平面坐標(biāo)系下圖像逆旋轉(zhuǎn)
如圖3(a)所示,基于變換矩陣A-1,尺度圖像It繞像平面坐標(biāo)系xoy的原點(diǎn),順時(shí)針旋轉(zhuǎn)角度φ,實(shí)現(xiàn)逆轉(zhuǎn)換。旋轉(zhuǎn)后圖像對(duì)應(yīng)像平面坐標(biāo)系下的紋理區(qū)域Ir。
圖3 旋轉(zhuǎn)變換Fig.3 Rotation transformation
記圖像的4個(gè)角點(diǎn)分別為A,B,C,D,則像平面坐標(biāo)系上,旋轉(zhuǎn)前It的4個(gè)角點(diǎn)坐標(biāo)分別為:A(xt1,yt1)=(Wt,0),B(xt2,yt2)=(Wt,-Ht),C(xt3,yt3)=(0,-Ht),D(xt4,yt4)=(0,0).
旋轉(zhuǎn)后Ir的4個(gè)角點(diǎn)的坐標(biāo)計(jì)算如下:
(7)
即:
(8)
(2)圖像坐標(biāo)系下圖像變換
像平面坐標(biāo)系下的紋理區(qū)域Ir最終轉(zhuǎn)換至圖像坐標(biāo)系下,輸出圖像Ir_out。如圖3(b)所示,圖像坐標(biāo)系xIoIyI以左上角為坐標(biāo)原點(diǎn),水平向右為x軸正,垂直向下為y軸正,故Ir須經(jīng)R翻轉(zhuǎn)、T平移才變換至最終糾正圖像:
Ir_out=R×Ir+T,
(9)
圖4 逆旋轉(zhuǎn)示意圖Fig.4 Reverse rotation diagram
(10)
記原圖I0上像素點(diǎn)P(x,y),對(duì)應(yīng)糾正圖像Ir_out上像素點(diǎn)P′(x′,y′),P在像平面坐標(biāo)系下的坐標(biāo)為(x,-y),綜上有:
(11)
根據(jù)式(11)可推導(dǎo)出:
(12)
綜合式(10)~式(12),本文基于相機(jī)仿射形變參數(shù)(φ,t)對(duì)原圖進(jìn)行逆仿射變換,即可估算其正射圖像。在缺少相機(jī)先驗(yàn)參數(shù)的前提下,雖無(wú)法準(zhǔn)確獲取圖像拍攝時(shí)的仿射形變參數(shù),但可以結(jié)合圖1所示仿射成像模型與圖像本身信息估計(jì)參數(shù)(φ,t)取值范圍,通過(guò)多次模擬變換實(shí)現(xiàn)仿射形變糾正。常規(guī)拍攝時(shí),相機(jī)光軸與物方平面法向量一般會(huì)存在一定夾角,即相機(jī)緯度,但該緯度不會(huì)太大,故可取傾斜度t=[1.1,1.4,1.7,2],對(duì)應(yīng)相機(jī)緯度分別為θ=cos-1(1/t)=[24.6°,44.4°,53.9°,60°];常規(guī)拍攝時(shí),各拍攝位置不會(huì)相差太遠(yuǎn),結(jié)合圖1,在各緯度上可取φ=[-20°,-10°,0°,10°],對(duì)相機(jī)拍攝位置經(jīng)緯度參數(shù)進(jìn)行采樣模擬,即可實(shí)現(xiàn)較好的仿射糾正。
如圖5所示為同一手機(jī)在不同位置對(duì)同一場(chǎng)景(Building)拍攝的兩幅原始圖像,如前文所述,場(chǎng)景原圖不包含相機(jī)及拍攝位置等先驗(yàn)參數(shù),但從圖像本身可知,兩幅場(chǎng)景原圖存在較大的仿射形變,但兩個(gè)拍攝位置相差不遠(yuǎn),可以參考前文設(shè)置θ與φ,對(duì)兩幅原圖分別進(jìn)行仿射糾正,得到如圖6、圖7所示的糾正圖像序列??梢?jiàn)在不同的糾正圖像中,不同位置處的傾斜的建筑物相繼得以糾正:通過(guò)不同傾斜度模擬,還原出不同尺度上的場(chǎng)景;通過(guò)10°經(jīng)度模擬,場(chǎng)景中右側(cè)建筑物旋轉(zhuǎn)仿射形變得到較好糾正;通過(guò)-10°與-20°的經(jīng)度模擬,場(chǎng)景中左側(cè)建筑物旋轉(zhuǎn)仿射形變得到較好糾正。
圖5 場(chǎng)景原圖Fig.5 Origin images
圖6 Building1的糾正圖像序列Fig.6 Block diagram of image measuring system
圖7 Building2的糾正圖像序列Fig.7 Block diagram of image measuring system
綜上,本文通過(guò)16次模擬變換估計(jì)出16幅正射圖像,用估計(jì)出來(lái)的正射圖像序列模擬出原始圖像正射圖像的所有特征,實(shí)現(xiàn)對(duì)原圖的仿射形變糾正。
本文按照如下步驟在糾正圖像序列上進(jìn)行SIFT特征提取與匹配[11-16],該內(nèi)容相對(duì)成熟,不作詳細(xì)闡述。
(1)在糾正圖像上,提取高斯差分(Difference of Gaussian, DoG)特征點(diǎn)并建立SIFT描述子[15];
(2)進(jìn)行SIFT特征匹配;
(3)進(jìn)行基于單應(yīng)約束及隨機(jī)抽取一致性約束 (Random Sample Consensus, RANSAC)[16]的匹配優(yōu)化,參照式(12)將特征點(diǎn)位置反算至原圖進(jìn)行匹配結(jié)果輸出。本文在對(duì)比核線約束+RANSAC優(yōu)化與單應(yīng)約束+RANSAC優(yōu)化兩種匹配優(yōu)化效果的基礎(chǔ)上,最終選用后者進(jìn)行匹配優(yōu)化,下文將兩種優(yōu)化方法分別簡(jiǎn)稱為核線優(yōu)化法、單應(yīng)優(yōu)化法,并分別用字母F,H進(jìn)行簡(jiǎn)易標(biāo)識(shí)。
系統(tǒng)環(huán)境為Windows10,i5 CPU,8 GB RAM。
3.1.1 SIFT匹配優(yōu)化
本文在牛津大學(xué)計(jì)算機(jī)視覺(jué)實(shí)驗(yàn)室圖像數(shù)據(jù)[17]的基礎(chǔ)上開(kāi)展匹配優(yōu)化研究,并展示其中經(jīng)典彩色Graf場(chǎng)景與灰色Boat場(chǎng)景的匹配效果圖與匹配誤差如圖8~圖9所示。從匹配效果圖可見(jiàn),該場(chǎng)景下兩種方法都能匹配一定數(shù)量正確同名點(diǎn)。從誤差圖直觀可見(jiàn),兩種方法匹配點(diǎn)數(shù)相當(dāng),但H法無(wú)誤匹配點(diǎn),且匹配精度更高:Graf場(chǎng)景下,F(xiàn)與H法匹配點(diǎn)數(shù)分別為31和25,boat場(chǎng)景下,F(xiàn)與H法匹配點(diǎn)數(shù)均為21個(gè); 若將匹配誤差>5 pixel的匹配點(diǎn)定義為誤匹配點(diǎn),則實(shí)驗(yàn)場(chǎng)景下,F(xiàn)法優(yōu)化后仍存在2~3個(gè)誤匹配點(diǎn),而H法優(yōu)化后無(wú)誤匹配點(diǎn);且從局部匹配誤差圖可見(jiàn),在其他正確匹配位置上,H法匹配精度整體上優(yōu)于F法匹配精度。
圖8 graf優(yōu)化匹配結(jié)果
圖9 Boat優(yōu)化匹配結(jié)果
如式(12),本文定義優(yōu)化度C進(jìn)一步對(duì)比兩種優(yōu)化算法效果:
(13)
其中:U1,U2為優(yōu)化前、后誤匹配率,由優(yōu)化前、后匹配點(diǎn)數(shù)N1,N2,以及優(yōu)化后誤匹配點(diǎn)數(shù)N3計(jì)算而來(lái):
(14)
統(tǒng)計(jì)上述實(shí)驗(yàn)的優(yōu)化度如表1所示,可見(jiàn)SIFT匹配算法下, H法優(yōu)化度>F法優(yōu)化度。因此,本文在圖像匹配階段采用H法對(duì)進(jìn)行匹配優(yōu)化。
表1 匹配優(yōu)化結(jié)果對(duì)比
3.1.2 SIFT匹配算法局限性分析
采用SIFT匹配+單應(yīng)優(yōu)化算法對(duì)如下仿射形變較大的場(chǎng)景圖像進(jìn)行匹配,其中圖10(a)為Building圖像匹配優(yōu)化后結(jié)果,優(yōu)化前后匹配點(diǎn)數(shù)分別為11和8;圖10(b)為Home圖像匹配優(yōu)化前結(jié)果,匹配點(diǎn)數(shù)為0。
圖10 SIFT匹配結(jié)果
可見(jiàn),在這種仿射變換較大的場(chǎng)景下,SIFT匹配算法正確匹配點(diǎn)數(shù)極速下降,尤其當(dāng)場(chǎng)景特征較少時(shí),正確匹配點(diǎn)數(shù)甚至?xí)p少為0,因此,SIFT匹配及其優(yōu)化算法對(duì)大仿射形變場(chǎng)景存在應(yīng)用局限性,而ASIFT算法以及本文提出的Fast-AASIFT算法正是對(duì)其應(yīng)用局限性進(jìn)行彌補(bǔ)的算法。
在3.1.2節(jié)基礎(chǔ)上,本節(jié)對(duì)傳統(tǒng)ASIFT算法與本文Fast-AASIFT算法的抗仿射形變性進(jìn)行對(duì)比驗(yàn)證實(shí)驗(yàn)。
3.2.1 匹配效果分析
如2.1.2節(jié)所述,針對(duì)這類常規(guī)拍攝場(chǎng)景,本文Fast-AASIFT算法的參數(shù)設(shè)置為t=[1.1,1.4,7.2],φ=[-20°,-10°,0°,10°]。如圖11和圖12所示,分別為兩個(gè)場(chǎng)景匹配優(yōu)化的效果圖和匹配誤差,綜合兩個(gè)場(chǎng)景下SIFT,ASIFT與Fast-AASIFT的匹配結(jié)果如表2所示??梢?jiàn),大仿射形變場(chǎng)景下,相比于單純的SIFT算法,ASIFT與Fast-AASIFT兩種算法匹配點(diǎn)數(shù)增加,且匹配誤差低:對(duì)于Building場(chǎng)景,單純的SIFT優(yōu)化匹配算法只能成功匹配到8對(duì)優(yōu)質(zhì)特征點(diǎn),然而ASIFT與Fast-AASIFT兩種算法能成功匹配到不低于16對(duì)的優(yōu)質(zhì)特征點(diǎn);尤其對(duì)特征較少的Home場(chǎng)景, SIFT匹配算法已無(wú)法正確匹配到特征點(diǎn)對(duì),但ASIFT與Fast-AASIFT算法依然能優(yōu)質(zhì)匹配到10對(duì)以上特征點(diǎn)。另外,綜合兩種大仿射形變場(chǎng)景的匹配效果圖和匹配誤差可見(jiàn),F(xiàn)ast-AASIFT算法具有與ASIFT算法相當(dāng)?shù)姆律淦ヅ淠芰?,其峰值匹配誤差<2.5 pixel,平均匹配誤差<1.2 pixel。
表2 算法匹配誤差對(duì)比
圖11 Building匹配結(jié)果Fig.11 Matching results of Building
圖12 Home匹配結(jié)果Fig.12 Matching results of Home
綜上,由于算法對(duì)場(chǎng)景圖仿射形變進(jìn)行了有效的模擬補(bǔ)償,對(duì)于實(shí)驗(yàn)中仿射形變較大的場(chǎng)景,F(xiàn)ast-AASIFT算法可突破SIFT算法的局限性,實(shí)現(xiàn)與ASIFT算法相當(dāng)?shù)钠ヅ湫Ч?,正確匹配到足夠數(shù)量的匹配點(diǎn),以服務(wù)于后續(xù)基于圖像匹配的場(chǎng)景重構(gòu)、識(shí)別等應(yīng)用。
3.2.2 匹配效率分析
匹配算法效率主要體現(xiàn)在特征提取與特征匹配兩個(gè)階段上。特征提取、特征匹配的計(jì)算量與圖像面積、圖像面積平方近似成正比[8]。
表3 算法耗時(shí)對(duì)比
針對(duì)SIFT等傳統(tǒng)匹配算法抗仿射形變能力有限的問(wèn)題,ASIFT算法以時(shí)間換空間,模擬出仿射圖像序列進(jìn)行匹配,來(lái)提升算法對(duì)圖像仿射形變的魯棒性,但運(yùn)算量大,且物理意義不夠明顯。基于此,本文提出了具有近似仿射尺度不變特征的快速圖像匹配算法Fast-AASIFT。實(shí)驗(yàn)結(jié)果證明:大仿射形變場(chǎng)景下,該算法能匹配足夠多特征點(diǎn),且峰值匹配誤差<2.5 pixel,平均匹配誤差<1.2 pixel,其抗仿射形變能力明顯優(yōu)于SIFT算法,與ASIFT算法相當(dāng);該算法耗時(shí)<0.3倍ASIFT,大幅改善了ASIFT算法的耗時(shí)問(wèn)題,可見(jiàn),本文算法既有效保證了算法抗仿射形變魯棒性,又大幅提高了算法效率,在場(chǎng)景重構(gòu)、場(chǎng)景識(shí)別等領(lǐng)域中具有應(yīng)用前景。