版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[4]。近几年以来,人类面部识别一直是许多热门领域的研究对象,如识别模式、计算机图形化和AI等。与其他生物特征对比,人类面部特征具有以下优点:1.隐藏收集方法。适合在人流量密集公共场所对犯罪嫌疑人进行识别和跟踪、定位,但指纹、虹膜等其他生物识别技术不太适合。2.与收集设备无接触。收集过程不需要用户和收集设备之间的密切接触,也不会造成干扰,并且容易受到大多数用户的影响。3.强大的互动和后续跟踪能力。人类面部识别可以采用人-机交互的组合,提高系统平台的稳定性。同时记录案发时的人类面部照片,进行追踪和分析。4.降低设备购置成本。中低档摄像头虽然便宜,但已经能够满足人类面部识别的精准度要求。随着视频动作获取设备和视频动作处理设备性能的提升,人类面部识别的准确率也在不断提升。但是,在实际应用中,对背景、表现、姿势等的要求仍然很高。不同的算法在不同的场景中都有优点和缺点。参数选择与多种方法的融合,对人类面部识别也有很大影响。如何在特定应用上下文中选择正确的人类面部识别算法,选择正确的数据,然后改善产品的综合体验。因此,这个话题对于促进面部识别算法研究具有很高的理论价值和意义。1.2现状随着科技的进步和安全管理要求的完善,门禁系统平台也是安全系统平台的核心,不断更新和更换。软件系统平台的设计更美观、更智能,硬件设备的运行更加稳定高效。传统的门禁系统平台通常采用RFID电磁卡、密码和其他手段。管理轻松方便,损害维修率低。但是,如果有关人员忘记了RFID磁卡或工作证,就不能打开出入闸机控制,只能向外界求助或强行打开出入控制打开出入控制。现代的智能门禁系统平台通常使用指纹、虹膜和面部等生物功能具有识别方法不可复制,无需携带的特点。与其他生物识别技术相比,人类面部识别技术无创、可追踪、直观,使身份认证更高效。目前,随着人类面部识别的概念逐渐识别,对人类面部识别门禁系统平台的市场需求也在不断扩大。与国外相比,我国国内对人类面部识别的研究起步较晚。然而,目前很多国内高校和研究组织都涉足面部识别研究领域,在研究成果的生产上取得了巨大进展。2010年,Haixin在以“人类面部识别监测和预警系统平台”为核心的上海世界博览公园完成了大规模人类面部采集和比对。该系统平台在52个员工通道上设置了人类面部认证,并在800多个访客通道上设置了人类面部监控,并设计了存储系统平台,可存储7千万张人类面部图片。展览期间,系统平台创造了超过1亿张人类面部记录,最大捕获速度为每小时200,000次。在受控条件下的合格测试中,系统平台以优异的结果通过了合格:人类面部识别率100%,人类面部认证率99%[17]。在2016年3月19日举办的北京斯京山区公共机构招生考试中,使用了垂直身份识别装置[18]。图片捕获设备收集候选人的面部照片,同时设备读取候选人的身份证信息。当场,将身份证的人类面部照片与收集的人类面部照片进行比较,如果两人相同,即通过认证,考生可以进入考试室。整个过程不到5秒,所有考生都可以擦脸进入考试室,减少人力资源浪费,避免替代考试的出现。第2章需求分析基于人类面部识别的门禁系统平台的核心是人类面部识别,人类面部识别是实现人类面部识别的前提,但由于人类面部识别方法和人类面部识别算法较多,因此应相应选择。访问控制系统平台应用程序的算法。2.1图片预处理在实际生活场景中收集的图片经常受到环境因素的干扰,如光强度,阴影遮挡和噪声。这导致图片质量不均匀,图片之间的图片像素差异较大。必须预处理图片,以减少外部因素的影响。图片预处理的主要方法是灰度和大小规格化。2.1.1灰度化图片分为两种颜色图片和灰色图片,彩色图片由三个通道的图片像素值组成:由不同的RGB内容组成。灰度图片只能表示图片的亮度信息,而不是图片的颜色信息。在人类面部识别中使用灰度图片可以降低计算复杂性,因此通常彩色图片会首先转换为灰度图片。总理值通常分为256个值(从0到255),0以最低亮度显示为黑色,255以最高亮度显示为白色。经验公式(2.1)经常用于彩色图片的灰度。gray是灰色值,R、G和B分别表示每个通道的值。g=0.39×g是灰色值,R、G和B分别表示每个通道的值。图2-1图片灰度化灰度图片是一种简单的增强图片对比度的方法,图2-1为图片灰度化前后的对比。2.1.2图片尺寸归一化在人类面部识别和人类面部识别过程中,需要输入指定尺寸的图片。然而,由于视频动作获取设备的差异,采集的照片大小往往不一致,因此在人类面部识别和人类面部识别前,需要将影像大小规范化。典型的图片大小规格化算法是最近的邻居插值,对线性插值和3次卷积。其中最近接邻插补法计算量少,计算速度快,导致图片图片像素的明显不连续变化和严重的图片失真,仅考虑最接近要采样点的区域中的图片像素值,而不考虑其他相邻区域图片像素的影响。双线性插补法考虑到采样点直接邻接图片像素4个影响,优化了最近接插法,基本上克服了图片像素变化的不连续性,但存在模糊的图片边缘和复杂计算的缺陷。略高于最近的近邻插补法。3次卷积方法不仅考虑了相邻点的图片像素值的大小,还考虑了相邻点图片像素值的变化率,弥补了前两种方法的缺点。在实际应用中,需要全面考虑应用场景对计算时间和图片质量的要求。选择正确的。图片大小规格化方法。图2.2(a)是测试图,图2.2(b)(c)(d)是使用三种方法使图2.2(a)规范化后的效果图。gray是灰色值,R、G和B分别表示每个通道的值。图2-2三种图片尺寸归一化方法效果图2.2AdaBoost人类面部检测算法2.2.1AdaBoost人类面部检测算法概述adaboost是最常用的机器学习方法。其基本思想是对同一个学习集学习不同的弱分类器,这是一种识别率优于随机假设的学习算法,然后将这些弱分类器组合起来形成强端。分类器是一种经过一系列样本学习后能够获得理想识别率的学习算法。算法本身是通过改变数据的分布来实现的,每个样本的权重是根据每个学习集的每个样本是否被正确分类以及前一个分类集的正确性来确定的。新的数据集经过修改后的权重被发送到较低级别的分类器进行学习,最后将每次学习得到的分类器合并到最终的决策分类器中。他认为,通过组织多项式序列方法,可以将弱学习算法分解为强学习算法。这是原始的增压算法。1995年,freund和schapirer提出了一种自适应boost算法(adaptiveboostingalgorithm),改进了以前的boost算法,并对加权操作进行了调整。2001年,保罗·维奥拉和迈克尔·Jones等人提出了一种改进的adaboost算法一种有效的级联函数学习分类方法。该方法采用基于积分图的图像表示方法,能够快速计算特征值进行检测。每个弱分类器去除学习过程中不必要的学习数据函数,将密钥放入密钥学习数据中,然后级联每个弱分类器。这很好地解决了检测速度的问题。如果rowley的检测性能与rowley提出的基于人工神经网络的多姿态人脸检测方法相同,则检测速度将大大提高。实时人脸检测。2.2.2AdaBoost算法的具体描述输入:训练集:(x1,y1,)(xn,yn),其中x;是示例说明,y是示例标识。其中0和1分别表示肯定和否定。在人类面部识别中,0可以定义为人类面部而不是人,1定义为人类面部。初始化:将w,i=‘设置为示例的初始权重。T=1,2...对于T循环,请执行以下步骤:初始化:将w=1/n设为样本初始权值。对t=1,2,..,T循环执行下面的步骤:1.归一化权重:qt,i=2.对每个特征f,训练一个弱分类器h(x,f);计算所有特征的弱分类器的加权错误率:εf=iq3.按最小错误率选择最佳弱分类器:εf=minf4.根据这个最佳弱分类器,调整权重:wt+1,i=w其中e,=0表示x被正确分类,e,=1表示x错误分类。5.最终生成的强分类器为:cx=图2-3弱分类器生成强分类器算法流程图2.2.3Haar特征由于图像像素的特征信息很小,不具备识别能力,需要进一步优化。paul矩形函数强奸haar函数,无图像像素函数。通常矩形函数有三种模型,图2-4所示的两个矩阵函数,3个矩阵函数,4个矩阵函数和矩阵函数模型。显示两个矩形函数,三个表示侧向信息的矩形函数表示线性信息,四个矩阵函数表示方向信息。矩阵函数有两个区域:黑、白。计算两个区域的图像像素之和,然后计算白色区域:从图像像素之和中减去黑色区域的图像像素之和,得到矩阵元素的特征值。可以使用矩阵函数来表示面区域信息。例如,面部鼻子周围的区域比鼻子深,面部眼睛的颜色比周围皮肤的颜色更突出。两者都有黑色和白色区域。将矩阵函数模型放置在人脸区域,并使用人脸函数值计算白色区域的图像像素和黑色区域的图像像素和之间的差值。由于非人脸区域和人脸区域的特征值不同,因此特征是可区分的,可以用来区分人脸。图2-4矩阵特征模板harr特征使用积分图计算,积分图模型如图2-5所示,其中A(x,y)的积分图为图中阴影区域所有图片像素的和,定义积分图的公式如(2.7)所示:iix,y=其中i(x’,y’)为(x’,y’)图片像素值的表示坐标,ii(x,y)为(x,y)积分图表示坐标。图2-5中s(x,y)为(x,y)的y方向积分图的表示坐标,坐标计算(x,y)的积分图也可以用式(2.8)和(2.9):sx,y=siix,y=ii因此,计算区域的积分图只需要简单的加法和减法运算,而不管区域的大小如何,这大大提高了harr特征提取的速度。图2-5积分图模型第3章系统平台设计目前国内市面上有很多基于人类面部识别的门禁系统平台,但大型多功能相对单一,识别率不高,容易受到外部环境因素的影响。如何根据特定场景的实际需要设计好功能,是当前人类面部识别门禁系统平台需要解决的紧迫问题。本文设计了基于人类面部识别的智能门禁系统平台。3.1系统平台需求分析本论文设计的基于人类面部识别的智能门禁系统平台,主要面向公司门禁、保密机构等小型办公场所。系统平台的主要功能如下:通过视频动作获取设备收集当前人的视频动作,根据收集的视频动作判断是否包含人类面部,如果包含,进一步分析数据库中人类面部是否匹配,最终,根据数据库匹配对应的信息系统平台在决定是否打开门锁将允许现任人员通过,并记录入场者的姓名和进入时间,以实现考勤。基于上述分析,系统平台必须满足以下要求:1)响应时间短:考虑到上下班高峰时段人们大量频繁地进入和出去,过长时间等待会降低用户体验,而且严重时会影响工作效率。使用高性能AI服务器和图片处理模块GPU(显卡),来加速程序工作效率。2)计算资源的合理配置:如果收集的图片没有检测到人类面部,则不需要对图片进行人类面部识别。由于人类面部识别使用深层神经网络结构,计算复杂度相对较大,用于人类面部识别的神经网络层小、结构简单、计算复杂度低,因此可以部署简单的人类面部识别程序。在访问控制终端中,计算上复杂的人类面部识别程序部署在服务器端。3)非配合:传统的人类面部识别门禁系统平台一般使用按钮或触摸屏打开摄像头进行人类面部识别,但缺点是需要手动打开设备,犯罪分子可以强行开门不留记录。本文的门禁系统平台具有人类面部识别功能,只有当人暂时停留在门口时,该程序才会自动运行。工作人员进出更方便,系统平台安全有保障。4)在线训练,训练,培训和实时有效更新:在公共交通如:大型机场和火车站等应用场景中,由于大量人流量,需要训练和训练,培训准确性高,识别速度快,安全性可靠的人类面部图片,但训练,培训课程通常需要数周时间,因此仅支持离线更新更新周期比较长。对一些人员流动现象需要支持在线训练,培训和实时更新。由于FACENET支持end-to-endfeature提取,因此可以在大型面部数据库中预先训练具有强大泛化能力的网络,然后使用经过训练的网络直接提取特征向量。3.2系统平台总体结构设计本论文设计的人类面部识别门禁系统平台的结构,根据需求分析,如图3-1所示。智能系统平台主要包括三部分:内置门禁终端、人类面部识别服务器、服务端。内置门禁终端通过以太网实现与服务器的实时通信,客户端终端通过互联网实现与服务器的信息交互。内置的门禁终端包括安装在区内入口处的影像获取设备和电子锁。检测出的人类面部图片被上传到人类面部识别服务器进行验证后,返回的结果决定了电子锁闸机。面部识别服务器人类面部识别服务器是整个系统平台的核心部分,一方面起到从门禁终端和客户端接收请求的作用,另一方面进行人类面部识别任务和数据存储客户端为不同用户提供不同的操作功能,包括向管理员提供权限管理、应用程序审核和其他功能,并为最终用户提供注册应用程序功能。图3-1系统平台结构图3.2.1前台程序设计该系统平台的程序使用面向对象的编程理念和模组化的形式实现。目前设计为多线程实现,每个线程负责自己的工作,线程相互协调工作,以完成整个前台进程的功能。由于前台进程多个不同线程程序,为了高效率地管理和协调每个线程之间的任务,线程名称、线程mutex、线程ID、抽象线程的共性,例如线程条件变量和线程函数本体。这些信息被定义为用于描述线程通用性的PthreadDesc_T结构的类型,它定义了PthreadDesc_T类型变量,这意味着如果必须使用线程,则意味着线程实体对象。PthreadDesc_T结构类型定义如下:typedefstruct_Pthread{/*描述线程结构体类型*/cond_t*ptPthreadCond_t;/*线程条件变量*/mutex_t*ptPthreadMutex_t;/*线程互斥锁*/charcPthreadName[32];/*线程名字*/pthreadtPthreadId_t;/*线程ID*/void*(*PtreadHandlerXvoia");//程程序本体函数指针struct__ptlueadpaext;//用于注册到系统平台链表中}PtmeadDesc_T,*Ptlead_PT在pthread_manager.c线程管理文件中实现RegisterPthread线程注册功能,实现线程创建和系统平台的全局链接列表的线程注册。每个线程的实现只需要定义PthreadDesc_T类型变量并调用this。这种编程方法不仅可以有效管理线程,而且程序结构清晰,程序易于扩展,实现了模块化和面向对象的编程思路。将线程通过函数允许注册到系统平台中,从而方便系统平台管理所有线程。该系统平台设计并实施了视频动作捕获线程、面部检测线程、门锁控制线程,这些线程都通过调用RegisterPthread函数注册到系统平台中。在设定实现过程中,mian.c文件为整个系统平台的初始化位置。包括调用在下级manager.c文件中实现的PthreadsInit线程初始化函数,包括整个系统平台中的所有线程初始化。在实现过程中,通过调用RegisterPthread函数,可以在manager.c文件中将线程注册到g_ptPthreadListHead全局链接清单中,并将系统平台中的每个线程放入链接清单,并使用manager.c文件使用。统一地管理系统平台中的每个线程,并起到连接之前和以下内容的作用。这也是编程中分离和分层理念的实现,如图3-2,前端多线程实现结构图中所示。图3-2前台多线程实现结构图3.2.1后台程序设计后台程序采用结构相对简单的多线程实现,通过设计两个主要线程的方式,一个主线程负责接收前台进程发出的训练或识别命令,并根据接收到的命令调用FaceTrain或FaceRecognize功能,完成面部训练或识别。另一个主线程线程负责发送识别结果,当主线程完成识别后,线程会醒来,将识别结果发送到前台进程。图3-3所示,后台进程中多线程的结构图。图3-3后台多线程实现结构图3.3OpenCV移植OpenCV具有良好的可移植性,可在多种操作系统平台上运行。该系统平台是基于ARM+Linux嵌入式开源系统平台实现的,实现人类面部识别和图片处理相关算法需要OpenCV开源视频跟踪,视频识别的支持,因此需要动态交叉编译OpenCV源代码。您可以在ARM硬件平台上运行CentOS上的链接库、基于OpenCV库的功能和程序。具体移植步骤包括:(1)获取源代码。源安装包或代码可从Opencv官方网站下载,该系统平台使用最新的opencv4.tar.bz2源代码包。(2)解压缩源代码。将获得的源代码包opencv4.tar.bz2放入CenOS7,并使用以下命令:使用tarxvfopencv4.tar.bz2获取opencv4目录。(3)安装从属库和相关工具。最新版本的opencv源代码的编译管理需要cmake支持,这是一个跨平台安装(编译)工具,因此需要安装这个工具。请输入以下内容:在sudoapt-getinstallcmakecmake-curses-guilibgtk2.0Ubuntu终端-devpkg-configcmake-qt-gui上完成安装。(4)创建编译和安装所需的新目录。输入opencv4目录并创建两个新目录。在目录中,build和install_,build用于存储编译所需的文件,install_用于存储编译的动态库和头文件。(5)使用cmake-gui配置和剪切Opencv。在终端上运行cmake-gui以导入接口,选择要构建的源路径和构建路径,然后单击配置,将生成器保留为UnixMakefiles,并选择指定交叉编译选项。(6)指定目标平台的工具链路径位置等信息点击Next做如下设置:OperatingSystem选择相应系统平台;在Compilers中指定的位置路径信息;在TargetRoot路径选择为lopt/FriendlyARM/toolschain/4.5.1;(7)编译。在编译之前,将安装路径指定为新创建的install_目录,然后运行make-j4命令进行编译。(8)install。最后,运行安装命令。Makeinstall,最后在install_目录中创建lib、include和其他文件夹。3.4摄像头图片数据采集OpenCV提供了一个HighGUI库,用于绘制窗口,显示图片,直接从USB录像设备导入图片,但库的这一部分在此系统平台平台上不可用,因此必须使用其他方法导入图片数据在触摸显示屏。要获取视频动作图像数据,必须完成收集图像的用户空间应用程序。CentOS系统平台提供的V4L2视频动作数据采集编程接口为视频动作装置的应用编程提供了一系列接口功能。用户模式应用程序可以轻松地与相机驱动程序交互以获取图像数据。以下小节将详细介绍V4L2的重要数据结构、IOCTL系统平台中重要命令的宏定义以及应用程序编程过程。3.4.1摄像头采集程序在人类面部识别系统平台中,相应的外置摄像头设备系统文件是“/dev/videoX”,并且使用OpenCV中编写了一个基于V4L2标准的应用程序,流程图如图3-5所示。应用程序的具体编写过程如下:(1)打开录像设备设备。调用open(“dev/video0”,O_RDWR)函数,打开录像设备设备读写模式,如果返回-1这表示失败,如果成功则返回设备文件描述符。(2)查询是否支持摄像头捕捉定义用于读取录像设备的structv4l2_capability类型结构变量。图片头发相关的消息。调用ioctl函数(fd,VIDIOC_QUERYCAP,&cap)获取信息后,检查是否支持摄像机捕获函数,如果支持,继续执行,否则直接返回。。图3-5视频动作采集流程(3)支持的格式查询和格式设置。分别定义structfimtdesc/structformat类型变量fmtdesc/format。调用ioctl(fd,VIDIOC_ENUM_FMT,&fmtdesc)函数查询录像设备支持的视频动作数据类型。如果需要设置格式,请输入变量格式,然后调用系统平台函数ioctl(fd,VIDIOC_S_FMT,&fmtdesc)。设置录像设备格式。(4)缓冲区申请。定义structrequestbuffers类型变量requestbuffers,调用ioctl(fd,VIDIOC_REQBUFS,&requestbuffers)函数,申请视频动作数据存储的缓冲区空间,然后将应用的数据缓冲区通过mmap函数映射到用户空间。(5)启动录像设备设备。在计算机内存中申请数据缓冲区,调用ioctl(fd,VIDIOC_STREAMON)启动录像设备。(6)等待数据。通过开发板调用系统平台函数poll来查询缓冲区中是否存在数据,如果缓冲区中存在数据,poll函数就会返回并读取缓冲区中的数据。(7)从缓冲区队列中删除数据定义描述数据缓冲区的structbuffer类型变量缓冲区,并调用ioctl(fd,VIDIOC_DQBUF,&buffer)函数从缓冲区队列获取数据帧。在收集的数据帧上执行图片处理,包括人类面部识别,图片预处理,图片存储。(8)将空缓冲区放入队列。处理图片数据帧后,运行ioctl(fd,VIDIOC_QBUF,&buffer),将缓冲区放入缓冲区队列。3.5人类面部检测静态图片的面部检测过程如图3-6所示,大致分为以下4步:(1)加载经过训练的级联分类器。(2)图片加载和预处理;(3)人类面部检测算法检测人类面部。(4)在图片中检测人类面部,并校准面部在照片中的位置。图3-6人类面部检测基本流程用于内置人类面部识别系统平台的摄像头收集人类面部图片数据。摄像头收集的视频动作流数据可以视为连续的静止视频动作帧,因此可以将摄像头收集的视频动作中的面部检测视为一组。图片数序列的连续检测因此基于录像设备视频动作的人类面部检测的核心过程与静止图片人类面部检测的基本过程相同。使用OpenCV计算机视频跟踪,视频检测在OpenCV中提供了开源的算法接口,基于摄像头视频动作实现人类面部检测的主要流程包括:(1)打开开发板上外置的USB摄像头。(2)加载级联分类器为了完成级联分类器的加载,将调用cvLoad(faceCascadeFilename,0,0,0)函数。其中faceCascadeFilename参数是级联分类器的路径和文件名,级联分类器(CvHaarClassifierCascade*)是描述加载的faceCascade。(3)从录像设备收集一帧图片数据。(4)图片数据帧预处理。通过调用cvcvtcolor函数来灰度数据帧,cvequalizehist函数统一化图片数据帧的直方图,并调用medianBlur函数完成中值过滤过程。(5)完整的面部识别。视频动作预处理后,视频动作数据帧的人类面部区域由人类面部检测功能检测,程序段如下:cvHaarDetectObjects(ptInputImg,(CvHaarClassifierCascade*)ptHaarCascade,ptStorage,1.2f,//search_scale_factor,3,cV_HAAR_FIND_BIGGEST_OBJECT|cV_HAAR_DO_ROUGH_SEARCH,cvSize(55,55));在这个函数中,参数ptInputImg表示预处理后的图片,ptHaarCascade表示级联分类器加载后返回值,ptStorage表示初始化的存储变量,1.2表示扫描窗口变化的扩展系数。原来的1.2倍,cvSize(55,55)意味着检测窗口的最小大小设置为55x55,CV_HAAR_FIND_BIGGEST_OBJECTICV_HAAR_DO_ROUGH_SEARCH表示检测所有面部区域中最大的面孔,只有一张脸。CV_HAAR_FIND_BIGGEST_OBJECTICV_HAAR_DO_ROUGH_SEARCH表示检测所有面部区域的最大面孔,只有一张脸。这个设计是为了满足这个设计的要求。系统平台中摄像头视频动作数据流的人类面部检测要求。(6)显示面部区域。执行Rectangle(img、LPoint、RPoint、color、3、8、0)语句。此函数语句将检测到的面部区域显示为彩色矩形。(7)面部图片存储。运行Savelmage(“fileName”,outImage)语句,将检测到的面部区域图片保存为jpg格式的图片。其中Ima=CreateImage(Size(128,128),8,3);创建要存储为128x128的图片的大小数据存储空间。3.6人类面部识别人类面部识别阶段的主要步骤包括:第1步:打开训练后获得的面部数据的data.xml文件。Step2:从内存中读取所有要识别的面部图片,这些图片由录像设备收集,并存储在文件系统平台的识别文件夹中。步骤3:将所有要识别的脸投影到面部特征部分空间。步骤4:将投影结果与训练集的结果进行比较。第5步:使用最近的邻居识别算法查找要识别的面孔和训练库中最近的人类面部图片,计算它们之间的置信度,最后比较置信度和临界值。如果计算的置信度大于临界值,则表明要识别的脸是距离人类面部数据库最近的面孔,并输出成功识别的结果,否则人类面部识别将失败。人类面部识别算法的流程图如图3-7所示。图3-7人类面部识别流程成功检测人类面部图片区域后,必须规范化人类面部图片的大小,以确保学习阶段和识别阶段使用的人类面部图片的分辨率一致。程序分段如下:Ipllmage*ptFacelmg=cvCreateImage(STD_SIZE,IPL_DEPTH_8U,1);cvResize(ptImg,ptFaceImg,cV_INTER_AREA);规范化图片存储在变量ptFaceImg中,将待检测的面部图片ptImg作为cvResize函数处理后,获取预设大小的图片,并将其存储在指定的文件夹中,以便在训练和识别阶段使用。然后调用cvEigenDecomposite()函数来计算要识别的最终面部图片。Eigenvector;最后,通过比较所有欧几里德距离,获得最接近最小AI风险的量之间的欧几里德距离distsq,并比较所有欧几里德距离获得最小的欧几里德距离。LeastDistsq获得教育库中的面孔,离欧几里德距离越小,两张脸就越相似,要识别的脸上最接近。最后,找到最小欧几里德距离的置信度。过程包括:FConfidence=1.0f-sqrt(leastDistSq/(Float)(nTrainFaces*nEigens))/255.0f;其中,训练面部照片的数量显示为nTrainFace,最终唯一面部生成维度显示为nEigens。临界值与训练过程中的人类面部照片数量有关,因此结合实际程序调试情况,设置临界值临界值。最后,通过比较信任级别和临界值的大小,如果信任级别大于预设的临界值,识别将成功,否则识别将失败。3.7电子锁控制人类面部识别系统平台的最终目标是根据识别结果打开门锁,因此电子门锁控制程序是整个智能密码锁系统平台的最后一个程序模块。此模块被设计成一个独立的门锁控制机构来管理它的线程。程序流程图如图3-8所示。系统平台的后部进程完成主线程识别后,识别结果传输线程将被唤醒并发送识别结果。系统平台前部进程的线程在CentOS上使用消息接收函数msgrcv进行阻塞和监听。类型为“C”。收到消息信息后,判断消息内容。如果“成功”,则输出如下:开发板的GPIO端口控制高电平,触发外部电子锁电路,打开门锁。如果消息内容为“未成功,请返回继续等待消息接收”,则发送重新标识或首次注册提示消息。图3-8门锁控制线程流程
总结本文主要研究了基于OpenCV的人类面部识别门禁系统平台的设计与实现,包括门禁系统平台的硬件设计、软件设计以及相关算法的比较。人类面部图片预处理中的灰度归一化和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省安丘市高二化学下册期末考试模拟检测卷附答案【考试直接用】
- 2026年浙江省瑞安市高二化学下册期末考试模拟卷及完整答案【典优】
- 2025-2026学年快乐早餐教案
- 2025-2026学年聆听春晓 教学设计
- 2025-2026学年两栋教学楼间的植物设计
- 2025-2026学年教学设计手指游戏
- 学国际象棋的题目及答案
- 17.4 一元二次方程的根与系数的关系教学设计初中数学沪科版2012八年级下册-沪科版2012
- 形声字类趣味题目及答案
- 2025-2026学年瓷片勾缝教学设计
- JBT 11270-2024 立体仓库组合式钢结构货架技术规范(正式版)
- 2024年刑法诉讼口诀
- 学科建设课件
- 2020年承包人承揽工程项目一览表
- 数据安全培训课件
- 内审首次会议策划方案
- 新苏科版六年级《劳动》上册全一册全部教案(共10课)
- 艾滋病个案流行病学调查表
- 俯卧位通气操作规范
- 天津大学硕士论文格式要求
- 新课标高中物理必修教材分析
评论
0/150
提交评论