UniFace快速上手:人脸检测、框选与draw_detections可视化实战教程
UniFace快速上手人脸检测、框选与draw_detections可视化实战教程【免费下载链接】unifaceUniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.项目地址: https://gitcode.com/gh_mirrors/un/unifaceUniFace 是一个轻量级、面向生产环境的 Python 人脸分析库将人脸检测、识别、关键点、年龄性别、视线等 15 种任务统一到同一套 API 下。本教程以一张合照为例带你 5 分钟完成安装 UniFace、检测出图中所有人脸、读取 bbox 框选坐标并用draw_detections一行代码完成框选 关键点可视化。为什么选择 UniFace一条 pip 命令安装CPU / Apple Silicon / NVIDIA CUDA 全支持模型权重首次使用时自动下载并做 SHA-256 校验统一 API检测器都返回同一种Face对象换模型只需改一行 import内置可视化工具uniface/draw.py 提供draw_detections、draw_tracks、draw_gaze等现成绘制函数无需自己写 OpenCV 绘图逻辑检测模型丰富RetinaFace、SCRFD、CenterFace、YOLOv5-Face、YOLOv8-Face、BlazeFace 随选完整模型对比见 docs/modules/detection.md。安装 UniFace三步跑通pip install uniface[cpu] # CPU 与 Apple Silicon # pip install uniface[gpu] # NVIDIA CUDA 用户也可以从源码安装仓库为只读克隆仅供学习参考git clone https://gitcode.com/gh_mirrors/un/uniface cd uniface pip install uniface[cpu]第一次人脸检测用 RetinaFace 圈出所有人下面这段代码是本教程的核心加载一张图片检测出全部人脸并打印每个人脸的框选坐标。import cv2 from uniface.detection import RetinaFace image cv2.imread(photo.jpg) # 用 OpenCV 读图BGR 格式 detector RetinaFace() # 首次运行自动下载模型 faces detector.detect(image) # 检测返回 Face 对象列表 print(f共检测到 {len(faces)} 张人脸) for face in faces: print(face.bbox, face.confidence)RetinaFace 的实现位于 uniface/detection/retinaface.py#L27-L113。如果追求速度可以换成SCRFD()或CenterFace()调用方式完全一致。看懂 Face 对象bbox、confidence 与 landmarksdetect()返回的每个 Face 对象都带有三个必备字段是后续所有分析的基础字段类型含义face.bboxndarray (4,)框选坐标格式为[x1, y1, x2, y2]左上角 右下角face.confidencefloat检测置信度0~1越接近 1 越可靠face.landmarksndarray (5, 2)5 个关键点左右眼、鼻尖、左右嘴角bbox采用 OpenCV 常见的xyxy坐标系x1, y1是框左上角x2, y2是框右下角。想裁剪人脸区域时直接切图即可x1, y1, x2, y2 map(int, face.bbox) face_crop image[y1:y2, x1:x2] # 第一张人脸的裁剪图draw_detections一行代码完成框选 关键点可视化检测完之后用 draw_detections 把结果画回图片上一行搞定from uniface.draw import draw_detections draw_detections(imageimage, facesfaces) # 原地绘制到 image 上 cv2.imwrite(output.jpg, image)draw_detections 参数速查参数默认值作用image必填待绘制的 BGR 图像会被原地修改faces—detect()返回的 Face 列表vis_threshold0.6置信度过滤阈值低于该值的人脸不画框draw_scoreFalse是否在框角上显示置信度分数corner_bboxTrue使用角标式框科技感False 为普通矩形想要显示每张脸的置信度只需多加一个参数draw_detections(imageimage, facesfaces, vis_threshold0.5, draw_scoreTrue)小贴士vis_threshold调高如 0.8可减少误检调低如 0.3能抓出更小、更模糊的人脸——在人群密集照片上效果明显。实战进阶摄像头实时人脸检测框选把检测 绘制放进循环就是一个实时人脸摄像头应用import cv2 from uniface.detection import SCRFD from uniface.draw import draw_detections detector SCRFD() cap cv2.VideoCapture(0) while True: ok, frame cap.read() if not ok: break draw_detections(imageframe, facesdetector.detect(frame)) cv2.imshow(UniFace, frame) if cv2.waitKey(1) 0xFF ord(q): break不用写代码也能体验仓库自带的命令行工具支持图片、视频和摄像头三种输入python tools/detect.py --source photo.jpg python tools/detect.py --source 0 --detector scrfd # 0 表示摄像头工具源码见 tools/detect.py可切换 6 种检测器做效果对比。下一步检测只是起点框选出人脸后UniFace 还能继续做106/98 点密集关键点、Face Mesh 3D 网格、年龄性别、情绪、头姿、视线、人脸比对与打码匿名化等。 更多场景教程docs/quickstart.md 可运行示例examples/01_face_detection.ipynb 各模块 APIdocs/modules/ 检测器模块源码uniface/detection/现在打开你的第一张合照跑起来试试吧【免费下载链接】unifaceUniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.项目地址: https://gitcode.com/gh_mirrors/un/uniface创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

油气管道SCADA系统演进与数字管道落地实践

油气管道SCADA系统演进与数字管道落地实践

简介:本资源是一份面向油气自动化、工业控制及能源信息化领域初学者与工程技术人员的SCADA系统入门教学课件,聚焦油气管道行业典型应用场景,系统讲解SCADA原理、架构演进与数字管道建设路径。课件以PPT格式呈现,共1个文件&#xf…

2026/10/9 14:26:50 阅读更多 →
超实用漂亮精美HTML菜单源码:从看懂到改好再到复用的完整指南

超实用漂亮精美HTML菜单源码:从看懂到改好再到复用的完整指南

简介:这份资源面向前端开发者与网页设计学习者,提供一组可直接套用的精美HTML菜单源码,帮助解决导航栏样式单一、交互效果实现繁琐的问题。压缩包共38个文件,约481KB,以less与scss样式源文件为主,便于按需修…

2026/10/9 14:26:50 阅读更多 →
J2ME游戏移植实战:从MIDlet到Canvas的9688雷霆战机适配指南

J2ME游戏移植实战:从MIDlet到Canvas的9688雷霆战机适配指南

简介:这份资源是JAVA ME游戏「9688雷霆战机」的个人移植源码包,面向希望入门J2ME移动游戏开发、想通过真实项目理解游戏框架的开发者与学习者。源码围绕KVM虚拟机、CLDC配置与MIDP简表展开,涵盖gameLogic、ui、sound、resource等模块&#xf…

2026/10/9 14:26:50 阅读更多 →

最新新闻

燃料智能化管理系统解决方案:从PPT到落地的数据链路与接口设计

燃料智能化管理系统解决方案:从PPT到落地的数据链路与接口设计

简介:这份PPT方案面向火力发电企业的燃料管理与信息化建设人员,系统梳理了燃料智能化管理的整体解决思路。内容从燃料成本约占火电总成本七成的行业背景切入,阐述自2012年以来各大发电集团推动燃料系统智能化升级的动因,并围绕业务…

2026/10/9 14:56:28 阅读更多 →
X切LNOI波导倍频仿真:COMSOL建模与相位匹配实战

X切LNOI波导倍频仿真:COMSOL建模与相位匹配实战

最近研究X切型绝缘体上铌酸锂薄膜(LNOI)的倍频(SHG)转化效率,COMSOL仿真前前后后跑了一个多月,越跑越觉得这东西比想象中有意思得多。LNOI这两年几乎是集成光子学里的“顶流”平台,几百纳米厚的…

2026/10/9 14:56:28 阅读更多 →
智慧零碳园区解决方案:从66页PPT到落地的四层架构与避坑指南

智慧零碳园区解决方案:从66页PPT到落地的四层架构与避坑指南

简介:这份《智慧零碳园区解决方案》PPT面向园区规划者、能源管理者、智慧城市方案商及政企数字化转型从业者,围绕“有温度、善感知、智生长”的数字生命体理念,系统梳理零碳园区从背景认知到落地运营的完整路径。资源包仅含1个pptx文件&#…

2026/10/9 14:56:28 阅读更多 →
信号完整性补充:从时序预算到实际工程排查

信号完整性补充:从时序预算到实际工程排查

写一篇关于"什么是信号完整性?补充"的技术博文,这事儿说难不难,说简单也不简单。因为在很多硬件工程师眼里,信号完整性(Signal Integrity)已经是个被讲烂了的话题,随便一搜就是一堆解…

2026/10/9 14:56:28 阅读更多 →
Altium Designer 17.0.6安装避坑指南:从环境检查到静默部署的完整方案

Altium Designer 17.0.6安装避坑指南:从环境检查到静默部署的完整方案

简介:Altium Designer 17.0.6安装教程PDF,面向电子设计工程师及PCB初学者,解决Altium Designer软件安装、破解与汉化流程不熟悉的问题。资源包内共1个pdf文件,整体大小3.03MB,内容紧凑,以图文步骤方式组织&…

2026/10/9 14:55:27 阅读更多 →
5G网络切片隔离性验证:从测试设计到pytest自动化落地

5G网络切片隔离性验证:从测试设计到pytest自动化落地

去年做5G行业专网交付的时候,客户在验收会上问了我一个很要命的问题:"你说切片隔离,那我车间里的视频监控流量和AGV控制流量在同一个基站下跑,监控业务能不能把控制业务挤垮?你拿什么证明它不会?"…

2026/10/9 14:55:27 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →