AI工具-标注工具labelme

简介: Labelme是一款Python开源图像标注工具,支持图像分类、目标检测、语义分割和实例分割等任务。它提供了一个GUI界面,用户可绘制圆形、方形和多边形进行标注。安装通过`pip install labelme`和`lxml`,使用时可导入预定义标签列表。标注结果保存为json文件,包含类别、边界框信息和形状类型。Labelme还支持格式转换,如转换为VOC或COCO格式。这款工具对视频标注也兼容。5月更文挑战第9天

AI工具-标注工具labelme

在人工智能领域,数据是一切应用的基础,特别是有标签的数据。今天介绍一款在图像视觉领域的基于python开源打标签工具Labelme, 该工具可以支持图像分类,目标检测, 语义分割和实例分割等最常见的视觉任务。

其他类似的工具有Labelimg

md-2022-03-27-22-37-18.png

1. 安装

lableme开源代码见 https://github.com/wkentaro/labelme

本地安装如下:

pip install labelme
pip install lxml

## 运行
./labelme

md-2022-03-15-11-39-02.png

2 使用

从上面的界面(pyQt)可以看出Labelme

  • 左边为标注的图形:支持圆形,方形 和多边形
  • 中间为图像标注区域
  • 右边为类别和文件信息

md-2022-03-15-13-58-13.png

作为打标工具,Labelme是支持在标注时再输入标签类别信息,但是建议在标注之前构建一个标签元数据,作为输入。

建议的使用步骤如下:

构建标签列表
创建标签名称label.txt,格式如下前面两行为固定

__ignore__
_background_
dog
cat

导入标签,并启动

labelme --labels label.txt

开始标注
根据标注任务的不同,Labelme会生成一个与图片名称相同的json文件,以目标检测为例,标注好的json样例为:

{
   
   
  "version": "4.6.0",
  "flags": {
   
   },
  "shapes": [
    {
   
   
      "label": "nochefclothes",
      "points": [
        [
          278.53846153846155,
          390.3076923                                                     
        ],
        [
          513.9230769230769,
          955.5384615384615
        ]
      ],
      "group_id": null,
      "shape_type": "rectangle",
      "flags": {
   
   }
    }
  ],
  "imagePath": "3a7b9c1896e19feab13bc201cbf2a86b.jpeg",
  "imageData": "",
  "imageHeight": 1000,
  "imageWidth": 798
}

可以看出

  • label为类别信息,
  • points为bounding box位置信息,如果是目标检测(方形)分别为左上(xmin,ymin)和右下(xmax, ymax)的坐标信息,如果是语义分割和实例分割,则为多个点
  • shape_type: 目标检测为rectangle, 语义分割和实例分割为polysgons

等标注完成,保存即可;标注完成之后想查看标注结果,可以通过不同的方式来打开

# 空白
labelme --labels label.txt

# 单图json
labelme ./img1.json --labels label.txt

# 目录方式
labelme ./img_dir --labels label.txt

另外,Labelme也是支持视频标注的。通过视频抽帧之后再标注。

3. 格式转换

由于Labelme是按照json格式来保存标注结果的,这和现有的常用任务格式有些区别,如目标检测的VOC COCO等,Labelme也提供的相应的转换工具脚本进行转换,十分方便。

  • 转换voc
# It generates:
#   - data_dataset_voc/JPEGImages
#   - data_dataset_voc/SegmentationClass
#   - data_dataset_voc/SegmentationClassVisualization
#   - data_dataset_voc/SegmentationObject
#   - data_dataset_voc/SegmentationObjectVisualization
./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt

python -u labelme2voc.py ./multi_defect ./multi_defect_voc --labels ./labels.txt --noviz
  • 转换coco
# It generates:
#   - data_dataset_coco/JPEGImages
#   - data_dataset_coco/annotations.json
./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt

4. 总结

本文简单分享了开源标注工具Labelme的使用,希望对你有帮助。先总结如下:

  • labelme适用于图像分类、目标检测、语义分割、实例分割
  • labelme 图片视频都可用
  • 开始新建立标签文件,记住前两行是固定的(没有特别的含义,就是代码逻辑是这样的)
  • json注意label,points和shape_type
  • labelme2voc和labelme2coco来转换经典格式
目录
相关文章
|
8天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
7天前
|
人工智能
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
介绍一个工具,能够检测一段内容是否通过 AI 工具生成
23 2
|
8天前
|
人工智能 iOS开发 MacOS
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
我们推出了最新的旗舰模型 GPT-4o,并为免费版 ChatGPT 用户提供更多功能,包括更快的速度、改进的文本、语音和视觉能力,以及新的桌面应用程序和简化的界面。
[译][AI OpenAI] 引入 GPT-4o 及更多工具至免费版 ChatGPT 用户
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
一个检测文字是否是 AI 生成的工具
一个检测文字是否是 AI 生成的工具
16 0
|
8天前
|
人工智能 自然语言处理 搜索推荐
推荐几个AI的好工具,大家快收藏
随着chatgpt出现,各式各样的AI应用不断刷新大家的认知。今天,我就为大家推荐几个实用的AI工具,不管你有没有听说过,走过路过不容错过。5月更文挑战第1天
76 4
|
8天前
|
数据采集 安全 测试技术
【专栏】阿里云RPA浏览器自动化插件是一款基于AI的创新工具
【4月更文挑战第29天】阿里云RPA浏览器自动化插件是一款基于AI的创新工具,能模拟浏览器操作,实现自动化业务流程,提升效率,降低成本。其特点包括强大的自动化能力、智能识别处理、灵活定制、稳定性能及安全保障。适用于数据采集、表单填写、网页测试、办公自动化和电商运营等场景,助力企业数字化转型。
|
8天前
|
人工智能 开发框架 数据可视化
【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标
【AI大模型应用开发】【RAG评估】0. 综述:一文了解RAG评估方法、工具与指标
135 0
|
8天前
|
人工智能 机器人 Linux
超级炫酷的AI绘图工具—MidJourney入门使用教程
超级炫酷的AI绘图工具—MidJourney入门使用教程
|
机器学习/深度学习 人工智能 自然语言处理
搜狗翻宝Pro机再次开挂,智能翻译硬件成中国人工智能的新风口
第五届世界互联网大会正在如火如荼的举行。
搜狗翻宝Pro机再次开挂,智能翻译硬件成中国人工智能的新风口
|
机器学习/深度学习 人工智能 自然语言处理
与世界同行 2017中国人工智能大会有感
与世界同行 2017中国人工智能大会有感
1887 0
与世界同行 2017中国人工智能大会有感

热门文章

最新文章