精华内容
下载资源
问答
  • 2021-09-08 11:54:13

    基于MATLAB的人脸识别研究

    【摘要】深入分析了主成分分析(Principal Component Analysis,PCA)方法的基本原理,PCA方法最显著的优点是能用低维特征向量来估计原始样本,基于此特点将它用来实现对人脸的识别。此外本文还深入分析了PCA中遇到的特征值选择和距离准则的选取问题。

    【关键词】MATLAB;数字图像处理;人脸识别

    1.引言

    人脸识别是当前计算机模式识别领域中的一个非常活跃的研究课题,在安全检测、身份验证、军事、商业等领域具有广泛的应用前景。基于人脸识别的自动身份认证具有重要的理论意义和应用价值。但是通过人脸图像来进行识别仍然面临巨大的挑战,要使这一技术成为完全成熟的技术还有许多工作需要做。

    2.人脸识别的研究内容

    人脸识别(Face Recognition)是指基于己知的人脸样本库,利用图像处理和模式识别技术从静态或动态场景中,识别或验证一个或多个人脸。从广义上讲,其研究内容包括以下五个方面:

    (1)人脸检测(Face Detection):即从动态的场景或复杂的背景中检测出人脸的存在并且确定其位置,然后分离出来。这一任务主要受光照、噪声、头部倾斜度以及各种遮挡的影响。

    (2)人脸表征(Face Representation):也称为人脸特征提取,即采用某种表示方法来描述检测出的人脸与数据库中已知人脸。通常的表示方法包括几何特征(如欧氏距离、曲率、角度等)、代数特征(如矩阵特征矢量)、固定特征模板、特征脸、云纹图等。

    (3)人脸识别(Face Identification):即将待识别的人脸与数据库中已知人脸比较,得出相关信息。这一过程的核心是选择适当的人脸表征方法与匹配策略。

    (4)表情分析(Facial Expression Analysis):即对待识别人脸的表情进行分析,并对其加以归类。

    (5)生理分类(Physical Classificat-ion):即对待识别人脸的生理特征进行分析,得出其年龄、性别等相关信息,或者从几幅相关的图像推导出希望得到的人脸图像,如从父母图像推导出孩子的脸部图像、基于年龄增长的人脸图像估算等。

    相对来说,人脸的表情分析、生理分类是两个非常难的研究方向,不过它在计算机图形学,尤其是计算机动画等领域有很广泛的应用前景,因此在最近几年得到了国内外很多从事计算机视觉(Computer Vision)的研究人员的注意。本论文主要介绍狭义的静态人脸图像识别方法,研究的重点是人脸特征提取与识别的关键技术,不涉及表情识别和生理分类方面。

    人脸识别系统通常主要由人脸检测与定位,人脸特征提取与识别两部分组成,在这两部分的基础上还包括图像预处理等步骤。其主要实现步骤如下:

    (1)图像预处理

    由于实际成像系统多少存在不完善的地方以及外界光照条件等因素的影响,在一定程度上增加了图像的噪声,使图像变得模糊,且对比度低、区域灰度不平衡。为了提高图像的质量,保证提取特征的有效性,进而提高识别系统的识别率,在提取特征之前,有必要对图像进行预处理操作,以改善图像质量,保证提取特征的有效性。

    (2)人脸的检测与定位

    从输入图像中找出人脸及人脸所在的位置,并将人脸从背景中分割出来,输出为分割好的人脸局部图像。

    (3)图像归一化

    图像归一化属于图像预处理的范畴。在对人脸图像进行特征提取和分类之前一般需要做几何归一化和灰度归一化。几何归一化是指根据人脸定位结果将图像中人脸变换到同一位置和同样大小,灰度归一化是指对图像进行光照补偿等处理,光照补偿能够一定程度的克服光照变化的影响而提高识别率[3,4]。

    (4)特征提取与识别

    对于归一化了的人脸图像进行面部的各特征提取,将原始人脸图像中的数据映射到特征空间,对人脸进行特征建模,建立的特征模型主要用于区分各人脸之间的差异性,为人脸识别分类打下基础。由于原始的人脸图像数据量是相当大的,为了有效的实现分类识别,就要对原始数据进行变换,得到最能反映分类本质的特征,如何提取稳定和有效的特征是识别系统成败的关键。人脸识别验证是整个自动人脸识别系统的最后一个步骤,根据面部特征的提取结果,将待检测人脸与人脸库中人脸数据进行比较,判断出待检验人脸的身份信息。

    一个完整的人脸自动识别系统如图1所示。

    对以上人脸识别系统进行分析可以看出,人脸识别研究需要考虑以下几个主要方面:如何准确快速的检测并分割出人脸部分;在非约束环境下,如何采用一些必要的处理方法来提高系统的鲁棒性,寻找一种受人脸姿态变化和光照条件等因素影响较小的特征提取方法;如何有效的变化补偿、特征描述和准确的分类等等,以上方面均直接影响人脸识别的速度与准确度。

    3.人脸识别的具体过程

    在实验编程中,我们利用的是MATLAB

    7.0平台。MATLAB是由MathWorks公司推出的一套高性能的数值计算和可视化的数学软件。MATLAB编程运算与人进行科学计算的思路和表达方式完全一致。不像学习其他高级语言如Basic、C那样难于掌握。MATLAB的基本元素是矩阵,所以其非常适合用来进行图像处理。MATLAB具有强大的数值计算和图示能力。具有非常丰富的工具箱(ToolBox)。在国内外高等院校中,已成为高等数学、数值分析、数字信号处理、自动控制理论以及工程应用等课程的基本教学工具。

    3.1 将训练样本图像输入程序

    采用的训练样本图像为包含4个人的图像样本集,以验证本程序的通用性。图2为本实验要输入到识别程序中的部分人脸样本图像。

    3.2 程序对输入的图像进行预处理

    本程序对输入的图像进行的预处理包括有彩色图像到灰度图像的转换、图像的噪声消减、图像的尺寸归一化等。人脸识别需要将人脸图像样本尺寸归一化,即缩放变换到固定的尺寸。在本程序中,为方便图像矩阵的计算,提升计算速度,将图像统一缩放到120×120大小。图3为经过预处理后得到的灰度图像。

    3.3 人脸图像训练阶段

    利用基于PCA+LDA算法的人脸识别算法进行人脸识别,该环节包括训练和识别两个环节,对人脸样本图像进行训练则会产生平均脸和特征脸。图5-4为训练样本集中各人脸图像的特征脸,图4为训练样本集的平均脸。

    3.4 人脸图像识别阶段

    将测试图像输入程序。若经过程序判断待测试图像为人脸图像库中的人脸图像,则显示识别结果。图5为测试例子和识别结果。

    4.人脸识别实验结果及分析

    由于受实验条件所限,未能利用该人脸识别系统采集大量不同的人脸实验样本,只是由简单人脸图像数据库来充分验证系统的性能。实验中,人脸库中有4个各自4幅图片,从中每人各随机选择3幅人脸图像作为训练样本,共同作为训练样本集。其余每人所剩下的1幅人脸图像作为测试样本集。所有照片比较充分的反映了同一个人的不同人脸图像因光照变化、面部细节变化等因素而产生的差异。摄像头获取的照片拍摄于不同的时间,且同样允许在一定范围内的光照、表情及面部角度的变化。该人脸识别系统采用基于PCA+LDA算法的人脸识别方法,具体实现步骤如前文所述。按照上述训练及测试样本的选取,在不同的人脸样本的情况下,利用该系统进行人脸识别,均获得了80%以上的识别率。

    从实验结果可以看出,即使所采用的训练及测试样本集中的图像样本均为具有一定姿态变化,在不同光照条件下获取的图像,但该人脸识别系统仍具有很好的识别效果。另外,该人脸识别系统采用优秀的人脸识别算法,降低了系统的运算量,因此具有较高的识别速度。这充分说明了运用PCA+LDA方法进行人脸识别的可行性。

    本文所设计的人脸识别系统实现了人脸识别主要模块的功能,但距离一个具有实时性的快速自动人脸识别系统还相差较远,在系统的构建方面还有许多工作要做。针对该系统现状,在今后的工作中,还要对其作进一步的完善。

    参考文献

    [1]王蕴红,朱勇,谭铁牛.基于虹膜识别的身份鉴别[J].自动化学报,2002,28(11):l-10.

    [2]梁路宏.人脸检测与跟踪研究[D].清华大学博士论文,2001.

    [3]程云鹏.矩阵论[M].西安:西北工业大学出版社,2003,2.

    更多相关内容
  • 该系统结合基于ResNet的小人脸识别技术,能大规模 检测并识别上课学生,教务管理者只需在管理平台添加课表,设置每节课的考勤时 间以及图像采集次数,系统便按照预定时间实现自动化考勤,快速完成学生的签到、签退...
  • 本系统要实现基于人脸识别的考勤打卡所以使用Python下的Opencv,Flask以及Mysql数据库来实现考勤系统人脸识别验证的功能。首先对Opencv下的LPBH,Eigenfaces和Fisherfaces三种人脸识别算法分别进行模型训练和测试,...
  • Python基于人脸识别的智能考勤系统源代码,采用Pyqt5+MySQL+Opencv,
  • 整个小说网站采用vue-cli脚手架搭件,前后端分离flask+vue,在登录的时候可以采用人脸登录和密码登录,session存储在redis数据库中,mysql存储用户书架以及账号密码相关信息和所有书籍信息
  • 参考face-api.jshttps://github.com/justadudewhohacks/face-api.js#face-api.js-for-the-browse功能第一阶段实现对图片中人脸识别并打上标签(比如:人名) 第二阶段使用摄像头实现对人物的识别,比如典型的应用做...

    参考face-api.js https://github.com/justadudewhohacks/face-api.js#face-api.js-for-the-browse8456a96fa472c40d28333b892ea07795.png

    5be2746be836fb042c71af38d171bee5.png

    功能

    第一阶段实现对图片中人脸的识别并打上标签(比如:人名)  第二阶段使用摄像头实现对人物的识别,比如典型的应用做一个人脸考勤的系统fa2db873c35060da335990477d9b08c9.png

    资源face-api.js https://github.com/justadudewhohacks/face-api.js/

    Face-api.js 是一个 JavaScript API,是基于 tensorflow.js 核心 API 的人脸检测和人脸识别的浏览器实现。它实现了一系列的卷积神经网络(CNN),针对网络和移动设备进行了优化。filepond https://github.com/pqina/filepond

    是一个 JavaScript 文件上传库。可以拖入上传文件,并且会对图像进行优化以加快上传速度。让用户体验到出色、进度可见、如丝般顺畅的用户体验。确实很酷的一款上传图片的开源产品。fancyBox https://fancyapps.com/fancybox/3/

    是一个 JavaScript 库,它以优雅的方式展示图片,视频和一些 html 内容。它包含你所期望的一切特性 —— 支持触屏,响应式和高度自定义。

    设计思路准备一个人脸数据库,上传照片,并打上标签(人名),最好但是单张脸的照片,测试的时候可以同时对一张照片上的多个人物进行识别;

    提取人脸数据库中的照片和标签进行量化处理,转化成一堆数字,这样就可以进行比较匹配;

    使用一张照片来测试一下匹配程度。

    代码具体实践步骤

    还是先来看看代码吧,做这类开发,并没有想象中的那么难,因为难的核心别人都已经帮你实现了,所以和普通的程序开发没有什么不同,熟练掌握这些api的方法和功能就可以做出非常实用并且非常酷炫的产品。

    1、准备素材:下载每个人物的图片进行分类

    2、上传服务器数据库

    3、测试

    Face Landmark Detection2195040904c9ad600b95add957162817.png

    Face Recognition7e7ec54baf919bae52ba866ad02177f2.png

    Face Expression Recognitione86e86a88d6cc0a8555b473a0a94658e.png

    Running the Examples

    Clone the repository:

    git clone https://github.com/justadudewhohacks/face-api.js.git

    Running the Browser Examples

    cd face-api.js/examples/examples-browser

    npm i

    npm start

    Browse to http://localhost:3000/.

    Running the Nodejs Examples

    cd face-api.js/examples/examples-nodejs

    npm i

    Now run one of the examples using ts-node:

    ts-node faceDetection.ts

    Or simply compile and run them with node:

    tsc faceDetection.ts

    node faceDetection.js

    代码·解析

      这里对face-api.js类库代码做一下简单的说明。852c21a6b10a9fdcd192c070adddf53c.png

    c59757b1cfab516666a42b0ebb31e4a2.png

    6c3c4ce8f618b16c1815190540092284.png

    083606940630fb32459c70387fb574a3.png

    face-api 类库介绍

    face-api 有几个非常重要的方法下面说明一下都是来自 https://github.com/justadudewhohacks/face-api.js/ 的介绍在使用这些方法前必须先加载训练好的模型,这里并不需要自己照片进行训练了,face-api.js应该是在tensorflow.js上改的所以这些训练好的模型应该和python版的tensorflow都是通用的。所有可用的模型都在https://github.com/justadudewhohacks/face-api.js/tree/master/weights 可以找到。528c4a059d697356883583c01c524366.png

    非常重要参数设置,在优化识别性能和比对的正确性上很有帮助,就是需要慢慢的微调。8288b6617f5db4df9f3d0f0436c87fc0.png

    f4345fbcff62a356a803d7cf7182707b.png

    9ff2b89a5320262b2da692f3a2e08080.png

    最常用的图片识别方法,想要识别什么就调用相应的方法就好了。9378f35b7fbf1df516e59a50deb75fff.png

    Detecting Faces

    Detect all faces in an image. Returns Array:

    const detections = await faceapi.detectAllFaces(input)

    Detect the face with the highest confidence score in an image. Returns FaceDetection | undefined:

    const detection = await faceapi.detectSingleFace(input)

    By default detectAllFaces and detectSingleFace utilize the SSD Mobilenet V1 Face Detector. You can specify the face detector by passing the corresponding options object:

    const detections1 = await faceapi.detectAllFaces(input, new faceapi.SsdMobilenetv1Options())

    const detections2 = await faceapi.detectAllFaces(input, new faceapi.TinyFaceDetectorOptions())具体可以参考官方Github具体步骤!

    若要知道具体实践,可以关注我们的微信公众号平台“计算机视觉研究院”!5a1cb136fc17ee4abb14595c4635a29d.png

    c0f5acafff5982ac0e7d1f1aa2200ac2.png

    展开全文
  • 接着上一篇Django实战(7)——在线人脸识别系统(第一步、实现图片上传和MySQL数据库的对接,ORM操作数据库)https://blog.csdn.net/qq_41938259/article/details/104562046写: 这是Github地址:...
  • 根据ArcSoft的工具包设计的简单人脸识别DEMO,仅供学习。APPID等需要到ArcSoft注册一个应用获得 开发环境准备: ###开发使用到的软件和工具: Jdk8、mysql5.7、libarcsoft_face.dll(so)、libarcsoft_face_engine....
  • 基于Opencv(c++底层编译)的人脸识别,再利用PyMySQL实现对数据的储存。具体的详细过程可查看我的博文,点开主页即可查看
  • 使用树莓派进行人脸识别,ESP8266进行网络传输,stm32f4控制舵机模拟开关门
  • JAVA、基于虹软人脸识别SDK,springboot+mybatis+mysql 的人脸注册与搜索项目DEMO
  • Django为后端、H5/CSS/JS为前端、MySQL为后端数据库、Redis为缓存、Dlib为人脸识别程序库。该项目为个人学校毕业设计。Python基于人脸识别的门禁管理系统源码,基于人脸识别的门禁管理系统 该项目为宿舍门禁系统管理...
  • 2.人脸识别中用到了深度学习 3.是个完整的考勤签到系统 用C++调用OpenCV库实现人脸检测、人脸关键点定位、面容特征提取; 用Windows版Caffe建立训练模型,将训练好的模型部署到C++程序 MySQL数据库 利用Visual ...
  • 源代码,模拟宿舍门禁系统,实时人脸检测,人脸识别,模拟登录,可查询数据。 视频:https://live.csdn.net/v/95485 博客:https://blog.csdn.net/qq_26696715/article/details/109890766
  • 需求描述 1.将人脸特征信息保存进MySQL数据库。 2.调用摄像头识别人脸...利用opencv、face_recognition、numpy、pymysql等Python第三方类库,官方说法是face_recognition的人脸识别准确率高达99.6%。 2、识别 ...

    需求描述

    1.将人脸特征信息保存进MySQL数据库。

    2.调用摄像头识别人脸,将待识别的人物进行识别,并实时地与数据库中的人脸特征信息进行比对,同时判断出被识别者的身份。

    需求分析

    1、准备

    利用opencv、face_recognition、numpy、pymysql等Python第三方类库,官方说法是face_recognition的人脸识别准确率高达99.6%。

    2、识别

    利用face_recognition,可以很轻易地得到人脸128维的人脸编码,并且通过比对函数,就可以得出想要的结果。

    3、编码

    由于face_recognition的128维的人脸编码是一个numpy ndarray类型,即矩阵,并不能存进数据库,要想存进数据库,必须进行类型转换

    思路:先将矩阵转为列表,再将列表里的每个元素转为字符串,再用字符串拼接的方式拼成一个字符串,这时就可以把特征值存进数据库了。

    4.译码

    既然是特征值的比对,那么从数据库取完数据之后,就需要把字符串重新转为矩阵格式。

    思路:先通过字符串切割,转为列表,再对列表里每个元素转为浮点型(float),最后再转为矩阵。

    5.输出

    常规做法通过人脸识别后想要在图像上输出被识别者姓名,但是opencv有自己的一套编码规范,无法输出中文,如果保存的是中文,那么就会出现乱码的情况。

    中文文字图像显示解决思路:通过调用本地已存在的字体,利用PIL进行格式转换。


    解决方案

    数据库设计 

    FaceSQL.py:MySQL数据库处理相关

    import pymysql
    
    class FaceSQL:
        def __init__(self):
            self.conn = pymysql.connect(
                # 数据库的IP地址
                host="xxx.xxx.xxx.xxx",
                # 数据库用户名称
                user="******",
                # 数据库用户密码
                password="******",
                # 数据库名称
                db="xxx",
                # 数据库端口名称
                port=3306,
                # 数据库的编码方式 注意是utf8
                charset="utf8"
            )
    
        def processFaceData(self, sqlstr, args=()):
            print(sqlstr)
            # 使用 cursor() 方法创建一个游标对象 cursor
            cursor = self.conn.cursor()
            try:
                # 执行sql语句
                cursor.execute(sqlstr, args)
                # 提交到数据库执行
                self.conn.commit()
            except Exception as e:
                # 如果发生错误则回滚并打印错误信息
                self.conn.rollback()
                print(e)
            finally:
                # 关闭游标
                cursor.close()
    
        def saveFaceData(self,id,encoding_str):
            self.processFaceData("insert into face(学号,encoding) values(%s,%s)", (id, encoding_str))
    
        def updateFaceData(self, id, encoding_str):
            self.processFaceData("update face set encoding = %s where 学号 = %s", (encoding_str, id))
    
        def execute_float_sqlstr(self, sqlstr):
            # 使用 cursor() 方法创建一个游标对象 cursor
            cursor = self.conn.cursor()
            # SQL插入语句
    
            results = []
            try:
                # 执行sql语句
                cursor.execute(sqlstr)
                # 获取所有记录列表
                results = cursor.fetchall()
            except Exception as e:
                # 如果发生错误则回滚并打印错误信息
                self.conn.rollback()
                print(e)
            finally:
                # 关闭游标
                cursor.close()
            return results
    
        def sreachFaceData(self, id):
            return self.execute_float_sqlstr( "select * from face where 学号="+id)
    
        def allFaceData(self):
            return self.execute_float_sqlstr( "select * from face ")
    
        def sreach_Info(self,id):
            return self.execute_float_sqlstr( "select * from zstustu where 学号='" + id + "'")

    FaceTools.py: 人脸特征信息处理相关

    import face_recognition
    import numpy
    from os import listdir,path
    from FaceSQL import FaceSQL
    class FaceTools:
        def __init__(self):
            try:
                self.facesql=FaceSQL()
            except :
                print("数据库连接错误")
    
        def encoding_FaceStr(self, image_face_encoding):
            # 将numpy array类型转化为列表
            encoding__array_list = image_face_encoding.tolist()
            # 将列表里的元素转化为字符串
            encoding_str_list = [str(i) for i in encoding__array_list]
            # 拼接列表里的字符串
            encoding_str = ','.join(encoding_str_list)
            return encoding_str
    
        def decoding_FaceStr(self, encoding_str):
            # print("name=%s,encoding=%s" % (name, encoding))
            # 将字符串转为numpy ndarray类型,即矩阵
            # 转换成一个list
            dlist = encoding_str.strip(' ').split(',')
            # 将list中str转换为float
            dfloat = list(map(float, dlist))
            face_encoding = numpy.array(dfloat)
            return face_encoding
    
        def add_Face(self,image_name, id):
            # 加载本地图像文件到一个numpy ndarray类型的对象上
            image = face_recognition.load_image_file("./photo/"+image_name)
            # 返回图像中每个面的128维人脸编码
            # 图像中可能存在多张人脸,取下标为0的人脸编码,表示识别出来的最清晰的人脸
            image_face_encoding = face_recognition.face_encodings(image)[0]
            encoding_str =self.encoding_FaceStr(image_face_encoding)
            # 将人脸特征编码存进数据库
            self.facesql.saveFaceData(id,encoding_str)
    
        def updata_Face(self, image_name, id):
            # 加载本地图像文件到一个numpy ndarray类型的对象上
            image = face_recognition.load_image_file("./photo/"+image_name)
            # 返回图像中每个面的128维人脸编码
            # 图像中可能存在多张人脸,取下标为0的人脸编码,表示识别出来的最清晰的人脸
            image_face_encoding = face_recognition.face_encodings(image)[0]
            encoding_str = self.encoding_FaceStr(image_face_encoding)
            # 将人脸特征编码更新数据库
            self.facesql.updateFaceData(id, encoding_str)
    
        def sreach_Face(self, id):
            face_encoding_strs = self.facesql.sreachFaceData(id)
            # 人脸特征编码集合
            face_encodings = []
            # 人脸特征姓名集合
            face_names = []
            for row in face_encoding_strs:
                name = row[0]
                face_encoding_str = row[1]
                # 将从数据库获取出来的信息追加到集合中
                face_encodings.append(self.decoding_FaceStr(face_encoding_str))
                face_names.append(name)
            return face_names,face_encodings
    
        def load_faceoffile(self):
            filepath = 'photo'
            filename_list = listdir(filepath)
            # 人脸特征编码集合
            face_encodings = []
            # 人脸特征姓名集合
            face_names = []
            a = 0
            for filename in filename_list:  # 依次读入列表中的内容
                a += 1
                if filename.endswith('jpg'):  # 后缀名'jpg'匹对
                    face_names.append(filename[:-4])  # 把文件名字的后四位.jpg去掉获取人名
                    file_str = 'photo' + '/' + filename
                    a_images = face_recognition.load_image_file(file_str)
                    print(file_str)
                    a_face_encoding = face_recognition.face_encodings(a_images)[0]
                    face_encodings.append(a_face_encoding)
            print(face_names, a)
            return face_names,face_encodings
        def load_faceofdatabase(self):
            try:
                face_encoding_strs = self.facesql.allFaceData()
            except:
                print("数据库连接错误")
            # 人脸特征编码集合
            face_encodings = []
            # 人脸特征姓名集合
            face_names = []
            for row in face_encoding_strs:
                name = row[0]
                face_encoding_str = row[1]
                # 将从数据库获取出来的信息追加到集合中
                face_encodings.append(self.decoding_FaceStr(face_encoding_str))
                face_names.append(name)
            return  face_names, face_encodings
        def load_images_face(self,filepath):
            filename_list = listdir(filepath)
            for filename in filename_list:  # 依次读入列表中的内容
                if path.isdir(filepath+filename):
                    self.load_images_face(filepath+filename+"\\")
                if filename.endswith('jpg'):  # 后缀名'jpg'匹对
                    file_str = filepath + filename
                    a_images = face_recognition.load_image_file(file_str)
                    print(file_str)
                    face_encoding = face_recognition.face_encodings(a_images)
                    if face_encoding != []:
                        a_face_encoding = face_encoding[0]
                        encoding_str = self.encoding_FaceStr(a_face_encoding)
                        self.facesql.saveFaceData(filename[:-4], encoding_str)
        def load_images_faces(self, filepath):
            filename_list = listdir(filepath)
            a=0
            for filename in filename_list:  # 依次读入列表中的内容
                if filename.endswith('jpg'):  # 后缀名'jpg'匹对
                    file_str = filepath + filename
                    a_images = face_recognition.load_image_file(file_str)
                    print(file_str)
                    face_encoding = face_recognition.face_encodings(a_images)
                    for a_face_encoding in face_encoding:
                        a += 1
                        encoding_str = self.encoding_FaceStr(a_face_encoding)
                        self.facesql.saveFaceData(filename[:-4] + "-" + str(a), encoding_str)
    
    
    
    

    运行结果

    教程资源

    Navicat安装教程:https://blog.csdn.net/superit401/article/details/78110079/

    Navicat中文乱码解决方案教程:https://blog.csdn.net/sinat_26546385/article/details/80381282

    Python连接MySQL数据库:https://shentuzhigang.blog.csdn.net/article/details/103784064

    face_recognition库安装教程:https://blog.csdn.net/weixin_40450867/article/details/81734815

    [Anaconda+Jupyter Notebook+Python3.6]环境下安装face_recognition教程:https://shentuzhigang.blog.csdn.net/article/details/103746567

    GitHub资源

    face_recognition库官方GitHub:https://github.com/ageitgey/face_recognition/

    简单人脸识别系统DEMO:https://github.com/niehen6174/image-and-speech-processing

    参考文章

    https://face-recognition.readthedocs.io/en/latest/readme.html

    https://blog.csdn.net/qq_42109746/article/details/87281583

    https://blog.csdn.net/Nirvana_6174/article/details/88362425

    https://www.zhihu.com/tardis/sogou/art/25880933

    展开全文
  • 人脸识别图片分类检索系统v3.5采用了全新的人脸识别seetaface2为算法基础,重写了全部核心代码,支持mysql,sqllit数据库,新增了原目录还原比对和实时操作指南,人脸检出率,纠偏,识别率有了较好的升,数据库同等...
  • Python调用OpenCV实现人脸识别,供大家参考,具体内容如下 硬件环境: Win10 64位 软件环境: Python版本:2.7.3 IDE:JetBrains PyCharm 2016.3.2 Python库: 1.1) opencv-python(3.2.0.6) 搭建过程: OpenCV ...
  • 用于面部识别的计算机视觉算法概述。 本文的主要思想是探索一种算法,该算法可用于具有合适方法和可用输入的生物识别考勤系统。 该算法主要使用面向直方图的梯度来寻找人脸、估计人脸地标、支持向量机识别人脸和深度...
  • * Jdk8、mysql5.7、libarcsoft_face.dll(so)、libarcsoft_face_engine.dll(so)、libarcsoft_face_engine_jni.dll(so)、idea * 注:libarcsoft_face.dll(so)、libarcsoft_face_engine.dll(so)、libarcsoft_face_...
  • 本课程是针对腾讯人工智能云平台的人脸识别技术的应用开发的项目实战视频课程,主要有人脸拍照,头像上传,人脸登录,新增个体,删除个体,新增人脸,删除人脸,自动抓拍,自动识别等功能,系统采用jsp,ajax,mysql...
  • vue前端+springboot后台实现人脸识别签到系统sql文件 成品文章地址 https://blog.csdn.net/sinat_41905822/article/details/83448748#comments_20900755
  • 基于QT实现的人脸识别系统,基于caffe框架C++实现,人脸检测部分使用MTCNN算法实现,识别部分用Seetaface里的Identification,Qt实现界面开发,使用MySQL数据库。
  • 三、连接MYSQL 四、修改用户名密码 五、数据库常用操作命令 六、示例代码 七、备份数据库 八、其他常用mysql命令 一、添加mysql环境变量 ============= 1、计算机属性 → 高级系统设置  →  ...

    三、连接MYSQL

    四、修改用户名密码

    五、数据库常用操作命令

    六、示例代码

    七、备份数据库

    八、其他常用mysql命令


    一、添加mysql环境变量

    =============

    1、计算机属性 → 高级系统设置  →  环境变量

    2、将mysql安装目录的bin目录路径添加到环境变量中变量名为path的一行中,多个变量路径用;隔开

    二、启动MySQL服务

    ===========

    以管理员身份运行cmd命令行  →  输入 net start mysql  → 回车

    停止服务使用命令:net stop mysql

    三、连接MYSQL

    =========

    格式:

    mysql -h主机地址 -u用户名 -p用户密码

    -h主机地址可以省略不写

    示例:

    假设用户名为root 密码为123456

    mysql -hlocalhost -uroot -p123456

    mysql -uroot -p123456

    退出MYSQL命令: exit (回车)

    四、修改用户名密码

    =========

    格式:

    mysqladmin -u用户名 -p旧密码 password 新密码

    示例:

    给root用户设置密码为123456

    mysqladmin -u root -password 123456

    再将root用户密码修改为123123

    mysqladmin -u root -p 123456 password 123123

    命令行修改root密码:

    mysql> UPDATE mysql.user SET password=PASSWORD(‘新密码’) WHER
    E  User=‘root’;

    mysql> FLUSH PRIVILEGES;

    五、数据库常用操作命令

    ===========

    1、显示数据库列表:

    mysql> SHOW DATABASES;

    2、建立数据库:

    mysql> CREATE DATABASE 库名;

    3、删除数据库:

    mysql> DROP DATABASE 库名;

    4、建立数据表:

    mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));

    5、修改字段名称及属性

    mysql> alter table 表名 change 字段名 新字段名 varchar(50);

    6、向表中插入的字段

    mysql> alter table 表名 add newColumn varchar(8) NOT NULL COMMENT ‘新添加的字段’;

    7、删除数据表:

    mysql> DROP TABLE 表名;

    8、将表中记录清空:

    mysql> DELETE FROM 表名;

    9、修改表名:

    mysql> alter table t1 rename t2

    10、查询表数据:

    mysql> select * from 表名;

    11、往表中插入记录:

    mysql> INSERT INTO 表名 VALUES (“张三”,“20”);

    10、更新表中数据:

    mysql> UPDATE 表名 SET 字段名1=‘a’,字段名2=‘b’ WHERE 字段名3=‘c’;

    11、用文本方式将数据装入数据表中:

    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;

    12、导入.sql文件命令:

    mysql> USE 数据库名;

    mysql> SOURCE d:/mysql.sql;

    六、示例代码

    ======

    1、创建数据库

    drop database if exists mydata; //如果存在mydata则删除

    create database mydata; //创建名为mydata的数据库

    use mydata; //打开数据库mydata

    2、创建数据表

    语法:

    CREATE TABLE table_name(col_name col_type col_attr, col_name col_type col_attr,……)

    参数:

    一个数据表,由多个列构成,多个列定义之间用英文下的逗号隔开。

    col_name:列的名称。

    col_type:列的类型。如:tinyint、int、bigint、char、varchar、text、date、time等。

    col_attr:列的属性。

    NOT NULL | NULL:该列是否可以为空。

    DEFAULT default_value:指该列的默认值,default_value默认值可以是字符串,也可以是整型。

    AUTO_INCREMENT:该列为自动增长型,或者自动编号。要求该列必须是整型。一个表只能有一个auto_increment属性。

    PRIMARY KEY:主键,指定该列的值具有唯一性,主键所在的列不能为空。一个表的主键只能有一个。

    id字段的属性必须有:NOT NULL AUTO_INCREMENT PRIMARY KEY,这样序号才能自增长。

    示例:

    OT NULL | NULL**:该列是否可以为空。

    DEFAULT default_value:指该列的默认值,default_value默认值可以是字符串,也可以是整型。

    AUTO_INCREMENT:该列为自动增长型,或者自动编号。要求该列必须是整型。一个表只能有一个auto_increment属性。

    PRIMARY KEY:主键,指定该列的值具有唯一性,主键所在的列不能为空。一个表的主键只能有一个。

    id字段的属性必须有:NOT NULL AUTO_INCREMENT PRIMARY KEY,这样序号才能自增长。

    示例:

    展开全文
  • python项目开发实战_AI人脸识别签到打卡系统(PyQt5+百度智能云+OpenCV-Python+SQLite3)_编程案例实例教程
  • 用Python快速实现人脸识别功能 首先: 一、开发环境: 1、你需要个Python,下载好后设置环境变量(CSDN上面有很多这里不做过多介绍)可以参考 Python下载教程 2、下载pip—参考博主(pip安装教程) 安装好后打开命令...
  • Java+opencv实现人脸识别 写这篇博客,是因为以前经常使用python+opencv实现人脸处理,后来发现java也可以实现,于是便学习了下,以下将代码和实现过程贴出。 目录 1、环境准备 使用到的技术:java+opencv+mysql 我...
  • 本项目使用Python3.8编写,Qt Designer(QT5)设计主界面,PyQt5库编写控件的功能,使用开源FaceNet人脸识别算法进行人脸识别,使用眨眼检测来实现活体识别,使用OpenCV3实现实时人脸识别。同时,将班级学生信息,各...
  • 在Linux环境下的超市人脸识别支付程序,人脸识别模型基于seetaface2,完整的C语言程序,三级项目的作业,使用mysql数据库,手工编写makefile文件,助力学弟学妹们快速上手。
  • 人脸识别系统

    2015-09-11 13:27:57
    一个完整的人脸识别系统。matlab编写,基于Fisher线性判别人脸识别算法。
  • 1.2 dwface实现人脸识别算法,是人脸识别核心引擎。1.3 www 是B/S架构下与底层dwface交互的页面前端及后台,是人脸识别的一种实现实例,可以清楚的了解接口实际交互运行。1.4 dwface由基于python,www基于php。1.5 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,699
精华内容 1,479
关键字:

人脸识别mysql

mysql 订阅