python實現labelme樣本自動標註

2022-06-08 10:33:10 字數 1957 閱讀 7336

公司前段時間做乙個專案,需要用到語義分割,樣本很多,但是都沒有標註,也沒有讓標註公司弄,只好自己標註,平均兩分半一張,一天標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 首先...