labelme实例分割_MaskRCNN在多个实例数据集上实践
剛剛開通付費功能,好奇心驅使我試試效果,這不,前兩天試了一下,感覺也沒啥新奇的。我的公眾號使命是記錄和分享個人學習經歷,不會使用付費功能的。在此也非常感謝之前給我付費的小伙伴哈,哈哈,話不多說,今天正式發布這篇文章。
MaskRCNN的理論請看其他博文、源碼解析參考下面鏈接文章。
MaskRCNN源碼解析1:整體結構概述
MaskRCNN源碼解析2:特征圖與anchors生成
MaskRCNN源碼解析3:RPN、ProposalLayer、DetectionTargetLayer
MaskRCNN源碼解析4-0:ROI Pooling 與 ROI Align理論篇
MaskRCNN源碼解析4:頭網絡(Networks Heads)解析
MaskRCNN源碼解析5:損失部分解析
目 錄
一,檢測分割斑馬
二,檢測分割印章
三,檢測分割版面中的圖片表格公式
? ? ? 最近用MaskRCNN做了一些檢測小實驗,主要包括檢測分割斑馬,檢測分割印章,檢測分割版面中的圖片表格公式等。
一,檢測分割斑馬
? ? ? coco數據集已經有斑馬類還用斑馬圖片標注測試主要是為了方便跑通代碼,查看效果。先是從網上下載了一些斑馬,自己用labelme標注了一下,生成的數據集如下:
? ? ? ?最后簡單訓練了一下,測試效果肯定是而且必須是還行:
? ? ? ?以上目的只是為了跑通訓練自己數據集的所有流程。主要過程可以看看這篇文章:https://zhuanlan.zhihu.com/p/180236787
二,檢測分割印章
? ? ? ?然后我又標注了一個稍微大一點的數據集,主要目的是為了檢測印章,部分原圖如下圖所示:
? ? ? ?主要是紅色圓形印章,當然這種紅色圓形印章通過通道分離可以很容易將印章分割出來,這里只是拿它來試試MaskRCNN的檢測分割效果,所以多費點力氣繞個大圈子。
? ? ? ?印章數據集用labelme標注,并轉換后的數據集(部分)如下:
? ? ? ?訓練到總的loss為0.04左右,然后測試了一下檢測分割效果(圖片有些隱私,非印章部分我打了馬賽克):
? ? ? ?從上面的檢測效果可以看出,經過訓練后,圖片中的紅色圓形印章很容易被檢測分割出來,而且效果還行。
? ? ? ?PS:做了版面的檢測后發現原來標注數據的方式有些問題,導致一張圖片上出現多個同類實例的時候,分割會出問題,之前測試圖片基本是單個印章的,所以沒發現這個問題[手動捂臉]。對數據標注方式做了改正后(同一張圖片出現多個同類別的實例,應該標注為:印章1,印章2,印章3....),又重新訓練了一下印章檢測這個數據集。
? ? ? ?總的損失下降到0.06左右,測試效果如下,這樣看著舒服多了[再次手動捂臉]:
三,檢測分割版面中的圖片、表格、公式
? ? ? ?經過上面兩個小例子的測試,后面我又用MaskRCNN訓練一下版面分析的圖片,看看效果。版面分析的圖片,主要檢測圖片、表格、公式三類。訓練數據集如下,該數據集不是我人工標注的,是之前寫的程序處理的結果轉換成MaskRCNN 可訓練的格式,人工標注太費時費力了。
? ? ? ?前面的圖片不管是斑馬還是紅色印章都和背景有明顯的界限,所以分割起來比較容易。版面中的圖片、表格、公式就不太一樣了,框出的區域,除了有內容的地方,空白的地方和背景是一樣的,這樣的數據訓練起來不太好收斂。前期嘗試各種方法調試超參數,總的損失達到0.5左右就基本不下降了。測試的效果也并不是很理想。?
? ? ? ?因為版面中每張圖基本都會出現多個同類型的實例,加上前面標注數據方式有點問題,所以檢測效果不是太理想。后來改正了標注方式后又重新訓練了一下,檢測效果如下:
? ? ? ?從上面測試結果可以看出,訓練的模型對于圖片和表格的檢測分割效果良好,單個公式也還行,多個公式出現在一起的時候容易出現混亂,這種情況跟數據集有關系,因為數據集中對于公式的處理結果就是這樣的。后續改進公式檢測效果還需要從標注數據集上下功夫。
總結
以上是生活随笔為你收集整理的labelme实例分割_MaskRCNN在多个实例数据集上实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c url下载文件,Open
- 下一篇: python实现接口自动化_python