我是个逗比男 发表于 2022-7-29 05:24:49

树莓派开发系列(八) 人脸识别初探

随着人工智能技术的飞速发展,在我们生活中越来越多地融入了这项技术所带来的成果,其中最为耳熟能详的就是人脸识别技术了。包括各种App的实名认证,企业的门禁系统,小区的摄像头,无时不刻地在捕捉我们的脸庞。这项技术到底有多神秘呢,是不是我们自己就可以动动双手来尝试一下呢,答案是肯定的,而且就靠我们的树莓派就可以做到,高科技其实离我们咫尺之遥,并不神秘。
人脸识别技术
下面就来说说我们的小派如何来做到人脸识别,首先有些前提条件要准备好,第一步要准备好树莓派专用的摄像头,这是小派的眼睛,必须得有。第二步就是要安装一个叫OpenCV的软件,它是大脑,是人脸识别的核心软件。关于以上两步的详细介绍,在我的前文《树莓派开发系列(四) 小派,看看这个世界吧》中有详细的说明,有兴趣的朋友可以关注我并翻阅下前文,本篇就不再赘述了。
树莓派及摄像头
接下来我们就拿起我们的python武器,编写一段代码来实现人脸识别。代码如下:
'''Haar Cascade Face detection with OpenCV    Based on tutorial by pythonprogramming.net    Visit original post: https://pythonprogramming.net/haar-cascade-face-eye-detection-python-opencv-tutorial/Adapted by Marcelo Rovai - MJRoBot.org @ 7Feb2018'''import numpy as npimport cv2# 导入opencv内部已经训练好的人脸模型faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')# 打开摄像头,并设置窗口大小cap = cv2.VideoCapture(0)cap.set(3, 640)# set Widthcap.set(4, 480)# set Height# 进行人脸识别while True:    ret, img = cap.read()# 读取摄像头采集到的图片    # img = cv2.flip(img, -1)   #将摄像头180旋转,摄像头倒放的时候需要    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 将读取的图片转换为灰度图    faces = faceCascade.detectMultiScale(      gray,      scaleFactor=1.2,      minNeighbors=5      ,      minSize=(20, 20)    )# 采用Haar+Cascade分类器进行脸部识别    for (x, y, w, h) in faces:# 将识别到的人脸用蓝色框框出来,x:横坐标;y纵坐标;w:宽度;h:高度(即(x,y):表示画蓝色框的起点;w,h表示蓝色框的长和宽)      cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)      roi_gray = gray      roi_color = img    cv2.imshow('video', img)# 显示到屏幕上    k = cv2.waitKey(30) & 0xff    if k == 27:# 按'ESC'退出摄像头      breakcap.release()# 释放摄像头cv2.destroyAllWindows()# 关闭窗口在这段代码中,有个关键点就是haarcascade_frontalface_default.xml这个文件,这个文件是OpenCV已经训练好的人脸模型的参数,有了这个模型参数,OpenCV就可以从图像中去区分出人脸。文件可以从这个链接中下载:https://github.com/opencv/opencv/tree/master/data/haarcascades。
好了,运行一下试试效果吧,还不错,速度还挺快的!是不是很简单呢:),其实目前的话,我们只是做到了识别出通用的人脸,更进一步,我们应该能识别出特定的人脸,这个就要自来来训练人脸模型了,有兴趣的朋友可以查阅些资料来尝试下。也希望大家互相来交流,挖掘出更多树莓派的有趣应用。
树莓派人脸识别

声明:以上内容来源于网络,如有侵权请联系我们(123@shiyan.com)删除!

yongzi 发表于 2022-7-29 05:29:26

转发了

山区客家人 发表于 2022-7-29 05:34:45

转发了
页: [1]
查看完整版本: 树莓派开发系列(八) 人脸识别初探