mask-RCNN筆記——標註工具以及各式轉換
阿新 • • 發佈:2018-11-03
使用標註工具lablem
1、下載
https://github.com/wkentaro/labelme
2、安裝
使用環境,ubuntu16.04,python3
進入labelme資料夾下,開啟終端,進入虛擬環境,執行程式碼
pip install pyqt5 # pyqt5 can be installed via pip on python3
pip install labelme
3、執行
在labelme目錄下開啟終端,輸入一下程式碼,即可執行labelme視窗
labelme
4、使用
a、點選1處匯入圖片資料夾
b、點選2處在當前檔案中開啟標記工具
c、在圖中的3處用標註工具標註目標
d、標註框封閉之後輸入目標名稱,如4處所示
e、標註完成1張圖片之後點選5儲存json檔案
f、點選6進入下一張圖片
5、json檔案
在儲存目錄下會生成與檔案同名的一個json檔案
資料格式轉換
程式碼下載地址:
使用方法:
1、直接複製程式碼labelme2COCO.py到json目錄下
2、配置虛擬環境與labelme相同,應為執行的時候需要用到Qt5的包
3、執行程式碼,會將多個json檔案儲存到一個new.json中
使用過程中遇到了三個問題:
1、紅框處的函式原始碼是utils.img_b64_to_array()
在執行時報錯了,檢視utils檔案後發現我的程式碼當中的函式是img_b64_to_arr()
修改為如圖之後執行正確
2、型別格式不一致
程式碼中對物件的命名方式是:貓-布偶貓-物件編號,這種形式
在此處讀入資訊之後會獲得label的list
我在使用時,由於一張圖片上只有一個物件,且只有一個類,所以需要修改
方便起見,我直接將label修改為固定字串,如紅框
3、json儲存問題,TypeError: 104 is not JSON serializable
發現是由於segment中的資料型別導致的,雖然不知道為什麼int64的資料格式不能儲存到json中
在讀取segmentation的時候直接修改資料型別為float型別