基于计算机视觉技术的人脸检测系统设计
《2024年基于OpenCV的人脸识别系统设计》范文

《基于OpenCV的人脸识别系统设计》篇一一、引言随着科技的发展,人脸识别技术已成为现代社会中不可或缺的一部分。
该技术被广泛应用于安全监控、身份验证、智能门禁等领域。
OpenCV(开源计算机视觉库)作为一种强大的计算机视觉库,为开发者提供了进行人脸识别系统的设计和实现的可能。
本文将详细介绍基于OpenCV的人脸识别系统设计,包括其设计思路、实现方法和应用前景。
二、系统设计目标本系统设计的主要目标是实现高效、准确的人脸识别功能。
通过使用OpenCV的强大功能,系统将能够实现对人脸的检测、跟踪、识别和比对。
此外,系统还应具有良好的实时性和稳定性,以满足实际应用的需求。
三、系统设计原理本系统设计主要基于OpenCV的人脸识别技术,包括人脸检测、特征提取和人脸比对三个主要步骤。
1. 人脸检测:通过OpenCV中的人脸检测算法,系统能够在图像或视频中检测出人脸。
这些算法通常基于肤色模型、形状模型或深度学习模型等。
2. 特征提取:检测到人脸后,系统将提取出人脸的特征。
这些特征通常包括面部关键点的位置、纹理特征、深度学习特征等。
OpenCV提供了多种特征提取方法,如HOG、SIFT、SURF等。
3. 人脸比对:提取出特征后,系统将进行人脸比对。
这通常通过将提取的特征与数据库中已知的特征进行比对来实现。
比对的算法可以是基于距离度量、相似度度量等。
四、系统设计实现1. 硬件环境:本系统设计的硬件环境包括计算机、摄像头等。
计算机应具备足够的计算能力以支持实时的人脸识别处理,摄像头应具备高清、稳定的图像采集能力。
2. 软件环境:本系统设计的软件环境主要基于OpenCV和Python。
OpenCV用于实现人脸识别的核心算法,Python则用于编写系统的主程序和用户界面。
3. 系统实现流程:首先,通过摄像头实时采集图像或视频;然后,使用OpenCV中的人脸检测算法检测出图像中的人脸;接着,提取出人脸的特征;最后,将提取的特征与数据库中已知的特征进行比对,实现人脸识别。
基于opencv的人脸识别毕业设计

基于opencv的人脸识别毕业设计一、引言人脸识别技术是一种通过对图像或视频中的人脸进行识别和验证的技术。
随着计算机视觉和深度学习技术的发展,人脸识别技术已被广泛应用于安防监控、人脸支付、智能门禁等领域。
本文将以基于opencv 的人脸识别技术为研究对象,设计一种高效、准确的人脸识别方案,作为毕业设计的主题。
二、背景介绍1. 人脸识别技术发展历程人脸识别技术的发展经历了传统图像处理、特征提取、模式识别等阶段,近年来,随着深度学习技术的成熟,人脸识别技术取得了突破性进展。
基于深度学习的人脸识别算法不仅能够实现高精度的人脸检测和识别,还能适应不同光照、姿态和表情下的人脸识别任务。
2. opencv在人脸识别中的应用opencv是一个开源的计算机视觉库,提供了丰富的图像处理和机器视觉算法库。
opencv的简单易用、跨评台兼容等特性,使其成为人脸识别技术开发中的重要工具。
许多经典的人脸检测、人脸识别算法都有基于opencv的实现。
三、研究内容与目标本文拟以基于opencv的人脸识别技术为研究对象,结合深度学习技术和opencv图像处理算法,设计一种高效、准确的人脸识别方案。
具体研究内容和目标如下:1. 掌握opencv图像处理和人脸识别的基本原理与算法;2. 分析深度学习在人脸识别中的应用,并结合opencv实现深度学习模型;3. 设计并实现一个基于opencv的人脸检测和识别系统;4. 评估所设计系统的准确性、鲁棒性和实时性,并与市面上主流的人脸识别系统进行性能比较。
四、研究方法与流程1. 研究方法本研究将采用文献调研、实验分析和系统设计等方法,通过阅读相关文献,深入了解深度学习和opencv在人脸识别中的应用;结合实际数据集,分析人脸识别算法的性能和特点;基于opencv和深度学习框架,设计实现人脸识别系统,并进行性能评估。
2. 研究流程(1)文献综述:梳理文献,了解人脸识别领域的研究现状和发展趋势;(2)数据准备:收集人脸图像数据集,用于实验分析和算法训练;(3)算法实现:基于opencv和深度学习框架,实现人脸检测和识别算法;(4)系统设计:设计一个基于opencv的人脸识别系统,包括图像预处理、特征提取和匹配识别等模块;(5)性能评估:通过实验评估所设计系统的准确性、鲁棒性和实时性,并与市面上主流的人脸识别系统进行性能比较;(6)撰写毕业设计论文。
基于计算机视觉技术的人脸追踪应用研究

基于计算机视觉技术的人脸追踪应用研究随着智能手机、电脑等设备的普及,人脸识别技术越来越受到重视。
今天我们要聊聊关于人脸追踪,特别是基于计算机视觉技术的人脸追踪应用研究。
一、什么是人脸追踪?人脸追踪是指通过计算机视觉技术,对视频中的人脸进行实时跟踪,保证系统对指定人脸进行准确、快速的识别和检测。
简单来说,就是通过摄像头实时捕捉视频画面中的人脸特征,然后通过算法对其进行追踪和识别。
人脸追踪技术适用于很多场景,比如安防监控、人脸采集、人机交互等。
二、人脸追踪技术的原理人脸追踪技术是基于计算机视觉和机器学习技术实现的。
具体来说,人脸追踪的过程分为两部分,即人脸检测和跟踪。
1.人脸检测人脸检测是指在视频画面中准确地定位和识别出人脸区域。
通常采用的是分类器检测算法,它可以将输入图片分为人脸和非人脸的两类。
目前比较常见的分类器包括 Haar 分类器和 Viola-Jones 分类器等。
这些分类器都是基于深度学习算法实现的。
2.人脸跟踪人脸跟踪是指在经过人脸检测后,对检测到的人脸进行跟踪和持久化。
此时,我们需要使用一些跟踪算法,比如基于卡尔曼滤波的跟踪算法和基于最小二乘法的跟踪算法等。
三、人脸追踪技术的应用1.安防监控人脸追踪技术可以用于安防监控场景中,监控人员可以通过追踪监控画面中的人脸,进行实时监控和管理。
可以对比热点区域进行监控,对可疑人员进行识别和报警,在保证安全的前提下,尽量最大化保护个人隐私。
2.人脸采集在人脸采集场景中,人脸追踪技术可以大大提高采集速度,并保证采集到的人脸信息准确无误。
比如,人员进出门禁系统中,工厂生产车间的员工考勤系统,博物馆、体育馆等场所的入场验证系统等,都可以采用人脸追踪技术进行实时、高效的采集和管理。
3.人机交互人脸追踪技术还可以用于人机交互中。
比如通过人脸特征进行图像和声音的互动,视屏会议中的会议识别等等。
在 VR 游戏中,玩家可以通过面部表情和眼神控制游戏人物的动作,提升游戏的趣味性和体验性。
基于计算机视觉的人脸识别系统研究

基于计算机视觉的人脸识别系统研究概述随着计算机视觉技术的快速发展,人脸识别系统的研究受到了广泛关注。
基于计算机视觉的人脸识别系统是通过数字图像处理和模式识别技术,对输入的人脸图像进行特征提取和匹配,从而实现对个体身份的识别。
本文将介绍人脸识别系统的基本原理、算法和应用,并探讨其研究的挑战和未来发展方向。
基本原理人脸识别系统的基本原理是根据人脸图像中的特征区域,如眼睛、鼻子、嘴巴等,提取出一系列特征向量,并利用这些特征向量进行身份识别。
具体而言,人脸识别系统包括以下几个步骤:1. 图像采集:通过摄像头或其他图像采集设备,获取待识别人脸的图像。
2. 预处理:对采集到的人脸图像进行预处理,包括图像去噪、图像归一化和人脸检测。
图像去噪是为了减少干扰,提高图像质量;图像归一化是将图像转换为统一的尺寸和方向,便于后续的特征提取和匹配;人脸检测是为了确定人脸在图像中的位置和大小。
3. 特征提取:利用图像处理和模式识别算法,提取出人脸图像中的特征信息。
常用的特征提取算法包括主成分分析(PCA)、线性判别分析(LDA)和局部二值模式(LBP)等。
4. 特征匹配:将待识别人脸的特征向量与数据库中保存的已知人脸特征进行比对,找出与之最相似的人脸。
5. 身份验证或识别:通过比对结果判断待识别人脸的身份,可以进行二元分类(是/否)或多元分类(多个身份候选)。
算法和技术人脸识别系统的核心算法和技术包括图像处理、特征提取和模式匹配。
在图像处理方面,常用的技术包括灰度化、直方图均衡化、滤波和边缘检测等。
特征提取方面,已有多种算法可供选择,如PCA、LDA、LBP和深度学习等。
模式匹配方面,常用的算法有欧氏距离、余弦相似度和支持向量机等。
其中,深度学习在人脸识别领域取得了重大突破。
基于深度学习的方法采用卷积神经网络(CNN)进行特征提取和识别。
CNN学习到的特征具有更强的表征能力,可以更好地区分不同人脸之间的差异,进而提高识别的准确性。
基于深度学习的人脸识别系统设计与实现

基于深度学习的人脸识别系统设计与实现人脸识别技术是一种基于计算机视觉和模式识别理论,通过对图像或者视频中的人脸进行检测、识别和验证的技术,具有广泛的应用前景。
随着深度学习算法的不断发展,基于深度学习的人脸识别系统成为当今最先进的方法之一。
本文将介绍基于深度学习的人脸识别系统的设计与实现,包括数据准备、网络架构、训练过程和应用场景。
一、数据准备人脸识别系统的性能很大程度上依赖于训练数据的质量和数量。
因此,准备一个高质量的人脸数据集至关重要。
一个典型的人脸数据集应该包含大量不同人的人脸图像,且图像应该具有多样性,包括不同的姿势、光照条件和表情。
此外,还需要为每个人标注正确的人脸边界框和对应的人脸类别标签。
这些标注信息将在训练阶段用于构建训练样本。
二、网络架构深度学习的关键是设计一个合适的神经网络架构。
在人脸识别任务中,通常使用卷积神经网络(Convolutional NeuralNetwork,CNN)来学习人脸特征表示。
一个经典的CNN架构是卷积层、池化层和全连接层的串联。
这种架构可以通过多层的非线性变换来提取图像的高级特征。
在人脸识别任务中,还常使用一种叫做人脸验证网络的结构,其中包括两个并行的卷积神经网络,一个用于提取人脸特征,一个用于计算人脸特征之间的相似度。
三、训练过程在训练阶段,首先需要从准备好的数据集中加载样本。
然后,将加载的样本输入到网络中进行前向传播。
通过前向传播,网络将学习到图像中的特征表示,并输出一个特征向量。
接下来,计算损失函数来衡量网络输出的特征向量和真实标签之间的差异。
常用的损失函数包括欧式距离和余弦相似度。
最后,使用反向传播算法来调整网络的权重,使得损失函数最小化。
这个过程需要循环多次,直到网络收敛。
四、应用场景基于深度学习的人脸识别系统在各个领域都有广泛的应用。
在人脸识别技术的研究方面,可以通过调整网络架构、训练数据和损失函数等参数来改进人脸识别的性能。
在人脸识别的实际应用中,可以将其应用于人脸解锁、身份验证、安全监控等场景。
人脸识别系统设计方案

人脸识别系统设计方案人脸识别系统是一种利用计算机视觉技术对人脸图像进行检测、识别和验证的技术。
它通过分析、提取和比对人脸图像中的特征信息,实现对个体身份的识别。
本文将从硬件设备、算法处理和应用场景三个方面介绍人脸识别系统的设计方案。
首先,硬件设备是人脸识别系统的重要组成部分之一。
一个标准的人脸识别系统通常需要包括摄像头、图像采集设备、处理器和存储设备等。
摄像头用于获取人脸图像,图像采集设备用于处理和存储采集到的图像数据,处理器负责图像处理和特征提取,存储设备用于存储与人脸特征相关的信息。
除此之外,人脸识别系统还可以根据具体需要添加其他设备,如红外传感器可以增强对低照度环境下的人脸检测能力,电子闸机和门禁设备可以实现对人员进出的控制。
其次,算法处理是人脸识别系统设计的核心。
常见的人脸识别算法包括人脸检测、人脸对齐、人脸特征提取和人脸匹配等。
人脸检测算法用于从图像中检测出人脸区域,人脸对齐算法用于将检测到的人脸对齐到标准位置,人脸特征提取算法用于从对齐后的人脸中提取出特征向量,人脸匹配算法用于比对不同人脸之间的相似度。
人脸识别系统中的每个算法环节都需要高效、准确地处理大量图像数据,因此算法设计的优化和性能的提升是设计方案的重点。
最后,根据人脸识别系统的应用场景的不同,识别系统的设计方案也有所区别。
例如,对于门禁系统和考勤系统,可以设计一个离线人脸识别系统,通过离线库匹配识别用户身份;而对于人脸支付系统和移动解锁系统,需要设计一个实时人脸识别系统,即时反馈识别结果。
此外,对于大规模人脸识别系统,可以采用分布式架构,将图像采集和处理任务分布到多个设备上,提高处理速度和系统的可扩展性。
综上所述,人脸识别系统的设计方案需要兼顾硬件设备、算法处理和应用场景三个方面。
合理选择高质量的硬件设备,优化算法处理流程,根据具体应用场景设计适合的系统架构,才能够设计出一个高效、准确的人脸识别系统。
基于计算机视觉技术的人脸检测系统设计

人 脸 区域 图像 卖 时 显 示 和存 盘 。此 外 , V + 60环 境 下 实现 了对人 脸 检 测 系统 软 件 界 面 的 开 发 。实验 结 果 表 明 , 在 C+. 该
检 测 系 统 开发 周 期 短 , 测 速 度 快 , 时性 强 , 测 率 高 , 检 实 检 可作 为人 脸 识 别和 人 脸 跟 踪 系统 的 开发 基 础 。
s o s ta h a e d tc in s se h sf au e fs otd v l p c c e a i ee t n,r a- me a d h g e e t n r t , h w h tt e fc ee t y tm a e t r so h r e eo y l ,r p d d tc i o o e l i n ih d tc i ae t o w ih c n b s d f r h a e f a er c g i o y tm n c a k n y t m. h c a eu e eb s so c o n t n s se a d f e t c ig s se ot f e i a r Ke r s c mp trv s n;f c ee t n;Ad Bo s a g r h ;Ha rl ef au e y wo d : o u e ii o a e d tc i o a ot lo tm i a —i e t r ;Op n V k eC
《2024年基于OpenCV的人脸识别系统设计》范文

《基于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. 系统测试:对系统进行严格的测试,包括功能性测试、性能测试和稳定性测试等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于计算机视觉技术的人脸检测系统设计王斌,郭攀,张坤,黄乐(长安大学信息工程学院,陕西西安710064)摘要:通过对基于Haar-like 特征的AdaBoost 人脸检测算法研究,利用由该算法训练的级联分类器和计算机视觉类库OpenCV 进行人脸检测系统设计,实现了基于静态图像、摄像头视频和avi 视频的人脸检测与标记,以及标记后的人脸区域图像实时显示和存盘。
此外,在VC++6.0环境下实现了对人脸检测系统软件界面的开发。
实验结果表明,该检测系统开发周期短,检测速度快,实时性强,检测率高,可作为人脸识别和人脸跟踪系统的开发基础。
关键词:计算机视觉;人脸检测;AdaBoost 算法;Haar-like 特征;OpenCV 中图分类号:TP391.4文献标识码:A文章编号:1674-6236(2011)16-0038-04The design of face detection system based on computer vision technologyWANG Bin ,GUO Pan ,ZHANG Kun ,HUANG Le(College of Information Engineering ,Chang ’an University ,Xi ’an 710064,China )Abstract:Through the research for AdaBoost face detection algorithm based on Haar -like features ,make use of the cascade classifier trained by this algorithm and computer vision library OpenCV to design a face detection system ,realize face detection and mark based on static image ,camera video and avi video ,finish displaying and saving the face region images marked by rectangles real -timely.Besides ,achieve the development of software interface by VC++6.0.The experiment result shows that the face detection system has features of short develop cycle ,rapid detection ,real -time and high detection rate ,which can be used for the bases of face recognition system and face tracking system.Key words:computer vision ;face detection ;AdaBoost algorithm ;Haar -like feature ;OpenCV收稿日期:2011-06-19稿件编号:201106084作者简介:王斌(1985—),男,河南南阳人,硕士研究生。
研究方向:信号与信息处理及智能控制。
随着计算机技术和数字信号处理技术的快速发展,计算机视觉技术逐渐应运而生,并得到了广泛的应用。
OpenCV [1](Open Source Computer Vision Library )是由Intel 提供的由一系列C 函数和少量C++类构成的计算机视觉开源软件包,它拥有数百个可实现图像处理和计算机视觉方面的中、高层API ,可以十分方便地搭建基于计算机视觉技术的静态图像和视频流处理软件平台,可作为二次开发的理想工具。
由于基于Haar-like 特征的AdaBoost 人脸检测算法具有检测速度快、实时性强、鲁棒性好等优点,本文采用基于Haar-like 特征的AdaBoost 人脸检测算法和OpenCV 相结合的方法在VC++6.0软件开发平台上分别对基于静态图像、摄像头视频和avi 视频的人脸检测系统进行设计,实现了从静态图像中检测出人脸并标记出人脸位置、从摄像头视频中实时检测和标记出人脸的位置和从avi 视频中提取检测出有人脸的帧并实时标记人脸,同时还实现了对标记后的人脸区域图像进行实时显示和存盘。
1AdaBoost 人脸检测算法人脸检测的目的就是把静态图像或视频帧中的人脸区域和非人脸区域区分开。
Viola 等人提出的人脸检测方法是一种基于积分图、级联分类器和AdaBoost 算法的方法,该方法可分为以下3个步骤实现[2]。
1)使用Haar-like 特征表示人脸,并采用一种新的图像表示方式—“积分图”快速计算其特征值。
2)利用AdaBoost 机器学习算法挑选出一些最能代表人脸的矩形特征(弱分类器)并按照加权投票的方式将弱分类器构造成一个强分类器。
3)将训练得到的若干个强分类器串联起来构造成一个级联结构的分类器,从而提高分类器的检测速度。
1.1Haar-like 特征用一些简单的矩形特征来表示人脸特征,因其类似于Viola 等人提出的Haar-like 小波而得名[3]。
常用的Haar-like特征有边缘特征、线性特征和中心特征,如图1所示。
其中特征值是指图像上两个或者多个形状大小相同的矩形内部所有像素灰度值之和的差值,在系统中统一采用白电子设计工程Electronic Design Engineering第19卷Vol.19第16期No.162011年8月Aug.2011图1Haar-like 特征Fig.1Haar -like features-38-色矩形区域所有像素灰度值之和减去黑色矩形区域所有像素灰度值之和[3]。
例如,图1(b )的特征值是靠两边的矩形像素总和与中间矩形像素和的差值。
也可根据实际情况扩展出多种新的Haar-like 特征模板。
1.2积分图为了提高样本训练和人脸检测的速度,Viola 等人提出了积分图的表示方法,这种方法可使矩形特征值得到快速计算。
积分图的计算方法如公式(1)所示[4]:ii (x ,y )=x ′≤x Σy ′≤yΣI (x ′,y ′)(1)其中I (x ′,y ′)为图像在点(x ′,y ′)处的像素值,ii (x ,y )是计算后的积分图像。
若采用递推公式[4](2)和(3),积分图只需遍历一次原图像所有点即可计算出来,其中s (x ,y )为点(x ,y )所在位置的列积分值,定义s (x ,-1)=0,ii (-1,y )=0。
s (x ,y )=s (x ,y -1)+i (x ,y )(2)ii (x ,y )=ii (x -1,y )+s (x ,y )(3)1.3AdaBoost 算法基本原理AdaBoost 算法[5]是一种迭代算法,主要用于特征选择和训练分类器,其核心思想是针对不同的训练集训练同一个分类器(弱分类器),然后把这些在不同训练集上得到的弱分类器通过一定的方法集合起来,构成一个最终的强分类器。
在该算法中不同的训练集是通过调整每个样本对应的权重来实现的。
最开始的时候,每个样本的权重是相同的,在此样本分布下训练出一个弱分类器h 1(x )。
对于h 1(x )分类错误的样本则加大其对应的权重,而对于h 1(x )分类正确的样本则减小其对应的权重,从而把分类错误的样本突出出来,进而组合成一个新的样本分布。
同时,根据分类错误的情况赋予h 1(x )一个权重,表示该弱分类器的重要程度,分类错误的越少权重越大。
在新的样本分布下,对其进行再次训练,得到弱分类器h 2(x )及其权重。
以此类推,经过T 次循环训练得到T 个弱分类器和T 个对应的权重,然后把这T 个弱分类器按照一定的权重叠加起来,得到最终的强分类器。
1.4级联分类器级联分类器是由多层强分类器级联而成的,也称之为级联检测器或瀑布型检测器。
其每一层都是由AdaBoost 算法训练得到的强分类器,第1层分类得到的正确结果触发第2层分类器的分类,第2层分类得到的正确结果再触发第3层分类器的分类,以此类推。
这样疑似人脸窗口依次通过各层分类器,就确认为人脸。
反之,如果被检测的窗口在某一层被判断为非人脸,就立即停止对该窗口的检测,开始进行下一个窗口的检测[5]。
这种级联结构的分类器在设计时采用逐级复杂的原则来实现的,最初的几层强分类器比较简单,通常一层由一到几个弱分类器构成,这样可以快速排除掉那些明显不是人脸的子窗口,使后续检测目标越来越少,从而大大提高了检测速度。
此外,为了实现搜索不同大小的目标区域,分类器被设计为可进行尺寸改变,这样可以避免直接对图像进行缩放变换,减小了计算工作量,也提高了检测速度。
2人脸检测系统设计与实现2.1级联分类器的制作和选取级联分类器的制作可采用OpenCV 自带的Haartraining程序训练实现,首先准备大量的正样本(人脸样本)和负样本(非人脸样本),然后利用OpenCV 安装目录中的bin 子目录下的createsamples.exe 和haartraining.exe 分别创建Sample 和训练Sample ,直到收敛为止,最后利用bin 子目录下的performance.exe 进行样本测试的训练,最终生成级联分类器XML 文件[6]。
为了快速开发出一套人脸检测系统,本文选取OpenCV 自带的基于Haar -like 特征的级联分类器haarcascade_frontalface_alt_tree.xml 和haarcascade_profileface.xml 进行实验。
2.2软件系统界面设计采用VC++6.0搭建前台人机界面(如图2所示),该界面主要分为3个部分,分别是检测显示区、定位显示区和菜单区。
检测显示区主要实现基于静态图像、摄像头视频和avi 视频的人脸检测结果显示,定位显示区主要实现对标记后的人脸区域图像进行实时显示,菜单区主要实现基于静态图像、摄像头视频和avi 视频的人脸检测与标记操作以及标记后的人脸区域图像的显示和存盘操作。
2.3人脸检测软件实现基于静态图像的人脸检测流程如图3所示,大致可分为4个过程:1)加载训练好的级联分类器;2)将其转化为内部格式,以便被计算机识别处理;3)加载待检测的静态图像;4)检测出图像中的人脸区域并标记出人脸位置。
基于摄像头视频的人脸检测流程如图4所示,主要过程:1)检测并启动摄像头,如未安装摄像头将会发出警告并结束检测,因视频采集设备种类多和视频处理的实时性要求,本文采用了实时视频处理技术DirectX ;2)加载已训练好的级联分类器并将其转化为内部格式;3)判断检测标志位,若为真,首先捕获当前一帧并创建该帧的图像,然后载入当前一帧图像,并对图像中的人脸区域进行检测和标记,最后判断保存图2人脸检测系统界面Fig.2The interface of face detection system图3基于静态图像的人脸检测流程图Fig.3Flow chart of face detection based on static image《电子设计工程》2011年第16期标志位,此时若为真则保存标记的人脸区域图像并进入下一帧的检测,否则直接进入下一帧的检测;若检测标志位为假则结束检测。