ALL PROJECTS

COMPUTER VISION / 2026

HRNet
Infer

面向机器人视觉标靶的四关键点精定位系统,从 LabelMe 标注、热图训练到 OpenVINO 视频部署。

1,916LabelMe 标注样本
4目标关键点
160 → 80输入 / 热图分辨率
0.04028微调最佳验证损失

为什么在 YOLO Pose 之后,
还需要一张高分辨率热图?

目标在完整视频帧里占比很小,直接回归关键点容易受尺度、模糊与高亮边缘干扰。系统先由 YOLO Pose 找到目标框,再将局部区域裁剪并缩放到 160×160,让后续网络专注于结构细节。

轻量 HRNet 保留并融合多分辨率特征,输出 80×80 单通道热图。四个局部峰值映射回原图后,再与 YOLO 初始关键点匹配,形成兼顾检测范围和局部精度的两阶段方案。

从一帧图像到四个坐标

训练与部署共享同一套裁剪、归一化和关键点映射约定。

  1. 01

    Detect

    YOLO Pose 检测目标框并给出初始四点。

    640 × 640
  2. 02

    Crop

    目标框增加边界 padding,裁剪并归一化。

    160 × 160
  3. 03

    Heatmap

    HRNet 融合多尺度特征,预测关键点响应。

    1 × 80 × 80
  4. 04

    Peaks

    高斯平滑、局部极大值与最小间距约束。

    top-k = 4
  5. 05

    Match

    匹配两组关键点并投影回原始视频坐标。

    x, y, conf

把误差直接画出来

每组结果从左到右依次展示输入、真实热图、预测热图、预测叠加,以及真实点(绿色)与预测点(蓝色)的对比。红色十字用于突出位置差异。

01 / VALIDATION

规则轮廓:四个响应峰清晰分离,预测位置贴合标注。

02 / BASE RUN

复杂纹理:局部高亮和遮挡下仍能恢复四角结构。

03 / FINE-TUNE

新增分布:微调样本上的预测与四个 GT 点保持一致。

训练过程不只看一个 loss

数据加载器把四个 LabelMe 点转换为高斯响应,并在训练中同时保存输入、GT 热图、预测热图和叠加图,便于发现“损失下降但峰值位置错误”的情况。

  • OptimizerAdamW
  • ScheduleCosine Annealing
  • PrecisionAMP
  • Stop rulePatience 15

FINE-TUNE RUN

第 5 轮取得最佳验证损失

在新增数据微调中,训练损失保持稳定,验证集最低达到 0.040278;连续 15 轮未刷新后触发早停。

TrainValidationBest epoch

同一模型,
两条推理路径

Python 版本用于快速验证热图、阈值和匹配策略;C++ 版本使用 OpenCV 与 OpenVINO 接入视频流,保留逐帧耗时统计。

PyTorchONNXOpenVINO IRC++

PUBLIC SNAPSHOT

源码与实验结果已整理为轻量项目

公开快照保留训练、导出和部署代码;为控制仓库体积并保护实验数据,不包含原始数据集、视频、训练检查点及模型权重。

查看 GitHub 仓库 ↗
放大的实验结果