公司前段時間做乙個專案,需要用到語義分割,樣本很多,但是都沒有標註,也沒有讓標註公司弄,只好自己標註,平均兩分半一張,一天標200多張人都要瘋了,而且專案進度也比較著急。所以自己實現了乙個基於labelme的自動標註模組,在了解正文之前,請先看下一段的說明,選擇性繞道,以免耽誤個人寶貴的時間。
一、模組適用場景應滿足以下條件:
1、 樣本的標籤數量、標籤類別不變的場景(但也可以基於影象處理做標籤檢測,有標籤出現時,可以實現自動標註,這就要看具體場景了)
2、 標籤形態,大小,無明顯變化,只存在相對位置的平移和旋轉
3、 可利用影象處理技術,匹配到樣本中乙個或多個固定的位置(且該位置相對於樣本的畫素位置不變)
二、實現模組需要具備的相應技能:
1、 了解json檔案的結構;
2、 了解的i/o操作及相應的型別轉換;
3、 了解基礎的影象處理技術,能實現影象突出特徵點或區域的檢測;
4、 python基礎
三、模組效果:
1、模組標註準確率在90%以上,只需要調整小部分樣本即可;
2、效果圖如下(第一張為未標註狀態)
:
json結構簡介:
,#分類樣本標註時用到,是樣本的類別(整個屬於什麼類別)
"version": "4.2.10",
"imagewidth": 1236,#寬(cols)
"imagepath": "001194.jpg",#的名稱
"shapes": [#shepe裡面以字典的形式存放標註的標籤個數(類別個數)
,#分類標籤
"label": "2",#這個框所屬的類別
"points": [#圍成框的所有點,標註時第乙個點存放在這裡index為0的位置。
[172.89719626168224,#第乙個點的寬(cols)
39.77881619937695#第乙個點的高(rows)],[
141.1214953271028,
53.17445482866043
],......
[144.23676012461058,
86.81931464174455]],
"group_id": null#組別},,
"label": "0",
"points": [
[170.09345794392522,
47.255451713395644
],......
[186.91588785046727,
74.3582554517134]],
"group_id": null},,
"label": "1",
"points": [
[184.11214953271028,
36.35202492211838
],......
[185.0467289719626,
55.97819314641744]],
"group_id": null},,
"label": "0",
"points": [
[1063.2398753894083,
37.90965732087227
],......
[1080.9968847352025,
64.0778816199377]],
"group_id": null},,
"label": "3",
"points": [
[1061.0591900311526,
30.121495327102807
],......
[1092.2118380062304,
79.96573208722741]],
labelme安裝過程
python2 conda create name labelme python 2.7activate labelme 網上很多部落格都寫 source activate 一直提示我找不到命令 conda install pyqt pip install labelme if you d like...
LabelMe轉換為exe檔案
為了方便使用labelme程式,可以將py程式轉換為exe程式,在windows環境中無需安裝python,就可以執行labelme。轉換工具使用的是pyinstaller,比較早的pyinstaller介紹文章說它不支援python3,現在已經支援python3了。為 pip install py...
資料標註軟體labelme詳解
labelme 版本 3.11.2 例項分割樣例 voc 其它樣例 場景分割,目標檢測,分類 各形狀標註樣例 多邊形,矩形,圓形,多段線,線段,點 通用安裝方法 各平台都適用 anaconda,docker。各平台上的安裝方法 ubuntu,macos,windows。4.1 anaconda 首先...