【Yolo学习-内容标定】labelimg与labelme打标工具的安装与使用

前言

鉴于目前在公司研究算法部分,进行yolo相关学习和学习中途的内容记录
当前研究目的:利用YOLO完成特定物体的识别与分割,所选版本为YOLOV8
学习内容大致如下:
1.环境构建
2.内容复现
3.新物体的内容标定
4.新内容训练
5.性能调优和结果显示
在学习的过程中会尝试补全和巩固一部分学过的内容,最好对应的记录,内容主要研究实际应用

以下所作内容需具备一定的配置环境,依照前文中环境构建的结构进行的配置,在使用如下内容时,均推荐使用管理员身份进行处理

常见的CV任务

四大基本任务


(a)图像分类(目标检测):一张图像中是否含某种物体
(b)物体定位(目标检测与目标识别):确定目标位置和所属类别。
(c)语义分割(目标分割和目标分类):对图像进行像素级分类,预测每个像素属于的类别,不区分个体;(所有的CUBE一个颜色)
(d)实例分割(目标分割和目标识别):定位图中每个物体,并进行像素级标注,区分不同个体;(CUBE都是不同颜色)

细节说明

目标检测(object detection)
除了要告诉输入图像中包含了哪类目前外,还要框出该目标的具体位置和大小(bounding boxes)
目标识别(objec recognition)
是指明一幅输入图像中包含的目标是谁。其输入为一幅图像在确定其类别的基础上,进一步确定这个目标是谁(比如:小明,短脚猫等)
目标分割(object segmentation)
目标分割是对目标进行像素级的目标检测,即不是用边框将目标框起来,而是需要知道哪个像素是不是属于目标的一部分
目标分类(object classification)
对于一幅图像(其中包含一个主要的对象),确定该幅图像是哪一个类别(比如:海滩,楼房)

打标工具选择

labelimg是一种矩形标注工具,常用于目标识别和目标检测,其标记数据输出为.xml和.txt
labelme是一种多边形标注工具,可以准确的将轮廓标注出来,常用于分割,其标记输出格式为json

labelImg的安装和使用

安装

在涉及上述中的图像分类,物体定位,实例分割等事项中,进行规则矩形分割可以进行labelImg的安装和使用。
github地址:https://github.com/HumanSignal/labelImg/releases
imagepng
imagepng
直接使用压缩包解压的方式即可解压使用,如果需使用pip install 的方式进行导入,可直接参考对应项目的REDEME部分,地址如下:https://github.com/HumanSignal/labelImg
imagepng

使用

基础的使用流程为:打开文件夹,改变存储标签的地址,选择适合的标签,界面部分如下
imagepng
配置操作:自动保存标签、显示标注框和标签、标注的十字架悬浮
Auto Save mode:切换到下一张图的时候,会自动保存标签。
Display Labels:会显示标注框和标签
Advanced Mode:标注的十字架会一直悬浮在窗口。
imagepng
配置合适的格式,labelimg支持如下两种格式:
1 VOC标签格式,保存为xml文件
2 yolo标签格式,保存为txt文件
常用快捷键如下:
A:切换到上一张图片
D:切换到下一张图片
W:调出标注十字架
del :删除标注框框
Ctrl+u:选择标注的图片文件夹
Ctrl+r:选择标注好的label标签存在的文件夹

读取文件报错

imagepng
如果在读取文件中出现上述报错,可以进行文件调整,参考下述脚本进行

import os
from tqdm import tqdm
from PIL import Image

dir_origin_path = "E:/Code/yolov8_learn/Img"
dir_save_path = "E:/Code/yolov8_learn/data"

img_names = os.listdir(dir_origin_path)
for img_name in tqdm(img_names):
    if img_name.lower().endswith(
        (
            ".bmp",
            ".dib",
            ".png",
            ".jpg",
            ".jpeg",
            ".pbm",
            ".pgm",
            ".ppm",
            ".tif",
            ".tiff",
        )
    ):
        image_path = os.path.join(dir_origin_path, img_name)
        image = Image.open(image_path)
        image = image.convert("RGB")

        if not os.path.exists(dir_save_path):
            os.makedirs(dir_save_path)
        image.save(os.path.join(dir_save_path, img_name))

示例

imagepng

保存文件

标签与文本一一对应,
imagepng
imagepng

labelme的安装和使用

安装

在涉及上述中的图像分类,语义分割,实例分割等事项中,进行规则矩形分割可以进行labelme的安装和使用。
github地址:https://github.com/labelmeai/labelme/releases
imagepng
直接使用压缩包解压的方式即可解压使用,如果需使用conda的方式进行导入,可直接参考对应项目的REDEME部分,地址如下:https://github.com/labelmeai/labelme
imagepng

使用

所使用的操作以及快捷键同labelimg类似,这边不做过多赘述
imagepng

示例

imagepng

保存文件

imagepng
imagepng

小结

完成对labelimg与labelme的使用和初步了解,进行CV事项的复盘和学习,以及打标内容的学习,在打标的过程中会有一些相对便捷的操作方式,值得大家一起学习交流,这边只是简单的进行软件的安装和打标,在实际的生产过程中,可能需要进行对应标签的转化,对应脚本的其他操作,去适配我们的模型训练,这边会额外进行补充学习。

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值