如何使用labelimg标注自己的数据集,并实现多人同时标注,及常见的labelimg闪退问题
1 labelimg的安装和使用
(1)labelimg的安装
1、创建环境
建议使用python=3.8或者3.9,不要使用最高版本可能不兼容报错
conda create -n labelimg python=3.8
TypeError: arguments did not match any overloaded call:
drawLine(self, QLineF): argument 1 has unexpected type 'float'
drawLine(self, QLine): argument 1 has unexpected type 'float'
drawLine(self, int, int, int, int): argument 1 has unexpected type 'float'
drawLine(self, QPoint, QPoint): argument 1 has unexpected type 'float'
drawLine(self, Union[QPointF, QPoint], Union[QPointF, QPoint]): argument 1 has unexpected type 'float'
2、安装labelimg
pip install labelimg
(2)labelimg的使用
1、打开初始化设置
三步走:openDir——open Save Dir——调整格式
2、快捷键
|Ctrl + s | 保存 |
+------------+--------------------------------------------+
| Ctrl + d | Copy the current label and rect box |
+------------+--------------------------------------------+
| Space | 标记当前图片已标记 |
+------------+--------------------------------------------+
| w | 创建一个矩形 |
+------------+--------------------------------------------+
| d | 下一张图片 |
+------------+--------------------------------------------+
| a | 上一张图片 |
2 如何实现多人标注
1、如何查看前人标注好的数据,导入已有标签,避免重复打标签
以yolo数据集为例
(1)明确数据集构成
上一个人标注好的数据给我,数据集结构如下:
datasets
├─images
└─labels
└─predefined_classes.txt(如果没有件夹,在labels中的classess.txt拷贝到此文件夹中,并重命名一定要重命名为predefined_classess.txt)
(2)进入此文件夹,cd或者直接打开cmd
(3)激活含有labelimg的环境
输入以下指令labelimg ./data predefined_classes.txt
此行命令等价于,在labelimg sitePackage中创建一个data文件夹,然后将predefined_classes.txt放置其中
参考:labelImg导入预设标签predefined_classes.txt文件_labelimgpredef-优快云博客
(4)再次进入labelimg就会显示出前人标注好的数据
参考:labelImg的使用——导入已有标签,避免重复打标签_labelimg导入已有标签-优快云博客
2、如何实现多人同时标注
(情况一):从0开始多人同时标注——最有效
【1】在收集好的数据集前加一张空白的图片,然后标出所有想标注的标签
或者直接新建立一个predefined_classes.txt,包含所有想标注的标签
【2】点击保存后,重新打开,然后将生成的或者是自己建立好的classess.txt按照【内容1】重新进入labelimg
【3】进行标注
(情况二):多人同时先后标注(多台电脑进行,不同时)
【0】负责人负责构建数据集
datasets
├─images
└─labels
└─predefined_classes.txt
在predefined_classes.txt中定义此次要标注的所有标签
【1】第一个人通过labelimg ./data predefined_classes.txt
方式打开labelimg,标注时注意,现在时选择题,不要再重新输入标签,标注完后,将数据集压缩发送到群里,给下一个人标注
【2】下一个人也通过labelimg ./data predefined_classes.txt
方式打开labelimg。检查几件事
{1}打开后是否有上个人标注好的数据
{2}openDir,changeSaveDir,想要的数据集格式
{3}进行新的标注时,是否是选择标签,如果不是马上退出,调整进入方式
正常进行标注,标注完后,传到群里面
3 labelimg常见闪退问题
参考这篇文章,挺细致的