目标检测、识别和语义分割的标注工具安装

发布于:2024-04-06 ⋅ 阅读:(62) ⋅ 点赞:(0)

计算机视觉

  • 图像分类(目标检测):一张图像中是否含某种物体
  • 物体定位(目标检测与目标识别):确定目标位置和所属类别。
  • 语义分割(目标分割和目标分类):对图像进行像素级分类,预测每个像素属于的类别,不区分个体;(所有的CUBE一个颜色)
  • 实例分割(目标分割和目标识别):定位图中每个物体,并进行像素级标注,区分不同个体;(CUBE都是不同颜色)

安装LabelImg

https://github.com/HumanSignal/labelImg/releases

下载后运行exe文件

为矩形标注工具,常用于目标识别和目标检测,标记输出为.xml和.txt

安装Labelme

为多边形标注工具,将轮廓标注,用于分割,标记输出格式为json

安装步骤:

conda create --name=labelme python=3.6  创建环境

conda activate labelme  激活环境

python -m pip install --upgrade pip  升级pip版本,否则安装失败

pip install pyqt5  安装pyqt

pip install labelme  安装labelme

直接输入:labelme

左侧栏目目录

打开文件、打开文件夹、下一图像、上一图像、保存、删除文件、创建多边形标注、编辑多边形、复制多边形、删除多边形、撤销、调节图像对比度

下载https://github.com/labelmeai/labelme/tree/main/examples/semantic_segmentation

 semantic_segmentation文件夹

标注好的文件为json格式,将其转化为图片格式或其他格式

labelme2voc.py 

类名文件、原始图像的jpeg格式、分割图像的npy格式、png格式及分割图像叠在原始图像上的jpg格式

命令

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

将data_annotated中的标注json文件及原图像,经转换格式输出到data_dataset_voc文件夹中

查看分割的json文件命令:

labelme_draw_json 2011_000003.json

json转png

labelme_json_to_dataset apc2016_obj3.json -o apc2016_obj3_json

修改Labelme标签颜色

1、打标签

2、...\Anaconda3\envs\labelme\Lib\site-packages\cli

修改json_to_dataset.py

找到label_name_to_value = {"_background_": 0}

后面增加"类别" : 1, “类别” : 2等

3、...\Anaconda3\envs\labelme\Lib\site-packages\imgviz

修改label.py

cmap = np.stack((r, g, b), axis=1).astype(np.uint8)  下方增加

cmap[1, :] = [0,255,0] # 种类1的颜色,对应上方类别

cmap[2, :] = [255,0,0] # 种类2的颜色,可以改变指定颜色或添加更多指定种类