YOLOv8-pose:官方预训练模型在COCO-pose上的自测结果

在COCO-pose数据集上,更完整的yolov8-pose结果,用于后续实验对比。

1.电脑配置

GPU:RTX3060,算力FP32约12TFlops、FP16约24TFlops。

CPU:i5-12400

2.官方yolov8-pose结果

3.自测结果

3.1 数据集

val: Scanning ./COCO2017/pose_ren/labels/val2017.cache... 2346 images, 0 backgrounds, 0 corrupt: 100%|██████████| 2346/2346 [00:00<?, ?it/s]

3.2 总体比较结果

输入的imgsz=640:

                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95)     Pose(P          R      mAP50  mAP50-95): 100%|██████████| 147/147 [00:12<00:00, 11.42it/s]
yolov8n-pose.pt    all       2346       6352      0.867      0.825      0.912      0.700      0.838      0.746      0.798      0.511
yolov8s-pose.pt    all       2346       6352      0.867      0.865      0.930      0.742      0.854      0.803      0.857      0.606
yolov8m-pose.pt    all       2346       6352      0.868      0.883      0.941      0.771      0.847      0.842      0.883      0.657
yolov8l-pose.pt    all       2346       6352      0.881      0.880      0.947      0.783      0.880      0.835      0.896      0.688
yolov8x-pose.pt    all       2346       6352      0.887      0.876      0.946      0.784      0.866      0.852      0.901      0.703
yolov8x-pose-p6.pt all       2346       6352      0.896      0.891       0.95      0.802      0.881      0.871      0.915      0.736

m号模型修改输入图片尺寸:

					 Images  Instances      Box(P          R      mAP50  mAP50-95)     Pose(P          R      mAP50  mAP50-95)
yolov8m-pose.pt-640	   2346       6352      0.867      0.884      0.941      0.771      0.847      0.842      0.883      0.657
yolov8m-pose.pt-480    2346       6352      0.887       0.87       0.94      0.763      0.866      0.825      0.871      0.624
yolov8m-pose.pt-320    2346       6352      0.886      0.837      0.924      0.723      0.851      0.763      0.818      0.545
yolov8m-pose.pt-224	   2346       6352      0.872      0.759      0.865      0.646      0.845      0.652      0.716      0.443

3.3 人体检测框比较结果

输入的imgsz=640:

         box metric:                mAP50                mAP75             mAP50-95
     yolov8n-pose.pt               0.9118               0.7848               0.6998
     yolov8s-pose.pt               0.9300               0.8277               0.7423
    *yolov8m-pose.pt               0.9411               0.8490               0.7709
     yolov8l-pose.pt               0.9467               0.8602               0.7830
     yolov8x-pose.pt               0.9456               0.8651               0.7840
  yolov8x-pose-p6.pt               0.9500               0.8792               0.8021

m号模型修改输入图片尺寸:

         box metric:                mAP50                mAP75             mAP50-95
 yolov8m-pose.pt-640               0.9411                0.849               0.7708
 yolov8m-pose.pt-480			   0.9402               0.8416               0.7626
 yolov8m-pose.pt-320               0.9236               0.7994               0.7233
 yolov8m-pose.pt-224 				0.865               0.7106               0.6457

3.4 关键点预测比较结果

输入的imgsz=640:

        pose metric:                mAP50                mAP75             mAP50-95
     yolov8n-pose.pt               0.7980               0.5410               0.5107
     yolov8s-pose.pt               0.8567               0.6658               0.6059
    *yolov8m-pose.pt               0.8828               0.7286               0.6574
     yolov8l-pose.pt               0.8956               0.7612               0.6876
     yolov8x-pose.pt               0.9010               0.7770               0.7027
  yolov8x-pose-p6.pt               0.9150               0.8136               0.7361

m号模型修改输入图片尺寸:

        pose metric:                mAP50                mAP75             mAP50-95
 yolov8m-pose.pt-640               0.8828               0.7286               0.6574
 yolov8m-pose.pt-480			   0.8713               0.6842               0.6237
 yolov8m-pose.pt-320                0.818                0.582               0.5448
 yolov8m-pose.pt-224 				0.716               0.4577               0.4428

3.5 参数量比较

     yolov8n-pose.pt: YOLOv8n-pose summary (fused): 187 layers, 3289964 parameters, 0 gradients, 9.2 GFLOPs
     yolov8s-pose.pt: YOLOv8s-pose summary (fused): 187 layers, 11615724 parameters, 0 gradients, 30.2 GFLOPs
     yolov8m-pose.pt: YOLOv8m-pose summary (fused): 237 layers, 26447596 parameters, 0 gradients, 81.0 GFLOPs
     yolov8l-pose.pt: YOLOv8l-pose summary (fused): 287 layers, 44465580 parameters, 0 gradients, 168.6 GFLOPs
     yolov8x-pose.pt: YOLOv8x-pose summary (fused): 287 layers, 69462204 parameters, 0 gradients, 263.2 GFLOPs
  yolov8x-pose-p6.pt: YOLOv8x-pose-p6 summary (fused): 375 layers, 99141280 parameters, 0 gradients, 266.6 GFLOPs

3.6 推理速度比较

输入的imgsz=640:

     yolov8n-pose.pt: Speed: 0.2ms preprocess, 2.8ms inference, 0.0ms loss, 0.4ms postprocess per image
     yolov8s-pose.pt: Speed: 0.2ms preprocess, 5.1ms inference, 0.0ms loss, 0.5ms postprocess per image
     yolov8m-pose.pt: Speed: 0.1ms preprocess, 10.5ms inference, 0.0ms loss, 0.5ms postprocess per image
     yolov8l-pose.pt: Speed: 0.2ms preprocess, 17.6ms inference, 0.0ms loss, 0.5ms postprocess per image
     yolov8x-pose.pt: Speed: 0.2ms preprocess, 31.3ms inference, 0.0ms loss, 0.6ms postprocess per image
  yolov8x-pose-p6.pt: Speed: 2.7ms preprocess, 119.8ms inference, 0.0ms loss, 0.8ms postprocess per image

m号模型修改输入图片尺寸:

yolov8m-pose.pt-640: Speed: 0.1ms preprocess, 10.7ms inference, 0.0ms loss, 0.5ms postprocess per image
yolov8m-pose.pt-480: Speed: 0.1ms preprocess, 6.5ms inference, 0.0ms loss, 0.4ms postprocess per image
yolov8m-pose.pt-320: Speed: 0.1ms preprocess, 3.4ms inference, 0.0ms loss, 0.4ms postprocess per image
yolov8m-pose.pt-224: Speed: 0.0ms preprocess, 2.0ms inference, 0.0ms loss, 0.4ms postprocess per image

3.7 GFLOPS比较

# ###################### 关键点检测 ######################
 yolov8m-pose.pt-640: 82 GFLOPs		Params: 26464462
 yolov8m-pose.pt-480: 46 GFLOPs
 yolov8m-pose.pt-320: 21 GFLOPs    
 yolov8m-pose.pt-224: 10 GFLOPs

# ###################### 目标检测 ########################
 yolov8m.pt-640: 80 GFLOPs	 Params: 25,902,640
 yolov8m.pt-480: 45 GFLOPs		
 yolov8m.pt-320: 20 GFLOPs     
 yolov8m.pt-224: 10 GFLOPs

 yolov8s.pt-640: 29 GFLOPs   Params: 11,166,560
 yolov8s.pt-480: 17 GFLOPs		
 yolov8s.pt-320:  8 GFLOPs     
 yolov8s.pt-224:  4 GFLOPs

 yolov8x.pt-640: 166 GFLOPs  Params: 43,691,520
 yolov8x.pt-480:  94 GFLOPs		
 yolov8x.pt-320:  42 GFLOPs     
 yolov8x.pt-224:  21 GFLOPs

4. 自测代码

需要修改:模型路径,coco-pose.yaml路径,以及coco-pose.yaml中的数据集路径。

from ultralytics import YOLO


model_path = "../weights/yolov8x-pose-p6.pt"
data_path = "../trains_pose/body_07_08_m/coco-pose.yaml"
fs = 20

model = YOLO(model_path)  # load an official model
metrics = model.val(data=data_path, save=False)   # no arguments needed, dataset and settings remembered

box_map50 = round(float(metrics.box.map50), 4)    # map50
box_map75 = round(float(metrics.box.map75), 4)    # map75
box_map50_95 = round(float(metrics.box.map), 4)   # map50-95

print("box metric:".rjust(fs), "mAP50".rjust(fs), "mAP75".rjust(fs), "mAP50-95".rjust(fs))
print(model_path.rpartition('/')[-1].rjust(fs),
      str(box_map50).rjust(fs), str(box_map75).rjust(fs), str(box_map50_95).rjust(fs))

pose_map50 = round(float(metrics.pose.map50), 4)    # map50
pose_map75 = round(float(metrics.pose.map75), 4)    # map75
pose_map50_95 = round(float(metrics.pose.map), 4)   # map50-95

print("pose metric:".rjust(fs), "mAP50".rjust(fs), "mAP75".rjust(fs), "mAP50-95".rjust(fs))
print(model_path.rpartition('/')[-1].rjust(fs),
      str(pose_map50).rjust(fs), str(pose_map75).rjust(fs), str(pose_map50_95).rjust(fs))

# 计算FLops和参数量
from ultralytics import YOLO
from ultralytics.utils.torch_utils import get_flops, get_num_params

# Load the model
model = YOLO('../weights/yolov8m-pose.pt')

# Get the GFLOPs value
for sz in [640, 480, 320, 224]:
    flops = get_flops(model.model, imgsz=sz)
    parms = get_num_params(model.model)
    print(f"GFLOPs: {flops:.2f}")
    print(f"Params: {parms}")

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值