OpenPifPaf: encoder过程

本文详细介绍了OpenPifPaf的encoder过程,包括图像预处理、PIF和PAF的生成。图像预处理涉及缩放、填充和归一化。接着,encoder对COCO标签进行处理,生成PIF和PAF标签。PIF通过缩放处理,对无关节标注的区域设为0,表示非人体区域。PAF的生成与PIF类似,计算关节间连接的偏移向量。整个过程旨在为网络提供关注人体区域的学习信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenPifPaf 的encoder过程

图像预处理

  1. 源代码train.py中给出了两个方案,一个是带有data augmentation的, 一个是不带的, 因为图像预处理无非是对图像和对应的label进行处理使其满足网络的输入条件, 因此就以不带data augmentation的预处理过程简单梳理下.
  2. 首先是读入传入的coco label, 根据传入的coco label, 使用PIL Image.open()打开图像并转成RGB格式. 接着, 对图像以图像的长边为标准缩放成401的大小, 短边按比例缩放, 图像保持原来的比例, 接着再对短边上下(或者左右)进行(124, 116, 104)的内容填充, 最后会有一个减均值除方差的操作, 最终得到的图像大小是401 x 401的. 预处理的过程中, 保持图像的label按照同样的步骤操作, 最终, 得到预处理之后的imageann.
  3. 在操作2完成之后, 会根据其中得到的meta['valid_area']值对image再做一次更新, 就是让image处于valid_area之外的区域值为0, 意思就是让网络专注于去学只有人的区域, 非人的区域不要去学, 接着根据得到的ann值去生成pif label 和 paf label.

pif:

  1. 首先对ann的值进行scale操作. 因为网络的输出和输入大小不一致, 而传入的ann是按照输入的大小计算得到的值, 因此需要根据网络的缩放倍数对ann值进行更新, 符合网络的输出尺度范围, 就是对象rescalar
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值