yolov8-pose姿态估计数据集制作(一)

这篇具有很好参考价值的文章主要介绍了yolov8-pose姿态估计数据集制作(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读

最近在搞yolo-pose姿态识别算法,现成的模型已经挺好用了,但是在某些特定的场景下,还是识别不准。所以想着自己搞搞数据,查了网上相关的博客,基本思路都是先按照coco格式来标,然后再转化成yolo格式。不废话,直接说咋干。

标注工具

这里推荐使用CVAT,好用,没啥说。GitHub链接:https://github.com/opencv/cvat, 官方说明文档:https://opencv.github.io/cvat/docs/。 部署安装不再多说,按照官网的文档复制粘贴命令就行了。
安装完成之后,在浏览器中登录CVAT 平台,如图:
yolov8-pose姿态估计数据集制作(一)
CVAT的使用逻辑是, 先创建一个organization(组织), 再组织里创建一个project(项目),然后在project中创建一个task(任务),创建任务时,需要创建一个可以认为是模板的玩意,把人体的基本结构画出来,然后在标注的时候,直接通过挪动点的位置的方法,来进行标注。
在创建任务的时候,点击Setup skeleton。
yolov8-pose姿态估计数据集制作(一)
在常规标签表单下方,可以先传一张正面人体全身照,做参照来设置关键点,因为是人体关键点,所以标签设置为“person”, 再选择点标注,然后在绘图区域把人体的点画出来。(我在下图中是随手把点画出来了,所以看不清楚是个人,这个不影响后续标注)。我们总共是标了17个点,按照coco keypoints的要求来标17个点,分别为:“nose”,“left_eye”, “right_eye”,“left_ear”, “right_ear”,“left_shoulder”, “right_shoulder”,“left_elbow”, “right_elbow”,“left_wrist”, “right_wrist”,“left_hip”, “right_hip”,“left_knee”, “right_knee”,“left_ankle”, “right_ankle”。

yolov8-pose姿态估计数据集制作(一)
这个设置好之后,点击done,完成。
然后就可以上传图片,发布任务了。点击 “+” 号, 可以一次创建一张图,可以一次创建多张图,或者视频,创建完之后,就可以在这个页面看到刚发布的任务了。
yolov8-pose姿态估计数据集制作(一)
创建好的任务列表如下,点击OPEN按钮,就可以打开任务,进行标注:
yolov8-pose姿态估计数据集制作(一)

点击Job,就可以进入到标注界面:
yolov8-pose姿态估计数据集制作(一)
标注界面如下,如果非连续帧,可以选择shape按钮进行单帧标注。如果是视频连续帧,可以选择track按钮进行连续帧标注,按照coco数据集的顺序,把17个点按顺序进行标注,顺序不能错。如果点被遮挡了,可以在这个点上,右键,修改为遮挡属性,即coco数据集中V的值等于1,如果点被截断了,可以在这个点上,右键,修改为截断属性,即coco数据集中V的值等于0,其他可见的点V值都为2:
yolov8-pose姿态估计数据集制作(一)

导出数据集

在标注完成之后,点击menu按钮-----> export job dataset, 选择 COCO Keypoints 1.0格式,点击ok即可。
yolov8-pose姿态估计数据集制作(一)
导出的数据格式只有一个json文件,后续就可以拿这个数据集来搞自己的事情了。

附上一个可视化的代码

网上搜到的代码,好多都有问题。。我也是参照别人的代码,改了改,遍历目录下所有的图片,逐个进行可视化。
yolov8-pose姿态估计数据集制作(一)文章来源地址https://www.toymoban.com/news/detail-503358.html

# -*- coding:utf-8 -*-
import os
import numpy as np
from pycocotools.coco import COCO
import cv2

def plow_show(imgIds):
    img = coco.loadImgs(imgIds)[0]
    matImg = cv2.imread('%s/%s' % (img_prefix, img['file_name']))
    annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)

    # 通过注释的id,得到注释的信息
    anns = coco.loadAnns(annIds)
    for ann in anns:
        kp = np.array(ann['keypoints'])
        x = kp[0::3]
        y = kp[1::3]
        v = kp[2::3]
        for sk in sks:
            c = aColor[np.random.randint(0, 4)]
              # 画连接线
            if np.all(v[sk] > 0):
                cv2.line(matImg, (round(x[sk][0]), round(y[sk][0])), (round(x[sk][1]), round(y[sk][1])), c, 1)
        # 画关键点
        for i in range(x.shape[0]):
            c = aColor[np.random.randint(0, 4)]
            if np.all(v[i] > 0):
                cv2.circle(matImg, (int(x[i]), int(y[i])), 2, c, lineType=1)
    cv2.imshow("show", cv2.resize(matImg, (1280, 720)))
    cv2.waitKey(0)


if __name__ == '__main__':
    annFile = r'C:\Users\37452\Downloads\123\annotations\person_keypoints_default.json'
    img_prefix = r'C:\Users\37452\Downloads\123\images'
    sks = np.array([[16, 14], [14, 12], [17, 15], [15, 13], [12, 13], [6, 12], [7, 13], [6, 7],
                         [6, 8], [7, 9], [8, 10], [9, 11], [2, 3], [1, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7]]) - 1
    aColor = [(0, 255, 0, 0), (255, 0, 0, 0), (0, 0, 255, 0), (0, 255, 255, 0)]
    coco = COCO(annFile)

    # getCatIds(catNms=[], supNms=[], catIds=[])
    catIds = coco.getCatIds(catNms=['person']) 
    # getImgIds(imgIds=[], catIds=catId
    for imgIds in (range(1, len(os.listdir(img_prefix)) +1)):
        plow_show(imgIds)

到了这里,关于yolov8-pose姿态估计数据集制作(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计

    YOLOv8是一种先进的目标检测算法,结合多种算法实现多目标追踪、实例分割和姿态估计功能。该算法在计算机视觉领域具有广泛的应用。 首先,YOLOv8算法采用了You Only Look Once(YOLO)的思想,通过单次前向传递将目标检测问题转化为回归问题。它使用了深度卷积神经网络,能

    2024年02月20日
    浏览(34)
  • YOLOv8 人体姿态估计(关键点检测) python推理 && ONNX RUNTIME C++部署

    目录   1、下载权重 ​编辑2、python 推理 3、转ONNX格式 4、ONNX RUNTIME C++ 部署 utils.h utils.cpp detect.h detect.cpp main.cpp CmakeList.txt 我这里之前在做实例分割的时候,项目已经下载到本地,环境也安装好了,只需要下载pose的权重就可以 输出:   用netron查看一下:  如上图所是,YOLO

    2024年02月07日
    浏览(35)
  • YOLOv8的目标对象的分类,分割,跟踪和姿态估计的多任务检测实践(Netron模型可视化)

    YOLOv8是目前最新版本,在以前YOLO版本基础上建立并加入了一些新的功能,以进一步提高性能和灵活性,是目前最先进的模型。YOLOv8旨在快速,准确,易于使用,使其成为广泛的 目标检测和跟踪,实例分割,图像分类和姿态估计任务 的绝佳选择。 YOLOv8的安装条件 Python=3.8 Py

    2024年02月11日
    浏览(28)
  • 人体姿态估计技术的理解(Human Pose Estimination)

    本人毕设题目是人体姿态估计技术的相关课题,本人按照自己对人体姿态估计技术的学习和理解进行论述,如有不足,请大家指正!!! “姿势估计?……姿势这个词对不同的人可能有不同的含义,但我们不是在讨论阿诺德的经典作品、奥林匹亚或选美表演。那么,姿势估计

    2024年02月11日
    浏览(34)
  • SynergyNet(头部姿态估计 Head Pose Estimation)复现 demo测试

    SynergyNet(github):https://github.com/choyingw/SynergyNet b站:https://www.bilibili.com/video/BV1Ph4y1k7LK/ 我用的AutoDL平台搭建 选择镜像 PyTorch 1.9.0 Python 3.8(ubuntu18.04) Cuda 11.1 安装其它包: 备注:如果无法下载,就到github中下载压缩包,然后上传解压安装 或者使用码云下载: 需要下载如下文件

    2024年02月14日
    浏览(34)
  • 计算机视觉算法中的 相机姿态估计(Camera Pose Estimation)

    目录 ​编辑引言 相机姿态估计的基本概念 相机姿态估计的方法 特征点匹配 直接法 基于深度学习的方法 相机姿态估计的应用 增强现实(AR) 机器人导航 三维重建 结论 相机姿态估计是计算机视觉领域的重要任务之一。它涉及到确定相机在三维空间中的位置和朝向,常用于

    2024年02月05日
    浏览(38)
  • 3D视觉——1.人体姿态估计(Pose Estimation)入门——使用MediaPipe含单帧(Signel Frame)与实时视频(Real-Time Video)

    使用MediaPipe工具包进行开发 MediaPipe是一款由Google Research 开发并开源的多媒体机器学习模型应用框架,用于处理视频、音频等时间序列数据。这个跨平台架构使用于桌面/服务器、Android、iOS和嵌入式设备等。 我们使用MeidaPipe下的Solutions(方案特定的模型),共有16个Solutions: 人

    2024年01月18日
    浏览(36)
  • YOLOv5姿态估计:HRnet实时检测人体关键点

    前言: Hello大家好,我是Dream。 今天来学习一下 利用YOLOv5进行姿态估计,HRnet与SimDR检测图片、视频以及摄像头中的人体关键点 ,欢迎大家一起前来探讨学习~ 首先需要我们利用Pycharm直接克隆github中的姿态估计原工程文件,如果不知道怎样在本地克隆Pycharm,可以接着往下看,

    2024年01月17日
    浏览(51)
  • YOLOv8 全家桶再迎新成员!新增Pose Estimation模型!

    关注公众号,发现CV技术之美 不知不觉间,YOLOv8已经发布三个月了,等待中的YOLOv8论文没来,昨天官方默默又加了新模型:姿态估计。 说好的\\\"目标检测\\\"工业界标杆,正向着“CV全家桶”阔步向前。 现在你可以用YOLOv8做 目标检测、实例分割、图像分类、目标跟踪、姿态估计

    2024年02月03日
    浏览(24)
  • openvino部署yolov8 检测、分割、分类及姿态模型实例详解

    本文重点参考:https://github.com/openvino-book/yolov8_openvino_cpp/tree/main 文中代码为简便版本,如果要使用请自行修改并封装 openvnio部署模型比较方便和简单,而且不易出错,就是速度慢了点! 下边分别给出 部署源码

    2024年02月16日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包