基于OpenCV的实时面部识别
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
我们将使用一些简单的代码来实现实时面部识别代码,我们可以对个人的面部进行预测。
现在,面部识别已成为生活中的一部分。因此,在介绍主题之前我们先看看实时面部识别示例。我们在手机、平板电脑等设备中使用人脸信息进行解锁的时候,这时就要求获取我们的实时面部图像,并将其储存在数据库中以进一步表明我们的身份。
通过对输入图像进行迭代和预测可以完成这个过程。同样,实时人脸识别可与OpenCV框架python的实现配合使用。再将它们组合在一个组合级别中,以实现用于实时目的的模型。
人脸识别
“面部识别”名称本身就是一个非常全面的定义,面部识别是通过数字媒体作为输入来识别或检测人脸的技术执行过程。
人脸识别的准确性可以提供高质量的输出,而不是忽略影响其的问题因素。在这里,要确保运行我们的模型,必须确保在本地系统中安装了库。
pip install face_recognition
如果在 face_recognition库的安装过程中遇到一些问题或错误,可以点击以下链接:https://www.youtube.com/watch?v=xaDJ5xnc8dc
人脸识别本身无法提供清晰的输出,因此出现了OpenCV实现的概念。
预先录制的视频中的人脸识别输出示例。
OpenCV
OpenCV是python中一个著名的库,用于实时应用程序。OpenCV在计算机世界中就像树的根一样非常重要。
face_recognition中的OpenCV对我们训练为输入的面部图像进行聚类和特征提取。它以图像中的地标为目标,以迭代方式在计算机视觉的深度学习方法中训练它们。
在本地系统中安装OpenCV
pip install opencv-python
使用深度学习算法,OpenCV检测可作为聚类,相似性检测和图像分类的表示。
为什么我们使用OpenCV作为实时Face_Recognition中的关键工具?
人类可以轻松检测到面部,但是我们如何训练机器识别面部?OpenCV在这里填补了人与计算机之间的空白,并充当了计算机的愿景。
以一个实时的例子为例,当一个人遇到新朋友时,他会记住这些人的脸,以备将来识别。一个人的大脑反复训练后端的人脸。因此,当他看到那个人的脸时,他说:“嗨,约翰!你好吗?”。
对面部的识别和可以为计算机提供与人类相同的思维方式。
OpenCV是计算机视觉中的重要工具。如果我们使用OpenCV,则遵循以下步骤:
• 通过输入提取数据。
• 识别图像中的面部。
• 提取独特的特征,以建立预测思想。
• 该特定人的性格特征,如鼻子,嘴巴,耳朵,眼睛和面部主要特征。
• 实时人脸识别中人脸的比较。
• 识别出的人脸的最终输出。
使用OpenCV python的Face_Recognition:
代码下载:https://github.com/eazyciphers/deep-machine-learning-tutors/tree/master/Real-Time Face RecognitionGitHub
导入所有软件包:
import face_recognition
import cv2
import numpy as np
加载并训练图像:
# Load a sample picture and learn how to recognize it.
Jithendra_image = face_recognition.load_image_file("jithendra.jpg")
Jithendra_face_encoding = face_recognition.face_encodings(Jithendra_image)[0]
# Load a sample picture and learn how to recognize it.
Modi_image = face_recognition.load_image_file("Modi.jpg")
Modi_face_encoding = face_recognition.face_encodings(Modi_image)[0]
人脸编码:
# Create arrays of known face encodings and their names
known_face_encodings = [
Jithendra_face_encoding,
Modi_face_encoding,
]
known_face_names = [
"Jithendra",
"Modi"
]
主要方法:
当实时人脸识别为true时,它将检测到人脸并按照代码中的以下步骤操作:
• 抓取实时视频中的一帧。
• 将图像从BGR颜色(OpenCV使用的颜色)转换为RGB颜色(face_recognition使用的颜色)
• 在实时视频的帧中找到所有面部和面部编码。
• 循环浏览此视频帧中的每个面孔,并检查该面孔是否与现有面孔匹配。
• 如果一个人脸无法识别现有人脸,则将输出视为未知或未知。
• 识别后,否则在识别出的脸部周围画一个方框。
• 用其名称标记识别的面部。
• 识别后显示结果图像。
退出:
# Hit 'q' on the keyboard to quit!
if cv2.waitKey(1) & 0xFF == ord('q'):
break
释放摄像头的手柄:
# Release handle to the webcam
video_capture.release()
cv2.destroyAllWindows()
输入和输出
在训练过程中提供给模型的样本输入…。
输入
用于训练代码的样本图像
样本输入图像进行训练
输出:
记录输出
代码参考:https : //github.com/eazyciphers/deep-machine-learning-tutors
参考文献:
https://www.pyimagesearch.com/2018/09/24/opencv-face-recognition/
https://www.superdatascience.com/blogs/opencv-face-recognition
https://zh.wikipedia.org/wiki/Facial_recognition_system
基于OpenCV的实时面部识别相关推荐
- Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]
1.图片演示 2.视频演示 [项目分享]Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]_哔哩哔哩_bilibili 3.检测方法 1)方法 与用于计算眨眼的传统 ...
- 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)
1.研究背景 汽车主动安全系统能够实现风险的主动预防和规避,其能有力缓解当前我国汽车交通事故频发的困境,故对其的相关研究得到了国家的大力支持. 车道保持辅助系统(LKAS,Lane Keeping A ...
- C++基于OpenCV实现实时监控和运动检测记录
基于OpenCV实现实时监控并通过运动检测记录视频 一.课程介绍 1. 课程来源 课程使用的操作系统为 Ubuntu 14.04,OpenCV 版本为OpenCV 2.4.13.1,你可以在这里查看该 ...
- 基于OpenCV的实时睡意检测系统
该系统可以检测一个人在开车时是否困倦,如果有的话,可以通过使用语音消息实时提醒他.该系统使用网络摄像头和电话摄像头进行实时数据传输. 01.研究目的 根据国家公路交通安全管理局的数据,每年均涉及疲劳驾 ...
- dlib疲劳检测_基于OpenCV的实时睡意检测系统
该系统可以检测一个人在开车时是否困倦,如果有的话,可以通过使用语音消息实时提醒他.该系统使用网络摄像头和电话摄像头进行实时数据传输. 研究目的 根据国家公路交通安全管理局的数据,每年均涉及疲劳驾驶事故 ...
- 基于OpenCV的实时停车地点查找
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 简介 我们常常会在停车场周围四处行驶很多次来寻找一个停车位,如果我 ...
- 基于OpenCV与tensorflow实现实时手势识别
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 干货-阅读需10分钟左右 基于OpenCV与tensorflow ...
- 基于OpenCV的视障人士实时目标检测
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一.概述 计算机视觉领域一直是一个活跃的研究领域,在本文中,我们让 ...
- 基于 OpenCV 的网络实时视频流传输
作者 | 努比 来源 | 小白学视觉 大多数人会选择使用IP摄像机(Internet协议摄像机)而不是CCTV(闭路电视),因为它们具有更高的分辨率并降低了布线成本.在本文中,我们将重点介绍IP摄像机 ...
最新文章
- 如何配置Keil 外部编辑器?
- 图结构练习——BFS——从起始点到目标点的最短步数
- skype for business server2015部署向导启动服务失败
- 阿里巴巴对Java编程【异常处理】的规约
- [转载] python字符串数组字典_Python:字符串、列表、元组、字典
- hive分析函数取最新_Hive的分析函数的学习
- 关于卡尔曼滤波详细推导的理解
- 【电路仿真】基于simulink三相相控变流器设计【含Matlab源码 327期】
- python核心编程之Python程序退出方式小结
- 微信小程序 java家庭个人收支理财记账本springboot
- 什么是负载?如何查看服务器的机器负载情况?
- AOE网:关键路径和关键活动
- Opencv图像特征点提取(
- Java 程序基本结构
- 步进电机在音乐喷泉中的应用解决方案
- 补充---信息安全数学基础第四章习题答案
- 绩效面谈是OKR管理的关键动作,如何做?
- 专访模组厂商:人脸识别中单摄像头和双摄像头该如何选型
- 关于搞国外网赚的一些思路
- 流程工业中,人工智能和工业互联网如何发挥作用