LabVIEW利用矢量量化直方图开发人脸识别
通常,人脸识别系统会检查场景的静止图像或视频图像,然后使用存储的人脸数据库识别或验证场景中的一个或多个人。我程序专注于静止图像人脸识别,使用来自众所周知的人脸数据库的人脸图像,用于数据库训练和实时识别目的。
系统概述
矢量量化(VQ)是一种有损图像压缩技术,由于其良好的压缩性能和高速、实时的解压缩,广泛应用于电子媒体和娱乐系统。图像被输入到VQ压缩系统中,它输出一个码本和一个索引流,它们共同构成了原始图像的压缩格式。VQ系统的主要设计问题是生成码本的算法,其中“高质量”码本会产生良好的压缩性能。本项目中使用的算法通过使用迭代过程(也称为训练)来克服此问题。
VQ直方图是图像压缩操作的中间结果,其中包含描述压缩人脸图像的有用特征。最后,树状结构决策网络提供了一种更简单、更高效的人脸识别方法。
矢量量化操作
人脸识别系统流程图
使用LabVIEW开发了人脸识别系统。系统包含三个主要步骤。系统的输入是未知的人脸图像,输出是从数据库中识别人脸图像的识别结果。
第1步是将图像转换为矢量的矢量化过程,因为矢量是VQ系统中的基本单元。在此步骤中,可以在输入图像上包括可选的图像处理。图像处理的一些示例包括调整大小、灰度均衡、自适应滤波、图像增强和实验,以显示可能影响识别结果的图像操作。
NI视觉开发模块中的图像处理库可轻松实现和实验这些图像处理功能的不同组合。第2步是系统训练阶段,其中系统为每个训练图像生成最佳码本。系统在这里成功实现了自适应增量林德、布佐、格雷(LBG)VQ算法。在人脸识别模拟过程中不需要步骤2,这使得它可用于实时识别目的。步骤3是一个树状结构的决策网络,它为给定的测试图像做出识别决策。
树状结构决策网络由节点组成,每个节点区分两个人脸图像。它通过存储两个经过训练的人脸图像的数据库并将它们与输入测试图像进行比较来实现这一点。图3说明了馈送到顶部节点的测试映像,其中包含数据库1和2。如果测试图像更接近训练的数据库1,则会将此测试图像转移到左侧的下一个节点到网络。否则,它会将其转移到右侧,网络的顶部节点所示。最终的识别结果是网络终端节点处的决策。
开发了网络,因此所有经过训练的人脸图像都有明确的路由和由终端节点指示的输出。在图,网络已被训练为识别1张人脸,并且每个经过训练的人脸在结束节点都有一个明确的输出。这提供了一种逻辑比较方式,并通过仅与网络中整个人脸数据库的子集进行比较,使搜索更加高效。另一个优点是,可以轻松地将新的人脸图像添加到网络数据库中,而无需重新训练所有以前的图像或重建整个网络,这将非常耗时。
结果
使用来自公开的人脸数据库的50张图像,基于PC的人脸识别系统实现了高达80%的识别率。这种基于PC的系统作为所提出的人脸识别方法的概念验证,该方法有进一步改进和研究的空间。
LabVIEW图形化编程环境可帮助用户将程序流程可视化,以便于开发和调试。此外,由于许多工程过程和算法以流程图形式呈现,因此在LabVIEW中实现它们会更简单、更快速,因为它们自然地与LabVIEW框图和子VI的使用相对对应。可以将节省下来的宝贵时间用于实际实验和改进程序,以取得更好的结果,强烈建议使用此属性。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。
楼主最近还看过