50 lines
2.0 KiB
YAML
50 lines
2.0 KiB
YAML
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
|
|
|
|
# YOLO12-pose keypoints/pose estimation model with P3/8 - P5/32 outputs
|
|
# Model docs: https://docs.ultralytics.com/models/yolo12
|
|
# Task docs: https://docs.ultralytics.com/tasks/pose
|
|
|
|
# Parameters
|
|
nc: 80 # number of classes
|
|
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
|
|
scales: # model compound scaling constants, i.e. 'model=yolo12n-pose.yaml' will call yolo12-pose.yaml with scale 'n'
|
|
# [depth, width, max_channels]
|
|
n: [0.50, 0.25, 1024] # summary: 287 layers, 2,886,715 parameters, 2,886,699 gradients, 7.8 GFLOPs
|
|
s: [0.50, 0.50, 1024] # summary: 287 layers, 9,774,155 parameters, 9,774,139 gradients, 23.5 GFLOPs
|
|
m: [0.50, 1.00, 512] # summary: 307 layers, 21,057,753 parameters, 21,057,737 gradients, 71.8 GFLOPs
|
|
l: [1.00, 1.00, 512] # summary: 503 layers, 27,309,369 parameters, 27,309,353 gradients, 93.5 GFLOPs
|
|
x: [1.00, 1.50, 512] # summary: 503 layers, 61,134,489 parameters, 61,134,473 gradients, 208.7 GFLOPs
|
|
|
|
# YOLO12n backbone
|
|
backbone:
|
|
# [from, repeats, module, args]
|
|
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
|
|
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
|
|
- [-1, 2, C3k2, [256, False, 0.25]]
|
|
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
|
|
- [-1, 2, C3k2, [512, False, 0.25]]
|
|
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
|
|
- [-1, 4, A2C2f, [512, True, 4]]
|
|
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
|
|
- [-1, 4, A2C2f, [1024, True, 1]] # 8
|
|
|
|
# YOLO12n head
|
|
head:
|
|
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
|
- [-1, 2, A2C2f, [512, False, -1]] # 11
|
|
|
|
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
|
- [-1, 2, A2C2f, [256, False, -1]] # 14
|
|
|
|
- [-1, 1, Conv, [256, 3, 2]]
|
|
- [[-1, 11], 1, Concat, [1]] # cat head P4
|
|
- [-1, 2, A2C2f, [512, False, -1]] # 17
|
|
|
|
- [-1, 1, Conv, [512, 3, 2]]
|
|
- [[-1, 8], 1, Concat, [1]] # cat head P5
|
|
- [-1, 2, C3k2, [1024, True]] # 20 (P5/32-large)
|
|
|
|
- [[14, 17, 20], 1, Pose, [nc, kpt_shape]] # Detect(P3, P4, P5)
|