计算机视觉
- 图像分类(目标检测):一张图像中是否含某种物体
- 物体定位(目标检测与目标识别):确定目标位置和所属类别。
- 语义分割(目标分割和目标分类):对图像进行像素级分类,预测每个像素属于的类别,不区分个体;(所有的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的颜色,可以改变指定颜色或添加更多指定种类