yolopose笔记

本文详细解释了ultralytics/yolo/v8/pose/train.py中的loss函数,特别是PoseLoss类中的compute_loss和关键点权重。重点介绍了OKS置信度计算、KeypointLoss和DFL损失在模型中的应用。同时提到了超参数平衡在默认配置中的作用。
摘要由CSDN通过智能技术生成

ultralytics\yolo\v8\pose\train.py中计算损失函数的function是“compute_loss”,进入PoseLoss类中

sigmas指定每个关键点分配的权重,sigmas值越小会使loss越大,也就是越希望哪个点准,越应该把该点的sigmas值调小。进行人体关键点观测时默认用OKS_SIGMA,定义在yolo\utils\metrics.py中,OKS_SIGMA = np.array([.26, .25, .25, .35, .35, .79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89]) / 10.0,否则所有点赋予同样的权重。

 KeypointLoss计算1-OKS:

 PoseLoss类中__call__定义了cls、box、kpts、kpts_conf的计算。其中kpts_conf采用BCE。关键点置信度是基于该关键点的可见性标志进行训练的。如果一个关键点是可见的或被遮挡的,那么ground truth置信度被设置为1否则如果它在视野之外,置信度被设置为0。在推理过程中,我们保留置信度大于0.5的关键点。所有其他预测的关键点都被拒绝。预测关键点置信度不用于评估。然而,由于网络预测了每个检测的所有17个关键点,我们需要过滤掉视野之外的关键点。否则,就会出现悬空的关键点,导致骨骼变形。

DFL损失函数的主要作用是用于图像风格迁移中,通过计算两张图片的特征差异来实现风格的转移,默认是不使用的。

 

四种损失通过超参数进行平衡。ultralytics\ultralytics\yolo\cfg\default.yaml中对该参数进行了设置:

 

 

 

参考:YOLO Pose 代码拆解——Loss篇 - 知乎

YOLO-Pose是一种改进的姿态估计方法,它基于YOLOv5目标检测框架,并将一个人的所有关键点与anchor联系起来。相比于其他bottom-up方法,YOLO-Pose使用了单次检测的方式,而不是使用热图。该方法还可以扩展到其他目标检测框架,我们已经在YOLOX上进行了一定程度的验证。YOLO-Pose的整体结构包括了keypoint heads用于姿态估计。 具体来说,YOLO-Pose通过使用OKS Loss来增强多人姿态估计。它采用了基于anchor的多人姿态表述,使用IoU Based Bounding-box Loss Function来计算边界框的损失函数,并使用Human Pose Loss Function来计算人体姿态的损失函数。此外,YOLO-Pose还使用了Test Time Augmentations来改进测试时的性能,以及处理超出边界框的关键点的方法。最后,为了方便部署,该方法还支持ONNX导出。 在实验中,YOLO-Pose在COCO数据集的验证集上取得了良好的结果。同时,进行了一系列消融实验来验证不同因素对模型性能的影响,包括OKS Loss与L1 Loss的比较、分辨率的影响以及量化的影响。此外,该方法在COCO数据集的测试集上也取得了较好的结果。 综上所述,YOLO-Pose是一种基于YOLOv5目标检测框架的改进姿态估计方法,通过使用OKS Loss和一系列改进策略,取得了良好的性能表现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [YOLO-Pose: Enhancing YOLO for Multi Person Pose Estimation Using Object Keypoint Similarity Loss ...](https://blog.csdn.net/unauna9739/article/details/127203568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [YOLO3-4-Py:Darknet上的Python包装器。 与YOLO V3兼容](https://download.csdn.net/download/weixin_42131728/18351204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值