用树莓派跑人脸识别模型 OpenCV 和 ONNX
本文手把手教你如何用树莓派搭建一个人脸检测系统,覆盖两种方案。第一种是 OpenCV Haar 级联,轻量快速。第二种是 RetinaFace ONNX 模型,精度更高。

首先说环境准备。任何型号的树莓派开发板都可以。安装 OpenCV 执行 sudo apt install python3-opencv,再安装 opencv-data 补全库文件。下载 Haar 级联模型,创建 model 文件夹,用 wget 下载官方提供的 haarcascade 模型文件。

先说第一种方案,Haar 级联检测。创建一个 Python 文件,导入 cv2 库。读取图片后,转成灰度图,加载预训练的级联分类器,调用 detectMultiScale 方法检测人脸。检测到的结果会返回人脸矩形框的坐标和大小,我们在原图上用绿色矩形框出来,再显示结果。

这个方案的优势是代码简单,不需要额外下载模型文件,OpenCV 自带了。缺点是精度一般,对角度和光线比较敏感。

第二种方案,ONNX 模型检测。需要安装 onnxruntime 库,执行 sudo pip3 install onnxruntime。然后下载 RetinaFace 轻量化模型,这是专门为边缘设备优化的模型,只有几兆大小。

创建 Python 代码,加载 ONNX 模型,对输入的图片进行预处理,缩放到 320 乘 240 大小,归一化后转成模型输入格式。运行推理后,获取人脸置信度和边界框坐标。通过非极大值抑制算法去除重叠的框,保留最准确的结果。

ONNX 方案的优势是精度高,能检测多角度的人脸,适合实际场景应用。

最后在终端执行 Python 文件,就能看到人脸检测的效果了。你可以外接摄像头模块,基于此实现实时的人脸识别系统。

更多树莓派教程和配件,欢迎访问跑跑啦航模官网,或淘宝店跑跑啦航模。







微信联系
淘宝联系