
在 CanMV K210 入门和综合项目中,人脸检测实验是一个很适合拆解的 AI 视觉案例。它不是只验证摄像头能不能打开,也不是只验证模型能不能加载,而是把摄像头采集、图像格式设置、KPU 模型推理、YOLO 后处理、LCD 显示和串口调试串成一条完整链路。本实验使用 CanMV K210 运行4.5_face_detect.py。程序通过摄像头采集 RGB 图像,将图像送入 KPU 执行 YOLO 人脸检测模型推理,再把检测到的人脸位置绘制成绿色矩形框显示在 LCD 上。程序还会在画面左上角显示 FPS,方便观察模型推理速度和画面刷新状态。学习目标说明理解 AI 视觉流程掌握摄像头采集、图像预处理、KPU 推理、后处理和结果显示之间的关系掌握模型加载方式使用/sd/yolo_face_detect.kmodel从 SD 卡加载人脸检测模型理解 YOLO 后处理通过 anchor、阈值、NMS 等参数完成检测结果筛选学会结果显示使用draw_rectangle()在 LCD 图像上框选检测到的人脸建立调试思路从摄像头、LCD、模型路径、阈值和内存回收等方向排查问题这个实验的价值不只是“框出一张人脸”,而是让 AI 模型推理过程变得可观察。摄像头采集到的是图像,KPU 输出的是检测结果,LCD 显示的是框选反馈,串口输出的是调试信息。把这几部分连接起来,就能理解 K210 边缘 AI 项目的基本运行方式。文章目录理论基础硬件设施软件代码扩展应用总结理论基础人脸检测和普通图像显示实验不同。普通摄像头实验只需要把摄像头画面显示到 LCD 上,而人脸检测需要把图像送入神经网络模型进行推理。K210 芯片中的 KPU 是专门用于神经网络加速的单元,适合运行经过转换后的kmodel模型文件。本实验中的yolo_face_detect.kmodel就是用于人脸检测的模型文件。程序运行时,摄像头先采集一帧 320×240 的 RGB 图像。由于模型输入尺寸设置为 320×256,代码中创建了一个od_img = image.Image(size=(320,256))的图像对象,再把摄像头图像绘制到这个对象中。随后调用od_img.pix_to_ai()将图像转换成适合 KPU 推理的数据格式,再通过kpu.run_with_output(od_img)执行模型推理。YOLO 检测模型的输出不能直接当作人脸框使用,还需要经过后处理。代码中的kpu.init_yolo2()配置了 anchor、输入尺寸、网络尺寸、输出层尺寸、置信度阈值和 NMS 参数。推理完成后,kpu.regionlayer_yolo2()会返回检测框结果。程序再使用img.draw_rectangle()把检测到的人脸区域画到原始图像上,并通过lcd.display(img)显示出来。下面的流程图展示的是本实验的 AI 视觉处理链路。它不是单纯的电路连接图,而是从摄