HRNet-Facial-Landmark-Detection

GitHub
1.1k 273 中等 1 次阅读 1周前MIT图像
AI 解读 由 AI 自动生成,仅供参考

HRNet-Facial-Landmark-Detection 是一款基于深度学习的人脸关键点检测开源项目,源自发表于顶级期刊 TPAMI 的 HRNet 研究成果。它主要解决在复杂场景下(如大角度姿态、光照变化、遮挡或模糊)人脸特征点定位不准的难题,能够精准识别眼睛、鼻子、嘴巴等关键部位坐标。

该项目的核心技术亮点在于采用了“高分辨率表示学习”架构。与传统方法不同,它在整个网络中始终保持高分辨率特征图,并通过并行聚合多尺度信息,显著增强了模型对细节的捕捉能力。在 COFW、AFLW、WFLW 和 300W 等多个权威数据集的测试中,其精度表现均处于行业领先水平。

此工具非常适合计算机视觉领域的研究人员、算法工程师及开发者使用。用户可基于提供的 PyTorch 代码和预训练模型(如 HRNetV2-W18),快速复现论文结果,或将高精度检测能力集成到人脸识别、美颜特效、表情分析及虚拟试妆等实际应用中。虽然项目需要一定的编程基础和环境配置能力,但其清晰的文档和成熟的代码结构为二次开发提供了便利。

使用场景

某智能美妆科技公司正在开发一款实时虚拟试妆 App,需要精准捕捉用户面部关键点以适配口红、眼影等妆容效果。

没有 HRNet-Facial-Landmark-Detection 时

  • 在用户侧脸大角度转动或光线昏暗时,传统算法极易丢失嘴角、眼角等关键坐标,导致虚拟口红“飘”出嘴唇范围。
  • 面对佩戴口罩、头发遮挡或浓重舞台妆的场景,模型鲁棒性差,频繁出现面部特征点抖动或完全检测失败。
  • 为了兼顾不同姿态和遮挡情况,团队不得不维护多套模型并编写复杂的切换逻辑,显著增加了工程维护成本和推理延迟。
  • 在高分辨率屏幕上,由于特征图分辨率在下采样过程中丢失,妆容边缘呈现锯齿状,缺乏真实贴合感。

使用 HRNet-Facial-Landmark-Detection 后

  • 得益于其保持高分辨率表示的架构,即使用户大幅度转头或处于弱光环境,唇部和眼部关键点依然能稳定锁定,妆容紧密跟随。
  • 针对遮挡、模糊及夸张表情等极端工况,该工具凭借聚合多尺度特征的能力,展现出极强的抗干扰性,大幅降低检测失败率。
  • 单一模型即可覆盖 COFW、WFLW 等多个数据集验证过的复杂场景,简化了部署管线,同时保证了低延迟的实时响应。
  • 输出特征图保留了丰富的空间细节,使得虚拟彩妆的边缘过渡自然细腻,在高清屏幕上也能实现电影级的逼真效果。

HRNet-Facial-Landmark-Detection 通过持续维持高分辨率表征,彻底解决了复杂动态场景下面部关键点检测不准的行业痛点,让虚拟试妆体验从“可用”跃升至“真实”。

运行环境要求

操作系统
  • Linux (Ubuntu 16.04)
GPU

必需 NVIDIA GPU,开发环境使用 NVIDIA P40,需安装 CUDA 9.0 和 cuDNN 7.0

内存

未说明

依赖
notes其他平台或 GPU 未经过充分测试。训练和测试均在单张 NVIDIA P40 GPU 上完成。需手动下载预训练模型和数据集标注文件(提供 OneDrive、Cloudstor 和百度网盘链接)。
python3.6
PyTorch 1.0.0
HRNet-Facial-Landmark-Detection hero image

快速开始

用于人脸关键点检测的高分辨率网络 (HRNets)

新闻

简介

这是 用于人脸关键点检测的高分辨率表征 的官方代码。 我们扩展了高分辨率表征 (HRNet) [1],通过聚合所有并行卷积的(上采样)表征来增强高分辨率表征,从而得到更强大的特征表示。这些输出表征会被送入分类器中。我们在四个数据集 COFW、AFLW、WFLW 和 300W 上评估了我们的方法。

性能

ImageNet 预训练模型

HRNetV2 的 ImageNet 预训练模型现已可用!相关代码和预训练模型请参见 用于图像分类的 HRNets

我们采用 HRNetV2-W18(参数量=9.3M,GFLOPs=4.3G)用于在 COFW、AFLW、WFLW 和 300W 数据集上进行人脸关键点检测。

COFW

该模型在 COFW train 数据集上训练,并在 COFW test 数据集上进行评估。

模型 NME FR0.1 预训练模型 模型
HRNetV2-W18 3.45 0.20 HRNetV2-W18 HR18-COFW.pth

AFLW

该模型在 AFLW train 数据集上训练,并在 AFLW fullfrontal 数据集上进行评估。

模型 NMEfull NMEfrontal 预训练模型 模型
HRNetV2-W18 1.57 1.46 HRNetV2-W18 HR18-AFLW.pth

WFLW

NME test pose illumination occlusion blur makeup expression 预训练模型 模型
HRNetV2-W18 4.60 7.86 4.57 5.42 5.36 4.26 4.78 HRNetV2-W18 HR18-WFLW.pth

300W

NME common challenge full test 预训练模型 模型
HRNetV2-W18 2.91 5.11 3.34 3.85 HRNetV2-W18 HR18-300W.pth

快速入门

环境

本代码使用 Python 3.6 和 PyTorch 1.0.0 在 Ubuntu 16.04 系统上开发,配备 NVIDIA GPU。训练和测试均在一台 NVIDIA P40 GPU 上进行,CUDA 版本为 9.0,cuDNN 版本为 7.0。其他平台或 GPU 尚未经过全面测试。

安装

  1. 按照 官方说明 安装 PyTorch 1.0。
  2. 安装依赖项:

pip install -r requirements.txt
  1. 克隆项目:
git clone https://github.com/HRNet/HRNet-Facial-Landmark-Detection.git

HRNetV2 预训练模型

cd HRNet-Facial-Landmark-Detection
# 下载预训练模型到此文件夹
mkdir hrnetv2_pretrained

数据

  1. 您需要从 OneDriveCloudstorBaiduYun(访问码:ypxg) 下载已处理好的标注文件。

  2. 您还需要从官方网站下载图像数据(300W、AFLW、WFLW),然后将它们放入每个数据集的 images 文件夹中。

您的 data 目录应如下所示:

HRNet-Facial-Landmark-Detection
-- lib
-- experiments
-- tools
-- data
   |-- 300w
   |   |-- face_landmarks_300w_test.csv
   |   |-- face_landmarks_300w_train.csv
   |   |-- face_landmarks_300w_valid.csv
   |   |-- face_landmarks_300w_valid_challenge.csv
   |   |-- face_landmarks_300w_valid_common.csv
   |   |-- images
   |-- aflw
   |   |-- face_landmarks_aflw_test.csv
   |   |-- face_landmarks_aflw_test_frontal.csv
   |   |-- face_landmarks_aflw_train.csv
   |   |-- images
   |-- cofw
   |   |-- COFW_test_color.mat
   |   |-- COFW_train_color.mat  
   |-- wflw
   |   |-- face_landmarks_wflw_test.csv
   |   |-- face_landmarks_wflw_test_blur.csv
   |   |-- face_landmarks_wflw_test_expression.csv
   |   |-- face_landmarks_wflw_test_illumination.csv
   |   |-- face_landmarks_wflw_test_largepose.csv
   |   |-- face_landmarks_wflw_test_makeup.csv
   |   |-- face_landmarks_wflw_test_occlusion.csv
   |   |-- face_landmarks_wflw_train.csv
   |   |-- images

训练

请在 experiments 中指定配置文件(当 GPU 数量发生变化时,需调整学习率)。

python tools/train.py --cfg <CONFIG-FILE>
# 例如:
python tools/train.py --cfg experiments/wflw/face_alignment_wflw_hrnet_w18.yaml

测试

python tools/test.py --cfg <CONFIG-FILE> --model-file <MODEL WEIGHT> 
# 例如:
python tools/test.py --cfg experiments/wflw/face_alignment_wflw_hrnet_w18.yaml --model-file HR18-WFLW.pth

HRNets 的其他应用(代码和模型):

引用

如果您在研究中发现本工作或代码有所帮助,请引用以下文献:

@inproceedings{SunXLW19,
  title={Deep High-Resolution Representation Learning for Human Pose Estimation},
  author={Ke Sun and Bin Xiao and Dong Liu and Jingdong Wang},
  booktitle={CVPR},
  year={2019}
}

@article{WangSCJDZLMTWLX19,
  title={Deep High-Resolution Representation Learning for Visual Recognition},
  author={Jingdong Wang and Ke Sun and Tianheng Cheng and 
          Borui Jiang and Chaorui Deng and Yang Zhao and Dong Liu and Yadong Mu and 
          Mingkui Tan and Xinggang Wang and Wenyu Liu and Bin Xiao},
  journal   = {TPAMI}
  year={2019}
}

参考文献

[1] 用于视觉识别的深度高分辨率表征学习。Jingdong Wang、Ke Sun、Tianheng Cheng、 Borui Jiang、Chaorui Deng、Yang Zhao、Dong Liu、Yadong Mu、Mingkui Tan、Xinggang Wang、Wenyu Liu、Bin Xiao。已被 TPAMI 接受。下载

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|今天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|3天前
开发框架图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|今天
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架