ViTPose 仓库 DeepFashion 服装关键点检测实战:DeepPose + ResNet 回归模型配置与评估指南
人工智能计算机视觉深度学习【免费下载链接】ViTPoseThe official repo for [NeurIPS22] ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation and [TPAMI23] ViTPose: Vision Transformer for Generic Body Pose Estimation项目地址https://gitcode.com/gh_mirrors/vi/ViTPose点击查看免费下载导读本文聚焦当前 ViTPose 仓库中服装时尚二维关键点检测的DeepPose 回归方案以 resnet_deepfashion.md 为骨架完整拆解其基于 ResNet 骨干 DeepPose 回归头的配置体系、数据流、训练/测试命令与 PCK/AUC/EPE 评估指标。读完本文你将掌握如何在 DeepFashionFashion Landmark Detection数据上复现 upper / lower / full 三个子集的关键点检测模型并理解该方案与仓库源码DeepposeRegressionHead之间的实现对应关系。一、方案背景DeepPose 算法、ResNet 骨干与 DeepFashion 数据集该配置组合了三个经典工作文档顶部以 BibTeX 形式给出了全部引用便于学术复现时正确署名角色论文出处算法DeepPose: Human Pose Estimation via Deep Neural NetworksToshev SzegedyCVPR 2014骨干网络Deep Residual Learning for Image RecognitionHe 等CVPR 2016数据集DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich AnnotationsLiu 等CVPR 2016任务定义Fashion Landmark Detection in the WildLiu 等ECCV 2016其中DeepPose 是首个用深度神经网络直接回归关键点坐标的方案与热力图heatmap范式不同它把关键点检测建模为坐标回归问题本配置正是该经典范式在服装关键点任务上的落地实现。二、模型配置详解ResNet50 DeepposeRegressionHead仓库为 DeepFashion 提供 9 个配置按backboneres50/res101/res152× 子集upper/lower/full组合目录位于 configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/。以 res50_deepfashion_upper_256x192.py 为例核心结构如下2.1 模型主体modelmodel dict( typeTopDown, pretrainedtorchvision://resnet50, backbonedict(typeResNet, depth50, num_stages4, out_indices(3, )), neckdict(typeGlobalAveragePooling), keypoint_headdict( typeDeepposeRegressionHead, in_channels2048, num_jointschannel_cfg[num_output_channels], loss_keypointdict(typeSmoothL1Loss, use_target_weightTrue)), train_cfgdict(), test_cfgdict( flip_testTrue, post_processdefault, shift_heatmapTrue, modulate_kernel11))要点说明typeTopDown该配置沿用 top-down 流程先由检测器给出服装区域 bbox再在裁剪区域内回归关键点pretrainedtorchvision://resnet50使用 torchvision 提供的 ImageNet 预训练权重初始化backboneResNet50num_stages4、out_indices(3,)只取最后一个 stage 输出neckGlobalAveragePooling将骨干输出的特征图全局平均池化为一维向量供后续全连接回归头使用keypoint_headDeepposeRegressionHead输入通道 2048ResNet50/101/152 的 stage4 输出通道数一致输出关节数由channel_cfg决定upper 为 6、lower 为 4、full 为 8loss_keypointSmoothL1Loss回归损失采用 Smooth L1且开启use_target_weightTrue按各关节的可见性权重加权。res101与res152版本仅将pretrained与depth对应替换其余结构相同见 res101_deepfashion_full_256x192.py 与 res152_deepfashion_full_256x192.py。2.2 通道配置channel_cfgchannel_cfg dict( num_output_channels6, # upper 子集为 6lower 为 4full 为 8 dataset_joints6, dataset_channel[[0, 1, 2, 3, 4, 5]], inference_channel[0, 1, 2, 3, 4, 5])该配置同时控制模型输出关节数、数据集关节定义以及推理时的通道映射。三个子集对应的关键点定义见 deepfashion_upper.py、deepfashion_lower.py、deepfashion_full.pyupper6 点left collar、right collar、left sleeve、right sleeve、left hem、right hemlower4 点left waistline、right waistline、left hem、right hemfull8 点left collar、right collar、left sleeve、right sleeve、left waistline、right waistline、left hem、right hem。从源码看deepfashion_dataset.py 的DeepFashionDataset正是按subsetupper/lower/full加载相应注释文件并在dataset_info缺失时回退读取对应的_base_/datasets/deepfashion_*.py与配置文件中的subset参数一一对应。2.3 数据配置与预处理流水线data_cfg / pipelinedata_cfg dict( image_size[192, 256], # 输入图像尺寸宽×高 heatmap_size[48, 64], num_output_channelschannel_cfg[num_output_channels], num_jointschannel_cfg[dataset_joints], dataset_channelchannel_cfg[dataset_channel], inference_channelchannel_cfg[inference_channel], soft_nmsFalse, nms_thr1.0, oks_thr0.9, vis_thr0.2, use_gt_bboxFalse, det_bbox_thr0.0, bbox_filedata/coco/person_detection_results/ COCO_val2017_detections_AP_H_56_person.json, )说明虽然配置文件名与文档结果表写作256x192实际image_size[192, 256]表示宽 192、高 256即 256×192H×W。heatmap_size[48, 64]在本回归方案中不参与目标生成仅作数据结构预留。训练流水线train_pipeline依次执行LoadImageFromFile→TopDownRandomFlip翻转概率 0.5→TopDownGetRandomScaleRotation旋转幅度 ±40 度、尺度变化 0.5→TopDownAffine仿射变换 →ToTensor→NormalizeTensorImageNet 均值/方差→TopDownGenerateTargetRegression关键生成回归坐标目标而非热力图→Collect。验证/测试流水线仅去掉数据增强保留仿射变换与归一化见 res50_deepfashion_upper_256x192.py 第 70-108 行。2.4 数据集路径与加载data_root data/fld data dict( samples_per_gpu64, workers_per_gpu2, val_dataloaderdict(samples_per_gpu32), test_dataloaderdict(samples_per_gpu32), traindict( typeDeepFashionDataset, ann_filef{data_root}/annotations/fld_upper_train.json, img_prefixf{data_root}/img/, subsetupper, ...), ...)即数据需按data/fld/annotations/fld_upper_{train,val,test}.json、fld_lower_*、fld_full_*的目录结构组织图像放在data/fld/img/。仓库测试数据样例见 tests/data/fld/test_fld.json 及配套的img_00000128.jpg、img_00000132.jpg可用于快速验证数据格式。三、源码级的回归头实现原理回归方案的灵魂在于 DeepposeRegressionHead其结构异常精简——仅一层全连接self.fc nn.Linear(self.in_channels, self.num_joints * 2) def forward(self, x): output self.fc(x) N, C output.shape return output.reshape([N, C // 2, 2])输入为GlobalAveragePooling后的 2048 维特征向量输出被 reshape 为[N, K, 2]即每个关节的(x, y)坐标get_loss调用SmoothL1Loss计算回归损失损失实现在 regression_loss.py 中use_target_weightTrue时对输出与目标按权重加权后计算F.smooth_l1_lossget_accuracy使用keypoint_pck_accuracy计算训练过程监控的 PCK 精度inference_model支持flip_pairs水平翻转回归融合配合配置中flip_testTrue使用decode将归一化坐标通过keypoints_from_regression见 top_down_eval.py 第 441 行乘回img_size并利用transform_preds结合 bbox 的center与scale反变换回原图坐标init_weights对全连接层做normal_init(mean0, std0.01)初始化。对比可见DeepPose 回归头没有卷积解码、没有热力图生成推理路径极短这是其轻量、直接的特点。四、训练与测试命令4.1 训练单卡训练 upper 子集模型python tools/train.py configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/res50_deepfashion_upper_256x192.py常用参数详见 tools/train.py--work-dir日志与模型保存目录--no-validate训练期间跳过验证--gpu-id指定 GPU默认 0--seed/--deterministic随机种子与 CUDNN 确定性--cfg-options覆盖配置项例如--cfg-options model.backbone.depth50--launcher多机训练可切换pytorch/slurm/mpi也可参考仓库提供的 dist_train.sh 与 slurm_train.sh。优化策略继承自各 res50 配置Adam 优化器、初始学习率 5e-4warmuplinear、warmup 500 iters、warmup 比例 0.001学习率在 epoch 170 与 200 处按 step 策略衰减总训练 210 epochs每 10 个 epoch 保存一次 checkpointcheckpoint_config dict(interval10)见 default_runtime.py。4.2 测试与评估python tools/test.py \ configs/fashion/2d_kpt_sview_rgb_img/deeppose/deepfashion/res50_deepfashion_upper_256x192.py \ checkpoint路径 \ --eval PCK AUC EPE--eval接受多个指标详见 tools/test.py 第 46-50 行DeepFashionDataset.evaluatedeepfashion_dataset.py 第 154 行起支持PCK、AUC、EPE三个指标传入不支持的指标如mAP会抛出KeyError——这一点由 test_fashion_dataset.py 中的单测直接验证。配置中evaluation dict(interval10, metricPCK, save_bestPCK)指定验证周期与最优模型保存依据。五、评估指标解读PCK / AUC / EPE三个指标的含义与实现依据如下PCK0.2Percentage of Correct Keypoints预测点与真值点的归一化距离小于阈值0.2的比例。归一化通常取 bbox 尺寸实现见 top_down_eval.py 的_calc_distances与keypoint_pck_accuracy第 179 行AUCArea Under Curve以不同 PCK 阈值为横轴绘制的曲线下面积keypoint_auc第 218 行按 20 个步长采样计算EPEEnd Point Error预测点与真值点之间的平均欧氏距离数值越小越好。六、DeepFashion val 集实验结果以下为文档给出的 ResNet50 回归模型在 DeepFashion val 集上的结果SetArchInput SizePCK0.2AUCEPEckptlogupperdeeppose_resnet_50256x2560.9650.53517.2ckptloglowerdeeppose_resnet_50256x2560.9710.67811.8ckptlogfulldeeppose_resnet_50256x2560.9830.60214.0ckptlog同一份结果同时登记在 resnet_deepfashion.yml 的模型索引中含权重下载地址可供模型库自动收集。三个子集因关键点数量与任务难度不同指标呈现明显差异lower 子集仅 4 个关键点、EPE 最低11.8full 子集 8 个关键点、PCK0.2 最高0.983而 EPE 居中14.0。七、小结DeepFashion 上的 DeepPose 回归配置展示了 ViTPose 仓库对“非热力图范式”的完整支持通过TopDownGenerateTargetRegression生成坐标目标、以单层全连接回归头输出关键点坐标、用SmoothL1Loss训练、并支持 PCK/AUC/EPE 三指标评估。仓库同时提供 res50/res101/res152 与 upper/lower/full 的 9 个组合配置读者可基于 res50_deepfashion_upper_256x192.py 直接修改subset、ann_file与骨干深度快速迁移到其他服装关键点场景。赞分享人工智能计算机视觉深度学习【免费下载链接】ViTPoseThe official repo for [NeurIPS22] ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation and [TPAMI23] ViTPose: Vision Transformer for Generic Body Pose Estimation项目地址https://gitcode.com/gh_mirrors/vi/ViTPose点击查看免费下载相关推荐ViTPose 仓库中的 DeepPose 坐标回归实现基于 ResNet 与 DeepposeRegressionHead 的 DeepFashion 时尚关键点检测实战指南ViTPose 仓库中的 DeepPose 坐标回归实现基于 ResNet 与 DeepposeRegressionHead 的 DeepFashion 时尚人工智能计算机视觉深度学习ViTPose 仓库 2D 服装关键点检测Fashion Landmark Detection实战指南DeepFashion 数据集准备、Top-Down 与 DeepPose 配置解析ViTPose 仓库 2D 服装关键点检测Fashion Landmark Detection实战指南DeepFashion 数据集准备、Top Down人工智能计算机视觉深度学习ViTPose 仓库 WFLW 人脸关键点回归实战ResNet50 DeepPose 架构与 SoftWingloss 损失详解ViTPose 仓库 WFLW 人脸关键点回归实战ResNet50 DeepPose 架构与 SoftWingloss 损失详解 本篇文章以仓库中 res人工智能计算机视觉深度学习上一篇XUnity.AutoTranslator十分钟让没中译的 Unity 游戏跑起来下一篇GitHub_Trending/aw/awesome-computer-vision奖学金资源计算机视觉领域 funding 信息创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

SimpMusic 的 Android 构建逻辑:用 Convention Plugins 与 Version Catalog 打造可扩展的 Gradle 构建体系

SimpMusic 的 Android 构建逻辑:用 Convention Plugins 与 Version Catalog 打造可扩展的 Gradle 构建体系

音视频 【免费下载链接】SimpMusic A cross-platform music app using YouTube Music for backend 项目地址: https://gitcode.com/gh_mirrors/si/SimpMusic 点击查看 免费下载 导读 本文围绕 SimpMusic 仓库中的构建配置实践,系统讲解如何用 Gradle C…

2026/10/14 2:22:24 阅读更多 →
从慢查询到Elasticsearch:倒排索引与分布式搜索入门避坑

从慢查询到Elasticsearch:倒排索引与分布式搜索入门避坑

第一次认真接触 Elasticsearch,不是赶新技术,而是被一条慢查询逼的。当时我在维护一个订单检索模块,数据量涨到六百多万条以后,按商品名称做模糊搜索的接口开始频繁超时。改 SQL、加索引、换缓存,折腾了一圈&#xff0…

2026/10/14 2:22:24 阅读更多 →
LVS+Keepalived+Nginx Docker负载均衡集群实战

LVS+Keepalived+Nginx Docker负载均衡集群实战

1. 项目概述:为什么一个负载均衡集群要绕这么大一圈?“基于Docker搭建lvskeepalivednginx实现高性能负载均衡集群”——这个标题里藏着三层技术栈的叠加,不是炫技,而是现实业务中反复踩坑后沉淀下来的务实选择。我最早在某高校实验…

2026/10/14 2:22:24 阅读更多 →

最新新闻

问题:ubuntu与linux开发板互ping

问题:ubuntu与linux开发板互ping

一、问题原理要解决ubuntu与开发板互ping的问题,就是要使ubuntu和开发板在同一个网段上面。本次问题解决环境:开发板 和 windows 均通过wifi的方式连接网络。二、解决方法1、首先将ubuntu设置成桥接模式状态栏上方点击 虚拟机,点击 设置&…

2026/10/14 3:05:32 阅读更多 →
2026年全国3D溜溜网云渲染速度表现及选购参考指南

2026年全国3D溜溜网云渲染速度表现及选购参考指南

云渲染服务核心评估维度与行业标准当前3D设计领域数字化服务需求持续增长,云渲染服务已成为设计师提升出图效率的核心工具,不同平台的服务能力差异较大,明确统一的评估标准可帮助用户降低选型成本。对于同时承接3个家装项目、自有设备单张4K效…

2026/10/14 3:05:32 阅读更多 →
Chat2DB:开源AI数据库终端,自然语言转SQL的工程实践

Chat2DB:开源AI数据库终端,自然语言转SQL的工程实践

简介:Chat2DB是一款面向软件开发者的AI驱动型开源数据库管理工具,专为降低SQL使用门槛而设计,特别适合非数据库专家、初级开发者及数据分析师快速开展数据库查询、分析与迁移工作。资源包为项目源码压缩包(zip格式)&am…

2026/10/14 3:05:32 阅读更多 →
MySQL索引优化:从B+树原理到慢查询实战

MySQL索引优化:从B+树原理到慢查询实战

做后端开发这几年,最常被拉到群里去救火的场景,十有八九是数据库慢查询。系统跑得好好的,突然某天接口变慢、CPU飙高,一看日志全是SELECT走了全表扫描,几百万行的表一次查询几秒钟才回来。这种时候,十次里有…

2026/10/14 3:05:32 阅读更多 →
RGF_CJ 全局函数全解析:从应用生命周期、系统定时器到窗口与指针互操作

RGF_CJ 全局函数全解析:从应用生命周期、系统定时器到窗口与指针互操作

图形学桌面应用 【免费下载链接】RGF_CJ RGF是仓颉Windows系统下的通用渲染框架(兼应用开发框架)。RGF仓颉版(后续简称"RGF")基于RGF(C/C版)封装优化而来。RGF为开发者提供轻量化、安全、高性能以及高度一致性的2D渲染能…

2026/10/14 3:05:32 阅读更多 →
Python爬虫实战:手机APP数据抓取与解析全流程

Python爬虫实战:手机APP数据抓取与解析全流程

简介:这份PDF资料面向具备Python基础、对网络请求与爬虫开发感兴趣的技术爱好者与研发工程师,围绕手机APP数据传输的抓取与解析展开,重点讲解如何借助Fiddler抓包定位登录与话题接口,再通过urllib2构造HTTP请求、携带Header与表单…

2026/10/14 3:04:31 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →