APP下载

自主移动服务机器人人脸识别方法研究与实现

2020-12-14孟清刘齐科

软件导刊 2020年9期
关键词:人脸识别

孟清 刘齐科

摘  要: 人脸识别技术作为自主移动服务机器人的关键技术之一,得到广泛关注和研究,同时也在自动驾驶、金融支付、身份识别和在线教育等场景得到广泛应用。通过对目前主要的人脸识别方法分析,基于Opencv内置的人脸检测分类器Haar,在自主移动服务机器人上实现了人脸图像采集及检测,人脸图像预处理,人脸图像特征提取以及匹配识别,并在学校的课堂人脸考勤得到应用。

关键词: 自主移动;服务机器人;人脸识别

中图分类号: TP311.13    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.09.016

本文著录格式:孟清,刘齐科. 自主移动服务机器人人脸识别方法研究与实现[J]. 软件,2020,41(09):6061

【Abstract】: As one of the key technologies of autonomous mobile service robots, face recognition technology has been widely concerned and researched. At the same time, it has been widely used in automatic driving, financial payment, identity recognition, online education and other scenarios. Through the analysis of the main face recognition methods, based on the face detection classifier Haar built in opencv, the face image acquisition and detection, face image preprocessing, face image feature extraction and matching recognition are realized on the autonomous mobile service robot, and the application of face attendance in the classroom of the school is achieved.

【Key words】: Autonomous mobile; Service robot; Face recognition

0  引言

隨着人工智能技术研究和应用的不断深入,自主移动服务机器人在工业、农业、电力和军事等各个领域应用越来越广泛。自主移动服务机器人技术集中了多学科的研究成果,其关键技术是目前人工智能研究热点,主要包括机器人寻迹、定位避障、语音识别、自主运动控制、机器学习、图像处理和通讯技术等众多领域。

作为自主移动服务机器人与外界沟通的主要途径之一的摄像头,其图像处理功能尤为重要,作为机器人与人之间沟通的人脸识别技术已经在安防和身份识别等领域广泛应用,比如银行、关口、支付等各种场景中都有从的身影。自主移动服务机器人在与人沟通、身份确认等场景中同样也需要人脸识别技术。

1  人脸识别技术

人脸识别技术目前已经比较成熟,主要有以下几种方法:

(1)基于人脸基本几何特征识别

该方法通过对比人脸面部特征如面部器官形状、结构等,获取多达上百个特征点进行人脸的判断,该方法简单易于实现,但是由于遮挡物、光线和脸部表情变化等原因,其精度误差较大。

(2)基于人脸模板库识别

通过收集大量的人脸灰度图像,组成一个人脸模板库,库中内容可以为完整的人脸模板,也可以是局部的模板。在机器人进行识别的时候,将人脸图片进行灰度和尺寸信息进行归一化处理,最终通过计算和对比在人脸模板库中找到符合度最高的那张图片。但是由于模板库是静态的,所以不是很灵活。

(3)其他方法

随着人脸识别技术的不断成熟,还出现了具备代数特征的人脸识别方法,在侧脸的情况下采用的多姿态人脸识别方法,多数据融合人脸识别方法和基于三维技术的人脸识别方法方法等等。

2  人脸识别主要步骤

自主移动服务机器人人脸识别的主要步骤,包括人脸图像采集及检测,人脸图像预处理,人脸图像特征提取以及匹配识别几个步骤。

人脸图像采集:机器人通过高清摄像头自动将其周围的不同的人脸图像采集下来,包括静态图片和动态图像,包括其位置信息、表情特征等。

人脸检测:主要是在复杂的图像中确定并标注人脸的位置和大小,通过人脸的直方图特征、颜色特征、模板特征及Haar特征这些有用的信息判断出来,最终实现人脸检测。目前主流的人脸检测方法采用的是基于强分类的Adaboost机器学习算法,对最能代表人脸的矩形特征按加权投票的方法,用来提取人脸图像中的模式特征。

人脸图像预处理:对原始图像通过灰度校正、噪音过滤等图像预处理方法排除各种条件限制和随机干扰,主要包括人脸图像的光线补偿、灰度变化、直方图均衡化、归一化、几何校正、滤波及锐化等。

人脸图像特征提取:通过人脸器官的形状描述、距离特征基于知识表征方法或代数特征的表征方法来提取视觉、像素统计、人脸图像变换系数和人脸图像代数特征等,是一个对人脸进行特征建模的过程。

人脸图像匹配与识别:主要是将人脸识别提取的特征数据与数据库中存储的特征模板进行搜索匹配,同时设定一个阈值,当图片相似度超过这一阈值的时候则匹配成功。

3  系统硬件组成

自主移动服务机器人系统硬件采用三层架构,分别为交互前端层、核心中间层和硬件驱动底层[1]。人脸识别系统需要用到交互前端层的热红外人体传感器来判断机器人面前是否有人活动,如果传感器发现面前有人,即打开高清摄像头用来获取人脸图像。人脸识别算法运行在核心中间层的安装有安装Ubuntu操作系统的、具备较强运算能力的小型电脑上。

4  系统模块设计

根据前面的人脸识别主要步骤,在系统实现时一共设计成四个模块,即人脸采集及预处理、人脸检测、人脸模型训练和人脸识别四个模块,在人脸检测算法的选择上,目前用得最多的是OpenCV与Dlib中的四种人脸检测算法,四种算法各有优缺点,其中OpenCV DNN检测人脸算法,因为DNN在这四种方法中是最准确的,不但能在CPU上实时运行,对于各种尺度的人脸,上,下,左,右,侧面不同的人脸方向检测正确率较高,甚至在有口罩等的严重遮挡下仍能正常工作。

本文使用了目前较为通用的Opencv内置的人脸检测分类器Haar进行人脸检测。系统的模块设计与实现如下。

4.1  人脸采集和图像预处理

人脸采集主要是三个步骤,包括打開摄像头、循环读取摄像头视频流的帧并显示和灰度化。使用cv2. VideoCapture和read()函数打开和读取摄像头获得图片,接下来使用cvtColor(img,cv2.COLOR_BGR2GRAY)函数对图片进行灰度化,因为通过摄像头采集到的图片一般是彩色图片,彩色图片包含了三个通道的数据,处理起来比较复杂,所以在图片识别算法中一般先将图像进行灰度化处理,将每个像素点的RGB值统一成同一个值。灰度化后的图像将由三通道变为单通道,单通道的数据处理起来就会简单许多,可以加人脸识别快算法执行速度。

4.2  人脸检测

在灰度化后的图像后,利用Opencv内置的人脸检测分类器Haar可以找出图片中的人脸,Haar分类器使用Haar-like特征,通过AdaBoost算法和积分图快速计算可以对图片中的人脸进行检查,具体使用cv2. CascadeClassifier('haarcascade_frontalface_default.xml')代码就可以实现人脸检测。

人脸检测效果见图1。

4.3  人脸模型训练

首先将检测出的人脸组成一个人脸库(训练集),读取人脸检测中得到的所有人脸图片,每张人脸图片获取脸部信息,并赋一个标签,保存在两个相同大小的列表,这就是我们所说的训练集。

有了脸部信息和标签这两个列表后,就可以利用Opencv自带的识别器进行训练了。Opencv的识别器包括LBPH、Eigen和Fisher三种,具体使用face_recog = cv2.face. LBPHFaceRecognizer_create() 和face_recog.train(faces, np.array (labels))代码就可以实现人脸模型训练。

4.4  人脸识别

基于人脸模型训练得到的人脸库(训练集),就可以对通过摄像头采集的新人脸进行识别了。对新图片进行人脸识别,获取特征向量,最后与已具备的人脸库(训练集)进行对比,即可实现人脸判断。具体使用face_recog.predict(face)代码就可以实现人脸识别。

5  结语

利用Python语言,基于Opencv内置的人脸检测分类器Haar,在自主移动服务机器人上实现了人脸图像采集及检测,人脸图像预处理,人脸图像特征提取以及匹配识别的全流程,并且在海南职业技术学院的课堂人脸考勤进行了应用,由于识别场景固定,人脸识别精确达到95%左右。以后也可以将人脸识别技术应用在在线课程教学上,通过实时监测人脸,统计在线学习时间等信息,实现在线教学全过程监控。

参考文献

[1]孟清, 斯琴高娃. 基于ROS的自主移动服务机器人系统框架设计[J]. 电子技术与软件工程, 2019(09): 46-47.

[2]薛力群. 关于人脸识别技术在智慧楼宇中的应用研究[J].智能计算机与应用, 2019(06): 318-321.

[3]张良杰. 基于人脸识别的智慧教室签到管理子系统[J]. 软件, 2019(12): 133-139.

[4]欧阳军林, 黄井滔, 张啸. 基于深度学习的人脸识别系统[J]. 当代教育理论与实践, 2019(06): 133-138.

[5]张一夫, 陈天飞, 张建松. 基于树莓派的在线人脸识别考勤系统[J]. 电子设计工程, 2019, 22(11): 152-156.

[6]张静褚, 丽莉, 周影. 基于OpenCV的ROS平台人脸识别系统的研究[J]. 系统工程, 2020(2): 44-45.

猜你喜欢

人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
人脸识别技术在高速公路打逃中的应用探讨
基于(2D)2PCA-LBP 的人脸识别方法的研究
浅谈人脸识别技术
人脸识别在高校安全防范中的应用
巡演完美收官 英飞拓引领人脸识别新潮流
人脸识别在Android平台下的研究与实现
基于Metaface字典学习与核稀疏表示的人脸识别方法