使用labelImg标注时,如何为同一张图片中的多个相同目标生成标注文件?
单图多相同目标的标注处理规则与labelImg操作方法
你遇到的这类单图包含数十个同类别待检测目标的场景,完全不需要拆分图片、也不需要拆分生成多个标注文件,所有标注统一存在和图片同名的单个xml文件中即可,标注逻辑和单目标标注没有本质区别
具体操作步骤
- 用labelImg打开对应图片后,逐一对每个独立的待检测目标绘制独立的边界框,绝对不能把多个目标圈在同一个大框内
- 每绘制完一个边界框,在类别选择/输入栏填写统一的类名即可——比如所有游泳者目标全部填写同一个类名
swimmer,不需要给不同的目标编号、设置差异化的类名 - 确认所有需要标注的目标都完成画框后,正常点击保存,生成的xml文件会自动为每个目标生成独立的
<object>节点,完全符合PASCAL VOC标注格式的规范
常见避坑提醒
- 标注覆盖范围要和常规单图单目标标准保持一致:边界框要尽量贴合目标轮廓,不要留过宽的冗余边距,也不要切掉目标的关键识别特征
- 边界处的目标不要随意漏标:如果目标虽然在图片边缘、但还保留足够可识别的特征,就要正常标注;如果目标被遮挡到完全无法分辨类别,才可以跳过不标
- 不要随意改动xml的结构逻辑:哪怕单张图里有几十个同类别目标,训练框架在加载数据时也会自动解析所有
<object>节点的坐标和类别信息,不需要手动拆分标注文件、也不需要额外调整xml的层级结构
注意:如果给同类别目标设置了不同的类名(比如把游泳者标成
swimmer_1、swimmer_2),会被训练框架识别为完全独立的类别,直接打乱整体训练的类别映射关系,导致模型无法正常识别目标。
内容的提问来源于stack exchange,提问作者Jim O.
相关产品推荐
相关产品推荐

