资讯动态

【CanMV K210】AI 视觉 68 点人脸关键点检测与轮廓定位

发布时间:2026/9/28 3:16:06 来源:尧图企业网站定制
在 CanMV K210 入门和综合项目中,68 点人脸关键点检测是一个很适合拆解的 AI 视觉实验。它不是单纯判断“有没有人脸”,而是先找到人脸位置,再在人脸区域内定位眼睛、鼻子、嘴巴和脸部轮廓等关键点。通过这个实验,可以理解摄像头采集、KPU 推理、人脸框裁剪、坐标还原和 LCD 可视化之间的完整关系。本实验使用 CanMV K210 运行4.11_face_detect_68lm.py。程序先加载人脸检测模型/sd/yolo_face_detect.kmodel,检测画面中的人脸框;再加载 68 点关键点模型/sd/landmark68.kmodel,对裁剪后的人脸区域进行关键点推理。程序会在 LCD 上绘制人脸检测框和 68 个关键点,同时在画面左上角显示 FPS,便于观察识别效果和运行速度。学习目标说明理解双模型视觉流程认识人脸检测模型和 68 点关键点模型之间的衔接关系掌握人脸框裁剪根据检测框扩大人脸区域,并裁剪出单独的人脸图像理解模型输入尺寸人脸检测模型使用 320×256 输入,关键点模型使用 128×128 人脸图像学会坐标还原将关键点模型输出的归一化坐标还原到原始画面位置建立 AI 视觉调试思路通过 LCD 显示框线、关键点和 FPS,观察模型运行状态文章目录理论基础硬件设施软件代码扩展应用总结理论基础68 点人脸关键点检测并不是一步完成的。程序通常先进行人脸检测,找到画面中人脸的大致位置;再把人脸区域裁剪出来,缩放到关键点模型需要的输入尺寸;最后由关键点模型输出 68 组坐标。这样做的原因是关键点模型需要关注的是人脸局部区域,而不是整张图像中的所有背景。本实验中使用了两个 KPU 模型。第一个模型/sd/yolo_face_detect.kmodel用于检测人脸框,输出人脸在画面中的位置和大小;第二个模型/sd/landmark68.kmodel用于检测人脸关键点,输出 68 个关键点的相对坐标。程序再根据裁剪区域的位置和尺寸,把这些相对坐标还原到原始图像中,并用圆点绘制在 LCD 画面上。人脸检测模型和关键点模型的输入尺寸不同。摄像头采集的是 QVGA 图像,也就是 320×240;代码中额外创建了od_img = image.Image(size=(320,256), copy_to_fb=False),用于适配人脸检测模型的 320×256 输入。检测到人脸后,程序从原图中裁剪人脸区域,并通过resize(128, 128)转换成关键点模型需要的 128×128 输入。下面这张流程图可以从视觉数据链路理解本实验。摄像头负责采集画面,人脸检测模型负责找到人脸框,关键点模型负责定位 68 个点,绘图函数负责把框和点画回原始图像,LCD 负责显示最终结果。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑