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