程彬煒,安博文,趙明
(上海海事大學(xué)信息工程學(xué)院,上海201306)
遙感技術(shù)是一種使用衛(wèi)星來(lái)采集地球的各種數(shù)據(jù)、信息的技術(shù)方法。遙感技術(shù)主要應(yīng)用于軍事偵查等方面。經(jīng)過(guò)20世紀(jì)以來(lái)的不斷進(jìn)步與發(fā)展,遙感技術(shù)已經(jīng)有了很大的進(jìn)展,并且逐漸的“平民化”,不僅僅應(yīng)用于軍事領(lǐng)域,而且也深入了日常生活的便利之中?;谶b感圖像的目標(biāo)識(shí)別是近些年來(lái)交叉學(xué)科領(lǐng)域的一個(gè)熱點(diǎn)。由于遙感圖像包含了大量可被使用的信息而且能夠進(jìn)行連續(xù)拍攝,因而它的應(yīng)用領(lǐng)域十分的廣泛,隨著遙感圖像的分辨率大幅度的增加,例如汽車、飛機(jī)、軍艦等的大型附體或者說(shuō)是重要識(shí)別目標(biāo)也可以清晰地顯現(xiàn)出來(lái)。本文針對(duì)識(shí)別目標(biāo)中的“汽車”這一類進(jìn)行研究。
在遙感圖像汽車識(shí)別這一目標(biāo)之下,我們主要需要完成以下兩個(gè)目標(biāo),一是通過(guò)恰當(dāng)?shù)姆椒▽?shí)現(xiàn)提取遙感圖像的特征,二是根據(jù)適當(dāng)方法及其改進(jìn)方法的某些算法達(dá)到“識(shí)別”也就是“分類”的作用,從而達(dá)到我們最終通過(guò)遙感圖像識(shí)別汽車的目的。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是深度學(xué)習(xí)中的一個(gè)重要的學(xué)習(xí)模型,CNN在圖像的處理等方面有著突出的良好效果,因此圖像的處理方向上就會(huì)經(jīng)常使用CNN模型,在具體的實(shí)踐操作過(guò)程中,與其他方法手段的對(duì)比也證明了CNN在這個(gè)領(lǐng)域內(nèi)有著獨(dú)特的優(yōu)勢(shì)。卷積神經(jīng)網(wǎng)絡(luò)在上個(gè)世紀(jì)因?yàn)檠芯縿?dòng)物大腦對(duì)外界環(huán)境的圖像處理時(shí)被發(fā)現(xiàn),通過(guò)構(gòu)造一個(gè)復(fù)雜的模型進(jìn)行研究動(dòng)物大腦的圖像處理功能,因此這個(gè)模型在處理圖像的領(lǐng)域內(nèi)極為突出,并逐漸延伸到計(jì)算機(jī)領(lǐng)域。如今學(xué)術(shù)界逐漸重視起卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)領(lǐng)域中的突出貢獻(xiàn)。通過(guò)一定的研究表明,卷積神經(jīng)網(wǎng)絡(luò)能夠最大限度地減少輸入原始圖像時(shí)的損失,其獨(dú)特之處就在于能夠按照原始的圖形信息進(jìn)行數(shù)據(jù)收集與數(shù)理,并且在1000多個(gè)自然領(lǐng)域中都證實(shí)了該模型的可靠性,因此可以用來(lái)進(jìn)行檢測(cè)實(shí)際應(yīng)用中的目標(biāo)物體,幫助人類大大提高物體識(shí)別的準(zhǔn)確率,在檢索及識(shí)別領(lǐng)域內(nèi)有著非常長(zhǎng)遠(yuǎn)的應(yīng)用意義。
卷積神經(jīng)網(wǎng)絡(luò)在很大的程度上是通過(guò)模擬動(dòng)物大腦的圖像處理來(lái)完成自身任務(wù),學(xué)者在對(duì)動(dòng)物的神經(jīng)元進(jìn)行實(shí)驗(yàn)發(fā)現(xiàn),腦部中部分神經(jīng)智慧對(duì)處于特定邊緣的角度才會(huì)產(chǎn)生一定的反應(yīng),通過(guò)神經(jīng)之間的傳遞進(jìn)行連接,在腦部中樞神經(jīng)中產(chǎn)生圖像的意識(shí),因此這就是卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu)基礎(chǔ)。在具體的模型應(yīng)用中,主要進(jìn)行相關(guān)數(shù)據(jù)的卷積以及修正過(guò)程,在此基礎(chǔ)進(jìn)行采樣、連接,輸入多維空間向量,最終采用分類器進(jìn)行圖片分類。卷積神經(jīng)網(wǎng)絡(luò)由卷積層、池化層以及全連接層組成,卷積層是卷積神經(jīng)網(wǎng)絡(luò)的關(guān)鍵核心,幫助圖片的特征進(jìn)行提取,通過(guò)第一層的運(yùn)算能夠把三維的圖片轉(zhuǎn)化成平面上的特征圖,卷積原理如圖1所示:
圖1 卷積原理
卷積神經(jīng)網(wǎng)絡(luò)模擬動(dòng)物大腦的圖像處理,利用濾波器模仿神經(jīng)元對(duì)外界信息的回應(yīng),在卷積運(yùn)算中,濾波器就能得到一些信息,在后續(xù)的連接過(guò)程拼接成圖像,如圖2所示。
圖2 卷積特征
卷積神經(jīng)網(wǎng)絡(luò)在卷積層之間存在池化層,主要作用是降低模型中的計(jì)算量以及相關(guān)參數(shù),能夠更好控制擬合現(xiàn)象。全連接層一般情況下位于最后一層,主要機(jī)型圖像信息的連接,最終形成結(jié)果。
由于卷積神經(jīng)網(wǎng)絡(luò)的自身結(jié)構(gòu)特征,信息收集主要來(lái)源于每一層神經(jīng)網(wǎng)絡(luò)的連接,因此計(jì)算量通常成指數(shù)倍增長(zhǎng),較為復(fù)雜,在實(shí)際運(yùn)動(dòng)當(dāng)中主要通過(guò)局部感知以及參數(shù)共享兩組特點(diǎn)來(lái)克服一定的問(wèn)題,對(duì)參數(shù)數(shù)量可以有著一定的降低。局部感知主要因?yàn)槲覀冊(cè)谔幚韴D像信息的過(guò)程中有時(shí)候并不需要所有的信息,而只對(duì)局部信息有著重要的聯(lián)系,對(duì)某些不必要的部分可以忽略不計(jì),因此,在神經(jīng)網(wǎng)絡(luò)中,可以先從局部出發(fā),了解局部存在的重要信息,再通過(guò)更加高層次的連接先進(jìn)行整體感知,得到全局信息,對(duì)于一張1000×1000的圖片,僅僅全連接處理的時(shí)候,每一個(gè)神經(jīng)元都處理1000×1000的參數(shù),需要10的12次方個(gè)參數(shù)參與,但如果進(jìn)行局部處理,每個(gè)神經(jīng)元只需要進(jìn)行10×10的信息處理,則參數(shù)值需要10的8次方,這樣大大精簡(jiǎn)的計(jì)算數(shù)量。
通過(guò)前文所述的局部感知,在進(jìn)行10×10的局部處理過(guò)程中,我們可以近似的把這一小點(diǎn)當(dāng)做特征的提取,能夠進(jìn)行全局的拓展,每一個(gè)神經(jīng)元可以進(jìn)行局部處理的參數(shù)共享,對(duì)于1000×1000的信息就能夠只需要100個(gè)參數(shù),進(jìn)行降低參數(shù)的數(shù)量級(jí),這就是卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)共享的特性。
對(duì)基于卷積神經(jīng)網(wǎng)絡(luò)模型的進(jìn)行遙感汽車識(shí)別,首先需要對(duì)圖像進(jìn)行預(yù)處理,本文基于圖的超像素分割的原理首先進(jìn)行圖像的分割,形成很多待檢測(cè)的窗口,再通過(guò)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行區(qū)分和識(shí)別,尋找目標(biāo)車輛,最后利用非極大值來(lái)進(jìn)行抑制篩選,以得到最終的處理結(jié)果。
在進(jìn)行遙感圖像汽車的識(shí)別工作之前,首要工作是需要訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),通過(guò)在數(shù)據(jù)中的圖片進(jìn)行超像素處理,進(jìn)行圖片的分割得到很多分塊。在這些超像素分塊的信息總提取出自己所需要的樣本。這時(shí)候就可以對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在真正進(jìn)行車輛的檢測(cè)過(guò)程中,提出一張新的遙感圖像,這張圖像需要被處理,就要用算法首先提取所感興趣額的區(qū)域,在進(jìn)行分割處理,以自身的質(zhì)心處為標(biāo)準(zhǔn),得到所需要的待檢測(cè)分塊,這些模塊首先使用前文訓(xùn)練完成的深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測(cè)處理,當(dāng)結(jié)果表明該區(qū)域存在車輛時(shí)進(jìn)入下一步,最后通過(guò)抑制手段過(guò)濾無(wú)用的區(qū)域,最終得出結(jié)果,作為遙感圖像汽車識(shí)別的最后結(jié)果。
本文擬采用的卷積神經(jīng)網(wǎng)絡(luò)由三層卷積層以及三層池化層組成,每一個(gè)卷積圖與其上一層的特征圖的個(gè)數(shù)相對(duì)應(yīng),從起始的輸入值一直到最終的輸出值中的特征逐級(jí)增加,逐漸變得更加抽象和復(fù)雜,最后就是全連接層,在全連接層中特征圖轉(zhuǎn)換向量,最后以相應(yīng)的參數(shù)產(chǎn)生結(jié)果。結(jié)果以二分類問(wèn)題結(jié)果產(chǎn)出,控制識(shí)別檢測(cè)區(qū)的車輛的是否判斷。最終輸出兩個(gè)結(jié)果。每一個(gè)結(jié)果分別表示各自占有的概率,表示最終的車輛判斷。
圖3 非極大值抑制示意
圖4 6層網(wǎng)絡(luò)的結(jié)構(gòu)輸出結(jié)果示意
圖3 中為檢測(cè)窗口,分割出來(lái)的像素塊經(jīng)過(guò)一定的處理,為深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行更方便的識(shí)別與處理,在概率高于一定的閾值情況下留存下來(lái)。在一定程度上,這幾個(gè)窗口顯示的檢測(cè)結(jié)果由于含有目標(biāo)物體,因此都可以認(rèn)為是正確的結(jié)果,但是每一個(gè)窗口檢測(cè)出的結(jié)果都是針對(duì)同一個(gè)目標(biāo),但是同一個(gè)目標(biāo)在多個(gè)窗口中的表示較為多余,因此在對(duì)于精確表達(dá)位置的過(guò)程中具有較大難度,不僅僅干擾目標(biāo)的確定,而且造成資源的浪費(fèi)以及結(jié)果的多余,因此我們更需要只用一個(gè)窗口來(lái)更準(zhǔn)確目標(biāo)結(jié)果,因此在這里引用非極大抑制的方法,目的是過(guò)濾掉非最大值的其他窗口,首先需要在多個(gè)窗口中找到得分最高的窗口,按照前文的敘述中使用汽車概率為1的窗口,根據(jù)相應(yīng)的面積比找出與目前高分的重疊區(qū),一般為0.4或者0.6等,將這些重疊率超過(guò)一定程度的窗口都進(jìn)行過(guò)濾并刪除的處理,將最終的結(jié)果控制為一個(gè)窗口,在接下來(lái)的過(guò)程中進(jìn)行不斷重復(fù),找出除了最高之外的其他窗口,在經(jīng)過(guò)一段時(shí)間的篩選之后,就基本完成了非極大值抑制的處理。本文選擇閾值設(shè)置為0.6,原因是因?yàn)橥ㄟ^(guò)對(duì)路面上的觀察發(fā)現(xiàn),0.6比0.4更加能夠在抑制處理的過(guò)程中保持較好的效果,避免因?yàn)槠囅噜彽脑蚨贿^(guò)度篩選掉,無(wú)形中降低了檢測(cè)的準(zhǔn)確性。
圖4是對(duì)6層卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可視化處理,每一個(gè)特征圖在圖中表現(xiàn)為一個(gè)矩形,并根據(jù)由低到高的層次進(jìn)行排列,對(duì)真實(shí)網(wǎng)絡(luò)中進(jìn)行數(shù)值的歸一化操作,并從中能夠較為明顯看出,右邊的特征圖表達(dá)出更為復(fù)雜的特征,因此所包含的信息更加抽象。
實(shí)驗(yàn)數(shù)據(jù)從谷歌地圖上進(jìn)行引用截取,一共一百多張圖片,在圖像中每?jī)蓚€(gè)相鄰的像素之間的真實(shí)長(zhǎng)度0.135米。每張圖像都經(jīng)過(guò)了預(yù)處理,通過(guò)人工方法在汽車的所在位置標(biāo)注中心的實(shí)際坐標(biāo),并選擇了兩張包含一兩百輛汽車的圖像作為測(cè)試使用,數(shù)據(jù)的收集共含有三千多輛車,圖片中像素個(gè)數(shù)為51454582個(gè),前文介紹過(guò)超像素分割的算法,以此進(jìn)行參數(shù)的調(diào)適,經(jīng)過(guò)不同參數(shù)的對(duì)比研究不同算法對(duì)汽車召回的實(shí)際影響,在實(shí)際的過(guò)程中采用超像素分割。其中,汽車的召回率為召回的汽車數(shù)量與數(shù)據(jù)中的總汽車數(shù)量的比值。超像素分割算法對(duì)最終的召回效果有著不同的影響,在都對(duì)算法后續(xù)的處理時(shí)間也有著一定的影響,較多的超像素塊影響目標(biāo)的檢測(cè),在不考慮其他因素的影響下,超像素塊的數(shù)量越少越好,但是從另外一個(gè)角度上來(lái)說(shuō),超像素塊越少、汽車的召回率有者完全相反的結(jié)果。召回率又稱為查全率,在實(shí)際召回的車輛數(shù)量個(gè)數(shù)會(huì)用來(lái)記性標(biāo)記的處理以及閾值的設(shè)定。
圖5 不同超像素分割對(duì)汽車召回的不同影響
根據(jù)圖5所示,文章對(duì)比不同超像素分割算法,并且以一定的參數(shù)為基準(zhǔn),對(duì)比整體之下產(chǎn)生的超像素個(gè)數(shù),綠色部分已SLIC算法為基準(zhǔn),紅色部分已基于圖的分割形式為主。每個(gè)點(diǎn)與相應(yīng)算法中的參數(shù)設(shè)置相對(duì)應(yīng),橫坐標(biāo)表示對(duì)應(yīng)產(chǎn)生的像素塊個(gè)數(shù),縱軸表示對(duì)應(yīng)檢測(cè)效果。根據(jù)上圖所示,超像素塊的像素個(gè)數(shù)越少,數(shù)量塊越多,當(dāng)縱軸越往上,則檢測(cè)效果程度越高,汽車的召回率越高,所采用的研究方法就是基于圖的超像素分割。
圖6 基于圖的超像素分割效果
根據(jù)圖6可以看出,超像素的分割塊分布較為細(xì)膩,這樣對(duì)結(jié)束之后的其他汽車檢測(cè)具有一定的幫助,在分割的時(shí)候盡可能使得以目標(biāo)車輛為中心的矩形框?qū)ζ渌囕v有一定的囊括性,對(duì)非車輛部分保留一定的粗獷,盡可能不去影響的車輛的檢測(cè)識(shí)別效果。其中包括的像素個(gè)數(shù)越多,總體超像素塊越少,對(duì)后續(xù)的算法會(huì)有一定的精簡(jiǎn)效果。
對(duì)比幾種不同的檢測(cè)識(shí)別效果,并與HOG特征進(jìn)以及局域HOG的SVM算法進(jìn)行分類對(duì)比,得出這種方法對(duì)遙感圖像汽車的識(shí)別有著較為優(yōu)異的效果,在實(shí)驗(yàn)中也存在著些許不合理的地方,為以后的改進(jìn)預(yù)留了一定的學(xué)習(xí)方向。深度學(xué)習(xí)的模型可以當(dāng)做一個(gè)處理問(wèn)題的暗盒,其最終識(shí)別效果與樣本的總數(shù)存在一定的關(guān)系,本文實(shí)驗(yàn)的樣本包含四萬(wàn)張圖片,采用了一種檢測(cè)訓(xùn)練的學(xué)習(xí)模式,因此樣本的結(jié)果分為正、負(fù)兩個(gè)部分,總體的數(shù)量分別分成兩個(gè)一半,訓(xùn)練的樣本數(shù)量與測(cè)試的樣本數(shù)量保持為3:1。具體的結(jié)果如圖7所示:
根據(jù)前文介紹的集中網(wǎng)絡(luò)模型,實(shí)驗(yàn)中的深度學(xué)習(xí)模型有GoogleNet、VGGNet等,根據(jù)分類的結(jié)果可以較為明顯的看出,GoogleNet模型的實(shí)驗(yàn)效果明顯高于其他的模型,在分類識(shí)別的上的精度幾乎達(dá)到1,達(dá)到了99.43%,根據(jù)實(shí)驗(yàn)的模型來(lái)看,由于網(wǎng)絡(luò)參數(shù)的影響,微調(diào)分類方式比全訓(xùn)練模式要好。
本文給出了基于卷積神經(jīng)網(wǎng)絡(luò)去識(shí)別遙感圖像中車輛的方法,該算法可用于解決實(shí)際工作中的一些相關(guān)問(wèn)題,具有一定的實(shí)際意義。但此方法對(duì)于圖像的局限性比較大,并且數(shù)據(jù)量不足,所以在具體實(shí)用中還需改進(jìn)加強(qiáng)。