目标检测 labelimg进行标注文档

本文档介绍了labellimg,一个由MIT CSAIL开发的图像标注工具,用于目标检测的图像标注。详细阐述了labellimg的安装步骤,并提供了如何准备文件、提供素材及使用标注工具的指南,包括快捷键的使用,帮助用户高效地进行图像标注。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

第二章 labellimg 标注素材



前言

最近刷B站,刷到有人实现了,基于目标检测的图像识别脚本,想着自己也实践一下。


一、labellimg 是什么?

labelme是麻省理工(MIT)的计算机科学和人工智能实验室(CSAIL)研发的图像标注工具,人们可以使用该工具创建定制化标注任务或执行图像标注,项目源代码已经开源。。

二、labellimg 安装步骤

需要先安装pytorch和paddle深度学习环境

代码如下:

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

三、使用labellimg

3.1、准备文件

准备需要打备注的文件夹
|__ VOC2007
| |__JPEGImages 需要打标注的文件
| |__Annotations 标记好的文件
| |__predefined_classes.txt 需要标记的类别 写了标

### 将VOC格式文件转换为YOLO格式 为了实现从VOC格式到YOLO格式的转换,理解两种格式之间的差异至关重要。VOC格式存储图像的实际宽度和高度以及边界框的左上角(xmin, ymin)和右下角(xmax, ymax)坐标[^1]。而YOLO格式则采用归一化的中心点坐标(center_x, center_y),加上同样经过归一化的边界框宽度(width)和高度(height)[^2]。 #### 转换过程详解 具体来说,要完成这种转换操作,需遵循如下计算逻辑: 对于每一张图片及其对应的XML文件中的每一个对象(object): - 获取该张图片的真实尺寸(w_image, h_image) - 对于每个object节点下的bndbox子节点: - 计算center_x = (xmin + xmax) / 2 / w_image - 计算center_y = (ymin + ymax) / 2 / h_image - 计算width = (xmax - xmin) / w_image - 计算height = (ymax - ymin) / h_image 最终得到的结果即为中心坐标及大小均已被归一化处理后的YOLO格式数据。 ```python import xml.etree.ElementTree as ET def convert_voc_to_yolo(xml_file_path, image_width, image_height): tree = ET.parse(xml_file_path) root = tree.getroot() objects = [] for obj in root.findall('object'): bndbox = obj.find('bndbox') xmin = float(bndbox.findtext('xmin')) ymin = float(bndbox.findtext('ymin')) xmax = float(bndbox.findtext('xmax')) ymax = float(bndbox.findtext('ymax')) center_x = ((xmin + xmax) / 2) / image_width center_y = ((ymin + ymax) / 2) / image_height width = (xmax - xmin) / image_width height = (ymax - ymin) / image_height class_id = get_class_index(obj.findtext('name')) # 需定义此函数来获取类别索引 line = f"{class_id} {center_x:.6f} {center_y:.6f} {width:.6f} {height:.6f}" objects.append(line) return "\n".join(objects) ``` 上述Python脚本展示了如何解析给定路径下的单个VOC XML文件并将其内容按照YOLO格式输出字符串形式的数据。注意,在实际应用中还需要考虑类别的映射关系等问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值