基于U-Net檢測衛(wèi)星圖像上的新增建筑

向AI轉(zhuǎn)型的程序員都關(guān)注了這個號???
機器學(xué)習(xí)AI算法工程?? 公眾號:datayx
在國土監(jiān)察業(yè)務(wù)中,很重要的一項工作是監(jiān)管地上建筑物的建、拆、改、擴。如果地塊未經(jīng)審批而存在建筑物,那么需要實地派人去調(diào)查是否出現(xiàn)了非法占地行為。如果地塊賣給了開發(fā)商但是沒有實際建設(shè),那么需要調(diào)查是否捂地或者是開發(fā)商資金鏈出現(xiàn)問題。如果居民住房/商業(yè)用地異常擴大,那么需要調(diào)查是否存在違章建筑。對于大城市及其郊區(qū)來說,不可能靠國土局公務(wù)員來每天全城巡查,而可以靠高分辨率圖像和智能算法來自動完成這項任務(wù)。具體來說,需要靠高分系列衛(wèi)星圖像(米級分辨率),和深度學(xué)習(xí)算法來革新現(xiàn)有的工作流程。
本次任務(wù)覆蓋廣東省部分地區(qū)數(shù)百平方公里的土地,其數(shù)據(jù)共3個大文件,存儲在OSS上,供所有參賽選手下載挖掘。
衛(wèi)星數(shù)據(jù)以Tiff圖像文件格式儲存。quickbird2015.tif是一張2015年的衛(wèi)星圖片,quickbird2017.tif是一張2017年的衛(wèi)星圖片。每個Tiff文件中有4個波段的數(shù)據(jù):藍、綠、紅、近紅外。本次比賽的衛(wèi)星數(shù)據(jù)為多景數(shù)據(jù)拼接而成,這是國土資源工作中常見的實際場景。比賽數(shù)據(jù)在藍、綠兩個波段有明顯的拼接痕跡,而紅、近紅外波段的拼接痕跡不明顯。建議選手挑選波段使用數(shù)據(jù),或者在算法中設(shè)計應(yīng)對方案。每個像元以16-bit存儲。Quickbird衛(wèi)星數(shù)據(jù)的詳細描述可以參見:
https://www.satimagingcorp.com/satellite-sensors/quickbird/
2015年度的國土審批紀(jì)錄也以Tiff圖像文件格式儲存,命名為Cadastral2015.tif。其中包含了國土審批數(shù)據(jù)中大約5%的地塊,這些地塊的位置在圖像中數(shù)值定為1,其余地區(qū)的位置在圖像中數(shù)值定為0。值得注意的是:政府在2015年度審批的國土建設(shè)地塊并不一定在2017年完成了建設(shè),同時選手獲取的審批地塊圖片也僅是所有審批紀(jì)錄中的一小部分。因此,本次大賽國土審批紀(jì)錄不是一份訓(xùn)練數(shù)據(jù),而只是一個線索。
在初賽第一階段,我們將提供一份人工精確標(biāo)注的小型數(shù)據(jù)集,便于所有選手上手,命名為tinysample.tif。但是,我們推薦選手對國土審批地塊圖片進行人工甄別,篩選建造自己的訓(xùn)練集。決賽最終使用的訓(xùn)練集可以來自本次大賽所覆蓋的全部地區(qū)。

圖1:衛(wèi)星圖片和國土審批記錄疊加在一起
上圖中紅/綠色地塊是2015年政府批復(fù)下來的不同土地開發(fā)項目。
Tiff數(shù)據(jù)可以用各種編程語言讀寫。比如在Python語言中可以使用PIL庫(Pillow版本), 請參見https://python-pillow.org ;或者是GDAL庫,請參見https://pcjericks.github.io/py-gdalogr-cookbook/ 。同時,推薦選手使用開源軟件QGIS來觀察/編輯衛(wèi)星圖片數(shù)據(jù),請參見www.qgis.org 。
基于U-Net檢測衛(wèi)星圖像上的新增建筑
代碼及運行教程?獲取:
關(guān)注微信公眾號 datayx ?然后回復(fù)??unet? 即可獲取。
AI項目體驗地址 https://loveai.tech
數(shù)據(jù)準(zhǔn)備
圖像預(yù)處理
針對原始圖像存在的兩個問題:
原圖像不同拼接區(qū)域顏色差異大
雖然原圖像每個通道的數(shù)據(jù)都是16位的,但數(shù)據(jù)的實際范圍是0~2774
給出如下圖所示的解決方法:

步驟1到步驟4的代碼請參考genrate_mask.ipynb(需要人工交互操作),步驟5的代碼請參考denoise.py,該操作的核心代碼如下:

手工標(biāo)注
如下圖,標(biāo)注訓(xùn)練數(shù)據(jù)時,我們只挑選一些有代表性的區(qū)域進行標(biāo)注,保證在選擇的區(qū)域內(nèi),標(biāo)注的白色區(qū)域一定是房子變化,而黑色區(qū)域一定不是。得到所選區(qū)域的標(biāo)簽后,再分割成多個小圖像組成我們數(shù)據(jù)集。

從手工標(biāo)注的mask圖像到訓(xùn)練用到的.npy文件,參考代碼process_mark.py,該部分的核心代碼如下:

讀取.npy文件以生成訓(xùn)練用到的小圖,參考代碼generators.py,該部分的核心代碼如下:

數(shù)據(jù)增強

使用數(shù)據(jù)增強對提高模型的泛化能力很有幫助,目前我們只使用了上面四種增強方法,在imgaug.py里還有其他數(shù)據(jù)增強的實現(xiàn)代碼。
數(shù)據(jù)集劃分
訓(xùn)練集:70%
驗證集:20%
測試集:10%
網(wǎng)絡(luò)訓(xùn)練
改進U-Net
使用U-Net檢測新增建筑的整體流程如下:

U-Net的整體架構(gòu)如下:

實現(xiàn)U-Net的代碼請參考unet.py。
后處理
模型融合
將loss權(quán)重不同的模型得到的結(jié)果進行融合(像素級或操作),如下圖所示:

Morphology處理

該部分的代碼請參考post_process.py,其中核心代碼如下:

總結(jié)
算法優(yōu)勢
預(yù)處理:解決圖像拼接問題
八通道U-Net:直接輸出房屋變化,可應(yīng)對高層建筑傾斜問題
數(shù)據(jù)增強:增加模型泛化性,簡單有效
加權(quán)損失函數(shù):增強對新增建筑的檢測能力
模型融合:取長補短,結(jié)果更全
后處理:直觀、高效,可根據(jù)實際情況取舍
閱讀過本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實戰(zhàn)
基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測
《基于深度學(xué)習(xí)的自然語言處理》中/英PDF
【全套視頻課】最全的目標(biāo)檢測算法系列講解,通俗易懂!
《美團機器學(xué)習(xí)實踐》_美團算法團隊.pdf
《深度學(xué)習(xí)入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼
python就業(yè)班學(xué)習(xí)視頻,從入門到實戰(zhàn)項目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個項目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實踐詳解》完整版PDF+附書代碼
《深度學(xué)習(xí)之pytorch》pdf+附書源碼
PyTorch深度學(xué)習(xí)快速實戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學(xué)習(xí)實戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)
李沐大神開源《動手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
FashionAI服裝屬性標(biāo)簽圖像識別Top1-5方案分享
重要開源!CNN-RNN-CTC 實現(xiàn)手寫漢字識別
同樣是機器學(xué)習(xí)算法工程師,你的面試為什么過不了?
前海征信大數(shù)據(jù)算法:風(fēng)險概率預(yù)測
【Keras】完整實現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個項目,讓你掌握深度學(xué)習(xí)圖像分類
VGG16遷移學(xué)習(xí),實現(xiàn)醫(yī)學(xué)圖像識別分類工程項目
特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊
如何利用全新的決策樹集成級聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識別手寫中文網(wǎng)站
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機器學(xué)習(xí)、數(shù)據(jù)分析、python
?搜索公眾號添加:?datayx??
機大數(shù)據(jù)技術(shù)與機器學(xué)習(xí)工程
?搜索公眾號添加:?datanlp
長按圖片,識別二維碼
