语义分割与实例分割 Labelme标注教学
在进行Segmentation 训练之前需要准备训练集和验证集,本文将要来介绍如何使用LabelMe进行标记。LabelMe 是个可以绘制多边形、矩形、圆形、直线、点的一套标记工具,可用于分类、目标检测、语义分割、实例分割任务上的数据标注。
1.labelMe安装与数据标注
首先安装LabelMe
,我使用Anaconda
进行安装。打开Anaconda Prompt
执行以下指令:
pip install labelme
接着输入labelme
会出现以下UI 介面,点选Open Dir
选择要标记的图片资料夹
labelme
在图片上按右键选择Create Polygans
后,就可以开始画标记点了~
画好后填入要标记的label
,
若有多个相同类别的目标物也选择一样的label
:
再按左边的Save
,最后选择左边的Next Image
。
2.数据格式转换
标注好数据以后,若需要转换label
格式,可使用labelme
进行转换。接下来会分为用于Semantic Segmentation
和Instance Segmentation
git clone https://github.com/wkentaro/labelme
并且在刚刚标记好的图片资料夹外,建立一个label.txt
,内容必须要有__ignore__, _background_
档案放置如下图:
2.1 Semantic Segmentation
进入labelme\examples\semantic_segmentation
文件夹,有支持转换VOC 格式的代码
cd/d D:\chingi\labelme\examples\semantic_segmentation
然后在Anaconda Prompt
执行以下指令进行转换,<data>
是标记图片的文件夹路径、<data_output>
是转换标记格式的文件夹路径、<label.txt path>
是刚刚建立在图片文件夹外的label.txt
的路径
python labelme2voc.py <data> <data_output> --labels <label.txt path># It generates:
# - data_dataset_voc/JPEGImages
# - data_dataset_voc/SegmentationClass
# - data_dataset_voc/SegmentationClassVisualization
python labelme2voc.py data_annotated data_dataset_voc --labels labels.txt
转换格式后,会在<data_output>
文件夹中会看到以下文件:
请注意,标签文件仅包含非常低的标签值
(例如 0、4、14)
,而 255
表示 __ignore__
标签值(npy
文件中的 -1
)。 您可以通过以下方式查看标签 PNG
文件。
labelme_draw_label_png data_dataset_voc/SegmentationClassPNG/2011_000003.png
2.2 Instance Segmentation
进入labelme\examples\instance_segmentation
文件夹,有支持转换COCO 及VOC 格式的代码:
cd/d D:\chingi\labelme\examples\instance_segmentation
然后在Anaconda Prompt
执行以下指令进行转换,<data>
是标记图片的资料夹路径、<data_output>
是转换标记格式的资料夹路径、<label.txt path>
是刚刚建立在图片资料夹外的label.txt
的路径
# 转换为coco 格式
$ python labelme2coco.py <data> <data_output> --labels <label.txt path># It generates:
# - data_dataset_coco/JPEGImages
# - data_dataset_coco/annotations.json
$ python ./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt# 转换为VOC 格式
$ python labelme2voc.py <data> <data_output> --labels <label.txt path># It generates:
# - data_dataset_voc/JPEGImages
# - data_dataset_voc/SegmentationClass
# - data_dataset_voc/SegmentationClassVisualization
# - data_dataset_voc/SegmentationObject
# - data_dataset_voc/SegmentationObjectVisualization
$ python ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt
若转换为COCO
格式,会在<data_output>
文件夹中会看到以下文件
JPEGImages
是原本的图片,Visualization
是框起来的图片,annotations.json
是标记好的label
若转换为VOC
格式,会在data_output
文件夹中会看到以下文件:
参考目录
https://medium.com/ching-i/segmentation-label-%E6%A8%99%E8%A8%BB%E6%95%99%E5%AD%B8-26b8179d661
语义分割与实例分割 Labelme标注教学相关推荐
- 图像分类、目标检测、语义分割、实例分割和全景分割的区别
1.Image Classification(图像分类) 图像分类(下图左)就是对图像判断出所属的分类,比如在学习分类中数据集有人(person).羊(sheep).狗(dog)和猫(cat)四种,图 ...
- 语义分割和实例分割_一文读懂语义分割与实例分割
以人工智能为导向的现代计算机视觉技术,在过去的十年中发生了巨大的变化.今天,它被广泛用于图像分类.人脸识别.物体检测.视频分析以及机器人及自动驾驶汽车中的图像处理等领域.图像分割技术是目前预测图像领域 ...
- 图像分割,语义分割,实例分割
目标检测基础 1 semantic segmentation(语义分割) 2 Instance segmentation(实例分割) 3 Panoramic segmentation(全景分割) 学习 ...
- 语义分割、实例分割和全景分割的区别
之前看过一篇使用分割思想进行目标检测,所以这里补习下一些分割相关的基础知识.这里重点说下语义分割.实力分割和全景分割的区别. 1 .semantic segmentation(语义分割) 通常意义上的 ...
- 计算机视觉:图像分类、物体检测、图像语义分割、实例分割和全景分割
计算机视觉 图像分类 Image Classification 物体检测 Object Detection/ Object Localization 语义分割 Semantic Segmentatio ...
- 图像分类,物体检测,语义分割,实例分割等概念
图像分类 Image Classification The task of object classification requires binary labels indicating whethe ...
- 分类,目标检测,语义分割,实例分割
Classification 简单地说,图像分类是一种用于对图像中特定对象的类别进行分类或预测的技术,该技术的主要目的是准确识别图像中的特征.就是说输入一张图片然后输出图片中含有的分类 Object ...
- 遥感影像分类、目标检测、语义分割、实例分割的异同
分类:给一张影像,识别出影像上都有哪些地物,如图1,影像上有耕地.建筑物.水域以及道路: 目标检测:识别出影像上物体的类别,并给出该物体的位置,一般用方框给出问题,如图2,红色框表示某建筑物.黄色框表 ...
- 超像素、语义分割、实例分割、全景分割 傻傻分不清?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在计算机视觉中,图像分割是个非常重要且基础的研究方向.简单来说,图 ...
最新文章
- btc比特币 钱包简介
- 如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
- Java线程池如何合理配置核心线程数
- 取代ZooKeeper!高并发下的分布式一致性开源组件StateSynchronizer
- ajax搜索思路,jquery创建一个ajax关键词数据搜索实现思路
- 如何使用社会化媒体网络建立个人品牌(国外篇)
- Spring的cache缓存介绍
- (TOJ1248)Encoding
- 注解Annotation
- 获取打印机分辨率_喵喵机体验——爱不释手的错题打印机
- Data Driven Modeling 课程
- 《管理者财务知识一本通》读书笔记一
- Pymoo:使用多目标优化搜索解集的实现方法
- 松下A6伺服速度控制模式
- javaWeb实现登录注册的增删改查功能
- mysql修改时间为东八区,mysql时区设置为东八区
- 农夫追牛(bfs算法)
- 路由器可以上网但是显示没有连接到服务器,路由器不可上网怎么设置_路由器可以连接但无法上网怎么办...
- 一枚程序员的跑步之路
- MySQL事务(transaction) (有这篇就足够了..)