農(nóng)作物地塊范圍識別(圖像分割)

來源:機器學習AI算法工程、知乎@Now more 本文約5500字,建議閱讀15分鐘 本文為你介紹 以薏仁米作物識別以及產(chǎn)量預測為比賽命題,及對對應獲獎的開發(fā)算法模型。

評估指標
不同類別的標簽統(tǒng)計,背景類最多,人造建筑最少。

一、亞軍方案介紹
1. 總體方案

2. 預處理
裁剪

數(shù)據(jù)增強
3. 農(nóng)作物分割

模型這里也可以考慮換成deeplab v3+,結(jié)果應該會有一點提升,決賽的幾個隊伍中,很多都是使用的deeplab v3+,deeplab的ASPP同樣有融合context信息的作用。
4. 建筑物分割
下圖中可以看出,圖中右面在訓練集的標簽上是屬于建筑物的一部分,可是跟左邊的水泥路十分相似。

解決方法是將建筑物單獨使用一個網(wǎng)絡進行分割,并且訓練集降低分辨率,最終嘗試將原圖降低16倍分辨率作為建筑物的訓練集。
如下圖,單獨分割后顯著地降低了建筑的錯誤。

網(wǎng)絡使用的是HRNet,HRNet一直保持的高分辨率feature map對于建筑物的邊界細節(jié)預測較準確。

5. 訓練細節(jié)
由于訓練集中標簽有噪聲,如下:

6. 半監(jiān)督
半監(jiān)督方法應該算是比賽中比較常用的方法,在比賽中也是在A榜的最后一次提交中才使用了半監(jiān)督的方法,單模型結(jié)果達到了0.788,是除了建筑物單獨分割以外提升最大的trick了,對于置信度等參數(shù)也沒有機會進行進一步的嘗試,感覺半監(jiān)督還有潛力可以挖掘。
感覺半監(jiān)督方法在這個數(shù)據(jù)集中尤為適合,對于原因也不太明確。
這里看到過一個說法:“半監(jiān)督帶來的提升不只是數(shù)據(jù)量帶來的提升,而是對于那些數(shù)據(jù)難以精確標注的場合,”結(jié)合這次比賽的數(shù)據(jù),雖然是語義分割的比賽,但是label并不是像素級精度的,標注的時候應該使用的是多邊形的標注,所以對于邊界的標注很不精細,并且對于農(nóng)田其實也很難找到一個很明確的邊界來標記,感覺可能符合難以精細標注這個描述,但是對于這個說法并沒有找到相關的論文,哪位大佬如果有更好的解釋或者相關的論文推薦,希望不吝賜教。
7. 預測

8. 最終結(jié)果

二、冠軍整體方案
1. 數(shù)據(jù)預處理
滑窗裁剪
類別平衡:過濾掉mask無效占比大于7/8的區(qū)域,在背景類別比例小于1/3時減小滑窗步長,增大采樣率; patch:實驗中沒有觀察到patch對模型性能有顯著影響,最后采取策略同時保留1024和512兩種滑窗大小,分別用來訓練不同的模型,提高模型的差異度,有利于后期模型集成; 速度:決賽時算法復現(xiàn)時間也是一定的成績考量,建議使用gdal庫,很適合處理遙感大圖的場景。本地比賽中我們直接多進程加速opencv,patch為1024時,單張圖5~6min可以切完;
策略一:以1024x1024的窗口大小,步長900滑窗,當窗口中mask無效區(qū)域比例大于7/8則跳過,當滑動窗口中背景類比例小于1/3時,增加采樣率,減小步長為512; 策略二:以1024x1024的窗口大小,步長512滑窗,當滑動窗口中無效mask比例大于1/3則跳過。
數(shù)據(jù)增強
2. 模型選擇



三、漲分點
1. 膨脹預測

填充1 (黃色部分) : 填充右下邊界至滑窗預測窗口大小的整數(shù)倍,方便整除切割; 填充2(藍色部分) : 填充1/2滑窗步長大小的外邊框(考慮邊緣數(shù)據(jù)的膨脹預測); 以1024x1024為滑窗,512為步長,每次預測只保留滑窗中心512x512的預測結(jié)果(可以調(diào)整更大的步長,或保留更大的中心區(qū)域,提高效率)。

2. 測試增強

3. snapshot ensemble

4. 后處理
針對本次賽題數(shù)據(jù)場景為大面積農(nóng)田預測,通過簡單的填充孔洞、去除小連通域等后處理,可以去除一些不合理的預測結(jié)果。

5. 邊緣平滑

圖像邊緣:卷積時零填充太多,信息缺少,難以正確分類(參考3.1的方格效應) 不同類間交界處: 標注錯誤,類間交界難以界定,訓練時可能梯度不穩(wěn)定 類間交界的點,往往只相差幾個像素偏移,對網(wǎng)絡來說輸入信息高度相似,但訓練時label 卻不同,也是訓練過程的不穩(wěn)定因素。



6. 偽標簽

利用在測試集表現(xiàn)最好的融合模型結(jié)果作偽標簽,用多組不同置信度閾值過濾數(shù)據(jù),結(jié)合訓練集訓練模型; 選取多個snapshot的方法對模型進行自融合提高模型的泛化能力; 集成2中的預測結(jié)果,更新偽標簽,重復步驟1~3。
四、總結(jié)
膨脹預測消除邊緣預測不準問題; 使用測試增強、消除空洞和小連通域等后處理提高精度; 使用snapshot模型自融合、標簽平滑、偽標簽等方法提高模型穩(wěn)定性和對新地形泛化能力;
編輯:黃繼彥
評論
圖片
表情
