首页> 中国专利> 人脸检测跟踪方法及机器人头部转动控制方法和机器人

人脸检测跟踪方法及机器人头部转动控制方法和机器人

摘要

本发明公开一种人脸检测跟踪方法及机器人头部转动控制方法和机器人。该人脸检测跟踪方法包括如下步骤:采集图像并对所述图像进行人脸检测,以确定每一帧图像的人脸框;对当前帧图像进行去除误检测处理,并保存处理后的所述当前帧图像的人脸框为第一人脸框;根据所述第一人脸框和跟踪人脸框,确定所述当前帧图像的跟踪框,并对所述当前帧图像的跟踪框内的人脸进行跟踪。该人脸检测跟踪方法有利于降低误检测率,提高人脸检测的准确率。该机器人头部转动控制方法采用该人脸检测跟踪方法进行人脸检测,有利于保障机器人头部转动过程中的流畅性,避免转动过程中出现卡顿现象。

著录项

  • 公开/公告号CN106228112A

    专利类型发明专利

  • 公开/公告日2016-12-14

    原文格式PDF

  • 申请/专利权人 深圳市优必选科技有限公司;

    申请/专利号CN201610539480.8

  • 发明设计人 纪园;熊友军;

    申请日2016-07-08

  • 分类号G06K9/00;

  • 代理机构深圳众鼎专利商标代理事务所(普通合伙);

  • 代理人吴立

  • 地址 518000 广东省深圳市南山区学苑大道1001号南山智园C1栋16、22楼

  • 入库时间 2023-06-19 01:08:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-29

    授权

    授权

  • 2017-01-11

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20160708

    实质审查的生效

  • 2016-12-14

    公开

    公开

说明书

技术领域

本发明涉及人脸识别领域,尤其涉及一种人脸检测跟踪方法及机器人头部转动控制方法和机器人。

背景技术

随着计算机视觉技术的日趋成熟,计算机视觉技术已广泛应用于人们的日常生活中。如利用计算机视觉技术控制机器人,使得机器人具有视觉功能,从而实现各种检测、判断、识别和测量等智能操作。现有机器人内置摄像设备并结合人脸检测技术,能够检测到机器人摄像头采集到图像中的人脸,并能够通过机械运动跟踪人脸,使得机器人头部随人脸的移动而转动。但现有人脸检测跟踪方法的误检测率高,容易将非人脸检测成人脸。将现有人脸检测跟踪方法应用于机器人头部转动控制方法时,因检测人脸的误检测率高,使得控制机器人头部转动过程不精准,而且容易出现卡顿。

发明内容

本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种人脸检测跟踪方法及机器人头部转动控制方法和机器人。

本发明解决其技术问题所采用的技术方案是:一种人脸检测跟踪方法,包括如下步骤:

采集图像并对所述图像进行人脸检测,以确定每一帧图像的人脸框;

对当前帧图像进行去除误检测处理,并保存处理后的所述当前帧图像的人脸框为第一人脸框;

根据所述第一人脸框和跟踪人脸框,确定所述当前帧图像的跟踪框,并对所述当前帧图像的跟踪框内的人脸进行跟踪。

优选地,所述“对当前帧图像进行去除误检测处理,并保存处理后的所述当前帧图像的人脸框为第一人脸框”包括:

判断所述当前帧图像与前一帧图像是否均存在人脸框;

若均存在人脸框,则判断所述当前帧图像的人脸框与所述前一帧图像的人脸框是否在图像的相应位置;

若在图像的相应位置,则所述当前帧图像不是误检测人脸框,保存所述当前帧图像的人脸框为所述第一人脸框。

优选地,所述“判断所述当前帧图像的人脸框与所述前一帧图像的人脸框是否在图像的相应位置”包括:

判断所述当前帧图像的人脸框与所述前一帧图像的人脸框在图像中是否存在重叠部分;

若存在重叠部分,则计算重叠面积与所述当前帧图像的人脸框面积的百分比为第一重叠率,并计算所述重叠面积与所述前一帧图像的人脸框面积的百分比为第二重叠率;

分别判断所述第一重叠率和所述第二重叠率是否大于重叠率预设值;

若所述第一重叠率大于所述重叠率预设值,和/或所述第二重叠率大于所述重叠率预设值,则所述当前帧图像的人脸框与所述前一帧图像的人脸框在图像的相应位置。

优选地,所述“对当前帧图像进行去除误检测处理,并保存处理后的所述当前帧图像的人脸框为第一人脸框”还包括:

若所述当前帧图像的人脸框与所述前一帧图像的人脸框不在图像的相应位置,或者所述当前帧图像存在人脸框而所述前一帧图像不存在人脸框,则所述当前帧图像中的人脸框为新出现人脸框或误检测人脸框,保存所述当前帧图像的人脸框;

若所述当前帧图像不存在人脸框而所述前一帧图像存在人脸框,则所述前一帧图像中的人脸框为误检测人脸框或消失人脸框,不保存所述前一帧图像的人脸框。

优选地,所述“对当前帧图像进行去除误检测处理”之后还包括:对所述当前帧图像的人脸框和前一帧图像的人脸框进行去除抖动处理,并将处理后的人脸框保存为所述第一人脸框。

优选地,所述“对所述当前帧图像的人脸框和前一帧图像的人脸框进行去除抖动处理”包括:

将所述当前帧图像的人脸框和所述前一帧图像的人脸框的中心、宽度和高度分别求均值;

将根据人脸框的中心、宽度和高度的均值确定的人脸框保存为所述第一人脸框。

优选地,所述人脸跟踪步骤包括:

将所述第一人脸框的面积与跟踪人脸框的面积进行比较;

若所述第一人脸框的面积大于或等于跟踪人脸框的面积,则将所述第一人脸框作为所述当前帧图像的跟踪框,并对所述当前帧图像的跟踪框内的人脸进行跟踪;

若所述第一人脸框的面积小于跟踪人脸框的面积,则将所述跟踪人脸框作为所述当前帧图像的跟踪框,并对所述当前帧图像的跟踪框内的人脸进行跟踪。

本发明还提供一种机器人头部转动控制方法,包括如下步骤:

预设图像的中心区域;

根据前述的人脸检测跟踪方法确定所述当前帧图像的跟踪框;

控制机器人头部转动,以使所述当前帧图像的跟踪框移动到所述中心区域上。

优选地,所述机器人头部转动控制方法包括如下步骤:

计算所述中心区域的中心相对于所述跟踪框的中心的水平偏移度和垂直偏移度;

控制机器人头部沿水平方向转动水平偏移度并沿垂直方向转动垂直偏移度,以使所述中心区域的中心和所述跟踪框的中心重叠。

优选地,所述机器人头部转动控制方法包括如下步骤:

控制机器人头部沿水平方向和垂直方向转动,以使跟踪框的中心位于中心区域的边界范围内。

本发明还提供一种机器人,采用前述的机器人头部转动控制方法控制头部转动。

本发明所提供人脸检测跟踪方法,对采集的图像进行人脸检测后,确定每一帧图像的人脸框;再对当前帧图像进行去除误检测处理,有利于降低误检测率,提高人脸检测的准确率;然后再确定当前帧图像的跟踪框并对跟踪框内的人脸进行跟踪,以保障检测到的人脸的连续性。

本发明所提供机器人头部转动控制方法,预设图像的中心区域,并采用人脸检测跟踪方法确定当前帧图像的跟踪框,控制机器人头部转动以使跟踪框移动到中心区域上。该机器人头部转动控制方法可根据当前帧图像的跟踪框与图像的中心区域的位置,控制机器人左右转动或上下转动,使得机器人在运动时更加生动形象。采用人脸检测跟踪方法确定当前帧图像的跟踪框,有利于保障控制机器人头部转动过程的流畅性,避免转动过程出现卡顿现象。

本发明所提供的机器人,采用机器人头部转动控制方法控制头部转动,可使机器人在运动时更加生动形象。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例1中的人脸检测跟踪方法的一流程图;

图2是本发明实施例1中的人脸检测跟踪方法的另一流程图;

图3是本发明实施例2中的机器人头部转动控制方法的一流程图;

图4是本发明实施例2中采集到的当前帧图像的示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

实施例1

图1和图2示出本实施例中的人脸检测跟踪方法。该人脸检测跟踪方法包括:

S11:人脸检测步骤:采集图像并对采集到的每一帧图像进行人脸检测,以确定每一帧图像的人脸框。本实施例中,采用Viola-Jones人脸检测算法对采集到的每一帧图像进行人脸检测。Viola-Jones算法利用积分图像来提取图像特征值,在一定程度上提高人脸检测的速度。同时,Viola-Jones算法利用Adaboost分类器的特征筛选特征,保留最有用特征,减少检测时的运算复杂度,使得人检检测速度更快。另外,Viola-Jones算法对Adaboost分类器进行改造,变成级联Adaboost分类器,以提高人脸检测的准确率。可以理解地,在人脸检测跟踪方法中,可采用但不限于本实施例所提供的Viola-Jones算法对采集到的每一帧图像进行检测检测,以确定每一帧图像的人脸框。

S12:去除误检测步骤:对当前帧图像进行去除误检测处理,并保存当前帧图像的人脸框为第一人脸框。具体地,该第一人脸框是当前帧图像采集到的多个人脸框中面积最大的人脸框。其中,每一帧图像的人脸框为矩形,人脸框的亮度与高度的乘积为人脸框的面积。去除误检测步骤的设置,可去除人脸检测过中的误检测人脸框,有利于提高人脸检测准确率。如图2所示,步骤S12中的去除误检测步骤包括:

S121:判断当前帧图像与前一帧图像是否均存在人脸框。可以理解地,通过人脸检测步骤可确定每一帧图像的人脸框,通过判断当前帧图像与前一帧图像是否均存在人脸框,从而可确定连续两帧图像是否均存在人脸框,以便于判断是否存在误检测人脸框。

S122:若当前帧图像与前一帧图像均存在人脸框,则判断当前帧图像的人脸框与前一帧图像的人脸框是否在图像的相应位置。本实施例中,每一帧图像中的人脸框为矩形,人脸框的宽度与高度的乘积为人脸框面积。以每一帧图像的左下角为坐标原点建立坐标系,每一帧图像的人脸框的中心及宽度和高度配合可确定人脸框的边界范围。步骤S122具体包括:

S1221:判断当前帧图像的人脸框与前一帧图像的人脸框在图像中是否存在重叠部分。即判断当前帧图像的人脸框的边界范围是否与前一帧图像的人脸框的边界范围是否存在重叠部分。

S1222:若当前帧图像的人脸框与前一帧图像的人脸框在图像中存在重叠部分,则计算重叠面积与当前帧图像的人脸框面积的百分比为第一重叠率,并计算重叠面积与前一帧图像的人脸框面积的百分比为第二重叠率。

S1223:分别判断第一重叠率和第二重叠率是否大于重叠率预设值。

S1224:若第一重叠率大于重叠率预设值,和/或第二重叠率大于重叠率预设值,则当前帧图像的人脸框与前一帧图像的人脸框在图像的相应位置。由于当前帧图像的人脸框和前一帧图像的人脸框的面积可能不一样,在重叠面积相同的情况下,计算得到的第一重叠率和第二重叠率不一样,本实施例中,只要第一重叠率和第二重叠率中任一个大于重叠率预设值,则认为当前帧图像的人脸框与前一帧图像的人脸框在图像的相应位置。

S123:若当前帧图像的人脸框与前一帧图像的人脸框在图像的相应位置,则当前帧图像不是误检测人脸框,保存当前帧图像的人脸框为所述第一人脸框。其中,第一人脸框为去除误检测后的人脸框。可以理解地,若当前帧图像和前一帧图像的相应位置均存在人脸框,即连续两帧图像的相应位置上均存在人脸框,则说明当前帧图像中的人脸框是误检测人脸框的机率极低,因此认定当前帧图像的人脸框为第一人脸框。本实施例中,将连续两帧图像相应位置采集到人脸框作为第一人脸框,而排除任一帧图像中不存在人脸框或连续两帧图像的人脸框不在相应位置时的当前帧图像的人脸框作为第一人脸框,有利于降低误检测率,提高人脸检测的准确率。

S124:若当前帧图像的人脸框与前一帧图像的人脸框不在图像的相应位置,或者当前帧图像存在人脸框而前一帧图像不存在人脸框,则当前帧图像中的人脸框为新出现人脸框或误检测人脸框,保存当前帧图像的人脸框,以便于与后一帧图像进行比较;但并不将当前帧图像的人脸框作为第一人脸框进行保存。

S125:若当前帧图像不存在人脸框而前一帧图像存在人脸框,则前一帧图像中的人脸框为误检测人脸框或消失人脸框,不保存前一帧图像的人脸框,以达到去除误检测的效果。

本实施例中的去除误检测步骤通过判断连续两帧图像(即当前帧图像与前一帧图像)的相应位置是否均存在人脸框,以达到去除误检测人脸框的目的。可以理解地,当前帧图像的人脸框与前一帧图像相应位置的人脸框的位置和大小可能存在小范围的偏差,如直接将当前帧图像的人脸框作为第一人脸框,将影响人脸检测的准确率。因此,在“对当前帧图像进行去除误检测处理”之后设有去除抖动步骤,即通过对当前帧图像的人脸框和前一帧图像的人脸框进行去除抖动处理,并将处理后的人脸框保存为第一人脸框,从而达到去除当前帧图像的人脸框与前一帧图像相应位置的人脸框的位置抖动的目的,从而保证人脸检测的准确率。

具体地,去除抖动步骤包括:将当前帧图像的人脸框和前一帧图像的人脸框的中心、宽度和高度分别求均值,并将根据人脸框的中心、宽度和高度的均值确定的人脸框保存为第一人脸框。即将当前帧图像的人脸框和前一帧图像的人脸框的中心、宽度和高度分别求均值,获得连续两帧图像的中心均值、宽度均值和高度均值,该中心均值、宽度均值和高度均值可确定一个无位置抖动的人脸框,并将该人脸框保存为第一人脸框。

S13:人脸跟踪步骤:根据第一人脸框和跟踪人脸框,确定当前帧图像的跟踪框,并对当前帧图像的跟踪框内的人脸进行跟踪。其中,跟踪人脸框是采用人脸跟踪算法在当前帧图像中跟踪到的人脸区域。可以理解地,人脸跟踪步骤的设置,用于避免采集到某一帧图像中没有人脸时,导致连续几帧图像的人脸检测结果不连续。本实施例中,人脸跟踪算法包括但不限于Camshift算法,Camshift算法将前一帧图像中跟踪到的人脸框作为后一帧图像的跟踪人脸框,并提取跟踪人脸框的位置信息,该位置信息包括跟踪人脸框的中心、宽度和高度。在本实施例的人脸跟踪步骤中,将前一帧图像中跟踪到的跟踪人脸框与步骤S12中确定的第一人脸框进行比较,确定当前帧图像的跟踪框,并对当前帧图像的跟踪框内的人脸进行跟踪。可以理解地,当前帧图像的跟踪框可以作为后一帧图像的跟踪人脸框。人脸跟踪步骤具体包括:

S131:将第一人脸框的面积与跟踪人脸框的面积进行比较。可以理解地,第一人脸框的面积为第一人脸框的宽度与高度的乘积。跟踪人脸框的面积为跟踪人脸框的宽度与高度的乘积。

S132:若第一人脸框的面积大于或等于跟踪人脸框的面积,则将第一人脸框作为当前帧图像的跟踪框,并对当前帧图像的跟踪框内的人脸进行跟踪;此时,将第一人脸框作为后一帧图像的跟踪人脸框。具体地,采用Camshift算法对当前帧图像的跟踪框内的人脸进行跟踪。

S133:若第一人脸框的面积小于跟踪人脸框的面积,则将跟踪人脸框作为当前帧图像的跟踪框,并对当前帧图像的跟踪框内的人脸进行跟踪;此时,保存原有的跟踪人脸框作为后一帧图像处理时的跟踪人脸框。可以理解地,若第一人脸框的面积小于跟踪人脸框的面积,则将跟踪人脸框作为当前帧图像的跟踪框,比当前帧图像的人脸框的面积大。

可以理解地,该人脸跟踪步骤中将第一人脸框的面积与跟踪人脸框的面积进行比较,选取面积最大的人脸框作为当前帧图像的跟踪框,并采用Camshift算法对当前帧图像的跟踪框内的人脸进行跟踪。选取面积最大的人脸框作为当前帧图像的跟踪框,可实现当前帧图像中存在多个人脸框时,通过确定面积最大的人脸框为当前帧图像的跟踪框,以对当前帧图像的跟踪框内的人脸进行跟踪,以提高响应效率。

本实施例所提供人脸检测跟踪方法,采用人脸检测步骤对采集的图像进行人脸检测后,确定每一帧图像的人脸框;再采用去除误检测步骤对当前帧图像进行去除误检测处理,有利于降低误检测率,提高人脸检测的准确率;然后通过人脸跟踪步骤再确定当前帧图像的跟踪框并对跟踪框内的人脸进行跟踪,以保障检测到的人脸的连续性。并在去除误检测步骤之后设置去除抖动步骤,进一步提高人脸检测的准确率。

实施例2

图3示出本实施例中的机器人头部转动控制方法。其中,该机器人上内置有摄像设备,用于采集图像。该机器人头部转动控制方法包括如下步骤:

S21:预设中心区域步骤:预设图像的中心区域。如图4所示,当前帧图像的左下角为原点O建立坐标系OXY,该预设图像的宽度为w,高度为h;若预设图像的中心区域的宽度为0.1w,高度为0.1h;由于预设图像的中心区域的中心位于预设图像的中心,则预设图像的中心区域的中心A的坐标为(0.5w,0.5h)。相应地,中心区域的左下角的坐标为(0.45w,0.45h),左上角的坐标为(0.45w,0.55h),右下角的坐标为(0.55w,0.45h),右上角的坐标为(0.55w,0.55h)。可以理解地,该预设图像的中心区域的边界范围中宽度范围为(0.45w-0.55w),高度范围为(0.45h-0.55h)。

S22:人脸检测跟踪步骤:根据实施例1中的人脸检测跟踪方法确定当前帧图像的跟踪框,并确定跟踪框的中心,实时读取当前帧图像的跟踪框的中心B的坐标(x0,y0)。可以理解地,采用实施例1所提供的人脸检测跟踪方法跟踪人脸时,通过在人脸检测步骤与人脸跟踪步骤之间设有去除误检测步骤,有利于降低误检测率,提高人脸检测的准确率;而且,人脸检测步骤与人脸跟踪步骤配合,有利于保障控制机器人头部转动过程的流畅性,避免转动过程出现卡顿现象。

S23:头部转动控制步骤:控制机器人头部转动,以使当前帧图像的跟踪框移动到中心区域上。可以理解地,采集到的当前帧图像的跟踪框移动时,控制机器人的头部转动,使得当前帧图像的跟踪框保持在中心区域上,以实现机器人的头部转动跟随人脸转动。

步骤S23可采用如下步骤实现:计算中心区域的中心相对于跟踪框的中心的水平偏移度和垂直偏移度,控制机器人头部沿水平方向转动水平偏移度并沿垂直方向转动垂直偏移度,以使中心区域的中心和跟踪框的中心重叠。

图4中,水平偏移度为∠ABD,垂直偏移度为∠ABC,其中,A(0.5w,0.5h),B(x0,y0),则BD=AC=a=|0.5h-y0|,BC=AD=b=|0.5w-x0|,根据余弦定理,则故水平偏移度同理,则故水平偏移度本实施例中,控制机器人头部在水平方向转动水平偏移度∠ABD,并控制机器人头部在垂直方向转动垂直偏移度∠ABC,即可使机器人采集到的当前帧图像的跟踪框的中心B与中心区域的中心A重叠,以使机器人的头部转动跟随检测到的人脸转动,使得机器人运动时更生动形象。

步骤S23也可采用如下步骤实现:控制机器人头部沿水平方向和垂直方向转动,以使跟踪框的中心位于中心区域的边界范围内。可以理解地,机器人实时读取当前帧图像的跟踪框的中心B的坐标(x0,y0),并将x0与中心区域的边界范围的宽度范围为(0.45w-0.55w)进行比较;将y0与中心区域的边界范围的高度范围为(0.45h-0.55h)进行比较。当x0<0.45w时,控制机器人头部向左转;当x0>0.55w时,控制机器人头部向右转;当y0<0.45h时,控制机器人头部向下低头;当y0>0.55h时,控制机器人头部向上抬头;当跟踪人脸处在图像中心区域时,机器人头部保持不动。该方法控制机器人头部转动跟随检测到的人脸转动的过程简单,计算量少,控制速度快。

本实施例所提供机器人头部转动控制方法,通过内置摄像设备采集图像并预设图像的中心区域,并采用人脸检测跟踪方法确定当前帧图像的跟踪框,控制机器人头部转动以使跟踪框移动到中心区域上。该机器人头部转动控制方法可根据当前帧图像的跟踪框与图像的中心区域的位置,控制机器人左右转动或上下转动,使得机器人在运动时更加生动形象。采用人脸检测跟踪方法确定当前帧图像的跟踪框,有利于保障控制机器人头部转动过程的流畅性,避免转动过程出现卡顿现象。

本发明是通过上述具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换和等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号