基于ARM的视频人脸识别系统设计与实现
- 格式:pdf
- 大小:372.74 KB
- 文档页数:3
《基于深度学习的人脸识别算法及在树莓派上的实现》一、引言随着科技的飞速发展,人工智能技术已经渗透到人们生活的方方面面。
其中,人脸识别技术作为人工智能的重要应用之一,在安全监控、身份认证、智能家居等领域得到了广泛应用。
本文将介绍基于深度学习的人脸识别算法,并探讨其在树莓派上的实现方法。
二、深度学习人脸识别算法概述1. 算法原理深度学习人脸识别算法主要通过构建深度神经网络,从大量的人脸数据中学习和提取特征,进而实现人脸的识别和分类。
该算法通过不断调整网络参数,使网络能够自动学习和提取人脸的特征,如眼睛、鼻子、嘴巴等部位的形状、大小、位置等信息。
这些特征可以有效地表示人脸的形态和结构,从而提高识别的准确性和稳定性。
2. 常用算法目前,常用的人脸识别算法包括卷积神经网络(CNN)、深度神经网络(DNN)等。
这些算法在人脸识别任务中取得了显著的成果,可以有效地处理大规模的人脸数据,实现高精度的识别。
三、在树莓派上的实现1. 硬件环境树莓派是一款基于ARM架构的微型计算机,具有体积小、功耗低、价格便宜等优点。
在实现人脸识别系统时,我们需要将树莓派与摄像头等设备连接起来,以获取人脸图像数据。
此外,为了保障系统的稳定性和性能,我们还需要为树莓派配备适当的存储设备和电源等。
2. 软件环境在软件方面,我们需要安装操作系统、深度学习框架等软件。
常用的操作系统包括Raspbian等,而深度学习框架则可以选择TensorFlow、PyTorch等。
此外,我们还需要安装一些辅助软件,如图像处理库、Python编程环境等。
3. 实现步骤(1)数据准备:收集大量的人脸数据,并进行预处理和标注。
这些数据将用于训练和测试人脸识别算法。
(2)模型训练:使用深度学习框架构建神经网络模型,并使用准备好的数据进行训练。
在训练过程中,我们需要不断调整网络参数,以优化模型的性能。
(3)模型测试:使用测试数据对训练好的模型进行测试,评估模型的准确性和稳定性。
基于深度学习的视频行为识别与异常检测系统设计与实现随着人们对大规模视频数据的需求越来越多,视频行为识别与异常检测成为了一个重要的研究领域。
深度学习作为一种强大的模型训练方法,已经在许多图像和语音相关的任务中取得了显著的成就。
本文将介绍一种基于深度学习的视频行为识别与异常检测系统的设计与实现。
一、系统设计1. 数据预处理在设计视频行为识别与异常检测系统之前,首先需要对视频数据进行预处理。
这一步骤的目的是将视频数据转换为可以输入深度学习模型的格式。
常见的数据预处理包括视频帧提取、帧间差分等操作。
通过提取视频中的关键帧,可以减少数据量,同时保留重要的信息。
2. 特征提取在视频行为识别与异常检测中,特征提取是一个关键步骤。
传统的方法通常采用手工设计的特征,例如颜色直方图、光流等。
然而,这些手工设计的特征往往无法充分表达视频的语义信息。
因此,我们可以利用深度学习模型从视频数据中学习到更具有区分性的特征。
常用的深度学习模型包括卷积神经网络(CNN)和循环神经网络(RNN)。
卷积神经网络可以有效地处理图像数据,而循环神经网络则可以捕捉序列数据中的时间信息。
可以通过将这两种网络结合起来,构建一个多模态的深度学习模型,以实现更准确的视频行为识别与异常检测。
3. 行为识别与异常检测模型基于深度学习的视频行为识别与异常检测主要包括两个任务:行为识别和异常检测。
对于行为识别任务,我们可以使用监督学习的方法,在已标注的数据集上进行训练。
通过将已标注的视频数据和对应的行为类别输入到深度学习模型中,模型可以学习到不同行为类别的特征表示,并进行分类预测。
对于异常检测任务,由于异常样本往往难以获取,传统的监督学习方法不适用。
因此,可以采用无监督学习的方法,例如自编码器等。
自编码器通过将视频数据输入到一个编码器中,然后再将编码得到的特征向量解码得到重构的视频数据。
通过比较重构的视频数据与原始数据之间的差异,可以判断是否存在异常行为。
基于深度学习的人脸识别门禁系统设计与实现随着科技的不断发展和智能化进程的深入推进,人脸识别技术在社会生活中得到了越来越广泛的应用。
其中,基于深度学习的人脸识别门禁系统,因其快速、准确、安全等特点,成为了各企业和机构的选用,提高了门禁管理的效率和安全性。
本文将从系统架构设计、算法优化、技术应用等方面,阐述基于深度学习的人脸识别门禁系统的设计与实现。
一、系统架构设计基于深度学习的人脸识别门禁系统,通常包含图像采集设备、图像处理单元、算法模型、数据库管理与查询等组成部分。
针对这些组成部分,本文分别进行详细的辨析。
1.图像采集设备图像采集设备是整个人脸识别门禁系统中至关重要的一个组成部分。
其对摄像机的匹配程度和采集器的采集质量要求极高。
此外,针对各种场景和角度的图像采集也需要进行考虑,以保证采集到的图像清晰度和光线度足够。
2.图像处理单元图像处理单元是整个门禁系统中的核心部分。
它主要承担着将采集到的图像转化为可供算法处理的图像数据的任务。
其主要技术包括图像去噪、大小统一化、图像增强等。
对于多种复杂背景和光线干扰下的人脸图像数据问题也需要进行深入分析。
3.算法模型针对深度学习算法的运用,本系统采用的是卷积神经网络模型,同时引入了残差网络,以提高图片的鲁棒性,加速时间训练速度和提高图像的分类精度。
对于算法的参数调整和网络结构的优化,需要对深度学习算法有深入了解及多方面试验。
4.数据库管理与查询为门禁系统中的管理员提供更为完整、准确、方便的查询数据分析,采用数据库管理与查询技术。
其中,对于数据库的优化和管理,需要进行充分的测试和调整。
二、算法优化在门禁系统中使用的卷积神经网络模型,对人脸图像数据进行训练,实现了较高的人脸识别率。
但是,在应用中仍然存在着光线不同或者人脸角度不同等问题。
因此,对于基于深度学习的人脸识别门禁系统,其算法优化是十分必要的。
1.图像预处理针对光线以及角度变化的问题,通常需要对图像进行预处理,使其满足算法的要求。
基于深度学习的人脸识别系统设计与实现人脸识别技术是一种基于计算机视觉和模式识别理论,通过对图像或者视频中的人脸进行检测、识别和验证的技术,具有广泛的应用前景。
随着深度学习算法的不断发展,基于深度学习的人脸识别系统成为当今最先进的方法之一。
本文将介绍基于深度学习的人脸识别系统的设计与实现,包括数据准备、网络架构、训练过程和应用场景。
一、数据准备人脸识别系统的性能很大程度上依赖于训练数据的质量和数量。
因此,准备一个高质量的人脸数据集至关重要。
一个典型的人脸数据集应该包含大量不同人的人脸图像,且图像应该具有多样性,包括不同的姿势、光照条件和表情。
此外,还需要为每个人标注正确的人脸边界框和对应的人脸类别标签。
这些标注信息将在训练阶段用于构建训练样本。
二、网络架构深度学习的关键是设计一个合适的神经网络架构。
在人脸识别任务中,通常使用卷积神经网络(Convolutional NeuralNetwork,CNN)来学习人脸特征表示。
一个经典的CNN架构是卷积层、池化层和全连接层的串联。
这种架构可以通过多层的非线性变换来提取图像的高级特征。
在人脸识别任务中,还常使用一种叫做人脸验证网络的结构,其中包括两个并行的卷积神经网络,一个用于提取人脸特征,一个用于计算人脸特征之间的相似度。
三、训练过程在训练阶段,首先需要从准备好的数据集中加载样本。
然后,将加载的样本输入到网络中进行前向传播。
通过前向传播,网络将学习到图像中的特征表示,并输出一个特征向量。
接下来,计算损失函数来衡量网络输出的特征向量和真实标签之间的差异。
常用的损失函数包括欧式距离和余弦相似度。
最后,使用反向传播算法来调整网络的权重,使得损失函数最小化。
这个过程需要循环多次,直到网络收敛。
四、应用场景基于深度学习的人脸识别系统在各个领域都有广泛的应用。
在人脸识别技术的研究方面,可以通过调整网络架构、训练数据和损失函数等参数来改进人脸识别的性能。
在人脸识别的实际应用中,可以将其应用于人脸解锁、身份验证、安全监控等场景。
《基于嵌入式系统的人脸考勤机的设计》篇一一、引言随着科技的不断进步,人脸识别技术已经广泛应用于各个领域,如安防、支付、考勤等。
人脸考勤机作为企业、学校等单位管理员工出勤的重要工具,其设计及性能的优劣直接影响到管理效率及员工的工作体验。
本文将介绍一种基于嵌入式系统的人脸考勤机的设计,以期为相关领域的研究与应用提供参考。
二、系统架构设计基于嵌入式系统的人脸考勤机主要由硬件和软件两部分组成。
硬件部分包括嵌入式处理器、摄像头、存储器等;软件部分则包括操作系统、人脸识别算法、数据库等。
1. 硬件设计硬件部分的核心是嵌入式处理器,其性能直接决定了人脸考勤机的处理速度及稳定性。
我们选用高性能的嵌入式处理器,如ARM或MIPS架构的处理器,以保证系统的运行效率。
此外,还需配备高像素的摄像头,以捕捉清晰的人脸图像。
存储器则负责存储人脸图像数据、考勤记录等信息。
2. 软件设计软件部分包括操作系统、人脸识别算法、数据库等。
操作系统选用实时性较强的嵌入式操作系统,如Linux或RTOS。
人脸识别算法是系统的核心,我们选用成熟的人脸识别算法,如基于深度学习的人脸识别算法,以提高识别的准确性和速度。
数据库则用于存储人脸图像数据、考勤记录等信息,方便后续的数据查询和管理。
三、功能实现基于嵌入式系统的人脸考勤机具有以下功能:1. 人脸图像采集:通过高清摄像头采集员工的人脸图像。
2. 人脸识别:通过人脸识别算法对采集到的人脸图像进行识别,并与数据库中的人脸数据进行比对,以确认员工的身份。
3. 考勤记录:记录员工的考勤信息,包括进出时间、迟到、早退等。
4. 数据管理:对考勤数据进行存储、查询、统计等管理操作。
5. 报警功能:当员工未按时到岗或离岗时,系统可发出报警信息,以便管理员及时处理。
四、优势与展望基于嵌入式系统的人脸考勤机具有以下优势:1. 识别准确:采用成熟的人脸识别算法,提高识别的准确性和速度。
2. 操作简便:员工只需在考勤机上刷脸即可完成考勤,操作简便快捷。
人脸检测系统的算法研究与实现的开题报告一、研究背景随着社会的发展,计算机技术正在得到越来越广泛的应用。
其中,人脸检测系统是计算机视觉技术中非常重要的一部分。
人脸检测系统广泛应用于安防、人脸识别、图像搜索、虚拟现实游戏等领域。
因此,人脸检测系统的研究和应用具有非常广泛的市场前景。
人脸检测系统是指利用计算机视觉技术来获取一张图像中所有人脸的位置和大小以及相关的姿态(如头部的方向)信息的系统。
研究人脸检测算法的目的是使得人脸检测系统能够在复杂的环境下准确的检测出人脸,同时系统的响应速度要足够快,以满足实时应用的需求。
目前,已有很多人脸检测相关的算法被提出,如 Haar Cascades 算法、HOG 算法、人脸关键点检测算法等。
然而,这些算法仍存在一些问题,如计算量过大、对光照和姿态的变化不敏感等。
因此,本文将研究和实现一种新的基于深度学习的人脸检测算法,以提高人脸检测系统的速度和准确性。
二、研究内容和方法本文将研究和实现一种基于深度学习的人脸检测算法。
具体的研究内容和方法如下:1. 数据集准备:本文将采用公开的人脸数据集(如LFW、FDDB 等)来训练和测试人脸检测模型。
2. 深度学习模型设计:本文将采用卷积神经网络(CNN)来训练人脸检测模型。
模型的主要结构包括卷积层、池化层、全连接层等。
3. 数据预处理和增强:本文将对数据进行预处理和增强,如数据的归一化、镜像翻转、随机裁剪等,以增强模型的泛化能力。
4. 模型训练:本文将采用反向传播算法和随机梯度下降算法来训练模型,以最大程度的减小训练集和测试集的误差。
5. 模型测试和评估:本文将采用 LFW、FDDB 等数据集来测试和评估训练好的模型,以评估模型的准确性和可靠性。
三、研究意义本文的研究意义主要包括以下几点:1. 提供一种新的基于深度学习的人脸检测算法。
2. 提高人脸检测系统的速度和准确性。
3. 探索深度学习在人脸检测中的应用和优化。
4. 为实时应用场景下的人脸检测提供技术支持。
《基于OpenCV的人脸识别系统设计》篇一一、引言随着科技的快速发展,人脸识别技术已经成为现代计算机视觉领域的一个重要研究方向。
人脸识别系统能够自动识别和验证人的身份,广泛应用于安全监控、门禁系统、支付验证等众多领域。
本文将详细介绍基于OpenCV的人脸识别系统的设计。
二、系统需求分析1. 功能需求:人脸检测、人脸特征提取、人脸识别比对等。
2. 性能需求:高识别率、实时响应、系统稳定。
3. 环境需求:操作系统兼容性强,设备要求合理。
三、系统设计概述基于OpenCV的人脸识别系统主要包括预处理、特征提取和匹配三个部分。
通过图像处理和机器学习技术,实现人脸检测和识别的功能。
四、系统架构设计1. 数据预处理模块:主要完成图像的输入、格式转换、尺寸调整等操作,以满足后续处理的需球。
同时对图像进行去噪和锐化处理,提高识别的准确性。
2. 人脸检测模块:利用OpenCV中的人脸检测算法(如Haar 级联分类器或深度学习模型)进行人脸检测,确定图像中的人脸位置。
3. 特征提取模块:通过OpenCV的深度学习模型(如OpenCV DNN模块中的卷积神经网络)提取人脸特征,如面部关键点信息等。
4. 人脸比对模块:将提取的特征与数据库中已有人脸特征进行比对,找出相似度最高的匹配结果。
根据设定的阈值,判断是否为同一人。
五、关键技术实现1. 人脸检测算法:采用OpenCV中的人脸检测算法,如Haar 级联分类器或深度学习模型,实现对图像中人脸的快速定位。
2. 特征提取算法:利用OpenCV的深度学习模型(如OpenCV DNN模块中的卷积神经网络)进行特征提取,包括面部关键点信息等。
3. 人脸比对算法:采用相似度算法(如欧氏距离、余弦相似度等)进行人脸比对,找出相似度最高的匹配结果。
六、系统实现与测试1. 系统实现:根据设计架构,逐步实现各模块功能。
采用C++编程语言,利用OpenCV库进行开发。
2. 系统测试:对系统进行严格的测试,包括功能性测试、性能测试和稳定性测试等。
《基于ARM架构的嵌入式人脸识别技术研究》篇一一、引言随着科技的不断进步,人脸识别技术已成为现代安全领域中重要的生物识别技术之一。
该技术广泛应用于各种领域,如门禁系统、安防监控、移动支付等。
为了满足实际应用中的需求,本文将探讨基于ARM架构的嵌入式人脸识别技术的研究。
二、ARM架构概述ARM架构是一种广泛应用的嵌入式系统架构,以其低功耗、高性能的特点在移动计算、物联网等领域占据重要地位。
ARM架构的处理器具有强大的计算能力和灵活的配置,使其成为人脸识别技术实现的理想平台。
三、嵌入式人脸识别技术嵌入式人脸识别技术是将人脸识别算法集成到嵌入式系统中,实现快速、准确的人脸检测与识别。
该技术主要包括人脸检测、特征提取和人脸比对三个主要步骤。
其中,人脸检测是识别过程的第一步,用于确定图像中的人脸位置;特征提取则是提取人脸的特征信息,如面部轮廓、眼睛、鼻子和嘴巴等部位的形状和位置;人脸比对则是将提取的特征信息与数据库中的人脸特征进行比对,以确定身份。
四、基于ARM架构的嵌入式人脸识别技术实现在嵌入式系统中实现人脸识别技术,需要考虑到系统的硬件配置、算法优化和功耗控制等因素。
基于ARM架构的嵌入式人脸识别系统通常采用高性能的ARM处理器,配合适当的存储器和外设接口,以实现快速的人脸检测与识别。
在算法优化方面,针对嵌入式系统的特点,需要采用轻量级的人脸识别算法,以降低系统的计算复杂度和功耗。
同时,还需要对算法进行优化,以提高识别的准确性和速度。
在功耗控制方面,需要采用低功耗的设计方案,以延长系统的使用时间。
五、技术研究与应用在基于ARM架构的嵌入式人脸识别技术研究中,需要关注以下几个方面:1. 算法研究:研究轻量级的人脸识别算法,以提高识别的准确性和速度。
同时,需要针对嵌入式系统的特点,对算法进行优化,以降低系统的计算复杂度和功耗。
2. 硬件设计:设计高性能的ARM处理器和适当的存储器及外设接口,以实现快速的人脸检测与识别。
基于深度学习的视频人脸表情识别与情绪分析系统设计近年来,随着深度学习技术的发展和应用,视频人脸表情识别与情绪分析系统正逐渐成为研究和应用的热点。
人脸是人与人之间进行情感沟通的重要媒介,在很多应用领域有着广泛的应用,如人机交互、心理研究等。
本文将基于深度学习技术,探讨视频人脸表情识别与情绪分析系统的设计与实现。
首先,视频人脸表情识别与情绪分析系统的设计需要从数据采集、数据预处理、特征提取和分类识别四个方面进行考虑。
在数据采集方面,系统需要获取包含不同人脸表情的视频数据集。
这些数据集应涵盖不同人的多种表情和情绪状态,以保证模型的鲁棒性和泛化能力。
数据采集时应注意多样性和均衡性,尽可能覆盖不同种族、性别和年龄段的人脸,以提高识别的准确性。
数据预处理是构建识别模型的重要步骤。
因为视频数据通常包含大量的冗余信息,如背景、光照变化等,需要通过预处理方法去除这些干扰因素,提高模型的训练效果。
常见的预处理方法包括帧间差分法、直方图均衡化和降噪等。
特征提取是视频人脸表情识别的关键环节。
传统的表情识别方法通常采用手工设计的特征,如LBP(Local Binary Patterns)和HOG (Histogram of Oriented Gradients)等。
然而,随着深度学习的兴起,基于卷积神经网络(CNN)的特征提取方法已经成为主流。
通过预训练的深度学习模型(如VGGNet、ResNet等),可以提取到更加丰富、高层次的特征表达,显著提高了表情识别的性能。
最后,分类识别是视频人脸表情识别与情绪分析系统的核心任务。
通过深度学习模型对提取到的特征进行分类识别,可以实现对视频中人脸表情的自动识别和情绪状态的分析。
在训练阶段,可以采用一些经典的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)和长短时记忆网络(LSTM)等,通过大规模的训练数据进行端到端的模型训练。
在测试阶段,对输入的视频序列进行特征提取,再通过预训练好的分类器进行表情识别和情绪分析。
-42-20078产品设计与实现一、前言二、数字视频监控系统的组成三、视频服务器的硬件实现监控系统作为现代企业不可缺少的重要组成部分,已广泛应用于交通、医院、银行、家居、视频会议和视频点播、证券、远程教育等诸多领域,可以有效地避免安全隐患的发生,保障员工人身安全和企业资产不受损失,实现无人值守。
早期的模拟监控系统不能联网,只能与监控中心进行点对点通信,随着图像与视频处理技术、网络技术和自动控制技术的发展,视频监控系统已过渡到数字化的网络监控。
它以数字视频的压缩、传输、存储和播放为核心,采用先进的数字图像压缩编/解码技术和传输技术,将智能图像处理与识别技术用于图像显示、调整、跟踪,根据现场环境智能调节摄像机的位置及清晰度,对物体进行跟踪识别,对图像进行分析和处理。
数字视频监控系统主要由监控中心、通信链路和多个监控站点组成。
通讯链路在企业内部使用企业已经铺设好的局域网线路,将其连人企业内部网,然后可以将其接人Internet,以便将信号传输给远端分控计算机或授权用户。
传输的数据包括视频、报警等录像数据和控制信号。
监控中心具有电视墙、磁盘阵列、服务器、交换机和路由器等网络设备,还可以通过多级级联构成多级监控系统。
监控站点主要由视频服务器和摄像机组成,整个系统组网灵活;可以突破地域限制,进行大规模、远距离的实时图像监控和报警处理。
如图1所示。
监控系统的软件包括客户端、服务器端软件两部分以及相互之间的通信。
在实际工作中,根据实际情况,在需要的地方安装相应的前端监控设备(彩色或黑白摄像机、固定或活动云台、定焦或变焦和相应的软件系统。
图I中的每个监控站点主要由摄像头、云台控制器、网络视频服务器组成,可配置可变镜头、麦克风、扬声器等外设,如图2所示。
其中网络视频服务器以嵌人式微处理器为核心,由视频采集编码模块、网络功能模块、实时时钟模块、摄像头云台控制模块等组成。
嵌人式微处理器是硬件部分的核心 , 采用 SAMSUNG的微处理器S3C4510B。
基于ARM的视频人脸识别系统设计与实现发表时间:2018-10-22T09:48:05.817Z 来源:《防护工程》2018年第12期作者:招永铸[导读] 现代社会对个人身份认证的方便性和有效性要求越来越高,传统的身份认证方法面临着严峻的挑战, 本文设计和实现了一种基于ARM 嵌入式视频的实时人脸识别系统,经测试验证了其实用性以及实时性,可以推广应用。
招永铸广东鼎华科技股份有限公司广东佛山 528000摘要:现代社会对个人身份认证的方便性和有效性要求越来越高,传统的身份认证方法面临着严峻的挑战, 本文设计和实现了一种基于ARM 嵌入式视频的实时人脸识别系统,经测试验证了其实用性以及实时性,可以推广应用。
关键词:ARM嵌入式;远程视频;实时;人脸识别人脸作为一种人体生物特征,具有难以伪造、不会遗失、随身携带、方便易用等特点。
人脸识别技术特指利用分析、比较人脸视觉特征信息进行身份鉴别的计算机技术,是模式识别在图像领域中的具体运用,其应用前景非常广阔,可以应用到身份证件的鉴别、自动门禁控制系统、银行取款机、家庭安全,图片检索等领域。
可传统的人脸识别系统以电脑为平台,体积大,使用不灵活,而嵌入式ARM平台具有体积小、低功耗、高性能、低成本的特点,因此基于ARM平台开发人脸识别系统具有重要的应用价值。
1.基本结构及工作原理远程视频实时人脸识别系统的设计,集视频前端和显示终端为一体。
视频前端采用搭载了linux操作系统的三星公司ARM 芯片作为开发环境,外部接有UVC 摄像头和无线网卡等。
为了减轻CPU 的工作压力,UVC 摄像头自带DSP 芯片自动压缩采集到的图像为MJPEG 格式,然后再将无线网卡设置为AP热点模式而无需路由器的介入,并通过它来建立起一个视频前端服务器,用以接收控制信号和发送视频。
显示终端基于Qt+OpenCV 的开发环境,首先接收视频前端传来的视频流并进行图像的预处理,并结合相应算法实现最终的视频监控以及人脸识别等功能,总体硬件框架如图1所示图1 总体硬件框架2.视频前端部分设计2.1 硬件部分选型视频前端采用三星公司的ARM9系列S3C2440作为处理器,工作频率可达400 MHz,完全能够满足高效的视频采集和视频传输要求,同时该处理器也内置各类控制器,对于引脚的控制十分方便,易于开发。
摄像头模块采用百问网公司的UVC 摄像头,它既可以支持USB接口,也可以支持CMOS接口。
USB模块上集成了DSP 芯片,可以自动将图像压缩成MJPEG 格式从而避免了软压缩的缺陷,减少CPU 的压力从而大幅提高性能。
CMOS模组为OV7740,最大分辨率640*480。
无线网卡选用美国ATHEROS AR9271 高阶芯片,材料全部采用知名供应商,且获得了FCC,ROHS,支持IEEE802.11B/G/N协议,传输速率相对较高。
2.2 软件部分设计视频前端软件部分设计需先进行uboot移植,linux内核移植和根文件系统的制作,同时根据相应要求编写或调试相关驱动程序以满足外设要求,最后编写上层应用程序。
操作系统采用Linux 3.4内核。
对内核的配置工作,内核支持的菜单项更加容易操作Makefile 中的模块,删除不必要的驱动模块从而缩小体积和加快速度。
新版本的内核中支持了USB 总线的框架,将通用层包装起来,差异层提取出来以供修改,大大减少开发周期,设计使用的摄像头驱动程序是基于V412框架的视频设备标准的,其为应用层提供了函数调用的基础。
当接入设备时,会触发硬件中断,内核会去识别它并且根据其设备描述符找到与之匹配的设备驱动程序,从而可以在应用层使用底层函数接口来操作摄像头硬件。
视频的采集流程如图2所示。
图2视频采集流程图在采集到视频数据后需要发送到上位机去显示,在网络传输部分采用TCP 协议,通过socket编程使得视频前端作为服务器端,上位机作为客户端来交互地传递数据。
视频传输流程如图3所示。
3.显示终端部分设计3.1 Qt+OpenCV 的开发环境Qt Creator 是Qt 开发的轻量级跨平台集成开发环境,其包含了一系列高效的创建和测试工具,可以很方便地利用各种控件做出友好的界面。
OpenCV 用于视觉领域,是一款跨平台开源库,内部代码可免费查看和修改。
其中有许多模块可以帮我们更好地进行图像处理,也可以跟踪进相应函数了解算法流程。
本设计在Qt Creator中调用OpenCV的相应库实现视频的显示和人脸识别等功能。
图3视频传输流程在界面中用到一个Qlabel类作为静态图像的显示容器,然后结合Qtimer 类的定时器来实现图像的不断刷新,并且给出QPushButton类利用信号与槽机制来实现视频的打开、关闭、人脸识别和手工/智能录像等功能。
3.2 人脸识别方法3.2.1 人脸检测本系统选取基于目标检测方法来进行人脸检测。
首要工作就是根据需要训练样本得到低级分类器,再将多种低级组合成高级分类器。
得到高级分类器后就可以用来进行检测,并将结果返回。
但是由于物体距离的远近会导致目标区域的大小不确定,所以分类器设计时也该可以随尺寸变化。
其可以用不同比例的扫描窗口来达到这个目的。
具体检测步骤如下:(1)使用Haar特征检测;(2)使用积分图对haar特征求值进行加速;(3)使用Adaboost算法实现分类器的由弱转强;(4)将得到的强分类器连接起来以达到更高的精确度。
文中使用OpenCV 自带的级联分类器harrcascade_frontalface_alt2.xml,它能很好地检测人脸,使用CascadeClassifier类的Load函数对其进行加载,然后再进行人脸检测。
3.2.2 人脸识别经过之前的人脸检测后将会得到人脸区域的图像,在经过图像预处理之后就可以使用特征脸(PCA)的方法进行人脸识别。
在识别之前还需要创建人脸库并进行训练,本文选取了10个人的10幅图片来进行训练,即每人选取不同姿态、表情和光照的尺寸为100*100 的正面人脸图像。
OpenCV 的一系列函数可以大大简化了人脸库的创建和加载工作,其代码如下:Ptr<FaceRecognizer> model;Model = createEigenFaceRecognizer();model->train(images,labels);model->save("ORL_PCAModel.xml");model->load("ORL_PCAModel.xml");具体识别步骤如下:(1)创建人脸库;(2)读取库文件并训练;(3)把所有的训练数据投影到PCA子空间;(4)把待识别图像投影到PCA子空间;(5)找到训练数据投影后的向量和待识别图像投影后的向量最近的那个。
3.3 人脸识别系统实现人脸识别流程如图4所示,本系统中首先提取视频前端发来的数据,并加载训练好的人脸检测分类器以及训练好的人脸识别库。
图4人脸识别流程为了更好地检测,需要先对图像进行灰度化处理,其采用OpenCV中的cvtColor函数,该函数可以对色彩进行转化。
接着进行直方图均衡化处理,直方图均衡化采用OpenCV 中提供的equalizeHist 函数,它可以增强图像对比度。
总结以上两个处理,我们先利用cvtColor将图片转化为灰度图,再将灰度图对比度提高,可以更好的区分图像的明暗部分,使图片更加易于级联分类器分析。
经过图像预处理后,可以开始进行人脸检测了。
本文用新版本的detectMultiScale 函数,并根据需要传入相应的参数来调整检测效果,它其实是用到训练好的高级分类器来检测所需目标并返回给一个矩阵。
函数将会用不同大小的扫描窗口在图像上进行搜索,每次都会对图像中的重叠区域进行检测与组合。
在获得人脸区域后将其进行尺寸上的调整并与训练好的人脸库进行对比,判断阀值大小从而确定个人身份信息,若不存在于事先设定好的人脸库中则报警和开启自动录像功能。
4.实验效果分析本次实验主要是为了验证该远程视频人脸识别系统的相关性能,我将分别从以下几个角度来进行验证:正脸(单人与多人)、距离远近、光照干扰、局部遮挡和实时性。
单人/多人检测与近距离/远距离的人脸识别实验效果很理想,基本可以无误地识别所有出现的人脸。
对于局部遮盖情况下的人脸识别,在不遮盖超过三分之一人脸的情况下也可以准确的识别出来。
光照等环境因素对人脸识别的影响比前几种稍大,总体的人脸检测精度接近95% ,人脸识别达到86%。
在实验过程中打印出人脸识别所用平均时间约等于140 ms,实时性得到保证。
同时在上位机上也添加了智能化的功能,例如在监控区域有人出现时可以识别并显示其身份信息,在遇到陌生人时系统会开启自动报警和智能录像等功能。
5.结论综上,整个系统的测试结果表明本文开发的基于ARM 嵌入式设计实现的实时人脸识别系统抗干扰能力强,具有较完备的功能、友好的界面、便捷的使用、高效的识别效果,实时性也完全可以保证,能够在视觉安全识别领域推广应用。
然而,值得我们注意的是人脸识别的准确度较复杂的环境下会有所降低,所以还需要对人脸识别算法进行深入的研究以使得系统更加完善。
参考文献:[1]塔娜. 基于ARM的人脸识别系统设计与实现[D]. 东北师范大学, 2009.[2]高宏娟. 实时人脸识别系统的设计和实现[J]. 科技信息, 2011(10):417-418.[3]桂斌. 基于ARM9的嵌入式人脸识别系统设计[D]. 安徽理工大学, 2017.[4]刘坚. 基于ARM的嵌入式人脸识别系统设计及实现[D]. 西安科技大学, 2017.。