coco 输出格式,MPII 输出格式,标注

1,数据集

BODY25:

COCO: .

MPI: .

coco 输出格式

鼻子– 0,颈部– 1,

右肩– 2,右肘– 3,右手腕– 4,

左肩– 5,左肘– 6,左手腕– 7,

右臀部– 8,右膝– 9 , 右脚踝 – 10,

左臀部 – 11, 左膝盖 – 12, 左脚踝 – 13,

右眼 – 14, 左眼 – 15, 右耳 – 16, 左耳 – 17,

背景 – 18

在这里插入图片描述

MPII 输出格式

0 - 右脚踝 (right ankle)
1 - 右膝盖 (right knee)
2 - 右髋部 (right hip)
3 - 左髋部 (left hip)
4 - 左膝盖 (left knee)
5 - 左脚踝 (left ankle)
6 - 骨盆 (pelvis)
7 - 胸部 (thorax)
8 - 颈部 (neck)
9 - 头顶 (head top)
10 - 左手腕 (left wrist)
11 - 左肘 (left elbow)
12 - 左肩 (left shoulder)
13 - 右肩 (right shoulder)
14 - 右肘 (right elbow)
15 - 右手腕 (right wrist)
以上16个关键点被广泛应用于人体姿态估计领域,可以用于训练和评估各种类型的人体姿态估计模型,如单人姿态估计、多人姿态估计、动态姿态估计等。

代码:

if MODE is "COCO":
    protoFile = "pose/coco/pose_deploy_linevec.prototxt"
    weightsFile = "pose/coco/pose_iter_440000.caffemodel"
    nPoints = 18
    POSE_PAIRS = [ [1,0],[1,2],[1,5],[2,3],[3,4],[5,6],[6,7],[1,8],[8,9],[9,10],[1,11],[11,12],[12,13],[0,14],[0,15],[14,16],[15,17]]

elif MODE is "MPI" :
    protoFile = "pose/mpi/pose_deploy_linevec_faster_4_stages.prototxt"
    weightsFile = "pose/mpi/pose_iter_160000.caffemodel"
    nPoints = 15
    POSE_PAIRS = [[0,1], [1,2], [2,3], [3,4], [1,5], [5,6], [6,7], [1,14], [14,8], [8,9], [9,10], [14,11], [11,12], [12,13] ]


详解:

1、

.prototxt 文件,它指定了神经网络的架构——不同层的排列方式等。
.caffemodel 文件,用于存储训练模型的权重

2、blobFromImage函数

函数cv2.dnn.blobFromImage(image[, scalefactor[, size[, mean[, swapRB[, crop[, ddepth]]]]]])

平均值(mean)
缩放系数(scalefactor)
交换RB通道(swapRB)
图像裁剪(crop)

blobFromImage(InputArray image, 
			  double scalefactor=1.0, 
		      const Size& size = Size(),
			  const Scalar& mean = Scalar(), 
			  bool swapRB = false, 
			  bool crop = false,
			  int ddepth = CV_32F)
inpBlob = cv2.dnn.blobFromImage(frame, 1.0 / 255, (inWidth, inHeight),
                          (0, 0, 0), swapRB=False, crop=False)

作用:
对图像进行预处理,包括减均值,比例缩放,裁剪,交换通道等,返回一个4通道的blob(blob可以简单理解为一个N维的数组,用于神经网络的输入)

各参数的意义

image

输入图像

scalefactor

当我们将图片减去平均值之后,还可以对剩下的像素值进行一定的尺度缩放,它的默认值是1,如果希望减去平均像素之后的值,全部缩小一半,那么可以将scalefactor设为1/2

mean

需要将图片整体减去的平均值,如果我们需要对RGB图片的三个通道分别减去不同的值,那么可以使用3组平均值,如果只使用一组,那么就默认对三个通道减去一样的值。减去平均值(mean):为了消除同一场景下不同光照的图片,对我们最终的分类或者神经网络的影响,我们常常对图片的R、G、B通道的像素求一个平均值,然后将每个像素值减去我们的平均值,这样就可以得到像素之间的相对值,就可以排除光照的影响。

swapRB

是否交换RB,OpenCV中认为我们的图片通道顺序是BGR,但是我平均值假设的顺序是RGB,所以如果需要交换R和G,那么就要使swapRB=true

crop

图像裁剪,默认为False.当值为True时,先按比例缩放,然后从中心裁剪成size尺寸

size

输出图像的空间尺寸,如size=(200,300),Width=200, Height=300

ddepth

当cv2.imshow()处理图像深度为CV_8U(默认范围为[0,255])时,按原数据显示;当处理图像深度为CV_16U(默认范围为[0,65535])时,除以256,映射到[0,255];当图像深度为CV_32F和CV_64F时(默认范围为[0,1]),乘以255映射到[0,255];当碰到负数时,首先取其绝对值,然后按照上述图像深度将超出数据范围的部分采取截断操作,最后映射到[0,255]显示图像

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MPII Human Pose 数据转换是将MPII Human Pose数据集中的人体姿势数据转化为其他格式或结构的过程。这个数据集是一个用于人体姿势估计的公开数据集,其中包含了一系列人体在不同姿势下的图像和相应的关节点标注。 一种常见的MPPI Human Pose数据转换是将其转换为图像标注数据集,即将原始图像中的关键点位置信息与图像像素进行对应。转换过程中,首先需要读取MPII Human Pose数据集中的图像,并获取图像中的人体姿势关节点信息。这些关节点代表了人体的头部、颈部、手臂、躯干等部位的位置。 接下来,可以将关节点信息与图像像素位置进行对应,并将其转换为图像标注数据集的格式,常见的格式有VOC、COCO等。在转换过程中,可以根据具体需求,选择相应的文件格式和数据结构进行保存。转换后的图像标注数据集可以用于人体姿势估计的训练和测试。 此外,MPII Human Pose数据还可以转换为其他数据结构,比如关节连线图结构。在这种转换过程中,可以根据关节点的位置信息,将其进行连线,形成人体姿势的连线图。这个连线图可以反映出人体姿势的连续性和相关性,有助于后续的姿势分析和姿势生成。 综上所述,MPII Human Pose数据转换是将原始数据集中的人体姿势数据转化为其他格式或结构的过程,常见的转换包括图像标注数据集和关节连线图结构等。这些转换有助于后续的人体姿势估计、姿势分析和姿势生成等任务的进行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值