当前位置: 首页 > article >正文

[保姆式教程]使用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.注意事项

        在标注过程中,确保你的图片文件名不包含中文字符,否则可能会导致无法正确读取或保存。
        如果遇到任何问题,比如软件崩溃或无法启动,检查是否有遗漏的依赖项未被安装,或者尝试重新配置环境。


http://www.kler.cn/a/418640.html

相关文章:

  • LabVIEW将TXT文本转换为CSV格式(多行多列)
  • Android 系统之Init进程分析
  • NVR录像机汇聚管理EasyNVR多个NVR同时管理基于B/S架构的技术特点与能力应用
  • 如何讲json数据转换为二维数据后导出为excel文件
  • 向量的内积和外积 为什么这样定义
  • Python学习第十天--处理CSV文件和JSON数据
  • MATLAB中inputdlg函数用法
  • 【开源免费】基于SpringBoot+Vue.JS服装生产管理系统(JAVA毕业设计)
  • Java中的请求重发机制:详细解读与实现
  • nginx 代理 web service 提供 soap + xml 服务
  • 【H2O2|全栈】Node.js(2)
  • Solon (Spring 的替代方案)永久商用免费
  • Android 图形系统之五:Gralloc
  • 第十三章 使用 DHCP 动态管理主机地址
  • Spring集成Mybatis的实现
  • 基于rpcapd与wireshark的远程实时抓包的方法
  • 【CSS in Depth 2 精译_900】附录B:CSS 预处理器简介
  • IAR Embedded Workbench for Arm 使用技巧
  • 【深度学习】【RKNN】【C++】应用程序编程接口化处理详细教程
  • 计算机网络——数据链路层Mac帧详解
  • 良好的并发编程习惯之封闭(Confinement)
  • 缓存的进化历程说说
  • 映射vim键位,基本功能键位表(未更完)
  • 虚拟机docker记录
  • leetcode_2341. 数组能形成多少数对
  • Python 3 教程第22篇(数据结构)