参考:https://blog.csdn.net/u011574296/article/details/79740633
在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。
官方教程:https://github.com/wkentaro/labelme#anaconda
-
# 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
首先确保电脑上安装好python和pip,具体安装方法参考这个链接的第1、第2步即可
下载安装anaconda,选择适合自己python版本以及对应系统的,一路默认安装就可以。
安装好后在程序里选择prompt,相当于windows下的cmd,只不过运行目录直接在anaconda下。
然后在prompt里依次输入如下指令:
-
conda
create
--name=labelme python=2.7(这一步python=*选择自己的Python版本)
-
activate labelme
-
conda
install pyqt
-
pip
install labelme
下次启动的时候先启动labelme的conda环境,即按照以下步骤启动
-
activate
labelme
-
labelme
启动后找到目标文件夹,在使用过程中发现,如果存在中文路径或中文名字的时候,会报编码相关的错,暂时还没有找到解决方法,因此文件中不要出现中文
在终端执行以下命令:
labelme
打开如下页面
点击open dir,选择标注文件所在的文件夹,然后开始标注。注意标注的时候,假如你要标注的对象为人和狗,在画掩码过程中,一幅图像中如果有多个person、dog,命名规则为person1、person2…… dog1、dog2……。因为labelme生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个w*h*n的ndarray,其中n为该图片中实例的个数。(如果是做语义分割,则没必要如此区分)
标注完成后,会生成一个json文件
进入json文件所在的目录,在终端执行以下命令
labelme_json_to_dataset <文件名>.json
可得到一个文件夹,里边有五个文件,分别是
-
*
.png
-
info
.yaml
-
label
.png
-
label_names
.txt
-
label_viz
.png
其中 label.png 和 info.yaml 是我们需要用到的! 标注已经完成!