主頁 > 知識庫 > Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解

Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解

熱門標(biāo)簽:浙江電銷卡外呼系統(tǒng)好用嗎 上海機(jī)器人外呼系統(tǒng)哪家好 房產(chǎn)電銷外呼系統(tǒng) 地圖制圖標(biāo)注位置改變是移位嗎 地圖標(biāo)注微信發(fā)送位置不顯示 南京銷售外呼系統(tǒng)軟件 315電話機(jī)器人廣告 地圖標(biāo)注的意義點(diǎn) 蓋州市地圖標(biāo)注

前言

labelme是一個非常好用的免費(fèi)的標(biāo)注軟件,博主看了很多其他的博客,有的直接是翻譯稿,有的不全面。對于新手入門還是有點(diǎn)困難。因此,本文的主要是詳細(xì)介紹labelme該如何使用。

一、labelme是什么?

labelme是圖形圖像注釋工具,它是用Python編寫的,并將Qt用于其圖形界面。說直白點(diǎn),它是有界面的, 像軟件一樣,可以交互,但是它又是由命令行啟動的,比軟件的使用稍微麻煩點(diǎn)。其界面如下圖:

它的功能很多,包括:

  • 對圖像進(jìn)行多邊形,矩形,圓形,多段線,線段,點(diǎn)形式的標(biāo)注(可用于目標(biāo)檢-測,圖像分割等任務(wù))。
  • 對圖像進(jìn)行進(jìn)行 flag 形式的標(biāo)注(可用于圖像分類 和 清理 任務(wù))。
  • 視頻標(biāo)注
  • 生成 VOC 格式的數(shù)據(jù)集(for semantic / instance segmentation)
  • 生成 COCO 格式的數(shù)據(jù)集(for instance segmentation)

二、快速安裝使用

安裝教程都是參考的labelme github。

2.1 windows安裝

官網(wǎng)步驟如下:

# python3
conda create --name=labelme python=3.6
source activate labelme
# conda install -c conda-forge pyside2
# conda install pyqt
# pip install pyqt5  # pyqt5 can be installed via pip on python3
pip install labelme
# or you can install everything by conda command
# conda install labelme -c conda-forge

1.為labelme創(chuàng)建一個conda環(huán)境,命名為lableme

2.激活該環(huán)境

windows用命令activate labelme 或者 conda activate labelme

很少用windows, 說的不對請指正。

其實(shí)在這一步中,我遇到了一個問題

C:\Windows\system32> conda activate labelme
 
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
 
    $ conda init SHELL_NAME>
 
Currently supported shells are:
 - bash
 - fish
 - tcsh
 - xonsh
 - zsh
 - powershell
 
See 'conda init --help' for more information and options.
 
IMPORTANT: You may need to close and restart your shell after running 'conda init'.

初始化conda啥的,不是很懂,最后通過博客解決

我用的第一種方法

  • 首先查看conda env 的地址

  • 我的在D盤,所以先切換到D盤
  • 命令行輸入 conda.bat activate anaconda\envs\labelme(注意和原博客不一樣)

  • 再激活就正常了

3 安裝pyqt

前言里講過labelme是基于Qt的,所以必須安裝

conda/pip install pyqt

4 pip install labelme

2.2 linux安裝

# Ubuntu 14.04 / Ubuntu 16.04
# Python2
# sudo apt-get install python-qt4  # PyQt4
sudo apt-get install python-pyqt5  # PyQt5
sudo pip install labelme
# Python3
sudo apt-get install python3-pyqt5  # PyQt5
sudo pip3 install labelme

# or install standalone executable from:
# https://github.com/wkentaro/labelme/releases

注意:使用如上安裝前,同winsows一樣,需要先創(chuàng)建labelme的conda環(huán)境。

2.3 macos安裝

# macOS Sierra
brew install pyqt  # maybe pyqt5 我用的pip安裝
pip install labelme  # both python2/3 should work

# or install standalone executable/app from:
# https://github.com/wkentaro/labelme/releases

說明:這三種系統(tǒng)我都成功安裝過,放心吧~

安裝成功的啞子

有如下這些包

下次使用,命令行輸入labelme就可以打開軟件啦。嚴(yán)謹(jǐn)?shù)膩碚f,它是一個用pyqt5編寫的GUI界面。

三、界面說明

圖上看到,這個界面是非常簡潔的。

接下來具體講講如何使用。醫(yī)學(xué)圖像分析,我主要是研究分類和分割,所以重點(diǎn)講解如何標(biāo)注分類標(biāo)簽和分割標(biāo)簽。

四、為圖像創(chuàng)建類標(biāo)簽

4.1 參數(shù)介紹

使用labelme --help會出來labelme的使用方法,它包括如下參數(shù)

我們解釋幾個重要的參數(shù)設(shè)置

  • –output:標(biāo)注文件存放位置。如果給的參數(shù)是以.json結(jié)尾,則會向該文件寫入一個標(biāo)簽。也就意味著如果使用.json指定位置,則只能對一個圖像進(jìn)行注釋。如果位置不是以.json結(jié)尾,程序?qū)⒓俣ㄋ且粋€目錄。注釋將以與在其上進(jìn)行注釋的圖像相對應(yīng)的名稱存儲在此目錄中。
  • –Flags: 為圖像創(chuàng)建分類標(biāo)簽,多分類用逗號隔開。
  • –nosortlabels: 是否對標(biāo)簽進(jìn)行排序

舉例:

命令行輸入 labelme image1.png --output image1.json --flags 0,1

其中,image1.png是圖像的地址,而不是名字。注意區(qū)別,因為我現(xiàn)在的路徑在圖像存放的當(dāng)前文件夾,所以輸入名字就可以直接找到該圖像。如果你當(dāng)前路徑不在圖像存放的文件夾,你需要給出圖像的完整路徑,如F:\labelmeImage\image1.png
–output image1.json 就是把打標(biāo)簽的結(jié)果存放在image1.json這個文件里。因為我是對單一圖像打標(biāo)簽,所以是以.json結(jié)尾。如果是對一個文件夾進(jìn)行打標(biāo)簽,那這里就不要以.json結(jié)尾,直接輸入你想存放的文件夾就行。
–flags: 描述你分類的標(biāo)簽是什么,0,1表示分兩類。也可以寫成多類,0,1,2,3,4.也可以用其他字符,如 negative,positive, 或者cat, dog。等等~

4.2 文件夾所有文件創(chuàng)建分類標(biāo)簽

命令行輸入labeme 并且給定分類標(biāo)簽。
打開圖上右邊界面后,導(dǎo)入文件夾,就可以點(diǎn)圖像,對它進(jìn)行標(biāo)注。標(biāo)注完一個,需要對其進(jìn)行保存,才能打第二個圖像的標(biāo)簽。這里沒有給定輸出位置,就會默認(rèn)保存在圖像這個文件夾,并且名字和圖像的名字一樣,并以.json結(jié)尾。

4.3 為文件夾所有文件創(chuàng)建分割標(biāo)簽

創(chuàng)建分割標(biāo)簽主要用到多邊形工具, 把需要的區(qū)域框出來就好了。
實(shí)驗數(shù)據(jù)來自labelme github: labelme/tree/master/examples/semantic_segmentation


五、大概步驟

1.運(yùn)行l(wèi)abelme后,打開文件夾

2.使用多邊形工具勾勒目標(biāo)

3.勾勒完成后創(chuàng)建標(biāo)簽

4.微調(diào)邊框。點(diǎn)擊編輯多邊形,有很多操作。如圖上所示

5.最后存儲

以上是簡單的演示,官方做的實(shí)驗如下:

首先下載semantic_segmentation 這個文件夾。

注意:以下實(shí)驗都是在該文件夾下打開的終端

標(biāo)注文件

labelme data_annotated --labels labels.txt --nodata --validatelabel exact --config ‘{shift_auto_shape_color: -2}'

作者已經(jīng)標(biāo)注好了,我們就打開看看。

標(biāo)簽格式轉(zhuǎn)換

由于標(biāo)注好的文件是json格式,我們將其轉(zhuǎn)化成圖片格式或者其他格式。使用作者給的代碼labelme2voc.py。主要轉(zhuǎn)化的格式有: 類名字文件,原始圖像的jpeg格式,分割圖像的npy格式,png格式, 以及將分割圖像疊在原始圖像上的jpg格式。

作者給的命令: ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt

但是運(yùn)行時會有報錯,修改成如下運(yùn)行:

python labelme2voc.py data_annotated data_dataset_voc --labels labels.txt

針對報錯:如果命令行不好修改代碼,建議直接修改這個Python文件里面的參數(shù)配置,再運(yùn)行都可以。

六、 其他問題

6.1 如何快速查看分割的json文件

labelme_draw_json 2011_000003.json

6.2 json 轉(zhuǎn) png

labelme_json_to_dataset apc2016_obj3.json -o apc2016_obj3_json

apc2016_obj3.json: 待轉(zhuǎn)化的json文件,

apc2016_obj3_json: 轉(zhuǎn)化后文件保存地址

一共會生成4個文件:

img.png: Image file.

label.png: uint8 label file.

label_viz.png: Visualization of label.png.

label_names.txt: Label names for values in label.png.

這和第4小節(jié)講的格式轉(zhuǎn)化差不多,4小節(jié)的python文件是可以根據(jù)自己需要隨便改設(shè)置的,而這個內(nèi)置方法是不允許改動的。

到此這篇關(guān)于Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解的文章就介紹到這了,更多相關(guān)Python圖像標(biāo)簽標(biāo)注軟件labelme內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python使用matplotlib顯示圖像失真的解決方案
  • Python深度學(xué)習(xí)之使用Albumentations對圖像做增強(qiáng)
  • Python深度學(xué)習(xí)albumentations數(shù)據(jù)增強(qiáng)庫

標(biāo)簽:貴州 金華 雙鴨山 克拉瑪依 赤峰 日照 陽泉 臨汾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解》,本文關(guān)鍵詞  Python,深度,學(xué),習(xí)之,圖像,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python深度學(xué)習(xí)之圖像標(biāo)簽標(biāo)注軟件labelme詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章