本次基于Raspberry Pi Zero 2 W,通过开源的视觉库OpenCV ,选用Haar Cascade目标检测算法,搭建一个轻量化人脸监测系统。
硬件介绍:
Raspberry Pi Zero 2 W是一款紧凑型、经济型计算机,体积非常小,给人一种麻雀虽小五脏俱全的感觉。它内置WIFI、蓝牙,拥有四核CPU能处理很多使用项目。
通过SD板载的SD卡,将操作系统注入板内,开发板得电,系统自动运行。
若采用 SSH 远程登录操作,只需要电源供电;若本地访问,需要 Mini HDMI转HDMI 线、USB OTG适配器;
**设计思路:**识别设定目标路径图像,在图像上方显示识别情况,实现人脸检测功能。
流程图:
开始执行:
1.系统安装,在树莓派官网软件区域安装PI映像器Raspberry Pi OS downloads – Raspberry Pi,连接TF读卡器进行烧录,选择需要使用的硬件和系统自定义功能,如WIFI连接,用户名和密码等。配置后进行烧录。
装入SD卡、连接外设后,树莓派得电自动开机。
开发板得电,绿色LED指示灯亮起并闪烁,开发板已正常运行。
VNC远程访问:
为方便操作连接,无需显示器在电脑上操作图形界面,可使用VNC–图形化桌面共享系统实现。步骤如下:
1、打开树莓派自带的VNC服务器(默认关闭)
①树莓派命令窗中输入sudo raspi-config --回车
② 在"Interface Options"–>“VNC”–>“Yes”–>“OK”–>“Finish”
2、在电脑端下载安装VNC Viewer 并输入树莓派的IP地址–输入账号密码即可成功访问。
人脸检测:
准备工作:
①:pip工具安装:执行 sudo apt-get install python3-pip
②:OpenCV库安装(视觉库):执行sudo apt-get install python3-opencv
③:安装 OpenCV 的样例数据文件:执行sudo apt-get install opencv-data
核心代码:
face_cascade = cv2.CascadeClassifier(‘/usr/share/opencv4/haarcascades/haarcascade_frontalface_default.xml’)#加载预训练的人脸检测模型(Haar级联分类器),无此模型就无法检测。
人脸检测:faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=1)
调整这些参数可以优化检测效果
faces = face_cascade.detectMultiScale(
gray,
scaleFactor=1.1, # 通常设为1.1-1.3,越小检测越细但越慢
minNeighbors=3, # 通常设为3-6,越大误检越少但可能漏检
minSize=(30, 30), # 最小人脸尺寸,过滤小误检
maxSize=(300, 300) # 最大人脸尺寸)
成果展示:
总结:
本次在Raspberry Pi Zero 2W实现人脸检测功能,借助Open CV视觉库、Haar Cascade目标检测算法,功能快速实现。正是有这块功能俱全的板子,才能快速上手。不过Pi Zero 2 W仅有512MB内存,需控制内存占用问题。


