【DigiKey好物畅享】Raspberry Pi Zero 2W SC1176人脸识别分享

本次基于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内存,需控制内存占用问题。