王金鶴,蘇翠麗,孟凡云,車志龍,譚 浩,張 楠
(青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266000)
三維場(chǎng)景信息重建是計(jì)算機(jī)視覺應(yīng)用的關(guān)鍵,如車輛自動(dòng)駕駛和醫(yī)學(xué)內(nèi)窺鏡成像技術(shù)的應(yīng)用,都是基于該技術(shù)對(duì)目標(biāo)場(chǎng)景或物體的深度信息進(jìn)行計(jì)算。深度信息計(jì)算目的是獲取雙目圖像中像素點(diǎn)的視差值,而視差值取決于空間景物在左右視圖中的對(duì)應(yīng)關(guān)系,這種尋找左右圖像平面之間對(duì)應(yīng)點(diǎn)的過程稱為立體匹配[1]。
傳統(tǒng)立體匹配方法通常包含4個(gè)步驟,即匹配代價(jià)計(jì)算、匹配代價(jià)聚合、視差計(jì)算和視差細(xì)化。早期的立體匹配算法分為全局匹配、局部匹配以及兩者結(jié)合的半全局匹配算法。但是這些方法均通過人工設(shè)計(jì)代價(jià)函數(shù)學(xué)習(xí)圖像特征之間的線性關(guān)系,不僅計(jì)算代價(jià)昂貴,而且在遮擋、重復(fù)紋理、弱紋理等區(qū)域達(dá)不到理想的匹配效果。
深度學(xué)習(xí)技術(shù)的發(fā)展使計(jì)算機(jī)視覺研究得到重大突破。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)能夠進(jìn)行復(fù)雜的非線性表示,具有強(qiáng)大的表征能力,近年來被廣泛用于圖像識(shí)別及立體匹配的應(yīng)用。進(jìn)而,基于卷積神經(jīng)網(wǎng)絡(luò)的立體匹配方法相繼被提出。但現(xiàn)有方法多采用深而復(fù)雜的3D卷積網(wǎng)絡(luò)架構(gòu)進(jìn)行端到端的視差圖學(xué)習(xí)。盡管這些立體匹配方法在網(wǎng)絡(luò)框架和訓(xùn)練方式上存在巨大差異,但是通常都采用Siamese網(wǎng)絡(luò)作為立體圖像對(duì)的特征提取器,由此可見Siamese網(wǎng)絡(luò)結(jié)構(gòu)在立體匹配中起到基礎(chǔ)性作用。
目前有些研究避免使用復(fù)雜的端到端CNN框架,而是針對(duì)Siamese網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)。受此啟發(fā),本文改進(jìn)基礎(chǔ)的Siamese特征提取網(wǎng)絡(luò),引入空間金字塔池化(Spatial Pyramid Pooling,SPP)思想優(yōu)化池化方式,以充分利用圖像信息。通過構(gòu)建非對(duì)稱空間金字塔池化(Asymmectric SPP,ASPP)模型,在特征提取階段對(duì)圖像塊進(jìn)行多尺度特征提取,以期獲得更準(zhǔn)確的視差估計(jì)結(jié)果,提高匹配精度。
基于卷積神經(jīng)網(wǎng)絡(luò)的立體匹配方法主要包括基于CNN的匹配代價(jià)學(xué)習(xí)、基于CNN的視差回歸和基于CNN的端到端視差圖獲取三類。
1)基于CNN的匹配代價(jià)學(xué)習(xí)方法主要以圖像塊之間的相似性作為匹配代價(jià)。文獻(xiàn)[2]成功地將CNN應(yīng)用到匹配代價(jià)計(jì)算中,通過深層Siamese網(wǎng)絡(luò)來預(yù)測(cè)圖像塊之間的相似性得分,以此獲取圖像塊的匹配代價(jià)。文獻(xiàn)[3]在此基礎(chǔ)上提出一種縮小型立體匹配網(wǎng)絡(luò),較好地解決了原模型處理過程中耗時(shí)多的問題。文獻(xiàn)[4]研究了一系列用于圖像塊匹配的二分類網(wǎng)絡(luò),并且建立雙通道網(wǎng)絡(luò)架構(gòu)進(jìn)行視差估計(jì)。此后,文獻(xiàn)[5]提出使用內(nèi)積層計(jì)算圖像塊對(duì)應(yīng)像素的相似性,該方法可實(shí)現(xiàn)一秒內(nèi)計(jì)算準(zhǔn)確結(jié)果,并且將匹配任務(wù)轉(zhuǎn)化為多分類問題,類別是所有可能的視差。文獻(xiàn)[6]結(jié)合殘差網(wǎng)絡(luò)[7](ResNet)提出一種高速網(wǎng)絡(luò)來計(jì)算匹配代價(jià),并且設(shè)計(jì)一個(gè)全局視差網(wǎng)絡(luò)預(yù)測(cè)視差置信度得分,進(jìn)一步優(yōu)化了視差圖。
2)基于CNN的視差回歸方法把視差圖獲取作為立體匹配的核心任務(wù),其質(zhì)量的優(yōu)劣對(duì)三維信息重建有直接影響,因此,目前存在較多側(cè)重于視差圖后處理方法的研究[8-9]。文獻(xiàn)[10]提出經(jīng)典的Displets網(wǎng)絡(luò),使用3D卷積并通過物體識(shí)別和語義分割處理圖像對(duì)間的對(duì)應(yīng)關(guān)系,大幅提高了匹配精度。文獻(xiàn)[11]提出檢測(cè)-替換-優(yōu)化(Detect-Replace-Refine,DRR)結(jié)構(gòu)進(jìn)行視差估計(jì),通過標(biāo)簽檢測(cè)、錯(cuò)誤標(biāo)簽替換、新標(biāo)簽優(yōu)化來改善分類效果。文獻(xiàn)[12]提出半全局匹配網(wǎng)絡(luò)SGM-Net,通過訓(xùn)練網(wǎng)絡(luò)學(xué)習(xí)預(yù)測(cè)SGM的懲罰項(xiàng),以取代人工調(diào)整方法。
3)基于CNN的端到端視差圖獲取方法不對(duì)端到端網(wǎng)絡(luò)進(jìn)行復(fù)雜后處理,而是輸入左右圖像對(duì)網(wǎng)絡(luò)直接學(xué)習(xí)輸出視差圖。文獻(xiàn)[13]提出端到端DispNet網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合光流估計(jì)進(jìn)行立體匹配任務(wù)學(xué)習(xí)的方法,并且合成一個(gè)大型立體圖像數(shù)據(jù)集SceneFlow用于網(wǎng)絡(luò)訓(xùn)練。此后,文獻(xiàn)[14]在DispNet的基礎(chǔ)上提出了級(jí)聯(lián)殘差學(xué)習(xí)(CRL)網(wǎng)絡(luò)。該網(wǎng)絡(luò)分為DispFullNet和DispResNet兩部分,前者輸出初始視差圖,后者通過計(jì)算多尺度殘差優(yōu)化初始視差圖,最后將兩部分網(wǎng)絡(luò)的輸出結(jié)合構(gòu)成最終的視差圖。文獻(xiàn)[15]提出了效果較好的GC-Net結(jié)構(gòu),其利用3D卷積獲得更多的上下文信息,實(shí)現(xiàn)了亞像素級(jí)別的視差估計(jì)。為獲得圖像更多的關(guān)鍵信息,有學(xué)者采用深度特征融合和多尺度提取圖形信息的卷積神經(jīng)網(wǎng)絡(luò)[16-17]。文獻(xiàn)[18]利用圖像語義分割思想,同時(shí)結(jié)合全局環(huán)境信息提出了PSMNet結(jié)構(gòu),其主要由兩個(gè)模塊組成:金字塔池化和3D卷積神經(jīng)網(wǎng)絡(luò)。金字塔池化模塊通過空間金字塔池化[19]和空洞卷積[20]聚合不同尺度和位置的環(huán)境信息構(gòu)建匹配代價(jià)卷。3D卷積神經(jīng)網(wǎng)絡(luò)模塊通過將多個(gè)堆疊的沙漏網(wǎng)絡(luò)與中間監(jiān)督相結(jié)合來調(diào)整匹配代價(jià)卷,同時(shí)提高對(duì)全局信息的利用率。
上述方法都是利用深而復(fù)雜的3D卷積網(wǎng)絡(luò)架構(gòu)進(jìn)行端到端的視差圖學(xué)習(xí),通常都采用Siamese網(wǎng)絡(luò)作為立體圖像對(duì)的特征提取器。由此可見,立體匹配本質(zhì)上依賴于使用Siamese網(wǎng)絡(luò)來提取左右圖像特征信息。文獻(xiàn)[21]回避了復(fù)雜的端到端CNN框架,而是對(duì)基礎(chǔ)的Siamese網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),其在文獻(xiàn)[5]網(wǎng)絡(luò)中引入普通池化和反卷積操作,利用池化操作擴(kuò)大了網(wǎng)絡(luò)的感受野,為后續(xù)匹配提供了更多的視覺線索,并使用反卷積操作恢復(fù)圖像分辨率。
本文改進(jìn)基礎(chǔ)Siamese特征提取網(wǎng)絡(luò),通過引入空間金字塔池化(SPP)思想優(yōu)化文獻(xiàn)[5]方法原有的池化方式,構(gòu)建非對(duì)稱金字塔池化模型,在特征提取階段對(duì)圖像塊進(jìn)行多尺度特征提取,進(jìn)而提高匹配精度。
如前所述,本文所提出的網(wǎng)絡(luò)架構(gòu)仍采用圖像塊作為輸入,左右圖像塊的像素大小遵循先前工作,輸出為圖像塊的相似性。本節(jié)首先介紹空間金字塔池化模型,在此基礎(chǔ)上改進(jìn)池化方式,提出非對(duì)稱空間金字塔池化模型,最后詳述整個(gè)網(wǎng)絡(luò)架構(gòu)及其他改進(jìn)細(xì)節(jié)。
空間金字塔池化[19](SPP)對(duì)前一卷積層輸出的特征圖進(jìn)行不同尺寸池化操作,得到不同分辨率的特征信息,從而有效提高網(wǎng)絡(luò)對(duì)特征的識(shí)別精度。文獻(xiàn)[19]給出了詳細(xì)的池化過程:首先使用3種不同刻度的窗口對(duì)特征圖像進(jìn)行劃分,每一種刻度代表金字塔的一層,劃分后的每一個(gè)圖像塊大小為window_size;然后對(duì)每一個(gè)圖像塊都采取最大池化操作,提取出更高級(jí)的圖像特征信息。圖像劃分計(jì)算公式如下:
win_size=「a/n?
(1)
str_size=?a/n」
(2)
其中,win_size和str_size分別表示池化窗口和池化步幅的大小,a表示金字塔池化層輸入的特征圖尺寸為a×a,n表示金字塔池化層輸出的特征圖尺寸為n×n,「·?表示向上取整,?·」表示向下取整。
如圖1所示,對(duì)左輸入圖像進(jìn)行金字塔池化操作:若前一卷積層輸出為13×13大小的特征圖,池化之后的特征圖尺寸為2×2,則win_size=「13/2?,str_size=?13/2」,結(jié)果分別為7、6,即采用窗口為7、步幅為6池化操作即可得到2×2尺寸的特征圖。
圖1 原金字塔池化過程
如果對(duì)右輸入圖像采用相同刻度的池化操作,SPP模型也會(huì)將右圖按照刻度劃分,最終輸出與左圖相同尺寸的特征圖像。但實(shí)際右輸入圖像塊尺寸遠(yuǎn)大于左圖像塊,這表示右圖像塊包含更多的特征信息,若采用相同尺度的池化方式,將直接導(dǎo)致右原始圖像丟失大部分特征信息,最終降低網(wǎng)絡(luò)視差估計(jì)的精度,影響網(wǎng)絡(luò)的匹配效果。
針對(duì)上述SPP模型存在的圖像特征信息缺失問題,本文改變對(duì)右圖像塊的劃分方式,重新定義金字塔池化公式,如式(3)~式(5)所示:
k=「|l-a|/n?
(3)
(4)
(5)其中,a、l表示金字塔池化層的輸入特征圖尺寸,n表示金字塔池化層輸出的特征圖尺寸,win_h和win_w表示池化窗口高度和寬度,str_h和str_w表示兩個(gè)維度上池化步幅的大小。
改進(jìn)后的金字塔池化過程如下:首先按照金字塔池化原理對(duì)右圖多于左圖的部分進(jìn)行初步劃分,得到初始劃分圖像塊大小k;然后以整幅圖像為池化層的輸入,在圖像高度的維度上仍采用原金字塔劃分刻度,大小為n,但在圖像寬度的維度上采用新的劃分刻度(n+k)。改進(jìn)后的池化過程如圖2所示。
圖2 改進(jìn)的金字塔池化過程
改進(jìn)后的池化模型對(duì)左右特征圖像采用不同刻度的劃分方式,針對(duì)右圖實(shí)現(xiàn)了兩個(gè)維度上不同尺寸的池化,右圖被劃分為更均勻的圖像塊,進(jìn)行后續(xù)最大池化操作時(shí)能夠得到更詳細(xì)的特征信息。由于從整個(gè)池化結(jié)構(gòu)上看,左右分支呈現(xiàn)非對(duì)稱性,因此將本文改進(jìn)后的池化操作稱為非對(duì)稱空間金字塔池化(ASPP)。
如圖3所示,ASPP網(wǎng)絡(luò)的左右分支分別以不同尺寸的圖像塊作為輸入,左、右輸入分別為10×10、10×(10+maxDisp)的圖像塊(maxDisp表示最大視差值)。輸入圖像經(jīng)卷積層輸出通道數(shù)為64的特征圖像,圖像尺寸不變。然后經(jīng)過非對(duì)稱金字塔池化,池化尺寸分別為4×4、2×2、1×1,對(duì)應(yīng)生成3種不同尺度和精度的特征圖像,通道數(shù)均為64。之后,通過上采樣將3種特征圖恢復(fù)為原始圖像尺寸,最后采用級(jí)聯(lián)操作將其連接得到通道數(shù)為192(64×3)的特征圖像。本文將池化及后續(xù)上采樣、級(jí)聯(lián)步驟歸一化稱為非對(duì)稱池化模塊。此外,整個(gè)網(wǎng)絡(luò)模型左右分支共享權(quán)值。
圖3 非對(duì)稱空間金字塔池化模型
為充分利用圖像特征信息,本文在LuoNet網(wǎng)絡(luò)基礎(chǔ)上引入金字塔池化層,擴(kuò)大目標(biāo)像素位置的感受野,獲取更多的圖像信息,LuoNet網(wǎng)絡(luò)結(jié)構(gòu)如圖4(a)所示。由于原有的金字塔池化操作會(huì)造成部分圖像信息缺失問題,因此本文改進(jìn)了網(wǎng)絡(luò)結(jié)構(gòu),如圖4(b)所示,使ASPP模型可以提取到更多的特征信息,達(dá)到更精確的匹配效果。
圖4 改進(jìn)前后網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比
本文網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)流程如下:
1)圖像先經(jīng)過4個(gè)卷積層(Conv)、批標(biāo)準(zhǔn)化和線性整流函數(shù)(ReLU)。
2)非對(duì)稱池化模塊(ASPP)對(duì)特征圖像進(jìn)行不同刻度的池化操作。
3)再次經(jīng)過兩層卷積操作(Conv)融合特征信息。
4)Inner Product層利用內(nèi)積計(jì)算每個(gè)視差下左右特征的相似性得分。
5)Softmax函數(shù)計(jì)算每個(gè)視差的概率值,形成多分類網(wǎng)絡(luò)模型。數(shù)字3和1分別代表卷積核的大小為3×3、1×1,64、128、192代表卷積核通道數(shù)。
此外說明,本文網(wǎng)絡(luò)結(jié)構(gòu)中所有卷積層和池化層中的步長(zhǎng)均為1。
本文主要有兩處結(jié)構(gòu)上的改進(jìn):基于改進(jìn)的金字塔池化模型提出非對(duì)稱金字塔網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)通過多尺度提取圖像特征信息改善了匹配效果;將網(wǎng)絡(luò)深度由4層加深至7層,提升了網(wǎng)絡(luò)匹配精度,并且額外的卷積層使用較的小卷積核,減少了特征維度,加快了網(wǎng)絡(luò)收斂速度。
網(wǎng)絡(luò)將不同尺寸的左右圖像塊作為輸入,首先利用4層卷積神經(jīng)網(wǎng)絡(luò)層進(jìn)行特征提取,每個(gè)卷積層對(duì)圖像做卷積核為3×3、通道數(shù)均為64的空間卷積;然后經(jīng)過空間批標(biāo)準(zhǔn)化和ReLU層;之后非對(duì)稱池化模塊將特征圖像壓縮到3個(gè)不同尺度中,得到多尺度特征圖像;最后通過雙線性插值將特征圖像上采樣至原始圖像分辨率,并利用級(jí)聯(lián)操作進(jìn)行連接輸出通道數(shù)為192的特征圖。由于經(jīng)過非對(duì)稱金字塔池化后的特征圖像含有不同精度的特征信息,因此本文疊加了兩層額外的卷積層進(jìn)行特征信息融合。為加快網(wǎng)絡(luò)的收斂速度,額外的兩個(gè)卷積層的卷積核尺寸分別設(shè)置為3×3和1×1,其通道數(shù)分別為128和64。為保留以負(fù)值編碼的特征信息,同樣刪除了最后卷積層的ReLU線性激活函數(shù)。內(nèi)積層以一種簡(jiǎn)單的方式計(jì)算特征之間的內(nèi)積,并將其作為不同像素間的匹配代價(jià)。最后通過Softmax函數(shù)進(jìn)行視差分類預(yù)測(cè),類別是所有可能的視差值。本文網(wǎng)絡(luò)結(jié)構(gòu)中所有卷積層和池化層中的步長(zhǎng)均為1。
在本文實(shí)驗(yàn)中,所有模型的訓(xùn)練、驗(yàn)證及預(yù)測(cè)均采用Tensorflow深度學(xué)習(xí)框架,操作系統(tǒng)為ubuntu18.04,網(wǎng)絡(luò)訓(xùn)練及性能測(cè)試的GPU服務(wù)器為NVIDIA GeForce GTX 1060Ti。實(shí)驗(yàn)使用KITTI 2012[22]、KITTI 2015[23]數(shù)據(jù)集及Middlebury測(cè)試集上進(jìn)行模型訓(xùn)練和視差評(píng)估。
KITTI2012數(shù)據(jù)集包含194對(duì)帶有視差真值的左右圖像,隨機(jī)選取160對(duì)圖像作為模型訓(xùn)練集,剩余34對(duì)圖像作為模型驗(yàn)證集。KITTI2015數(shù)據(jù)集包含200對(duì)左右圖像,同樣從中隨機(jī)選取160對(duì)圖像訓(xùn)練模型,剩余40對(duì)圖像用于模型驗(yàn)證。每對(duì)圖像大小為375像素×1 241像素。使用Middlebury測(cè)試集提供的Cones測(cè)試圖像對(duì)、Teddy測(cè)試圖像對(duì)和Tsukuba測(cè)試圖像對(duì)來評(píng)估視差圖,每對(duì)圖像都含有視差真值,大小為375像素×450像素。在模型訓(xùn)練之前,對(duì)所有立體圖像均進(jìn)行預(yù)處理操作,分別通過減去平均值、除以像素強(qiáng)度標(biāo)準(zhǔn)差的方式將圖像歸一化為零均值和單位標(biāo)準(zhǔn)差的圖像。
實(shí)驗(yàn)步驟與文獻(xiàn)[5]中一致,首先從左右立體圖像數(shù)據(jù)集中隨機(jī)提取圖像塊,將提取出的右圖像塊以最大視差值進(jìn)行拓展。如前所述,分別使用尺寸為4×4、2×2、1×1的池化操作。網(wǎng)絡(luò)訓(xùn)練時(shí)圖像塊尺寸設(shè)置為10×10,最大視差值設(shè)置為128,驗(yàn)證時(shí)KITTI數(shù)據(jù)集上的圖像塊均隨機(jī)截取275像素×640像素,Middlebury測(cè)試集的圖像對(duì)大小仍為375像素×450像素。
網(wǎng)絡(luò)所有參數(shù)使用He初始值[24]隨機(jī)初始化,后續(xù)采用隨機(jī)梯度下降(SGD)算法進(jìn)行參數(shù)更新,網(wǎng)絡(luò)損失函數(shù)采用softmax交叉熵?fù)p失函數(shù),并采用AdamOptimizer算法[25]優(yōu)化損失函數(shù)。本文以初始學(xué)習(xí)率1e-3進(jìn)行網(wǎng)絡(luò)訓(xùn)練,每迭代400次對(duì)學(xué)習(xí)率進(jìn)行一次更新,逐步減小學(xué)習(xí)率直至模型訓(xùn)練穩(wěn)定。本文設(shè)計(jì)批處理尺寸為128,網(wǎng)絡(luò)總迭代次數(shù)為40k次,學(xué)習(xí)率由1e-3降至1e-4。
對(duì)算法性能產(chǎn)生影響的超參數(shù)分析實(shí)驗(yàn),第1組是對(duì)2.1節(jié)中的k值進(jìn)行影響分析,第2組是額外卷積層參數(shù)對(duì)比分析,參數(shù)為卷積核的尺寸。兩組實(shí)驗(yàn)均使用KITTI2015數(shù)據(jù)集。
1)k值影響分析
本文通過引入k值對(duì)文獻(xiàn)[19]金字塔池化方式進(jìn)行改進(jìn),因此,對(duì)于k值的分析以文獻(xiàn)[19]為基準(zhǔn)算法進(jìn)行直接對(duì)比。當(dāng)網(wǎng)絡(luò)池化刻度為{4,2,1}時(shí),由式(1)、式(2)計(jì)算出經(jīng)金字塔池化后的輸出尺寸分別為{(4×4),(2×2),(1×1)};采用非對(duì)稱金字塔池化,則由式(3)~式(5)進(jìn)行相關(guān)計(jì)算,首先是對(duì)應(yīng)參數(shù)k為{32,64,128},其對(duì)應(yīng)輸出的特征圖尺寸分別為{(4×46),(2×28),(1×14)},無疑包含更多的圖像信息。
本文實(shí)驗(yàn)采用圖4(a)所示的網(wǎng)絡(luò)結(jié)構(gòu)(在最初的兩個(gè)卷積層之后引入不同的池化結(jié)構(gòu)),兩組實(shí)驗(yàn)不同之處僅在于池化方式不同,驗(yàn)證數(shù)據(jù)均使用KITTI2012驗(yàn)證集。以網(wǎng)絡(luò)匹配率為衡量標(biāo)準(zhǔn),比較結(jié)果如表1所示。表中數(shù)據(jù)指標(biāo)為視差值與基準(zhǔn)視差差距分別大于2個(gè)、3個(gè)和5個(gè)像素的像素點(diǎn)比例,其中加粗?jǐn)?shù)據(jù)表示最優(yōu)數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,在同等網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置下,本文方法較對(duì)比方法在精度上均有提升,并且取得了最低誤匹配率,這證明了改進(jìn)網(wǎng)絡(luò)的匹配效果優(yōu)于其他模型。
表1 k值對(duì)匹配誤差的影響
2)卷積層參數(shù)影響分析
在CNN中卷積核的尺寸對(duì)模型訓(xùn)練至關(guān)重要,較大的卷積核通??梢詭磔^大感受野,從而獲取到更多的圖像信息,但同時(shí)較大卷積核會(huì)導(dǎo)致昂貴的計(jì)算成本,降低模型計(jì)算性能。所以,使用更小的卷積核是當(dāng)前保證模型精度的情況下,提升網(wǎng)絡(luò)訓(xùn)練速度的一種方式。因此,實(shí)驗(yàn)對(duì)于圖4(b)中額外的卷積層進(jìn)行分析對(duì)比。實(shí)驗(yàn)分為3組,分別將卷積核尺寸設(shè)置為{1×1,1×1}、{3×3,3×3}、{3×3,1×1},通道數(shù)不變,均在在KITTI2012訓(xùn)練集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果包括網(wǎng)絡(luò)錯(cuò)誤率和網(wǎng)絡(luò)損失函數(shù)值,如圖5和圖6所示??梢钥闯?卷積核{(lán)1×1,1×1}的卷積層因?yàn)楹凶钌俚膮?shù),其損失函數(shù)收斂速度最快,但錯(cuò)誤率最高;{3×3,3×3}的卷積層在網(wǎng)絡(luò)訓(xùn)練初期誤匹配率較低,但隨著訓(xùn)練時(shí)間的增加,其誤匹配率降低緩慢,并且最終的損失函數(shù)值最高;卷積核為{3×3,1×1}的卷積層錯(cuò)誤率最低,損失函數(shù)值收斂到最小,并且隨著訓(xùn)練時(shí)間和迭代次數(shù)的增加,其錯(cuò)誤率和損失函數(shù)值持續(xù)減小。因此,改進(jìn)算法采用{3×3,1×1}的卷積核。
圖5 不同卷積核尺寸下的誤匹配率曲線
圖6 不同卷積核尺寸下的損失函數(shù)曲線
使用本文方法在KITTI2012和KITTI2015驗(yàn)證集上進(jìn)行視差估計(jì),并分別與文獻(xiàn)[5,21]方法進(jìn)行誤差對(duì)比分析,閾值依次設(shè)置為2個(gè)、3個(gè)和5個(gè)像素,實(shí)驗(yàn)結(jié)果如表2和表3所示,其中加粗?jǐn)?shù)據(jù)表示最優(yōu)數(shù)據(jù)。可以看出,本文方法的錯(cuò)誤率在各項(xiàng)指標(biāo)上均小于對(duì)比方法,尤其是像素閾值為3、5時(shí)的網(wǎng)絡(luò)匹配錯(cuò)誤率分別從5.84%、4.80%降低至3.88%、2.94%。雖然相比原始方法LuoNet較為耗時(shí),但比SPPNet在時(shí)間上提升了約50%。相比于數(shù)據(jù)集KITTI2012,其在數(shù)據(jù)集KITTI2015上錯(cuò)誤率略高,但是仍低于兩種對(duì)比方法。由此可以證明,本文方法在精度和速度上都具有一定優(yōu)勢(shì)。
表2 在KITTI2012數(shù)據(jù)集上的測(cè)試結(jié)果對(duì)比
表3 在KITTI2015數(shù)據(jù)集上的測(cè)試結(jié)果對(duì)比
本文方法與經(jīng)典MC-CNN[2]匹配方法的比較如表4所示,以2個(gè)像素的像素點(diǎn)比例作為閾值,表中加粗?jǐn)?shù)據(jù)表示最優(yōu)數(shù)據(jù),結(jié)果表明,本文方法較MC-CNN-acrt[2]誤差降低了約14%,較MC-CNN-fast[2]方法降低了約11%,本文網(wǎng)絡(luò)結(jié)構(gòu)在KITTI2012和KITTI2015兩個(gè)數(shù)據(jù)集上均實(shí)現(xiàn)了較低的錯(cuò)誤率。
表4 4種方法的視差結(jié)果誤差對(duì)比
在KITTI2012和KITTI2015數(shù)據(jù)集及Middlebury測(cè)試集上進(jìn)行視差圖預(yù)測(cè),輸出結(jié)果如圖7~圖9所示。圖7和圖8中列出2組視差效果對(duì)比圖,圖9列出3組對(duì)比結(jié)果。特別說明,在本文采用的文獻(xiàn)[5]方法中,視差圖未經(jīng)過視差后處理,本文采取同樣的處理方式,因此,輸出視差圖中含有一些噪音,但并不影響實(shí)驗(yàn)結(jié)果分析。
從圖7~圖9可以看出,本文提出的非對(duì)稱金字塔池化網(wǎng)絡(luò)獲得的視差效果更平滑,尤其在Middlebury測(cè)試集中,所得視差圖不僅含有較少的噪聲,而且能夠預(yù)測(cè)到圖像物體及圖像邊緣的視差。例如圖7中汽車邊緣等細(xì)節(jié)區(qū)域、圖9中Cones測(cè)試圖像(左列)物體的邊緣和Tsukuba測(cè)試圖像(右列)臺(tái)燈的邊緣,本文方法輸出的視差圖效果均優(yōu)于LuoNet。圖8的匹配效果雖然在某些細(xì)節(jié)方面不夠理想,目標(biāo)物輪廓較為模糊,但是在沒有進(jìn)行任何后處理的情況下,完整保留了目標(biāo)物的整體信息,即使視差圖中有些區(qū)域含有較多的噪聲,但本文方法仍能完整地保留不同場(chǎng)景的目標(biāo)像素信息,并且取得更好的視差效果。
圖8 KITTI2015數(shù)據(jù)集視差圖
圖9 Middlebury數(shù)據(jù)集視差圖
針對(duì)卷積神經(jīng)網(wǎng)絡(luò)用于立體匹配時(shí)的耗時(shí)和信息損失問題,本文結(jié)合現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)及池化結(jié)構(gòu),對(duì)金字塔池化方法進(jìn)行改進(jìn),提出非對(duì)稱金字塔池化模型,并且使用較小的卷積核增加網(wǎng)絡(luò)深度。實(shí)驗(yàn)結(jié)果表明,與LuoNet網(wǎng)絡(luò)結(jié)構(gòu)相比,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)不僅能夠加快網(wǎng)絡(luò)訓(xùn)練收斂速度,而且能夠進(jìn)行多級(jí)特征信息提取,提升了網(wǎng)絡(luò)匹配精度,改善了最終視差效果。但本文設(shè)計(jì)未使用視差后處理操作,網(wǎng)絡(luò)處理對(duì)象仍是小尺寸圖像塊。下一步將研究如何平衡輸入圖像塊尺寸與視差效果,并利用殘差網(wǎng)絡(luò)多級(jí)信息融合技術(shù)對(duì)視差圖進(jìn)行優(yōu)化。