精华内容
下载资源
问答
  • 人脸识别门禁系统.zip

    2020-02-09 15:58:09
    完整的人脸识别门禁系统代码,基于MATLAB平台,所有代码只需修改路径,完全可直接使用,专业课程大作业,答辩通过.
  • 原标题:开源|手把手教你用Python进行人脸识别(附源代码)全球人工智能来源:Github 翻译:黄玮想要了解目前世界上最简洁的人脸识别库吗?现在小编带大家来学习使用Python语言或命令行进行人脸识别的操作。本文的模型...

    原标题:开源|手把手教你用Python进行人脸识别(附源代码)

    全球人工智能

    来源:Github 翻译:黄玮

    想要了解目前世界上最简洁的人脸识别库吗?现在小编带大家来学习使用Python语言或命令行进行人脸识别的操作。

    本文的模型使用了C++工具箱dlib基于深度学习的最新人脸识别方法,基于户外脸部数据测试库Labeled Faces in the Wild 的基准水平来说,达到了99.38%的准确率。

    dlib:http://dlib.net/

    数据测试库Labeled Faces in the Wild:http://vis-www.cs.umass.edu/lfw/

    模型提供了一个简单的face_recognition命令行工具让用户通过命令就能直接使用图片文件夹进行人脸识别操作。

    特征

    在图片中捕捉人脸

    在一张图片中捕捉到所有的人脸

    4230ee89663d2ffa214e2b43291263ba.png

    找到并处理图片中人脸的特征

    找到每个人眼睛、鼻子、嘴巴和下巴的位置和轮廓。

    import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_locations = face_recognition.face_locations(image)

    77d3447f080a9af8eda1d34ad3f0389c.png

    捕捉脸部特征有很重要的用途,当然也可以用来进行图片的数字美颜digital make-up(例如美图秀秀)

    digital make-up:https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py

    识别图片中的人脸

    识别谁出现在照片里

    0bce5a6b146f04cabd27aec6ca49e137.png

    dbe9d2cd49fb393017b4e6a0bba8f417.png

    安装步骤

    本方法支持Python3/python2,我们只在macOS和Linux中测试过,还不知是否适用于Windows。

    使用pypi的pip3安装此模块(或是Python 2的pip2)

    重要提示:在编译dlib时可能会出问题,你可以通过安装来自源(而不是pip)的dlib来修复错误,请见安装手册How to install dlib from source

    https://gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf

    通过手动安装dlib,运行pip3 install face_recognition来完成安装。

    使用方法命令行界面

    当你安装face_recognition,你能得到一个简洁的叫做face_recognition的命令行程序,它能帮你识别一张照片或是一个照片文件夹中的所有人脸。

    首先,你需要提供一个包含一张照片的文件夹,并且你已经知道照片中的人是谁,每个人都要有一张照片文件,且文件名需要以该人的姓名命名;

    688d04b9b558386aff8d9481d5dcb4e8.png

    然后你需要准备另外一个文件夹,里面装有你想要识别人脸照片;

    6f1f1b3b3154416050a7a857f4079b9c.png

    接下来你只用运行face_recognition命令,程序能够通过已知人脸的文件夹识别出未知人脸照片中的人是谁;

    0a37083474c7c30400c0e971cd3a782b.png

    针对每个人脸都要一行输出,数据是文件名加上识别到的人名,以逗号分隔。

    如果你只是想要知道每个照片中的人名而不要文件名,可以进行如下操作:

    8ba8407b1496b10abe46b2268a789075.png

    Python模块

    你可以通过引入face_recognition就能完成人脸识别操作:

    API 文档:https://face-recognition.readthedocs.io.

    在图片中自动识别所有人脸

    请参照此案例this example:https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

    识别图片中的人脸并告知姓名

    请参照此案例this example:https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

    Python代码案例

    所有例子在此 here.

    https://github.com/ageitgey/face_recognition/tree/master/examples

    ·找到照片中的人脸Find faces in a photograph

    https://github.com/ageitgey/face_recognition/blob/master/examples/find_faces_in_picture.py

    ·识别照片中的面部特征Identify specific facial features in a photograph

    https://github.com/ageitgey/face_recognition/blob/master/examples/find_facial_features_in_picture.py

    ·使用数字美颜Apply (horribly ugly) digital make-up

    https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py

    ·基于已知人名找到并识别出照片中的未知人脸Find and recognize unknown faces in a photograph based on photographs of known people

    https://github.com/ageitgey/face_recognition/blob/master/examples/recognize_faces_in_pictures.py

    人脸识别方法的原理

    如果你想学习此方法的人脸定位和识别原理,请参见read my article。

    https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78注意事项

    ·本人脸识别模型仅限用于成人,对于儿童来说效果不佳,模型可能会由于使用默认的对比阈值(0.6)而无法清楚识别出儿童的脸。

    热门文章推荐

    责任编辑:

    展开全文
  • 前面发布了人脸识别门禁系统的系列视频教程,现在补上图文版,方便查看指令和代码,这篇文章也是对之前的文章的更新与完善。本系统中树莓派调用百度智能云人脸识别API,实现人脸识别门禁,主要分为三个模块来实现:...

    前面发布了人脸识别门禁系统的系列视频教程,现在补上图文版,方便查看指令和代码,这篇文章也是对之前的文章的更新与完善。

    本系统中树莓派调用百度智能云人脸识别API,实现人脸识别门禁,主要分为三个模块来实现:7226e251a1b15f7d0c41e657d1692068.png

    一、人脸识别API的注册于人脸库管理

    1.1创建应用

    在百度智能云人脸识别项目中创建应用,7adf12a0544d3c1118ae0f0a4a81337b.png

    1.2下载SDK

    创建完毕后,下载SDK文档,因为是在树莓派中运行,所以选中python HTTP SDK下载到本地。8db99778753475b5903448f53a8f9f46.png

    1.3 记录AppID

    查看应用详情,记录下AppID、API Key和Secret Key,在后面的代码中会用到。61a0be3d5a38c42f66c23a339dd5abf2.png

    1.4 在人脸库管理中添加人脸数据

    在人脸库管理中新建用户组,再从用户组中新建人脸id和照片;e5df6760bdd12b135e1640f2b35e027c.pngc5c29315d1a4cf53ca8cc111b92ab36e.png

    二、树莓派本地环境搭建

    2.1 sdk传输至树莓派上

    把下载好的SDK压缩包解压,可以通过ftp或者smb的方式, 如何使用smb,请见我的另一篇文章树莓派安装Samba服务把文件传输到到树莓派你想放的目录下,然后cd进入该目录;

    2.2 安装pip以及setuptools

    如果你的树莓派以及安装好了这两款软件,直接跳至2.3,如果还没,可以按一下步骤安装这两款重要的软件;

    2.2.1 安装setuptools

    到官网(https://pypi.org/project/setuptools/) a)下载 setuptools 安装包

    wget https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip

    b)解压缩

    unzip setuptools-40.6.3.zip

    c)安装

    cd setuptools-40.6.3

    sudo python setup.py build

    sudo python setup.py install

    2.2.2 安装pip

    a)下载 到官网(https://pypi.org/project/pip/)下载pip安装包

    wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz

    2)解压

    tar zxvf pip-18.0.tar.gz

    3)安装

    cd ../pip-18.0/

    sudo python3 setup.py install

    2.3 安装人脸识别SDK

    当你的树莓派装好pip以及setuptools之后,进入到树莓派的SDK目录下,执行一下命令:

    sudo pip install baidu-aip //安装百度AI模块

    显示如下界面百度AI模块就成功了:a75586cfe523d0ee35aabd47a6c91e1a.png再继续安装当前的API,

    sudo python3 setup.py install

    2.4 测试人脸识别是否成功

    以上我们就把树莓派的人脸识别基础环境配置好了,现在我们测试一下系统是否能够正常运行 可以直接在sdk文件夹aip-python-sdk-2.2.15里创建一个测试文件test.py,

    from aip import AipFace

    from picamera import PiCamera

    import urllib.request

    import RPi.GPIO as GPIO

    import base64

    import time

    #百度人脸识别API账号信息

    APP_ID = '18333248'

    API_KEY = 'HrfpWmTASGVQTGQ2UQO29IGY'

    SECRET_KEY ='7x8m9vuKWH5XeVV8GeLkly8OkqUpzfPz'

    client = AipFace(APP_ID, API_KEY, SECRET_KEY)#创建一个客户端用以访问百度云

    #图像编码方式

    IMAGE_TYPE='BASE64'

    camera = PiCamera()#定义一个摄像头对象

    #用户组

    GROUP = 'yusheng01'

    #照相函数

    def getimage():

    camera.resolution = (1024,768)#摄像界面为1024*768

    camera.start_preview()#开始摄像

    time.sleep(2)

    camera.capture('faceimage.jpg')#拍照并保存

    time.sleep(2)

    #对图片的格式进行转换

    def transimage():

    f = open('faceimage.jpg','rb')

    img = base64.b64encode(f.read())

    return img

    #上传到百度api进行人脸检测

    def go_api(image):

    result = client.search(str(image, 'utf-8'), IMAGE_TYPE, GROUP);#在百度云人脸库中寻找有没有匹配的人脸

    if result['error_msg'] == 'SUCCESS':#如果成功了

    name = result['result']['user_list'][0]['user_id']#获取名字

    score = result['result']['user_list'][0]['score']#获取相似度

    if score > 80:#如果相似度大于80

    if name == 'yusheng_02':

    print("欢迎%s !" % name)

    time.sleep(3)

    if name == 'xiaoming':

    print("欢迎%s !" % name)

    time.sleep(3)

    if name == "xiaoyu":

    print("欢迎%s !" % name)

    else:

    print("对不起,我不认识你!")

    name = 'Unknow'

    return 0

    curren_time = time.asctime(time.localtime(time.time()))#获取当前时间

    #将人员出入的记录保存到Log.txt中

    f = open('Log.txt','a')

    f.write("Person: " + name + " " + "Time:" + str(curren_time)+'\n')

    f.close()

    return 1

    if result['error_msg'] == 'pic not has face':

    print('检测不到人脸')

    time.sleep(2)

    return 0

    else:

    print(result['error_code']+' ' + result['error_code'])

    return 0

    #主函数

    if __name__ == '__main__':

    while True:

    print('准备')

    if True:

    getimage()#拍照

    img = transimage()#转换照片格式

    res = go_api(img)#将转换了格式的图片上传到百度云

    if(res == 1):#是人脸库中的人

    print("开门")

    else:

    print("关门")

    print('稍等三秒进入下一个')

    time.sleep(3)

    当你把py文件保存到树莓派中,ddbd8c3801411ffdd017276845548678.png可直接通过Tonny打开它,而且可以直接运行该程序,ba5033c7fd48d2585c4a0427c447792b.png通过控制台打印输出,我们模拟了真实情况,已经可以知道现在树莓派的人脸识别已经能正常工作了。

    三、Arduino蓝牙舵机控制程序

    3.1 硬件准备
    • 树莓派3b

    • Arduino UNO R3

    • HC-05

    • 舵机SG90

    • 杜邦线若干

    6013283118ddde6cab14e0209347ec71.png

    3.2 连接图

    3c5f73eba743bbd04ca51983f5231f09.png

    3.3 树莓派端配置

    树莓派自带蓝牙功能,我们可以调用系统指令发送蓝牙信号,

    3.3.1 安装树莓派蓝牙模块pybluez

    安装完成后再继续下一步操作;若想让树莓派使用bluetooth,必须给树莓派安装pybluez模块

    sudo apt-get install libbluetooth-dev //安装蓝牙开发库

    python3 -m pip install pybluez //安装pybluez

    3.3.2 将树莓派手动连接至HC-05

    打开树莓派桌面端,点击蓝牙图标后点击add device,鼠标在选择模块的时候,后面会有该模块的蓝牙地址,我们需要把它记下来,后面的蓝牙控制代码中需要用到。7a8950764b147e5701127e52d1c7085b.png选择HC-05模块,配对密码是1234;9c0b091eedb9952202eab834dcb7a720.png

    配对成功后,后面程序就可以直接运行了

    3.4 定义树莓派蓝牙控制功能

    创建一个bluetooth_test.py文件,分别定义初始化指令、开门指令、关门指令,分别发送字符串’1‘,’2’,‘3’;

    import bluetooth

    def servo_init():#初始化指令

    bd_addr = "20:16:08:08:39:75" #arduino连接的蓝牙模块的地址

    port = 1

    sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )

    sock.connect((bd_addr, port)) #创建连接

    sock.send("1") #发送数据

    sock.close() #关闭连接

    def bt_open():#开门指令

    bd_addr = "20:16:08:08:39:75"

    port = 1

    sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )

    sock.connect((bd_addr, port))

    sock.send("2")

    sock.close()

    def bt_close():#关门指令

    bd_addr = "20:16:08:08:39:75"

    port = 1

    sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )

    sock.connect((bd_addr, port))

    sock.send("3")

    sock.close()

    3.5 Arduino连接方式
    3.5.1 Arduino与HC-05蓝牙模块的连接

     由于我们用的是Arduino UNO R3没有蓝牙模块,要接收蓝牙数据,可以通过外接HC-05蓝牙模块解决。


    HC-05===Arduino

    • RXD<==>TX

    • TXD<==>RX

    • VCC<==>5v

    • GND<==>GND

    注意:HC-05的vcc一定要接5v,如果接3.3v,虽然可以亮灯工作,但是接收一次数据后会自动断开连接,刚开始我找半天没找到原因,原来是电压给低了,这是一个小细节要注意一下。

    3.5.2 Arduino与舵机模块的连接

    SG90 舵机导线三种颜色,含义分别是:

    棕色:GND

     红色:VCC

    黄色:DATA

    舵机与Arduino的连接方式:

    舵机SG90===Arduino

    • DATA<==>D9

    • VCC<==>5v

    • GND<==>GND

    3.6 Arduino控制代码

    创建工程烧录到Arduino开发板中即可

    #include

    Servo myservo;

    void setup() {

    Serial.begin(9600); //监听软串口

    myservo.attach(9); //舵机控制

    myservo.write(0);

    // delay(10000);

    }

    void loop() {

    while(Serial.available())

    {

    char c;

    c = Serial.read(); //读取串口数据

    Serial.println(c);

    switch(c)

    {

    case '1':servo_init();

    break;

    case '2':open_the_door();

    break;

    case '3':close_the_door();

    }

    }

    }

    void open_the_door() //舵机开门

    {

    myservo.write(170);

    }

    void close_the_door() //舵机关门

    {

    myservo.write(0);

    }

    void servo_init() //舵机初始化

    {

    myservo.write(10);

    }

    3.7 树莓派控制代码

    我们的树莓派已经准备妥当了,在test.py的基础上,我们再修改一下:

    # 2020-3-16修正版本

    from aip import AipFace

    from picamera import PiCamera

    import urllib.request

    import RPi.GPIO as GPIO

    import base64

    import time

    import bluetooth

    from bluetooth_test import bt_open,servo_init,bt_close

    #百度人脸识别API账号信息

    APP_ID = '18332624'

    API_KEY = '2QoqxCzAsZGT9k5CMeaIlPBs'

    SECRET_KEY ='9wOlqd4sPvLc7ZKtLxMlBVkcikXHZ4rz'

    client = AipFace(APP_ID, API_KEY, SECRET_KEY)#创建一个客户端用以访问百度云

    #图像编码方式

    IMAGE_TYPE='BASE64'

    camera = PiCamera()#定义一个摄像头对象

    #用户组

    GROUP = 'yusheng01'

    #照相函数

    def getimage():

    camera.resolution = (1024,768)#摄像界面为1024*768

    camera.start_preview()#开始摄像

    time.sleep(2)

    camera.capture('faceimage.jpg')#拍照并保存

    time.sleep(2)

    #对图片的格式进行转换

    def transimage():

    f = open('faceimage.jpg','rb')

    img = base64.b64encode(f.read())

    return img

    #上传到百度api进行人脸检测

    def go_api(image):

    result = client.search(str(image, 'utf-8'), IMAGE_TYPE, GROUP);#在百度云人脸库中寻找有没有匹配的人脸

    if result['error_msg'] == 'SUCCESS':#如果成功了

    name = result['result']['user_list'][0]['user_id']#获取名字

    score = result['result']['user_list'][0]['score']#获取相似度

    if score > 80:#如果相似度大于80

    if name == 'yin_danli':

    print("欢迎%s !" % name)

    time.sleep(1)

    if name == 'danli':

    print("欢迎%s !" % name)

    time.sleep(3)

    if name == "yusheng_02":

    print("欢迎%s !" % name)

    time.sleep(3)

    else:

    print("对不起,我不认识你!")

    name = 'Unknow'

    return 0

    curren_time = time.asctime(time.localtime(time.time()))#获取当前时间

    #将人员出入的记录保存到Log.txt中

    f = open('Log.txt','a')

    f.write("Person: " + name + " " + "Time:" + str(curren_time)+'\n')

    f.close()

    return 1

    if result['error_msg'] == 'pic not has face':

    print('检测不到人脸')

    time.sleep(3)

    return -1

    else:

    print(result['error_code']+' ' + result['error_code'])

    return 0

    #主函数

    if __name__ == '__main__':

    servo_init() #舵机复位,初始化一次就够了

    while True:

    print('准备开始,请面向摄像头 ^_^')

    if True:

    getimage()#拍照

    img = transimage() #转换照片格式

    res = go_api(img) #将转换了格式的图片上传到百度云

    if(res == 1): #是人脸库中的人

    bt_open()

    print("欢迎回家,门已打开")

    elif(res == -1):

    print("我没有看见你,我要关门了")

    time.sleep(3)

    bt_close()

    else:

    print("关门")

    bt_close()

    time.sleep(3)

    print('好了')

    time.sleep(5)


    注意:

    运行程序后,如果报错


    bluetooth.btcommon.BluetoothError: [Errno 112] Host is down

    你则需要回到桌面端,将树莓派与HC-05重新配对一下,再运行一下就好了。至此,当我们运行该代码,把脸凑到摄像头前,舵机自动开门,把脸移开则舵机自动关门。至此 ,智能门禁系统就做好啦!


    配套视频教程:

    8017de512256c0cd924344ca6ca89850.png

    d17ca0c410249baed32acc0c76ecec7f.png

    d63e4e0d22e214ded802f3d909bf816d.png

    ec9a1fc38861a5ffc012877164511055.gif

    展开全文
  • 用PCA算法实现的人脸识别系统,算法经过ORL人脸库验证了有效性,上传的这个代码可以自己构建人脸库,采集摄像头数据实时进行人脸识别,不足的是考勤数据导出部分的程序没有写,MATLAB当初只是用来做算法验证,数据...
  • 人脸识别门禁系统设计原理: 简单利用TigerBoard开发板模拟下人脸检测门禁系统,以继电器开关来代替门禁上电磁锁的开关。 人脸识别门禁系统硬件要求: 1.TigerBoar开发板 2. USB免驱摄像头 3. 继电器 4. 杜邦线若干 5....
  • 使用树莓派+python+Opencv+face_confignition来实现一个人脸识别系统。 1.安装树莓派系统 1.1配置树莓派需要的设备和工具 SD卡,读卡器,SDimage和SD 2.配置python虚拟环境 ...7.人脸识别程序代码与执行 ...

    使用树莓派+python+Opencv+face_confignition来实现人脸识别系统。该文章为树莓派系统配置

    1.安装树莓派系统

    1.1配置树莓派需要的设备和工具
    SD卡,读卡器,SD Card Formatter和Win32 Disk Imager
    1.2格式化SD卡
    使用SD Card Formatter,.
    在这里插入图片描述
    直接按照图片操作两步,便可以将SD卡格式化
    1.3.给SD卡写入系统
    树莓派系统下载地址下载镜像文件。如果下载下来是zip格式的,需要将其解压。个人建议下载:Raspbian-buster-full
    下载下来系统后使用Win32 Disk Imager工具,将镜像文件写入SD卡
    在这里插入图片描述
    按照图片执行,需要提前下载树莓派系统,下载网址为:

    2.更新系统库

    首先需要连接网络,使用WiFi连接

    sudo apt-get clean
    sudo apt-get purge wolfram-engine
    sudo apt-get purge libreoffice*
    sudo apt-get autoremove
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get install python-dev -y
    sudo apt-get install aptitude -y
    sudo apt-get install python-serial -y
    sudo apt-get install build-essential  -y
    sudo apt-get install cmake -y
    sudo apt-get install git -y
    sudo apt-get install pkg-config -y
    sudo apt-get install libjpeg-dev -y
    sudo apt-get install libtiff5-dev -y
    sudo apt-get install libjasper-dev -y
    sudo apt-get install libpng12-dev -y
    sudo apt-get install libavcodec-dev -y
    sudo apt-get install libavformat-dev -y
    sudo apt-get install libgtk2.0-dev -y
    sudo apt-get install libgtk-3-dev -y
    sudo apt-get install libatlas-base-dev -y
    sudo apt-get install libqtgui4 -y
    sudo apt-get install libqt4-test -y
    sudo apt-get install libcanberra-gtk* -y
    

    2.配置python虚拟环境

    sudo apt-get install virtualenv -y
    sudo apt-get install virtualenvwrapper -y
    sudo pip3 install virtualenv  virtualenvwrapper
    sudo nano ~/.bashrc
    

    将以下内容写入到文件最后:

    	export WORKON_HOME=$HOME/.virtualenv
    	source /usr/share/virtualenvwwrapper/virtualenvwwrapper.sh
    

    ctrl+o保存更改 -》enter-》ctrl+x退出

    source ~/.bashrc
    cd ~
    mkvirtualenv -p /usr/bin/python3   ~/my_python3
    source ~/my_python3/bin/activate    //开启python虚拟环境
    

    以下过程都是在虚拟环境下进行的

    3.安装opencv库

    pip install numpy
    pip install matplotlib
    pip install pandas
    pip install scipy==1.2.1
    pip install pillow==7.1.0
    pip install opencv-python==4.3.0.38
    

    4.安装face_confignition库

    pip install face-recognition==1.0.0  
    

    5.安装Rpi.gpio库

    sudo apt-get install python-rpi.gpio
    pip install rpi.gpio
    

    6.设置程序自启动

    直接简单粗暴:

    sudo nano /ect/rc.local
    

    在 exit 0 语句上方加入一句话:

    /home/pi/my_python3/bin/python  /home/pi/Desktop/face_recognize/face_recognize.py
    
    展开全文
  • 人脸识别门禁系统设计与实现摘要关键词1、选题意义2、需求分析3、总体设技4、实现过程4.1 注册百度云4.2 创建应用4.3 获取密钥,AppID、API Key和Secret key5、代码分析6、总结参考文献 摘要 此项目主要用于任何门类...

    摘要

    此项目主要用于任何门类或者智能家具类场所,主要技术使用到了以及树莓派gpio引脚应用,以及百度云api的熟练使用对人脸进行拍照识别后上传百度云识别图像处理

    关键词

    树莓派 人脸识别 OpenCv 百度云API

    1、选题意义

    随科技的不断发展,安全性的要求也不断提高,IC卡等传统身份识别工具已不能满足社会需求。所以从通用性、安全性、成熟性和造价性等多方面综合考虑,研究新的识别工具是一个必然的趋势。基于人脸识别的门禁系统的设计,能够提高传统安保行业的安全性、方便性、直观性等,最为有效的杜绝了门禁管理中的人为因素,充分体现了门禁管理的人工智能性,避免不必要的安全隐患和人员纠纷。因此本次毕业设计选择了人脸识别门禁系统的研究与实现,以保证门禁数据的真实性,真正做到安全、方便和直观的门禁管理,从而进一步提高公司、仓库、家庭等地的安保水平和管理稳定性。

    2、需求分析

    本次设计将以微型计算机(树莓派)为核心,需选择合适的电源模块、检测模块、数据存储模块、键盘模块、显示模块和声光报警模块,完成人脸识别系统的检测并报警处理的设计。要求能够将出入门禁系统的人员面部进行识别,能够在人脸数据匹配预存数据库资料时启动门禁系统中开门系统,当人脸数据不匹配预存数据库资料时启动门禁系统中闭门系统,实现防范防盗的作用,创造安全良好的生活工作环境。

    3、总体设技

    在这里插入图片描述

    4、实现过程

    4.1 注册百度云

    在这里插入图片描述

    4.2 创建应用

    在这里插入图片描述

    4.3 获取密钥,AppID、API Key和Secret key

    这三个后面的程序需要用到
    在这里插入图片描述

    ###4.4 上传人脸库
    在这里插入图片描述

    5、代码分析

    百度云服务注册完成、下载完成SDK后我们就开始写程序,程序的思路很简单,通过树莓派按键中断拍摄一张照片,然后通过SDK来检测照片里面的人是谁,如果这个人在人脸库里面,打开继电器进行开门,如果不在人脸库就关门。

    #百度人脸识别API账号信息
    APP_ID = '23355061'
    API_KEY = '0YrVSqc3VjqYI3hBHbgeO5DZ'
    SECRET_KEY = 'vLy5l7PKwSmblU5SRae1bKZFx9dHAIVq '
    client = AipFace(APP_ID, API_KEY, SECRET_KEY)  
    # 创建一个客户端用以访问百度云
    
    # 照相函数
    def getimage():
        aap,frame=aaaa.read()
        frame=cv2.flip(frame,1)
        time.sleep(2)
    cv2.imwrite('840f9e867567d00b5f49e985c454606.jpg',frame)
    #图片可以随便起名字
    time.sleep(1)
    
    
    # 对图片的格式进行转换
    def transimage():
        f = open('微信图片_20201224205942.jpg', "rb")
    #打开本地图片
        data = base64.b64encode(f.read())  
    # 编码格式,技术文档要求
        f.close()
        image = str(data, 'UTF-8')
        return image
    result = client.search(image, IMAGE_TYPE, GROUP); 
    # 在百度云人脸库中寻找有没有匹配的人脸返回结果
    
    

    6、总结

    产品当前已制作完成,各项性能良好,未来将涉及产品的大面积推广及对系统的优化,并对该系统进行进一步改进与完善,使其更加适合各大场景使用,有助于推动生活的智能、快捷、安全。

    参考文献

    链接: https://blog.csdn.net/qq_36588941/article/details/89838770?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control.
    链接: http://www.fx361.com/page/2019/0329/4916611.shtml .

    展开全文
  • 用树莓派实现人脸识别打卡门禁系统的构建背景功能硬件效果源码摄像头测试代码录入信息人脸识别结论 背景 源于实习公司的人脸识别打卡系统,完成之前的项目后正好没有事情干,于是想到了这个,公司的这个打卡系统操作...
  • 代码,模拟宿舍门禁系统,实时人脸检测,人脸识别,模拟登录,可查询数据。 视频:https://live.csdn.net/v/95485 博客:https://blog.csdn.net/qq_26696715/article/details/109890766
  • 人脸识别门禁一体机链接adb操作 Today接到一个在面板机调试推流工具的项目,数据线链接上面板机以后输入adb命令是这样子的。设置里打开开发人员选项—打开USB 调试还是不行。 一番尝试后,反编译系统自带的推流...
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。案例这里我们还是使用 opencv 中自带了 haar...
  • 人脸检测与识别是计算机视觉与模式识别领域中重要...像头获取的人脸信息,编写程序实现人脸检测与识别门禁系统。最后对人脸识别率、检测 速度等指标进行了验证,实验证明,识别可信度为 82%,平均检测用时为 30 毫秒。
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。案例这里我们还是使用 opencv 中自带了 haar...
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。下面话不多说了,来一起看看详细的介绍吧案例...
  • Android人脸识别的初步学习前言基本知识1. 什么是人脸识别2. 技术流程人脸图像采集及检测人脸图像...随着技术发展,人脸识别在生活中的应用越发广泛,包括门禁系统,监控与检票时的身份辨识,移动支付,或是美颜...
  • 人脸识别(python版).txt

    2020-02-08 17:50:16
    代码用于在树莓派上利用自己配置的摄像头进行人脸识别,适合用来开发智能门禁系统。读者可以训练自己的人脸模型来应用。
  • 人脸识别中的活体检测算法综述

    万次阅读 2018-09-19 15:33:25
    其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。 书的购买链接 书的勘误,优化,源代码资源 1. 什么是活体检测? 判断...
  • 本文是从智慧门禁系统项目工程实践中摘取出人脸识别模块来进行一个记录。 一、人脸识别器软件设计 1.1 总体流程图 1.2 系统代码目录结构 二、模块详细设计 人脸识别器模块为了方便后台进行调用,给出了一个接口,...
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。案例这里我们还是使用 opencv 中自带了 haar...
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。案例这里我们还是使用 opencv 中自带了 haar...
  • 前言上一篇与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。案例这里我们还是使用 opencv 中自带了 haar人脸...
  • 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。 下面话不多说了,来一起看看详细的介绍吧 案例 ...
  • 前言上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。下面话不多说了,来一起看看详细的介绍吧案例...
  • 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等。 案例 这里我们还是使用 opencv 中自带了...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

人脸识别门禁系统代码