深度学习数据标注:LabelImg篇
本文介绍了如何安装和使用LabelImg及其旋转框版本roLabelImg进行图像标注。
1 pip网址安装labelimg
依赖包:
pip install lxml pyqt5 pyqt5-tools
pip install pyqt5
pip install pyqt5-tools
pip install lxml
pip install labelimg -i Simple Index
需要环境:<=py3.7
2 问题:labelimg打开图片闪退。
解决:
a、在label存放的根目录下,新建一个classes.txt文件;
b、pathon版本太高,新建一个python=3.8的虚拟环境;
c、查看是否安装依赖?
3 labelimg报错:IndexError: list index out of range
解决:
a、检查classes数量是否符合自定义标签数量(没有classes.txt的新建一个)
b、打开第一张图片后,先按照自己定义标签顺序,依次画框新建所有的便签(图中随便框选即可)。新建完后保存,最后删除新建的框图即可。
4 labelimg常用快捷键
5 旋转框。比如:rolabelimg。
需要环境:<=py3.7
依赖包:
pip install pyqt5
pip install pyqt5-tools
pip install lxml
GitHub地址:GitHub - cgvict/roLabelImg: Label Rotated Rect On Images for training
安装:
把解压包放到虚拟环境下:.conda\envs\py3.7\Lib\site-packages\
打开方式:
1、进入你的安装路径,
cd C:\Users\Username\.conda\envs\py3.7\Lib\site-packages\rolabelimg
2、python rolabelimg.py
界面:
选择标签要保存的文件夹,Ctrl+R
常用快捷键:
大部分与labelimg相同,其他快捷键:
e——新建旋转框;
zxcv——旋转角度。
输出格式:.xml
生成的label.txt中多了一个角度信息,即多了一个预测条件,需要改代码,加一个维度信息。网上可以搜到修改代码。
普通框输出格式:xmin, ymin, xmax, ymax
比如:
<bndbox>
<xmin>705</xmin>
<ymin>294</ymin>
<xmax>793</xmax>
<ymax>401</ymax>
</bndbox>
旋转框输出格式:cx, cy, w, h, angle
比如:
<robndbox>
<cx>976.9315</cx>
<cy>831.0411</cy>
<w>282.0</w>
<h>324.0</h>
<angle>0.1</angle> %值为弧度,无负值,角度=0.1*180/pi
</robndbox>
旋转框标签格式转化为四点标签格式,参考文章:
旋转标注框数据标签制作-roLabelImg_旋转框标注-CSDN博客
YOLOv11 OBB 格式通过四个角点指定边界框,其坐标在 0 和 1 之间归一化:
class_index x1 y1 x2 y2 x3 y3 x4 y4
比如:
*.txt 标签文件
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758
6 X-AnyLabeling
不仅是一个标注工具,而且可以自动数据标注。支持了旋转框的标注,实操体验方面也与经典的 roLabelImg 完全保持一致,且支持直接导出 DOTA 格式的标签文件,无需转换一键训练。最后,工具中还提供了 yolov5_obb 自定义模型的加载运行,可极大提升数据标注效率,形成快速闭环。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)