人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔
影像辨识作为近年最热门的专业技术之一,广泛用于智慧监视器、车电监控、智慧工厂、生物医疗电子等等;其中,人脸辨识是一个很重要的部分,网络上已经有相当多的资源可供下载使用;于是我们使用舵机云台作为镜头旋转的硬件,搭配镜头模块,并结合RaspberryPi 作为微控制器,完成一台自制的人脸辨识追踪系统,来看看如何操作吧!
背景技术
Haar cascades
这是「Haar Feature-based Cascade Classifier」的简写,「Haar-likefeature」为一种判断某特定物体的矩阵,将待测图片经由该矩阵运算后,产生该图片的特征值矩阵。
「Cascade Classifier」是级联分类器,将数个分类器Classifier依某种关系排列,如果该图片的特征值矩阵通过阶层式分类器的检验,即可判断该待测图片为某特定物体。总而言之,将照片经由Haar转换后的特征矩阵,如果通过辨识度由低到高排列的级联分类器的筛选,即可认定为人像。
硬件组装
舵机云台由两个伺服马达及一个组合式云台构成,能够同时进行左右及前后运动,使用材料如下:
1.组合式舵云机台
2.SG90伺服马达x2
舵机云台组合完成的样子:
接将相机镜头模块固定在舵机云台的卡榫处,硬件就组装完成了。
连接Raspberry Pi
舵机云台的上下转动马达(Pan)与左右转动马达(Tilt),需要使用Raspberry Pi的PWM脚位(pin7、11),但RaspberryPi的5V脚位最多只能接16mA,因此需要另外使用RaspberryPi的USB Port,并联提供电流,才能推动伺服马达。
除此之外,需要在RaspberryPi上安装PIR与LED模块,PIR用于侦测外界的动静,当有人时才开启舵机云台进行搜寻;LED则作为指示器,当舵机云台发现脸孔并锁定时,发出亮光作为提示;并在相机扁平电缆插入Raspberry Pi的相机连结埠(CSI)。
CSI位于HDMI与Audio之间
软件安装
于Raspberry Pi安装OpenCV
安装步骤可参考以下链接,
http://yehnan.blogspot.com/2015/12/raspberry-piraspbianopencv.html
OpenCV里面的/haarcascades目录,已包括数个已经训练好的Haarcascades分类器,包括正面人脸、眼睛、载着眼镜、嘴巴、鼻子、微笑、上半身、全身、由上往下的身体、甚至于还有猫脸……等xml文件名,不须另外下载或自己训练,可直接使用。
操作流程
1. 当PIR(红外线感应模块)侦测到有物体时会启动舵机,由上往下递增30度,左右180度来回的转动,侦测是否有脸孔出现;若有则持续追踪脸孔,无则持续搜寻。
2. 若一轮搜寻结束后,PIR感测不到物体时,则停止舵机的运作,并等待有下一个物体被PIR侦测到时,再次启动。
程序代码
原始程序代码可以从Github下载,
https://github.com/ch-tseng/PanTilt
您只将舵机云台的两个servo分别接到pin 7与pin 11,PIR接到pin 36,LED接到pin 32,执行储存在RaspberryPi的main.py即可运作。当然您也可以使用其它脚位,只要记得修改程序中相对应的参数值即可。
原文参考
https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247484114&idx=1&sn=d86878c72fa78008e60d3719d2cd3e93&chksm=fb22e517cc556c01f46253d1e21dfbbdfd0470317d64ef99043b7c806fea40a54730000839c1#rd
人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔的更多相关文章
- 树莓派(Raspberry Pi)搭建简单的lamp服务
树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...
- 树莓派(raspberry pi)学习4: 更改键盘布局(转)
树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题,折腾我半天.还是把心得分享一下吧 上网查,发现是键盘布局不对,树莓派(raspberry pi)是英国 ...
- 外网登录访问树莓派 Raspberry Pi
外网登录访问树莓派 Raspberry Pi 本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi? 本文将介绍具体的实现步骤. 1. 准 ...
- 树莓派(Raspberry Pi)使用Shell编写的极简Service
树莓派(Raspberry Pi)运行的系统是基于Debian的,不仅可以运行Shell,还支持systemd和docker,可以编写一个简单的服务,让其在启动时运行,执行一些自动化的操作.这里在Ra ...
- 树莓派raspberry pi配置
(1)国际化语言 树莓派初装系统之后,首次启动会出现“raspi-config”工具,如下图:(若不是初次启动,在命令模式下,请输入 sudo raspi-config 命令,即可调出此界面.若在图形 ...
- 树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器(转)
将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等. 一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php. 树莓派可以安装 ...
- 做一个树莓派Raspberry Pi拍立得
用树莓派Raspberry Pi打造一台拍立得,作法如下: 材料:树莓派+数字相机模块+热敏打印机 因为打印机所需电流较高,所以电源供应器的规格需要5V 3A以上. 再找一个稳定的电源以及够大的外壳装 ...
- VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018
视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...
- 树莓派(raspberry pi)系统开发
[树莓派(raspberry pi)] 01.在linux环境下给树莓派安装系统及入门各种资料 [树莓派(raspberry pi)] 02.PI3安装openCV开发环境做图像识别(详细版) 出处: ...
随机推荐
- 框架 hibernate3 多条查询 分页
package com.hanqi.test; import java.util.Date; import java.util.List; import org.hibernate.Session; ...
- Facade(外观)模式
1. 概述 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性.例子1:一个电源总开关可以控制四盏灯.一个风扇 ...
- SpringMVC找不到对应的页面
确认springmvc配置文件视图解析器配置正确. <!-- 视图解析器 --> <bean class="org.springframework.web.servlet. ...
- C语言入门编程思维引导
编程思维引导: C语言中 include<stdio.h> 称之为导包,导入写好的函数库,多个则依次写 #define N 3 意思是将N这个字母定义为数字3 当使用的时候就直接用 i ...
- 下载RPM常用网址
网址一:http://www.rpm-find.net/linux/rpm2html/search.php 网址二:http://rpmfind.net/linux/rpm2html/search ...
- iOS之限制TextField的输入长度
网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法.我所采用的并不是监听方法而是最不同的 ...
- C# 反射 Reflection Assembly
本章节带来的是反射,反射反射程序员的快乐. 一.什么叫反射 反射:是.net Framework提供给的一个方面metadata的帮助类,可以获取信息并且使用 反射的有点:动态 反射的缺点:1:稍微麻 ...
- git 设置只输入一次用户名和密码
https方式每次都要输入密码,非常不爽 按照如下设置可只输入一次 记住密码(默认15分钟): git config --global credential.helper cache 自己定义时间(一 ...
- Python 基础 Dict 和 Set 类型
python 什么是dict 例如: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 我们把名称称为key,对应的成绩称为value,dic就是通过key 来查找 ...
- js节点操作实例
写了一个简单的小例子来引用js实例 1. 初步节点操作: 2.兼容性节点操作: 3.节点的类型,名字: 4.使用setAttribute设置属性 5.节点复制操作: 6.删除和替换节点 如有错误,还望 ...