简介:当我们在开源网站找到了想要的数据集,下载后却发现没有对应的label怎么办?这时候就需要我们自己给图片标注。

        标注是通过在图像中框选目标对象,为卷积网络提供明确的识别目标,从而指导其进行特征学习的过程。

下列是我们常用到的图像标注辅助工具:

        LabelImg
        开源工具,支持矩形框标注(Bounding Box),输出格式为PASCAL VOC或YOLO。此外,它还支持 COCO数据集格式。适用于目标检测任务。

        Labelme

         开源的图像标注工具,由麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL)开发。它支持多边形、矩形、圆形、线段和点等多种标注形式,适用于计算机视觉任务(如目标检测、语义分割)的数据集制作。一般用于语义分割任务。

       接下来,博主会主要介绍labelimg如何使用,以及标注过程需要注意的事项。

一、安装LabelImg

        下载并安装LabelImg工具,支持Windows、macOS和Linux系统。

首先打开终端(在Windows搜索栏输入CMD)

点击第一个“命令提示符”,打开后输入下列代码即可安装

Windows用户可通过pip安装:

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

安装完成后,命令行输入labelimg启动工具。

等待一会弹出labelimg初始界面

        如果你是第一次使用labelimg制作YOLO数据集,请务必看完最后的注意事项!

        YOLO数据集通常包含images和labels两个文件夹:images用于存储原始图片,labels则存放对应的标注文件。YOLO格式的图片文件为.png或.jpg,标注文件采用txt格式,一个txt文件对应一张图片,每个txt文件与其对应的图片名称一致,仅文件扩展名不同。

二、使用方法

设置标注格式

        启动LabelImg后,点击菜单栏Change Save Dir选择存放标注文件的文件夹。通过PascalVOC(默认XML格式)或YOLO(TXT格式)下拉菜单切换输出格式。本文主要介绍YOLO格式的标注

     

标注操作

        快捷键W激活矩形框工具,拖动鼠标框选目标。在弹出的对话框中输入类别名称(如图中白车),按OK确认。 

千万千万千万注意⚠️!!!不要输错类别名

进阶技巧

        启用自动保存:菜单栏勾选Auto Save mode

常用快捷键:

快捷键 作用
D 切换下一张
S 切换上一张
W 快捷激活标定框工具
Ctrl + S 保存当前标注
Ctrl + D 复制上一标注框
Ctrl + D 修改默认标注目录

                       

注意事项:

       1.对于多类别数据集,建议先在 Word 文档中列出所有类别名称,然后通过复制粘贴的方式输入标签。这样可以避免在后续标注过程中因手动输入导致的类别名称错误。

      千万千万千万注意⚠️!!!不要输错类别名!

      YOLO格式中类别名称错误会导致严重问题。例如将"纸板"误标为"纸巾"并保存类别名称,这会改变nc值。假设你的数据集包含"可回收、厨余、其他、有害"四个垃圾类别,labelimg工具会自动为类别分配ID:第一个保存的"可回收"类别ID为0,"厨余"为1,依此类推。即使你在标注界面删除错误的标注框,错误的类别名称仍会保留在class文件中并占用ID。这会导致YOLO训练时出现"CUDA error: device-side assert triggered"报错,即常见的类别数量不匹配问题。

        2.建议在第一张图片中,完成所有类别名的创建。如图所示,直接框选空白处先完成对所有类别的建立(按照第一步复制粘贴),后续标注时可以直接在栏目中选择,避免输入错误。

        3.建议一次性完成所有图片的标注,这样可以省去很多不必要的麻烦。如果需要补充数据集,也务必按照ID顺序填写类别名。

       这是博主踩过坑,这里警醒大家,希望大家不要在标注完数千张照片后才后知后觉!😂       

检查与导出

完成标注后,请核对XML文件与图片是否匹配。YOLO格式会输出两种文件:

  1. 每个图片对应的.txt文件,内容格式为:[类别编号] [归一化中心x坐标] [归一化中心y坐标] [归一化宽度] [归一化高度]
  2. classes.txt文件,按ID顺序记录所有标注类别。该文件对后续YOLO数据集导入至关重要。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐