⭐ 数据集标注入门
1. 为什么需要数据集标注?
HUAT FSAC 车队采用车载摄像头(1900 × 1200 px)来实现语义分割以完成锥桶的颜色识别任务。在此过程中,需要大量带有标注的数据集对模型进行训练。故需要手动进行数据集标注。
2. 环境配置
-
Python 3.X 环境部署
下载:https://www.python.org/downloads/点击 “Download Python 3.XX.X” 即可开始下载,之后详细安装教程可见这里。
-
labelme 下载及安装
官网:https://github.com/wkentaro/labelme/release
蓝奏云:https://nekorectifier.lanzouw.com/iMe0I0dk0kpe官网提供了 Linux、Windows、Mac OS 平台的安装包,蓝奏云网盘上有 Windows 平台的安装包。
任何平台的程序都是完全相同的,在使用上并无差异。-
GNU/Linux 安装:
{: .warning }
目前(2022-12-10)不推荐通过 Github Releases 安装
在终端输入
pip install labelme
并等待其安装完成。安装完成后,输入
labelme
启动程序。左为主程序页面,右为安装过程
-
Windows 安装
在 Github Releases 上选择 “Labelme.exe” 下载打开即可使用。
-
3.labelme-软件使用教程
labelme
是图像注解添加软件,并支持创建多边形、矩形、圆形等多类型的精准图像注解(Annotation)。
我们所做的的语义分割标注便属于多边形注解。
-
在软件中打开存放原图片的目录;
按 “Open Dir” 打开目录。
-
选择“标注模式”,进行实例标注;
点击 “Create Polygons”,用鼠标🖱️圈出物体轮廓。
{: .note }
标注标准操作:
先标注相对较远的物体,后标注相对较近的物体。
(标注的顺序会影响最终标注效果。先标的物体在“下”,后标的在“上”。顺序不能颠倒!) -
标注一个物体完成后,点击第一个创建的点以闭合多边形,完成标注多边形的创建;
-
在弹出的窗口中,输入所标注的物体的名称;
-
重复以上过程直至标注完成;
-
点击保存或(
ctrl +s )将json
文件保存至原图片目录下;json
文件名一般情况下不需要修改,保持与图片文件名相同即可。
4. 标注审阅
标注过程中免不了会出现错误,可能有误标、漏标、顺序错误等情况。因而需要再次进行审阅以避免错误 削弱数据集的性能。
-
准备环境
执行以下命令以安装必要库。并克隆
wkentaro/labelme
库至本地。从这里下载必须的 labels.txt 文件。
-
准备数据集
将标注好的数据集 json 文件与源图片文件放在同一文件夹中。(在此将其设为a/
文件夹 📁 )
并保证 json 文件与对应的图片文件有相同文件名,具体如下所示: -
转换彩色图
使用以下命令运行labelme/example/semantic-segmentation/
下的labelme2voc.py
转换出的图片应如图所示:
-
审阅转换结果
-
依次审阅
output/SegmentationClassVisualization/
下的所有图片。 -
检查他们的覆盖顺序是否正确,标准与上文的 “标注标准操作” 相同。
-
全部检查完毕后,方可进行数据集转换。
-