衛(wèi)星圖像是十分重要的資源,可以通過它計(jì)量國土資源,檢測(cè)地面情況并且能高瞻遠(yuǎn)矚的記錄地表發(fā)生的變化。但由于衛(wèi)星圖像十分巨大而且其中的物體相對(duì)較小,利用衛(wèi)星圖像進(jìn)行目標(biāo)檢測(cè)是充滿挑戰(zhàn)的工作,本文主要講解了一篇基于yolo算法進(jìn)行改進(jìn)的高效衛(wèi)星圖像目標(biāo)檢測(cè)算法,主要針對(duì)高分辨率輸入和密集小物體進(jìn)行了優(yōu)化。
在大面積的圖像中識(shí)別出一系列小物體是衛(wèi)星圖像處理的主要任務(wù)之一。近年來基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法有了很大的效率提升,但基于衛(wèi)星圖像的處理還存在這一系列問題。為了解決這一系列調(diào)整,研究人員在YOLO的基礎(chǔ)上提出了一種兩階段的算法架構(gòu),不僅可以適應(yīng)多尺度的檢測(cè),同時(shí)達(dá)到了F1>0.8的結(jié)果,最后還探究了分辨率和物體大小對(duì)于檢測(cè)的影響,并發(fā)現(xiàn)只需要五個(gè)像素的大小就可以實(shí)現(xiàn)目標(biāo)檢測(cè)。文章主要從深度學(xué)習(xí)對(duì)于衛(wèi)星圖像目標(biāo)檢測(cè)的缺陷出發(fā),提出了改進(jìn)的細(xì)粒度的目標(biāo)檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)。同時(shí)為了解決檢測(cè)不變性的問題進(jìn)行了大量的數(shù)據(jù)增強(qiáng)。
1. 衛(wèi)星圖像目標(biāo)檢測(cè)存在的問題
高分辨率的衛(wèi)星圖像和相對(duì)較小的圖內(nèi)物體使得衛(wèi)星圖像處理目前主要面臨以下四個(gè)方面的挑戰(zhàn):
空間范圍較小:在衛(wèi)星圖像中,感興趣的物體相對(duì)尺寸都很小而且常常聚攏在一起,與ImageNet數(shù)據(jù)集中大范圍的顯著物體大不相同。同時(shí)物體的分辨率主要由地面采樣距離決定,它定義了每個(gè)像素對(duì)應(yīng)的物理長度。通常情況下衛(wèi)星運(yùn)行的高度是350km左右,最清晰的商用衛(wèi)星圖像可以達(dá)到30cm的GSD(每個(gè)像素對(duì)應(yīng)30cm),而普通的數(shù)字衛(wèi)星影響只能達(dá)到3-4m的分辨率了。所以對(duì)于車輛、船只這樣的小物體來說可能只有10多個(gè)像素來描述;
衛(wèi)星圖像中的物體具有各個(gè)方位的朝向,而ImageNet數(shù)據(jù)集中大多是豎直方向的,需要檢測(cè)器具有旋轉(zhuǎn)不變性;
訓(xùn)練數(shù)據(jù)的缺乏,對(duì)于衛(wèi)星圖像缺乏高質(zhì)量的訓(xùn)練數(shù)據(jù),雖然SpaceNet已經(jīng)進(jìn)行了一系列有益的工作,但還需要進(jìn)一步改進(jìn);
極高的圖像分辨率,與通常輸入的小圖片不同,衛(wèi)星圖像動(dòng)輒上億像素,簡單的將采樣方法對(duì)于衛(wèi)星圖像處理無法適用。
在過去的幾年里深度學(xué)習(xí)早已成為目標(biāo)檢測(cè)的重要工具,但卻還有一系列問題有待優(yōu)化。比如像鳥群一樣的密集小物體檢測(cè)是目前需要解決的挑戰(zhàn)。這主要是由于卷積神經(jīng)網(wǎng)絡(luò)中一系列降采樣操作造成的,如果目標(biāo)僅僅包含很少的像素?cái)?shù)目,這種方法會(huì)造成很大的問題。例如在yolo中降采樣因子是32同時(shí)返回13*13的預(yù)測(cè)柵格,這意味著如果一個(gè)某個(gè)物體的像素少于32個(gè)就會(huì)引起嚴(yán)重的問題。
研究人員為了解決這個(gè)問題對(duì)YOLO的網(wǎng)絡(luò)架構(gòu)進(jìn)行了改造,加密了最后預(yù)測(cè)輸出的柵格數(shù)量,從而提高了網(wǎng)絡(luò)對(duì)于細(xì)粒度特征的檢測(cè)結(jié)果以及區(qū)分不同物體的能力,改善了對(duì)于小物體和密集物體群的檢測(cè)。
同時(shí)目標(biāo)檢測(cè)算法對(duì)于不常見的的比例或新的圖像分布缺乏一定的泛化能力。由于物體可能的方向和尺寸比例各不相同,算法有限的比例變化對(duì)于特殊目標(biāo)的檢測(cè)就會(huì)失效。為了解決這一問題,研究人員對(duì)數(shù)據(jù)進(jìn)行了旋轉(zhuǎn)和HSV的隨機(jī)增強(qiáng),是算法對(duì)于不同傳感器、大氣條件和光照條件具有更強(qiáng)的魯棒性。
目前先進(jìn)的目標(biāo)檢測(cè)算法都是對(duì)整幅圖像進(jìn)行處理的,但對(duì)于上億像素的衛(wèi)星圖像來說,很難有硬件顯卡內(nèi)存可以滿足如此大的需求。為了解決對(duì)于多尺度目標(biāo)的高速檢測(cè),研究人員提出了利用區(qū)域圖像作為輸入,利用多尺度檢測(cè)其來進(jìn)性檢測(cè)的方法。在實(shí)際過程中,大概200m尺度的圖像片作為輸入,并利用一定的上采樣進(jìn)行處理。
下圖中對(duì)比了原始圖像和其中的圖像片輸入網(wǎng)絡(luò)后的結(jié)果。全尺寸的網(wǎng)絡(luò)幾乎無法得到任何結(jié)果(下采樣后圖片分辨率損失),而圖像片(像素?cái)?shù)小于32)得到的結(jié)果也不盡如人意。
2. 算法與網(wǎng)絡(luò)架構(gòu)
首先研究人員們對(duì)算法架構(gòu)進(jìn)行了改造,將網(wǎng)絡(luò)結(jié)構(gòu)改成了22層和16的降采樣因子,416*416的像素輸入后能得到26*26的輸出柵格,通過這樣的技術(shù)來優(yōu)化網(wǎng)絡(luò)對(duì)于小物體、密集排布的檢測(cè)效果。更密集的預(yù)測(cè)柵格對(duì)于停車場(chǎng)車輛和碼頭船只的檢測(cè)十分重要。同時(shí)為了提高小物體的保真度,引入了一個(gè)直通層將最后52*52的直通層和最后一個(gè)卷基層進(jìn)行組合,使得檢測(cè)器可以通過拓展特組圖發(fā)現(xiàn)更多細(xì)粒度的特征。
卷積網(wǎng)絡(luò)中的神經(jīng)元都使用批量歸一化和LeakyRelu激活,最后一層使用線性激活函數(shù)。最后輸出的結(jié)果N=Nboxes*(Nclass+5),每一個(gè)bbox包含四個(gè)坐標(biāo)和一個(gè)包含物體的概率,以及屬于每類物體的概率。
3. 訓(xùn)練數(shù)據(jù)
由于在衛(wèi)星圖像處理中,主要關(guān)注飛機(jī)、輪船、建筑平面、汽車和機(jī)場(chǎng),它們的尺度各不相同。研究人員訓(xùn)練了兩個(gè)不同尺度的檢測(cè)器來進(jìn)行目標(biāo)檢測(cè)。
- 汽車數(shù)據(jù)集使用了COWC數(shù)據(jù)集,基于15cm的GSD尺度。為了與目前商用衛(wèi)星圖像的30cm尺度一致,利用高斯核對(duì)圖像進(jìn)性了處理,并在30cmGSD的尺度上為每輛車標(biāo)注3m的邊框,共13303個(gè)樣本;
- 建筑平面基于SpaceNet的數(shù)據(jù)在30cmGSD尺度下標(biāo)注了221336個(gè)樣本;
- 飛機(jī)利用八張GigitalGlobe的圖片標(biāo)注了230個(gè)樣本;
- 船只利用三張GigitalGlobe的圖片標(biāo)注了556個(gè)樣本;
- 機(jī)場(chǎng)利用37張圖片作為訓(xùn)練樣本,其中包含機(jī)場(chǎng)跑道,并進(jìn)行4比例的降采樣。
訓(xùn)練過程中使用了NVIDIA Titan X GPU,學(xué)習(xí)率0.001,權(quán)重衰減0.0005,動(dòng)量0.9。
4. 測(cè)試
為了對(duì)測(cè)試圖像的結(jié)果,研究人員們使用智能圖像分割將原始圖像按照15%的重疊率切分成一系列子圖,并按照如下的格式進(jìn)行位置標(biāo)注:
ImageName|row_column_height_width.ext
將每一張圖像送入模型后,得到的結(jié)果再更具上面的位置標(biāo)記恢復(fù)到完整的圖像中顯示。
最終的檢測(cè)結(jié)果如下圖所示:
街區(qū)內(nèi)測(cè)車輛檢測(cè)結(jié)果
飛機(jī)和輪船的檢測(cè)結(jié)果
目前一分鐘可以處理30平方千米的圖像,對(duì)于機(jī)場(chǎng)這樣的大尺度對(duì)象來說可以除了6000平方公里。未來如果用16GPU集群可以實(shí)現(xiàn)實(shí)時(shí)的衛(wèi)星圖像目標(biāo)檢測(cè)。
同時(shí)研究人員還探索了分辨率隨檢測(cè)準(zhǔn)確率的關(guān)系,發(fā)現(xiàn)分辨率越高圖像的準(zhǔn)確率越高
想上手嘗試一下的小伙伴,github上有docker封裝好的代碼,上手即用:
https://github.com/CosmiQ/yolt
最后再來欣賞幾幅檢測(cè)后的漂亮的衛(wèi)星圖像:
-
算法
+關(guān)注
關(guān)注
23文章
4681瀏覽量
94325 -
衛(wèi)星
+關(guān)注
關(guān)注
18文章
1742瀏覽量
67875 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5547瀏覽量
122284
原文標(biāo)題:You Only Look Twice:揭秘高速衛(wèi)星圖像目標(biāo)檢測(cè)系統(tǒng)
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
人臉檢測(cè)算法及新的快速算法
PowerPC小目標(biāo)檢測(cè)算法怎么實(shí)現(xiàn)?
基于YOLOX目標(biāo)檢測(cè)算法的改進(jìn)
基于像素分類的運(yùn)動(dòng)目標(biāo)檢測(cè)算法
醫(yī)學(xué)圖像邊緣檢測(cè)算法的研究
基于Canny檢測(cè)算法實(shí)現(xiàn)的目標(biāo)跟蹤

基于Surendra改進(jìn)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法
改進(jìn)的ViBe運(yùn)動(dòng)目標(biāo)檢測(cè)算法_劉春
如何使用Zynq SoC硬件加速實(shí)現(xiàn)改進(jìn)TINY YOLO實(shí)時(shí)車輛檢測(cè)的算法

基于深度學(xué)習(xí)YOLO系列算法的圖像檢測(cè)
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法

基于改進(jìn)YOLOv3的行人車輛目標(biāo)檢測(cè)算法
基于改進(jìn)YOLOv2的遙感圖像目標(biāo)檢測(cè)技術(shù)
一種改進(jìn)的高光譜圖像CEM目標(biāo)檢測(cè)算法

評(píng)論