[保姆式教程]使用labelimg2软件标注定向目标检测数据和格式转换

定向目标检测是一种在图像或视频中识别和定位对象的同时,还估计它们方向的技术。这种技术特别适用于处理有一定旋转或方向变化的对象,例如汽车、飞机或文本。定向目标检测器的输出是一组旋转的边界框,这些框精确地包围了图像中的对象,并且每个框都带有类别标签和置信度分数。

LabelImg2是LabelImg的一个改进版本,它不仅支持传统的轴对齐矩形边界框标注,还支持旋转边界框(即定向边界框)的标注。这对于需要精确捕捉物体方向的目标检测任务非常有用。以下是关于如何安装和使用LabelImg2进行定向目标检测数据集标注的详细介绍:

1.LabelImg2环境配置

为了能够在Windows操作系统下顺利使用LabelImg2,需要先安装Anaconda来管理Python环境。下面是详细的步骤:

(1)安装Anaconda:访问Anaconda官网下载适合你系统的版本并安装。安装过程中,建议勾选"Add Anaconda to my PATH environment variable"选项,以便将Anaconda添加到系统环境变量中。

(2)创建虚拟环境:打开Anaconda Prompt,创建一个名为`label`的新环境,并指定Python版本为3.6(指定Python版本为3.6的原因后面会细说)。命令如下:

复制代码
conda create --name label python=3.6

(3)激活虚拟环境:通过以下命令激活刚刚创建的虚拟环境:

复制代码
conda activate label

(4)安装依赖库:在激活的环境中安装LabelImg运行所需的依赖库,包括sip、PyQt5和 lxml。推荐使用清华镜像源加快下载速度。

复制代码
pip install sip PyQt5 lxml

(5)下载LabelImg2:从GitHub或其他可信来源下载LabelImg2源码,解压后进入该目录。

(6)编译资源文件:如果直接使用源码安装,可能需要编译资源文件。在LabelImg2目录下执行以下命令:

复制代码
pyrcc5 -o resources.py resources.qrc

(7)启动LabelImg2:最后,通过以下命令启动LabelImg2界面:

复制代码
python labelImg.py

(在Anaconda Prompt中CD进入LabelImg2文件夹,输入上面的命令即可)

2.使用LabelImg2进行定向目标检测数据集标注

(1)选择标注格式:在LabelImg2界面中,可以通过菜单栏选择YOLO格式或者PASCAL VOC格式。对于定向目标检测,我们通常选择YOLO格式,因为它能够更好地支持旋转边界框。

(2)加载图片:点击"Open Dir"按钮,选择包含待标注图片的文件夹。同样设置保存标注文件的目录。

(3)创建预定义类:可以在界面右上角添加你的项目中所有需要标注的类别名称。这样可以在标注时快速选择类别。

点击标记1的地方即可添加类别名称,点击标记2的地方即可选择自己的类别作为旋转框标注的类别

(4)绘制旋转边界框:使用鼠标左键在图片上绘制边界框,然后输入相应的类别名。对于LabelImg2,你可以通过鼠标右键拖动边界框的角点来调整其旋转角度,以适应物体的方向。

标记1的地方是水平框标注,标记2的地方是旋转框标注

(5)保存标注结果:完成标注后,记得保存标注信息。如果你选择了自动保存模式,则切换到下一张图片时会自动保存当前图片的标注信息。

3.注意事项

在标注过程中,确保你的图片文件名不包含中文字符,否则可能会导致无法正确读取或保存。

如果遇到任何问题,比如软件崩溃或无法启动,检查是否有遗漏的依赖项未被安装,或者尝试重新配置环境。

相关推荐
米小虾19 小时前
智谱港股盘中市值突破万亿港元!GLM-5.2 开源引爆国产 AI 价值重估
人工智能·chatglm (智谱)
阿里云大数据AI技术19 小时前
义乌小商品城基于MaxFrame AI Function的亿级AI 数据产线提速之路
人工智能
甲维斯20 小时前
用AI还原《坦克大战》并3D化升级!
前端·人工智能·游戏开发
IT_陈寒21 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端
吴佳浩1 天前
Hermes Agent 连环 400 真凶找到了:一个 call_id 让人炸毛
人工智能·llm·agent
程序员cxuan1 天前
幽默,一个 Github 名字叫“马尾辫”,但是他给你省了 80% 的 token
人工智能·后端·程序员
宋哥转AI1 天前
Agent记忆模块系列:03存储与检索链路实测验证
人工智能·agent
老金带你玩AI1 天前
老金开源GoalPro,别让AI把目标越写越烂
人工智能
Bigfish_coding1 天前
前端转agent-【python】-08 用 LangGraph 把 Agent 做成状态机:像写 Vue 3 状态管理一样编排 AI 流程
人工智能