ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

IDM-VTON 中 DensePose-RCNN 模型库(Model Zoo)全解析:基线配置、评测指标与实战复现

IDM-VTON 中 DensePose-RCNN 模型库(Model Zoo)全解析:基线配置、评测指标与实战复现 计算机视觉深度学习媒体生成【免费下载链接】IDM-VTON[ECCV2024] IDM-VTON : Improving Diffusion Models for Authentic Virtual Try-on in the Wild项目地址https://gitcode.com/GitHub_Trending/id/IDM-VTON点击查看免费下载本文以仓库内 DensePose Model Zoo 文档 为主体骨架结合根目录 configs 下的真实配置、densepose_head.py等源码实现以及 IDM-VTON 试穿流程中对 DensePose 的实际调用系统梳理 DensePose-RCNN 官方基线家族的训练约定、配置命名规则、各项 AP 指标与置信度模型原理。读完本文你将能够看懂 DensePose 模型库中每一类基线的差异与适用场景依据配置文件和源码理解s1x / DL / WC1 / WC2 / legacy后缀的底层含义并在 IDM-VTON 仓库中定位、加载和验证实际使用的 DensePose 权重ckpt/densepose/model_final_162be9.pkl。一、模型库定位与统一评测约定DensePoseDense Human Pose Estimation In The Wild的目标是将 RGB 图像中人体的所有像素映射到三维人体表面。本文档所记录的基线均由 Detectron2 框架下的 DensePose 训练得到对应配置文件集中放置在仓库的 configs 目录原文档以../configs相对路径引用实际对应仓库根目录 configs。所有基线遵循同一套数据划分约定训练集COCOtrain2014valminusminival2014评测集COCOminival2014关于这些基线训练时的通用设置数据增强、学习率调度、分布式训练环境等原文档明确指向 Detectron2 的通用模型库说明即仓库内的 preprocess/humanparsing/mhp_extension/detectron2/MODEL_ZOO.md。该文档补充说明了若干通用约定例如所有 COCO 模型使用尺度抖动scale jittering 水平翻转的数据增强训练速度取整个训练过程的平均值推理速度以 batch size 为 1、在 Detectron2 内部直接测得生产部署经优化后通常会更快表中的model id用于方便引用与校验每个模型的权重文件名携带其 md5 前缀训练曲线等统计信息可从每个模型的metrics文件中查看。许可协议本文档中所有可下载模型均基于 Creative Commons Attribution-ShareAlike 3.0。二、配置文件命名规则与基础骨架读懂模型库的前提是看懂配置文件名。DensePose 基线配置的命名格式为densepose_rcnn_backbone_FPN_head?_schedule?_s1x[_legacy].yaml各字段含义如下片段含义仓库对应配置示例R_50/R_101ResNet 骨干网络深度configs/densepose_rcnn_R_50_FPN_s1x.yamlFPN特征金字塔骨干configs/densepose_rcnn_R_101_FPN_s1x.yamlDLDeepLabV3 Head替代原始全卷积 Headconfigs/densepose_rcnn_R_50_FPN_DL_s1x.yamlWC1/WC2With Confidence两种 UV 置信度统计模型iid_iso/indep_anisoconfigs/densepose_rcnn_R_50_FPN_WC1_s1x.yamls1x1x 学习率调度通用后缀legacy采用 Güler et al.2018原始训练调度configs/densepose_rcnn_R_50_FPN_s1x_legacy.yaml其中WC1/WC2组合了DL前缀时表示“DeepLab Head 置信度估计”如 configs/densepose_rcnn_R_101_FPN_DL_WC2_s1x.yaml。2.1 基础骨架 Base-DensePose-RCNN-FPN.yaml所有非 legacy 基线都以 configs/Base-DensePose-RCNN-FPN.yaml 为基底_BASE_它定义了 DensePose-RCNN 的完整网络与训练骨架元架构MODEL.META_ARCHITECTURE: GeneralizedRCNN说明 DensePose 构建在通用的两阶段 R-CNN 检测器之上。骨干网络build_resnet_fpn_backboneResNet 输出res2–res5四层特征喂给 FPN。RPN输入p2–p6训练时PRE_NMS_TOPK_TRAIN: 2000、POST_NMS_TOPK_TRAIN: 1000测试时均为 1000。注释特别说明Detectron1 每 batch 使用 2000 个 proposal因默认 FPN batch size 为 2约合每张图 1000 个。DensePose 开关MODEL.DENSEPOSE_ON: TrueROI_HEADS.NAME: DensePoseROIHeadsNUM_CLASSES: 1人体单类。Box HeadFastRCNNConvFCHead2 个 FC 层POOLER_RESOLUTION: 7POOLER_SAMPLING_RATIO: 2POOLER_TYPE: ROIAlign。DensePose Head默认DensePoseV1ConvXHeadPOOLER_TYPE: ROIAlignNUM_COARSE_SEGM_CHANNELS: 22 通道粗分割对应背景/人体。数据集TRAIN: (densepose_coco_2014_train, densepose_coco_2014_valminusminival)TEST: (densepose_coco_2014_minival,)与文档开头的评测约定完全一致。求解器IMS_PER_BATCH: 16、BASE_LR: 0.01、STEPS: (60000, 80000)、MAX_ITER: 90000、WARMUP_FACTOR: 0.1。输入MIN_SIZE_TRAIN: (640, 672, 704, 736, 768, 800)即训练时在 6 档尺度间做尺度抖动。2.2 变体配置如何叠加各变体配置在基础骨架之上做最小化修改叠加关系如下变体关键配置改动以 R_50 为例s1x标准改进基线换用 ImageNet 预训练R-50.pklRESNETS.DEPTH: 50调度拉长至MAX_ITER: 130000、STEPS: (100000, 120000)DLDeepLabV3 HeadROI_DENSEPOSE_HEAD.NAME: DensePoseDeepLabHead其余同s1xWC1置信度 v1开启UV_CONFIDENCE.ENABLED: True且TYPE: iid_isoPOINT_REGRESSION_WEIGHTS: 0.0005开启CLIP_GRADIENTSWARMUP_FACTOR: 0.025WC2置信度 v2与WC1仅差UV_CONFIDENCE.TYPE: indep_anisolegacy旧版基线NUM_COARSE_SEGM_CHANNELS: 15、POOLER_RESOLUTION: 14、HEATMAP_SIZE: 56、INDEX_WEIGHTS: 2.0、PART_WEIGHTS: 0.3、POINT_REGRESSION_WEIGHTS: 0.1、DECODER_ON: False、BASE_LR: 0.002调度为MAX_ITER: 130000、STEPS: (100000, 120000)可以看到WC1与WC2的差异完全体现在 UV 置信度模型的统计假设上iid_iso与indep_aniso这点在源码中也有精确对应。三、置信度估计的源码级解读在 preprocess/humanparsing/mhp_extension/detectron2/projects/DensePose/densepose/densepose_head.py 中DensePoseUVConfidenceType枚举明确定义了两种统计模型iid_iso独立同分布、各向同性协方差WC1采用indep_aniso独立但各向异性协方差WC2采用。DensePoseUVConfidenceConfig数据类给出默认配置enabled: False、epsilon: 0.01UV 置信度的下界、type: IID_ISO。DensePoseConfidenceModelConfig.from_cfg将MODEL.ROI_DENSEPOSE_HEAD.UV_CONFIDENCE.ENABLED / EPSILON / TYPE三个配置项映射为运行时的统计模型对象。这一设计源自 Neverova、Novotny、Vedaldi 的 NIPS 2019 工作“Correlated Uncertainty for Learning Dense Correspondences from Noisy Labels”——在回归的 UV 坐标之外额外估计不确定性从而更鲁棒地处理含噪标注。同样在该文件中DensePoseDeepLabHead展示了DL变体的结构使用扩张率[6, 12, 56]的 ASPP 模块捕捉多尺度上下文后续堆叠卷积层可选 GroupNormDEEPLAB.NORM GN时分组数为 32与 NonLocal 模块DEEPLAB.NONLOCAL_ON。这解释了为什么DL系列相对原始全卷积 Head 的dp. AP有明显提升、但训练内存也更高见下文基线表。四、COCO DensePose 基线DensePose-RCNN 系列原文档按 Head 类型与训练调度将基线划分为四类。下列各表完整保留原文档的指标数据训练时间、推理时间、显存、box AP、dp AP GPS、dp AP GPSm、model id并将“下载”列整理为“权重文件名 model id”形式每个条目对应的model/metrics文件均可按 model id 从原 Model Zoo 文档的下载入口获取本仓库已内置的权重见第六节。4.1 旧版基线Legacy Models采用 Güler et al.2018原始论文中的训练调度名称配置lr schedtrain time (s/iter)inference time (s/im)train mem (GB)box APdp. AP GPSdp. AP GPSmmodel idR_50_FPN_s1x_legacys1x0.3070.0513.258.152.154.9164832157model_final_d366fa.pklR_101_FPN_s1x_legacys1x0.3900.0634.359.553.256.1164832182model_final_10af0e.pkl4.2 改进基线原始全卷积 Head采用改进的训练调度并引入 Kirillov et al.2019提出的 Panoptic FPN Head名称配置lr schedtrain time (s/iter)inference time (s/im)train mem (GB)box APdp. AP GPSdp. AP GPSmmodel idR_50_FPN_s1xs1x0.3590.0664.561.263.765.3165712039model_final_162be9.pklR_101_FPN_s1xs1x0.4280.0795.862.364.566.4165712084model_final_c6ab63.pkl对比 legacy 版本R_50 的 dp. AP GPS 从 52.1 提升到 63.7box AP 从 58.1 提升到 61.2训练成本显存 3.2→4.5 GB小幅上升但收益显著。4.3 改进基线DeepLabV3 Head在改进调度与 Panoptic FPN Head 基础上叠加 Chen et al.2017的 DeepLabV3 Head名称配置lr schedtrain time (s/iter)inference time (s/im)train mem (GB)box APdp. AP GPSdp. AP GPSmmodel idR_50_FPN_DL_s1xs1x0.3920.0706.761.165.666.8165712097model_final_0ed407.pklR_101_FPN_DL_s1xs1x0.4780.0837.062.366.367.7165712116model_final_844d15.pkl与 4.2 相比相同骨干下 dp. AP GPS 再提升约 1.8~2 个点代价是训练显存从 4.5→6.7 GB、每迭代耗时增加约 9%属于典型的“以算力换精度”选项。4.4 带置信度估计的基线Confidence Estimation除回归 UV 坐标外这些模型还额外估计回归结果的置信度方法沿袭 Neverova et al.2019的带相关不确定性的稠密对应学习名称配置lr schedtrain time (s/iter)inference time (s/im)train mem (GB)box APdp. AP GPSdp. AP GPSmmodel idR_50_FPN_WC1_s1xs1x0.3530.0644.660.564.265.6173862049model_final_289019.pklR_50_FPN_WC2_s1xs1x0.3640.0664.860.764.265.7173861455model_final_3abe14.pklR_50_FPN_DL_WC1_s1xs1x0.3970.0686.761.165.867.1173067973model_final_b1e525.pklR_50_FPN_DL_WC2_s1xs1x0.4100.0706.860.865.666.7173859335model_final_60fed4.pklR_101_FPN_WC1_s1xs1x0.4350.0765.762.564.966.5171402969model_final_9e47f0.pklR_101_FPN_WC2_s1xs1x0.4500.0785.762.364.866.6173860702model_final_5ea023.pklR_101_FPN_DL_WC1_s1xs1x0.4790.0817.962.066.267.4173858525model_final_f359f3.pklR_101_FPN_DL_WC2_s1xs1x0.4910.0827.661.765.967.3173294801model_final_6e1ed1.pkl横向对比可以发现两个规律其一WC系列与同骨干的非置信度版本如 R_50_FPN_s1x vs R_50_FPN_WC1_s1x精度几乎持平说明置信度分支在不牺牲主体任务的前提下提供了额外的不确定性信息其二WC2各向异性协方差与WC1各向同性精度接近验证了两种统计假设在实践中都能收敛到相近水平。五、DensePose 1 旧基线Old Baselines原文档还保留了两条来自 DensePose 1 框架的旧基线指标在当前框架中重新评测得出使用 bbox AP / AP / AP50 / AP75 / APm / APl 六项指标模型bbox APAPAP50AP75APmAPlResNet50_FPN_s1x-e2e54.67348.89484.96350.71743.13250.433ResNet101_FPN_s1x-e2e56.03251.08886.25055.05746.54252.563原文档特别提示这些分数与 DensePose 1 Model Zoo 中官方报告的数值接近但不完全相等原因是两个框架之间存在少量不兼容性例如数据预处理、实现细节的差异因此在跨框架对比基线时必须注意这一口径差异。六、指标说明box AP / dp. AP GPS / GPSm表格中的三类核心指标含义如下box AP人体检测框的平均精度沿用 COCO 标准 AP 计算方式。dp. AP GPSDensePose 任务在GPS 度量Geodesic Point Similarity基于测地距离的相似度下的平均精度对应论文中表 2 的 GPS 指标它衡量预测的 UV 与真值在人体表面测地距离上的接近程度。dp. AP GPSmGPS 度量在掩码mask上标准化后的 AP 变体。因此本文档记录的基线同时优化并评估了“检测到人”box AP与“把每个人体像素映射到正确的表面点”GPS/GPSm两个目标这也正是 DensePose 不同于普通姿态估计的关键所在。七、在 IDM-VTON 虚拟试穿流程中的实际落地本仓库不仅内置了 DensePose 的完整训练/评测代码还在真实试穿管线中直接消费了上述模型库中指标最高性价比的 R_50_FPN_s1x权重。权重已随仓库分发ckpt/densepose/model_final_162be9.pkl与上表 R_50_FPN_s1x 的 model id 165712039 完全对应权重文件名携带 md5 前缀162be9。配置与权重配对使用试穿前端 gradio_demo/app.py 中通过apply_net.create_argument_parser().parse_args((show, ./configs/densepose_rcnn_R_50_FPN_s1x.yaml, ./ckpt/densepose/model_final_162be9.pkl, dp_segm, -v, --opts, MODEL.DEVICE, cuda))加载 configs/densepose_rcnn_R_50_FPN_s1x.yaml 与内置权重使用dp_segm细粒度分割可视化器在 GPU 上生成试穿所需的姿态/人体结构图pose_img随后进入 SDXL 试穿生成流程start_tryon函数。应用链路apply_net的show动作定义于 preprocess/humanparsing/mhp_extension/detectron2/projects/DensePose/apply_net.py提供dp_contour轮廓、dp_segm细分割、dp_u/dp_vUV 分量、bbox带分数检测框五种可视化选择其setup_config会先调用add_densepose_config注入 DensePose 专属配置节点再合并配置文件并覆写MODEL.WEIGHTS。这意味着你可以在试穿管线中自由替换上表任意基线的权重只需保持config与pkl匹配即可。八、复现与快速验证训练、评估入口8.1 训练与评测脚本preprocess/humanparsing/mhp_extension/detectron2/projects/DensePose/train_net.py 是标准的 DensePose 训练/评测入口其结构与 Detectron2 官方tools/train_net.py一致通过add_densepose_config(cfg)注入 DensePose 专属配置再merge_from_file加载本文第二节所述的各种基线配置自定义Trainer.build_evaluator同时挂载COCOEvaluator检测与DensePoseCOCOEvaluatorDensePose UV/分割评测输出到OUTPUT_DIR/inference使用DensePoseGeneralizedRCNNWithTTA支持测试时增强TTA当cfg.TEST.AUG.ENABLED开启时训练结束会自动执行 TTA 评测结果写入inference_TTA支持--eval-only纯评测模式与--num-gpus多卡分布式训练内部经launch调度。典型用法以 8 卡复现基线为例# 训练8 GPU python train_net.py --config-file configs/densepose_rcnn_R_50_FPN_s1x.yaml --num-gpus 8 # 纯评测/推理耗时测量 python train_net.py --config-file configs/densepose_rcnn_R_50_FPN_s1x.yaml --eval-only --num-gpus 88.2 快速验证配置仓库在 configs/quick_schedules 提供了一系列精简版配置用于快速验证代码与流程例如densepose_rcnn_R_50_FPN_instant_test.yaml实例级即时测试densepose_rcnn_R_50_FPN_training_acc_test.yaml/densepose_rcnn_R_50_FPN_inference_acc_test.yaml训练/推理精度冒烟测试densepose_rcnn_R_50_FPN_TTA_inference_acc_test.yamlTTA 推理精度测试densepose_rcnn_R_50_FPN_DL_instant_test.yaml、densepose_rcnn_R_50_FPN_WC1_instant_test.yaml、densepose_rcnn_R_50_FPN_WC2_instant_test.yaml分别覆盖 DL、WC1、WC2 变体配套的自动化测试脚本位于 preprocess/humanparsing/mhp_extension/detectron2/projects/DensePose/devrun_inference_tests.sh/run_instant_tests.sh。另外仓库根目录 configs/evolution 还提供以densepose_R_50_FPN_DL_WC1M_3x_Atop10P_CA为代表的进阶演进配置可作为扩展研究参考。九、许可与引用建议模型权重遵循 CC BY-SA 3.0 许可DensePose 代码随 Detectron2遵循 Apache 2.0。若在论文或工程中使用置信度估计版本原文档建议引用 Neverova et al.2019关于带相关不确定性稠密对应学习的 NIPS 论文若使用原始 DensePose则引用 Güler、Neverova、Kokkinos 的 CVPR 2018 论文完整 BibTeX 条目见 projects/DensePose/README.md 的 Citing DensePose 小节。在本仓库的 IDM-VTON 试穿场景中DensePose 生成的细粒度人体分割图是扩散模型试穿流程的重要条件输入其基线选择默认 R_50_FPN_s1x在速度与精度之间取得了良好的平衡你完全可以按需替换为 DeepLab Head 或置信度变体以获得更强的人体表面映射能力。赞分享计算机视觉深度学习媒体生成【免费下载链接】IDM-VTON[ECCV2024] IDM-VTON : Improving Diffusion Models for Authentic Virtual Try-on in the Wild项目地址https://gitcode.com/GitHub_Trending/id/IDM-VTON点击查看免费下载相关推荐IDM-VTON 中的 Detectron2 Model Zoo 实战指南从官方基线到人体解析模型微调IDM VTON 中的 Detectron2 Model Zoo 实战指南从官方基线到人体解析模型微调 导读 本指南面向在 IDM VTON ECCV202计算机视觉深度学习媒体生成YOLOX Model Zoo 全解析标准/轻量模型基准、源码配置与 COCO 复现指南YOLOX Model Zoo 全解析标准/轻量模型基准、源码配置与 COCO 复现指南 导读 本文基于 YOLOX 官方文档 docs/model_zoo.人工智能计算机视觉深度学习Detectron 模型库Model Zoo完全指南12_2017 Baselines 的配置体系、训练调度、评测指标与模型下载Detectron 模型库Model Zoo完全指南12_2017 Baselines 的配置体系、训练调度、评测指标与模型下载 本文以仓库根目录的 MO计算机视觉深度学习上一篇Node.js中间件开发The Art of Node中的请求处理管道下一篇Easy-Vibe 本地 AI 编程实战从理解 IDE 与 AI IDE 到用 Trae 从零构建贪吃蛇游戏创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表