树莓派人脸识别系统的开发与研究
2020-07-04张钰敏叶传奇张淑媛王展田雨薇秦佳帅
张钰敏 叶传奇 张淑媛 王展 田雨薇 秦佳帅
摘要:该文以OpenCV视觉库为核心,设计了基于树莓派为硬件基础的人脸识别系统,该系统可对人脸进行识别并估算人的年龄。首先将摄像头采集的人的面部图像进行灰度化处理、特征值计算,在此基础上训练出数据。经过对数据的分析处理,可估算出面部年龄。经过测试,该系统可对人的年龄进行较准确的判断。
关键词:树莓派;OpenCV;人脸识别;图像处理
中图分类号:TP3 文献标识码:A
文章编号:1009-3044(2020)13-0221-02
1研究背景及内容介绍
随着计算机网络技术的发展和普及,人脸识别在生活中的应用越来越广泛,与面部识别相关的软硬件技术也越来越成熟,因为人脸识别具有独特性,稳定性等优点,而树莓派具有物美价廉便携带等优点,所以本文采用人脸识别技术的基础上开发一个小设备去估算人的年龄。
2基本理论
2.1 OpenCV简介
OpenCV是一个基于伯克利软件套件许可而发行的跨平台计算机视觉库,可以运行在Linux操作系统、Windows系统、An-droid系统等。它由一系列C函数和少量C++类构成,便于有编程语言基础的人了解学习。除了C和C++,它还提供了Pvthon、Ruby、MATLAB等多种语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
2.2树莓派简介
Raspberry Pi简称树莓派,简单来说是性价比较高的迷你计算机,是英国的慈善组织学习计算机编程教育而设计。树莓派的系统基于Linux。它是一款低成本RISC微型处理器的微型电脑。它有Tvpe-C接口,MicroUSB接口,以及3.5mm的音频输出接口等等,可以在本次实验中连接摄像头,电源等。正是其微小型、全面性,成为本项目开发的最佳芯片选型。
3主要算法
Adaboost是adaptive boosting的縮写,是Freund和Sehapire根据在线分配算法提出的,主要思想是将多个弱分类器通过添加权值组合成一个强分类器。对于分类效果好的弱分类器则是增加权值,分类效果不好则是减少权值。
开始训练的时候,每个样本的权重都是一样的,先在样本分布下训练出弱分类器,反之,对于分类错误的样本,增加这个样本对应的权重,对于分类正确的样本降低这个样本的权重。多次训练之后,得到了新的样本分布。在新的样本分布下,对弱分类器进行训练,得到了弱分类器。循环多次,把这些弱分类器的权重叠加之后,就得到了相应的强分类器。
大致过程如下:
(1)训练一些样本的概率分布,并且训练弱分类器;
(2)计算出弱分类器的错误率;
(3)基于弱分类器调整各个样本的权重;
(4)得到了强分类器。
训练识别的结果如图1所示。
该算法具有自适应特点,其自适应表现在:每一个基本分类器分错的样本会因为权值的变化得到加强,通过加权后的全体样本再次被用来训练下一个分类器,这个弱分类器之后会用来转换成强分类器。在多次的训练中都会产生一个弱分类器,直到达到预先设置的错误率。
4系统的整体设计
在采集样本之后通过数据训练模型,大致流程是先通过摄像头读取到的画面进行灰度处理,当人脸检测到的数据通过人脸检测分类器传递给人脸识别,人脸识别是数据和人脸数据模型推测出的结果。
除此之外,在训练出的人脸数据模型时,通过对人脸检测数据是否满足精确度,如果这个数据满足精确度则不对这个模型进行更新,如果不满足精确度,则可以进行模型更新升级模型,提高测试的精确度。大致流程如图2所示。
5结束语
随着图像软件的发展,图像的中得到了很好的发展。同时利用软件技术与OpencV的算法也实现了采集样本,更新模块等功能,使精准度越来越高。通过一系列的测试,发现更新过后的模块比更新前的预测精准度有所提高。