已经有很多帖子详细介绍讲解过OpenCV在树莓派3的人脸识别,由于树莓派3性能有限,这次我们来采用较新的树莓派4B来尝试做人脸识别。在树莓派4中,最后的运行进行识别的帧率可以达到28FPS,还是不错的效果了,识别速度在调完参数(准确率)也是可以达到非常快切准确的识别效果。
此图为人脸检测部分
此篇文章以我连滚带爬,看了很多前辈的博客、文章以及自己在安装、配置、代码遇到的各种错误的总结,站在巨人肩膀完成人脸识别,若文章有不正之处,欢迎批评指正,这是我前进的动力,也希望此文章的对你有帮助
Tips:本文章多适用于新手小白,避免各种踩坑的,本文提及的小细节和各种报错归档我会有总结,各位可选择性观看
树莓派4B(StarTrak*TM崭新出厂 ),16(32)GB内存卡*,HDIM线(最好自备显示器),摄像头
树莓派系统官方网站:树莓派Pi OS
树莓派中文网站:树莓派中文下载站
新手小白推荐系统 :NOOBS
NOOBS
(下载选择NOOBS功能更多更全)
准备软件:SDFormatter(格式化内存卡)
BalenaEtcher:
当然也可以选择Win32DiskImager
个人喜欢用BalenaEtcher烧录(方便快捷)
BalenaEtcher
1.Flash from file(选择你下载好的镜像路径)
2.Select target(选择你的SD卡)
3.flash
Done
PS:在烧录过程中报错或者烧录后报错,尝试再次烧录,若还有error,要考虑镜像文件或内存卡问题了
内存卡无法烧录可能原因:格式问题(FAT32、NTFS)or 卡本身的问题(换卡使用)
点亮成功后,顺着安装配置步骤一步步配置参数
1.连接网络
可以选择wifi连接,或者网线
ps:有小伙伴就问啦:没有wifi只有网线,网线无法连接路由器怎么办?
备用方案:用网线一根接树莓派一根接笔记本电脑,打开"网络和共享中心”
“更改配适器设置”
右键WLAN属性
“共享”———“允许其他网络用户连接”———“选择以太网”
共享网络成功
2.换源(非常重要)
树莓派服务器在国外,国内用户在使用中,update和install过程中会非常慢甚至网络断联报错,在你没有魔法上网 时,换源是友好的选择
准备换源
首先查看自己树莓派版本,树莓派版本,树莓派版本
重要的事情说三遍!!!
在终端里输入
lsb_release -a
图片中 buster即为当前操作系统版本
PS:在确定系统版本后去选择对应的源网,不然换完够无法更新安装会提示报错
(当时新手时在此翻了车)
确定完版本后
打开配置sources.list文件
在终端 输入
sudo nano /etc/apt/sources.list
用#注释掉原文件内容,用以下内容取代Ctrl + O 保存 Ctrl + X 退出
用清华大学举的软件源举例:(buster版本)
Ps:Ctrl+Shift+V可以在终端粘贴
# 编辑 sudo nano /etc/apt/sources.list 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
# 编辑 sudo nano /etc/apt/sources.list.d/raspi.list 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
PS:其他版本系统:
wheezy版本
# 编辑 `sudo nano /etc/apt/sources.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main non-free contrib rpi
# 编辑 `sudo nano /etc/apt/sources.list.d/raspi.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ wheezy main ui
jessie版本:
# 编辑 `sudo nano /etc/apt/sources.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib rpi
# 编辑 `sudo nano /etc/apt/sources.list.d/raspi.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ jessie main ui
stretch版本:
# 编辑 `sudo nano /etc/apt/sources.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi
# 编辑 `suao nano /etc/apt/sources.list.d/raspi.list` 文件,删除或注释原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
完成后更新一下软件源列表
sudo apt-get update
sudo apt-get upgrade #此项更新安装包
3.开启VNC
VNC可以在PC端直接登录到树莓派的桌面
Windows端安装VNC
保证PC和树莓派安装在同一个局域网内
在树莓派里开启VNC
选择Enable
VNC开启成功
PS:顺便在这里开启SSH
我们装好系统,身边无显示器的情况下使用树莓派的方法:
首先系统烧录成功后,我们拔出内存卡,插入至电脑,进入根目录,新建一个文本文档命名为“ssh”
此方法是增加ssh空文件开启树莓派的SSH服务
查找IP
现在有两种方法进行ip查找连接
1.无网线版
还是读卡器进入树莓派的根目录,新建.txt文件命名为“wpa_supplicant.conf”(无.txt后缀)
编辑以下内容:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi名称"
psk="wifi密码"
priority=10
}
PS:priority值表示优先级,值越大,优先度越大
启动树莓派,在路由器端进行查看ip地址
Tips:可以在路由器端查看,也可以在手机端创建热点直接查看IP地址
2.有网线版
同换源教程,使用网线连接树莓派和电脑win+R打开cmd输入ipconfig查看
3.使用IP扫描器
Advanced IP scanner
还有很多扫描IP地址的软件,根据自身的需求下载使用
还有最简单粗暴的方法
当获得到树莓派的ip地址时,我们接下来可以使用putty来远程连接到树莓派的终端
PUTTY
官方下载地址:putty
打开软件
选择Open开始连接
进入后:
login as “树莓派用户名”(默认pi)
password:“密码”(默认raspberry)
成功后如图:
至此,树莓派从安装系统到登陆的基本操作已经完成
在终端窗口执行:
sudo apt-get update
sudo apt-get upgrade