CN111476195A - 人脸检测方法、装置、机器人及计算机可读存储介质 - Google Patents
人脸检测方法、装置、机器人及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111476195A CN111476195A CN202010312039.2A CN202010312039A CN111476195A CN 111476195 A CN111476195 A CN 111476195A CN 202010312039 A CN202010312039 A CN 202010312039A CN 111476195 A CN111476195 A CN 111476195A
- Authority
- CN
- China
- Prior art keywords
- face
- image
- detection
- module
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 165
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 230000033001 locomotion Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 12
- 241000282414 Homo sapiens Species 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012549 training Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241001310793 Podium Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/166—Detection; Localisation; Normalisation using acquisition arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种人脸检测方法、装置、机器人及计算机可读存储介质,应用于机器人,所述方法包括:开启摄像头,并利用所述摄像头获取视频流;对所述视频流的帧图像进行预处理;将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;根据所述检测框的坐标将检测框绘制在原图中;判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值,若是,则继续利用所述摄像头获取视频流,否则关闭所述摄像头。解决了现有智能医疗服务机器人的目标检测与根据技术存在精度与速度不高的问题,本发明具有提高人脸检测精度与速度的效果。
Description
技术领域
本发明涉及智能机器人的技术领域,尤其是涉及一种人脸检测方法、装置、机器人及计算机可读存储介质。
背景技术
随着社会的进步,人民生活水平的提高,社会老龄化程度不断提高,社会对医疗服务需求的持续增加,智能医疗服务机器人有着广阔的应用前景。它集合了计算机视觉、机械工程、控制科学等学科技术,具有良好的发展潜力。相较于人类,智能医疗服务机器人具有操作稳定、执行准确、工作强度大的特点。
而智能医疗服务机器人的核心技术是计算机视觉,特别是目标检测与跟踪技术。智能医疗服务机器人需要先利用摄像头对病人进行自动的目标检测和定位,再进行后续的导诊、诊断或治疗等操作。
但是,现有的智能医疗服务机器人的目标检测与根据技术存在精度与速度不高的问题,影响对病人的人脸检测与识别结果。
发明内容
本发明目的一是提供一种人脸检测方法,具有提高机器人人脸检测的精度与速度的特点。
本发明的上述发明目的一是通过以下技术方案得以实现的:
一种人脸检测方法,应用于机器人,包括:
开启摄像头,并利用所述摄像头获取视频流;
对所述视频流的帧图像进行预处理;
将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
根据所述检测框的坐标将检测框绘制在原图中;
判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值,若是,则继续利用所述摄像头获取视频流,否则关闭所述摄像头。
通过采用上述技术方案,利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,提高人脸检测的精度和速度;另外,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,当被检测人与机器人相距过近或过远而导致人脸检测失败时,可以及时关闭摄像头,起到节能效果。
本发明在一较佳示例中可以进一步配置为:在根据所述检测框的坐标将检测框绘制在原图中之后,还包括:
提取所述检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
将所述第二灰度图输入到预先训练好的第二级联分类器中,并利用所述预先训练好的第二级联分类器对所述第一灰度图中的人脸进行身份识别;
若所述第一灰度图中的人脸属于目标人,则将所述目标人对应的身份标签标注在所述原图中。
通过采用上述技术方案,在检测到人脸区域后,可以利用预先训练好的第二级联分类器对其进行人脸识别,如果属于预先设置的目标人,就将该目标人对应的身份标签标注在原图,进而实现对特定身份人员的人脸识别。
本发明在一较佳示例中可以进一步配置为:所述预先训练好的第二级联分类器是由以下步骤得到的:
获取具有所述第一长宽比例的人脸图像数据;
根据所述人脸图像数据生成CSV文件,所述CSV文件包括图像数据和身份标签数据;
新建图像数组和标签数组;
依次读取所述CSV文件每一行的图像数据和身份标签数据,并将读取的图像数据写入所述图像数组,将读取的身份标签数据写入所述标签数组;
根据所述图像数组和所述标签数组,调用FaceRecognizer类对人脸识别模型进行训练,得到所述训练好的人脸识别模型;
建立所述第二级联分类器,并将所述训练好的人脸识别模型加载到所述第二级联分类器中。
通过采用上述技术方案,获取所有目标人的人脸图像数据对人脸识别模型进行训练,进而构建针对特定人脸识别的第二级联分类器。
本发明在一较佳示例中可以进一步配置为:还包括:
当检测的人脸尺寸小于所述第一阈值时,生成向前运动指令,并根据所述向前运动指令向前移动;和/或
当检测的人脸尺寸大于所述第二阈值时,生成停止运动指令,并根据所述停止运动指令停止向前移动;和/或
当检测的人脸尺寸小于所述第一阈值或大于所述第二阈值时,生成并发出第一告警信号。
通过采用上述技术方案,如果被检测人距离机器人过远,机器人就向前移动,缩短与被检测人的距离,提高人脸检测精度;如果被检测人距离机器人过近,机器人就停止向前移动,避免因距离过近而导致人脸检测失败;另外,如果被检测人距离机器人过远或过近,会发出告警信号以提醒被检测人调整与机器人距离。
本发明在一较佳示例中可以进一步配置为:所述对所述视频流的帧图像进行预处理,包括:
对所述视频流中的帧图像进行压缩处理;
对压缩后的帧图像进行灰度化处理,得到第一灰度图;
对所述第一灰度图进行直方图均衡化处理;
在根据所述检测框的坐标将检测框绘制在原图中之前,所述方法还包括:
根据压缩比例放大所述检测框的坐标。
通过采用上述技术方案,对视频流的帧图像进行压缩处理可以提高程序的运行速度;将人脸检测后生成的检测框的坐标按压缩比例先放大再绘制在原图中,可以与人脸完美适配;将RGB图像转换为灰度图可以减少自然界光照对人脸检测的影响,且三通道转为一通道后,可以大大减少运算量;利用直方图均衡化可以增强局部的对比度而不影响整体的对比度,且算法简单、计算量小。
本发明在一较佳示例中可以进一步配置为:在根据所述检测框的坐标将检测框绘制在原图中之后,还包括:
判断所述检测框是否在所述原图的预设范围内,若否,则生成并发出第二告警信号。
通过采用上述技术方案,当生成的检测框不在原图的预设范围内,说明被检测人偏离机器人的正确检测位置,通过告警信号提醒被检测人移动至正确检测位置。
本发明目的二是提供一种人脸检测装置,具有提高机器人人脸检测的精度与速度的特点。
本发明的上述发明目的二是通过以下技术方案得以实现的:
一种人脸检测装置,应用于机器人,包括:
视频流获取模块,用于开启摄像头,并利用所述摄像头获取视频流;
预处理模块,用于对所述视频流的帧图像进行预处理;
人脸区域检测模块,用于将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
第一标记模块,用于根据所述检测框的坐标将检测框绘制在原图中;
第一判断模块,用于判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值;
所述视频流获取模块,还用于在所述第一判断模块判断检测的人脸尺寸不小于第一阈值且不大于第二阈值后,继续利用摄像头获取视频流;以及
摄像头关闭模块,用于在所述第一判断模块判断检测的人脸尺寸小于第一阈值或者大于第二阈值后,关闭所述摄像头。
通过采用上述技术方案,利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,提高人脸检测的精度和速度;另外,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,当被检测人与机器人相距过近或过远而导致人脸检测失败时,可以及时关闭摄像头,起到节能效果。
本发明在一较佳示例中可以进一步配置为:还包括:
提取转换模块,用于在第一标记模块204根据所述检测框的坐标将检测框绘制在原图中之后,提取所述检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
人脸识别模块,用于将所述第二灰度图输入到预先训练好的第二级联分类器中,并利用所述预先训练好的第二级联分类器对所述第一灰度图中的人脸进行身份识别;以及
第二标记模块,用于若所述第一灰度图中的人脸属于目标人,则将所述目标人对应的身份标签标注在原图中。
通过采用上述技术方案,在检测到人脸区域后,可以利用预先训练好的第二级联分类器对其进行人脸识别,如果属于预先设置的目标人,就将该目标人对应的身份标签标注在原图,进而实现对特定身份人员的人脸识别。
本发明目的三是提供一种机器人,具有人脸检测精度高与速度快的特点。
本发明的上述发明目的三是通过以下技术方案得以实现的:
一种机器人,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行上述人脸检测方法的计算机程序。
通过采用上述技术方案,利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,具有人脸检测精度高与速度快的特点;另外,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,当被检测人与机器人相距过近或过远而导致人脸检测失败时,可以及时关闭摄像头,起到节能效果。
本发明目的四是提供一种计算机存储介质,能够存储相应的程序,具有便于实现人脸检测精度高与速度快的特点。
本发明的上述发明目的四是通过以下技术方案得以实现的:
一种计算机可读存储介质,存储有能够被处理器加载并执行上述人脸检测方法的计算机程序。
通过采用上述技术方案,利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,具有便于实现人脸检测精度高与速度快的特点;另外,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,当被检测人与机器人相距过近或过远而导致人脸检测失败时,可以及时关闭摄像头,起到节能效果。
综上所述,本发明包括以下至少一种有益技术效果:
1.利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,提高人脸检测的精度和速度;另外,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,当被检测人与机器人相距过近或过远而导致人脸检测失败时,可以及时关闭摄像头,起到节能效果;
2.在检测到人脸区域后,可以利用预先训练好的第二级联分类器对其进行人脸识别,如果属于预先设置的目标人,就将该目标人对应的身份标签标注在原图,进而实现对特定身份人员的人脸识别;
3.对视频流的帧图像进行压缩处理可以提高程序的运行速度;将人脸检测后生成的检测框的坐标按压缩比例先放大再绘制在原图中,可以与人脸完美适配;将RGB图像转换为灰度图可以减少自然界光照对人脸检测的影响,且三通道转为一通道后,可以大大减少运算量;利用直方图均衡化可以增强局部的对比度而不影响整体的对比度,且算法简单、计算量小。
附图说明
图1、图3是本发明实施例一提供的人脸检测方法流程示意图。
图2是本发明实施例一中步骤S102的流程示意图。
图4是本发明实施例一提供的第二级联分类器的训练流程示意图。
图5至图7是本发明实施例二提供的人脸检测装置20的结构框图。
图8是本发明实施例二提供的预处理模块202的结构框图。
图9是本发明实施例提供的人脸检测方法的应用场景示意图。
图10是本发明实施例提供的机器人1的结构框图。
图中,1、机器人,2、终端,3、后台服务器,10、处理器,20、人脸检测装置,201、视频流获取模块,202、预处理模块,203、人脸区域检测模块,204、第一标记模块,205、第一判断模块,206、摄像头关闭模块,207、提取转换模块,208、人脸识别模块,209、第二标记模块,210、人脸图像获取模块,211、CSV文件生成模块,212、数组新建模块,213、数组写入模块,214、训练模块,215、分类器构建模块,2021、压缩模块,2022、灰度化模块,2023、直方图均衡化模块,30、存储器,40、输出装置,50、摄像头,60、输入装置。
具体实施方式
以下结合附图对本发明作进一步详细说明。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。
实施例一:
图1示出了本发明实施例提供的一种人脸检测方法,应用于机器人,如图1所示,主要包括以下步骤(步骤S101至S106):
步骤S101,开启摄像头,并利用摄像头获取视频流;
在接收到摄像头开启指令后,开启摄像头。摄像头开启指令可以是由按下实体按键、点触触摸屏、麦克风采集语音等操作之后生成的。
步骤S102,对视频流的帧图像进行预处理;
本实施例中,在对视频流的帧图像中的人脸区域进行检测之前,需要对视频流的原图进行预处理。图2 示出了一种对视频流的帧图像进行预处理的流程示意图。如图4所示,步骤S102具体可以包括:
步骤S1021,对视频流中的帧图像进行压缩处理;
为了平衡整个系统的性能,在保证人脸检测精度满足要求的情况下,在视频流中将采集到的图像进行了压缩处理,例如将原图压缩为原来的40%,提高程序的运行速度,进而提高人脸检测速率。
步骤S1022,对压缩后的帧图像进行灰度化处理,得到第一灰度图;
将RGB图像转换为灰度图可以减少自然界光照对人脸检测的影响,且三通道转为一通道后,可以大大减少运算量,提高人脸检测速率。
步骤S1023,对第一灰度图进行直方图均衡化处理。
利用直方图均衡化可以使亮度可以更好地在直方图上分布,增强局部的对比度而不影响整体的对比度,尤其适用于当图像的有用数据的对比度较为接近,并且其无需借助外来因素的参数设置,算法简单、计算量小。
步骤S103,将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
OpenCV是一种开源的计算机视觉处理库,其框架由C语言和C++语言编程,可以在Linux、Mac和Windows等系统上运行,并且还开发有与Matlab、python等语言的接口。本实施例使用的OpenCV版本可以是3.10版本,其编程环境可以为Window系统下的VS2017。OpenCV有已经训练好的分类器,在opencv//data//haarcascades文件下,可以找到十几个xml格式的文件,包括人脸、眼睛、笑脸和人的上半身等分类器文件。
本实施例中,检测框可以是但不限于矩形框、圆形框等。以矩形框为例,预先新建一个一维的矩形框数组,第一级联分类器会将图像中所有的人脸位置以矩形框数组Rect[x,y,w,h](四个参数分别代表矩形框的横纵坐标以及宽度高度)的形式返回。
步骤S104,根据检测框的坐标将检测框绘制在原图中;
在步骤S104之前,还需将人脸检测后生成的检测框的横纵坐标以及宽度高度按步骤S1021的压缩比例先放大再绘制在原图中,可以与人脸完美适配。例如:将原图压缩为原来的40%,需要对检测框的横纵坐标以及宽度高度全部增大2.5倍,然后再按增大后的横纵坐标以及宽度高度绘制在原图中。最终显示时,检测框的大小应与人脸轮廓相适应,即人脸轮廓在检测框内。
步骤S105,判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值,若是,则继续执行步骤S101,否则执行步骤S106;
步骤S106,关闭摄像头。
本实施例中,人脸尺寸可以是人脸宽度或人脸长度,也可以是指检测框的宽度或长度,对此本实施例不做具体限定。被检测人与机器人的距离与检测到的人脸尺寸成反比,即被检测人与机器人之间的距离越小,人脸尺寸则越大。因此,第一阈值、第二阈值组成的区间可以表征被检测人距离机器人的合理距离,即只有人脸尺寸在[第一阈值,第二阈值]内时,被检测人与机器人的距离是合理的,此时人脸检测效果较好。如果不在这一区间,则人脸检测效果不好,甚至导致人脸检测失败,此时可以及时关闭摄像头,起到节能效果;待调整距离后再开启摄像头,进行后续人脸检测流程。
作为本实施例的一种可选实施方式,如图3所示,在步骤S104后,该方法还可以包括以下步骤:
步骤S107,提取检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
步骤S108,将第二灰度图输入到预先训练好的第二级联分类器中,并利用预先训练好的第二级联分类器对第一灰度图中的人脸进行身份识别;
步骤S109,若第一灰度图中的人脸属于目标人,则将目标人对应的身份标签标注在原图中。
在对人脸区域检测之后,还可以对特定身份的人员进行人脸识别。在现有框架上实现对特定人脸的识别,需要安装配置OpenCV3.0的Contribute模块,Contribute模块主要包含深度神经模块(DNN)、人脸识别模块(Face)和目标跟踪算法模块(Traking)等模块。在Windows环境下安装Cmake软件,通过Cmake软件对安装包进行编译,得到在VS2017的Debug版本环境下可用的库,再将库添加到环境中完成所需要的环境配置。
本实施例中,先对图像中的人脸区域进行检测,对检测区域进行提取、识别,如果识别为目标人,就在其检测框附近标注其身份标签,否则不标注。
在本可选实施方式中,要得到用于特定人脸识别的第二级联分类器,需要先得到目标人的人脸数据库,再对人脸识别模型进行训练。
如图4所示,所述预先训练好的第二级联分类器是由以下步骤得到的:
步骤S110,获取具有第一长宽比例的人脸图像数据;
本实施例中,利用ORL人脸数据库存储有多个人的多张人脸特写照片。例如:一共有四百张人脸特写照片,共分为40组,每一组代表一个人,每个人有10张不同角度的人脸特写照片。以此为基础,还要添加待识别的目标人的人脸图像作为后续训练数据库,可采用上述人脸检测方法对视频流中的目标人的人脸进行采集。
步骤S111,根据人脸图像数据生成CSV文件,CSV文件包括图像数据和身份标签数据;
对数据库中的人脸图像数据进行整理,制作csv文件,该文本文件的内容是图像的路径、名称以及人脸图像所对应的目标身份。csv文件可以手动输入,但当数据过多时,重复性地输入内容所损耗的时间极大,而且容易出现人为输入错误,因此一般采用软件编程方式输入文件内容,可以使用OpenCV自带Python脚本自动生成。
步骤S112,新建图像数组和标签数组;
步骤S113,依次读取CSV文件每一行的图像数据和身份标签数据,并将读取的图像数据写入图像数组,将读取的身份标签数据写入标签数组;
训练模型的主要工作是获得所需要的两个数组,分别保存图像路径以及与其对应的身份标签。首先打开建立的csv文件,按行读取信息,将每行存入的信息分别读入对应的图像数组、标签数组中。不断读取下一行,直到读取完成(C++语言中getline()函数返回值为0)。
步骤S114,根据图像数组和标签数组,调用FaceRecognizer类对人脸识别模型进行训练,得到训练好的人脸识别模型;
可以选用OpenCV提供的局部二值模式直方图算法(LBPH)、Fisherfaces算法和Eigenfaces算法中的一种人脸识别算法。并且,调用Contribute模块的FaceRecognize类对人脸识别模型进行训练。
步骤S115,建立第二级联分类器,并将训练好的人脸识别模型加载到第二级联分类器中。
在训练好模型后,先将人脸区域ROI找到,转换为固定长宽比例的灰度图像,直接输入第二级联分类器中,得到输出的目标身份和检测的置信度大小,置信度越小,检测的正确率越高(使用训练集来测试的结果置信度为0)。
本实施例中,利用第一级联分类器、第二级联分类器分别对人脸区域进行检测、身份识别。级联分类器的整体结构类似于决策树模型,每层的分类器都可以将非目标窗口进行过滤,将检测目标的窗口保留、传递到下一层,而下一层则只需要在上一层传过来的窗口的基础上进行检测。如果要求一个单一的分类器准确率达到99%,那么使用级联分类器来完成此目标,只需要使用两个准确率为90%的分类器进行串联即可达到要求。因此,利用级联分类器可以基于数量很小的特征以及简单分类器更快更好的实现目标检测,提高人脸检测的精度和速度;并且,级联分类器训练可以完成一些刚性物体的检测的训练,对于形变不大的目标检测效果较好。
作为本实施例的一种可选实施方式,该方法还可以包括:当检测的人脸尺寸小于第一阈值时,生成向前运动指令,并根据向前运动指令向前移动;和/或当检测的人脸尺寸大于第二阈值时,生成停止运动指令,并根据停止运动指令停止向前移动;和/或当检测的人脸尺寸小于第一阈值或大于第二阈值时,生成并发出第一告警信号。
在本可选实施方式中,如果被检测人距离机器人过远,机器人就向前移动,缩短与被检测人的距离,提高人脸检测精度;如果被检测人距离机器人过近,机器人就停止向前移动,避免因距离过近而导致人脸检测失败;另外,如果被检测人距离机器人过远或过近,会发出告警信号以提醒被检测人调整与机器人距离。
作为本实施例的一种可选实施方式,在根据检测框的坐标将检测框绘制在原图中之后,还包括:判断检测框是否在原图的预设范围内,若否,则生成并发出第二告警信号。
在本可选实施方式中,当生成的检测框不在原图的预设范围内,说明被检测人偏离机器人预设的正确检测位置,通过第二告警信号提醒被检测人移动至正确检测位置,可以提高检测精度。
实施例二:
本发明实施例提供一种人脸检测装置20,应用于机器人,如图5所示,主要包括:
视频流获取模块201,用于开启摄像头,并利用摄像头获取视频流;;
预处理模块202,与视频流获取模块201连接,用于对视频流的帧图像进行预处理;
人脸区域检测模块203,与预处理模块202连接,用于将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
第一标记模块204,与人脸区域检测模块203连接,用于根据检测框的坐标将检测框绘制在原图中;
第一判断模块205,与第一标记模块204连接,用于判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值;
视频流获取模块201,与第一判断模块205连接,还用于在第一判断模块205判断检测的人脸尺寸不小于第一阈值且不大于第二阈值后,继续利用摄像头获取视频流;
摄像头关闭模块206,与第一判断模块205连接,用于在第一判断模块205判断检测的人脸尺寸小于第一阈值或者大于第二阈值后,关闭摄像头。
作为本实施例的一种可选实施方式,如图6所示,该人脸检测装置20还可以包括:
提取转换模块207,与第一标记模块204连接,用于在第一标记模块204根据检测框的坐标将检测框绘制在原图中之后,提取检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
人脸识别模块208,与提取转换模块207连接,用于将第二灰度图输入到预先训练好的第二级联分类器中,并利用预先训练好的第二级联分类器对第一灰度图中的人脸进行身份识别;
第二标记模块209,与人脸识别模块208连接,用于若第一灰度图中的人脸属于目标人,则将目标人对应的身份标签标注在原图中。
在本可选实施方式中,如图7所示,该人脸检测装置20还可以包括:
人脸图像获取模块210,用于获取具有第一长宽比例的目标人的人脸图像数据;
CSV文件生成模块211,与人脸图像获取模块210连接,用于根据人脸图像数据生成CSV文件,CSV文件包括图像数据和身份标签数据;
数组新建模块212,用于新建图像数组和标签数组;
数组写入模块213,分别与CSV文件生成模块211和数组新建模块212连接,用于依次读取CSV文件每一行的图像数据和身份标签数据,并将读取的图像数据写入图像数组,将读取的身份标签数据写入标签数组;
训练模块214,与数组写入模块213连接,用于根据图像数组和标签数组,调用FaceRecognizer类对人脸识别模型进行训练,得到训练好的人脸识别模型;
分类器构建模块215,分别与训练模块214和人脸识别模块208连接,用于建立第二级联分类器,并将训练好的人脸识别模型加载到第二级联分类器中。
作为本实施例的一种可选实施方式,如图8所示,预处理模块202可以包括:
压缩模块2021,用于对视频流中的帧图像进行压缩处理;
灰度化模块2022,与压缩模块1021连接,用于对压缩后的帧图像进行灰度化处理,得到第一灰度图;
直方图均衡化模块2023,与灰度化模块1022连接,用于对第一灰度图进行直方图均衡化处理。
在本可选实施方式中,该人脸检测装置20还可以包括:坐标放大模块,分别与人脸区域检测模块203和第一标记模块204连接,用于在根据检测框的坐标将检测框绘制在原图中之前,根据压缩比例放大检测框的坐标。
作为本实施例的一种可选实施方式,该人脸检测装置20还可以包括:
向前移动模块,与第一判断模块205连接,用于当检测的人脸尺寸小于第一阈值时,生成向前运动指令,并根据向前运动指令向前移动;和/或
停止移动模块,与第一判断模块205连接,用于当检测的人脸尺寸大于第二阈值时,生成停止运动指令,并根据停止运动指令停止向前移动;和/或
第一告警模块,与第一判断模块205连接,用于当检测的人脸尺寸小于第一阈值或大于第二阈值时,生成并发出第一告警信号。
作为本实施例的一种可选实施方式,该人脸检测装置20还可以包括:
第二判断模块,与第一标记模块204连接,用于在根据检测框的坐标将检测框绘制在原图中之后,判断检测框是否在原图的预设范围内;
第二告警模块,与第二判断模块连接,用于当检测框不在原图的预设范围内时,发出第二告警信号。
本发明实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
由于本实施例所述装置内各模块与上述实施例一所述人脸检测方法的各步骤一一对应,因此,对上述各模块的说明详见实施例一,本实施例不再赘述。
实施例三:
图9示出了本发明实施例提供的人脸检测方法的应用场景示意图。如图9所示,机器人1、终端2均与后台服务器2进行交互通信,机器人1对采集的视频流进行人脸检测,得到人脸检测结果,并上传至后台服务器2,终端2可以通过网络从后台服务器2获取人脸检测结果并显示该结果。其中,后台服务器2可以是但不限于,实体服务器、实体服务器上的虚拟机等能提供与所述服务器或者虚拟机有相同功能的实体或者虚拟的服务端;终端2可以是但不限于手机、平板电脑、PC机等。
图10示出了本发明实施例提供的机器人1的结构框图。如图10所示,机器人1包括处理器10、人脸检测装置20、存储器30、输出装置40、摄像头50和输入装置60。这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理器10可以是一种集成电路芯片,具有信号处理能力。上述的处理器10可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
存储器30可以为RAM、ROM、EPROM、EEPROM、FLASH、磁盘、光盘等存储设备。存储器30上存储有能够被处理器10加载并执行如上述实施例一所述人脸检测方法的计算机程序。
实施例四:
本发明实施例提供一种计算机可读存储介质,存储有能够被处理器10加载并执行如上述实施例一所述方法的计算机程序。
本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、U盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、讲台随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。
上述实施例三和四中的计算机程序包含用于执行实施例一中流程图所示的方法的程序代码,程序代码可包括对应执行实施例一提供的方法步骤对应的指令。计算机程序可从计算机可读存储介质下载到各个计算/处理设备,或者通过网络(例如因特网、局域网、广域网和/或无线网)下载到外部计算机或外部存储设备。计算机程序可完全地在用户计算机上执行、作为一个独立的软件包执行。
另外,需要理解的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
术语“第一”、“第二”等仅用于区分实体或者操作,而不能理解为指示或暗示相对重要性,不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种人脸检测方法,其特征在于,应用于机器人,包括:
开启摄像头,并利用所述摄像头获取视频流;
对所述视频流的帧图像进行预处理;
将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
根据所述检测框的坐标将检测框绘制在原图中;
判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值,若是,则继续利用所述摄像头获取视频流,否则关闭所述摄像头。
2.根据权利要求1所述的方法,其特征在于,在根据所述检测框的坐标将检测框绘制在原图中之后,还包括:
提取所述检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
将所述第二灰度图输入到预先训练好的第二级联分类器中,并利用所述预先训练好的第二级联分类器对所述第一灰度图中的人脸进行身份识别;
若所述第一灰度图中的人脸属于目标人,则将所述目标人对应的身份标签标注在所述原图中。
3.根据权利要求2所述的方法,其特征在于,所述预先训练好的第二级联分类器是由以下步骤得到的:
获取具有所述第一长宽比例的人脸图像数据;
根据所述人脸图像数据生成CSV文件,所述CSV文件包括图像数据和身份标签数据;
新建图像数组和标签数组;
依次读取所述CSV文件每一行的图像数据和身份标签数据,并将读取的图像数据写入所述图像数组,将读取的身份标签数据写入所述标签数组;
根据所述图像数组和所述标签数组,调用FaceRecognizer类对人脸识别模型进行训练,得到所述训练好的人脸识别模型;
建立所述第二级联分类器,并将所述训练好的人脸识别模型加载到所述第二级联分类器中。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括:
当检测的人脸尺寸小于所述第一阈值时,生成向前运动指令,并根据所述向前运动指令向前移动;和/或
当检测的人脸尺寸大于所述第二阈值时,生成停止运动指令,并根据所述停止运动指令停止向前移动;和/或
当检测的人脸尺寸小于所述第一阈值或大于所述第二阈值时,生成并发出第一告警信号。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述对所述视频流的帧图像进行预处理,包括:
对所述视频流中的帧图像进行压缩处理;
对压缩后的帧图像进行灰度化处理,得到第一灰度图;
对所述第一灰度图进行直方图均衡化处理;
在根据所述检测框的坐标将检测框绘制在原图中之前,所述方法还包括:
根据压缩比例放大所述检测框的坐标。
6.根据权利要求1至3任一项所述的方法,其特征在于,在根据所述检测框的坐标将检测框绘制在原图中之后,还包括:
判断所述检测框是否在所述原图的预设范围内,若否,则生成并发出第二告警信号。
7.一种人脸检测装置,其特征在于,应用于机器人,包括:
视频流获取模块,用于开启摄像头,并利用所述摄像头获取视频流;
预处理模块,用于对所述视频流的帧图像进行预处理;
人脸区域检测模块,用于将预处理后的帧图像输入到OpenCV计算机视觉库的第一级联分类器中,并利用第一级联分类器对图像中的人脸区域进行检测,确定检测框的坐标;
第一标记模块,用于根据所述检测框的坐标将检测框绘制在原图中;
第一判断模块,用于判断检测的人脸尺寸是否不小于第一阈值且不大于第二阈值;
所述视频流获取模块,还用于在所述第一判断模块判断检测的人脸尺寸不小于第一阈值且不大于第二阈值后,继续利用摄像头获取视频流;以及
摄像头关闭模块,用于在所述第一判断模块判断检测的人脸尺寸小于第一阈值或者大于第二阈值后,关闭所述摄像头。
8.根据权利要求7所述的装置,其特征在于,还包括:
提取转换模块,用于在第一标记模块204根据所述检测框的坐标将检测框绘制在原图中之后,提取所述检测框内的人脸图像,并将提取的人脸图像转换为具有第一长宽比例的第二灰度图;
人脸识别模块,用于将所述第二灰度图输入到预先训练好的第二级联分类器中,并利用所述预先训练好的第二级联分类器对所述第一灰度图中的人脸进行身份识别;以及
第二标记模块,用于若所述第一灰度图中的人脸属于目标人,则将所述目标人对应的身份标签标注在原图中。
9.一种机器人,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312039.2A CN111476195A (zh) | 2020-04-20 | 2020-04-20 | 人脸检测方法、装置、机器人及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010312039.2A CN111476195A (zh) | 2020-04-20 | 2020-04-20 | 人脸检测方法、装置、机器人及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111476195A true CN111476195A (zh) | 2020-07-31 |
Family
ID=71755465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010312039.2A Pending CN111476195A (zh) | 2020-04-20 | 2020-04-20 | 人脸检测方法、装置、机器人及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111476195A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113277388A (zh) * | 2021-04-02 | 2021-08-20 | 东南大学 | 一种电动吊篮数据采集控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809123A (zh) * | 2016-03-04 | 2016-07-27 | 北京智慧眼科技股份有限公司 | 人脸检测方法及装置 |
CN106022209A (zh) * | 2016-04-29 | 2016-10-12 | 杭州华橙网络科技有限公司 | 一种基于人脸检测的距离估算和处理的方法及装置 |
CN106094875A (zh) * | 2016-06-27 | 2016-11-09 | 南京邮电大学 | 一种移动机器人的目标跟随控制方法 |
CN108734083A (zh) * | 2018-03-21 | 2018-11-02 | 北京猎户星空科技有限公司 | 智能设备的控制方法、装置、设备和存储介质 |
US20190370449A1 (en) * | 2018-06-03 | 2019-12-05 | Apple Inc. | Automatic retries for facial recognition |
CN111488853A (zh) * | 2020-04-23 | 2020-08-04 | 杨九妹 | 金融机构安防系统的大数据人脸识别方法、系统及机器人 |
-
2020
- 2020-04-20 CN CN202010312039.2A patent/CN111476195A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809123A (zh) * | 2016-03-04 | 2016-07-27 | 北京智慧眼科技股份有限公司 | 人脸检测方法及装置 |
CN106022209A (zh) * | 2016-04-29 | 2016-10-12 | 杭州华橙网络科技有限公司 | 一种基于人脸检测的距离估算和处理的方法及装置 |
CN106094875A (zh) * | 2016-06-27 | 2016-11-09 | 南京邮电大学 | 一种移动机器人的目标跟随控制方法 |
CN108734083A (zh) * | 2018-03-21 | 2018-11-02 | 北京猎户星空科技有限公司 | 智能设备的控制方法、装置、设备和存储介质 |
US20190370449A1 (en) * | 2018-06-03 | 2019-12-05 | Apple Inc. | Automatic retries for facial recognition |
CN111488853A (zh) * | 2020-04-23 | 2020-08-04 | 杨九妹 | 金融机构安防系统的大数据人脸识别方法、系统及机器人 |
Non-Patent Citations (3)
Title |
---|
何荣: "基于OpenCV的人脸识别系统设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
卜秋月: "基于OpenCV的人脸识别系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
杨露菁 等: "《智能图像处理及应用》", 31 March 2019, 中国铁道出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113277388A (zh) * | 2021-04-02 | 2021-08-20 | 东南大学 | 一种电动吊篮数据采集控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10445562B2 (en) | AU feature recognition method and device, and storage medium | |
CN109359538B (zh) | 卷积神经网络的训练方法、手势识别方法、装置及设备 | |
CN112784763B (zh) | 基于局部与整体特征自适应融合的表情识别方法及系统 | |
CN110751022A (zh) | 基于图像识别的城市宠物活动轨迹监测方法及相关设备 | |
EP2630635B1 (en) | Method and apparatus for recognizing an emotion of an individual based on facial action units | |
JP5287333B2 (ja) | 年令推定装置 | |
CN106648078B (zh) | 应用于智能机器人的多模态交互方法及系统 | |
JP5361524B2 (ja) | パターン認識システム及びパターン認識方法 | |
CN107911643B (zh) | 一种视频通信中展现场景特效的方法和装置 | |
CN109063587A (zh) | 数据处理方法、存储介质和电子设备 | |
CN111126280B (zh) | 基于融合手势识别的失语症患者辅助康复训练系统及方法 | |
CN110941992B (zh) | 微笑表情检测方法、装置、计算机设备及存储介质 | |
CN111091080A (zh) | 人脸识别方法及系统 | |
WO2021208617A1 (zh) | 进出站识别方法、装置、终端及存储介质 | |
CN108876795A (zh) | 一种图像中物体的分割方法及系统 | |
TWI776176B (zh) | 手部作業動作評分裝置、方法及電腦可讀取存儲介質 | |
CN108416304B (zh) | 一种利用上下文信息的三分类人脸检测方法 | |
CN112836625A (zh) | 人脸活体检测方法、装置、电子设备 | |
Shah et al. | Efficient portable camera based text to speech converter for blind person | |
CN114049325A (zh) | 轻量化人脸口罩佩戴检测模型的构建方法及应用 | |
CN111476195A (zh) | 人脸检测方法、装置、机器人及计算机可读存储介质 | |
CN111950480A (zh) | 一种基于人工智能的英语发音自检方法和自检系统 | |
CN111539390A (zh) | 一种基于Yolov3的小目标图像识别方法、设备和系统 | |
CN111199050B (zh) | 一种用于对病历进行自动脱敏的系统及应用 | |
CN106897665B (zh) | 应用于智能机器人的物体识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200731 |