本申请涉及图像信息处理领域,特别涉及一种识别唇动的方法和系统。
背景技术:
随着图像信息处理技术的快速发展,人脸识别技术在人机交互、人脸检测等领域得到了广泛的应用。例如,越来越多的在线交易平台中,为了保证交易的安全性,会对客户或服务商进行身份验证,通常需要采集人脸图像。为了防止有人恶意采用他人的照片或信息通过身份验证,需要在人脸识别中验证图像中的人脸是否是真实的。可以通过让验证人员按照指令完成随机指定的动作,或是随机让验证人说一个词或句子,通过人脸图像检测人脸是否有唇动,或是唇动和语音是否对应,来判断图像中的人脸是真实的活体还是照片。因此,需要一种简单有效的方法来进行唇动的识别。
技术实现要素:
本申请实施例之一提供一种识别唇动的方法和系统。能够简单快速的对唇动进行识别,以减小数据处理量,降低对运算设备的要求,以达到在便携设备上即可完成唇动识别的目的。所述识别唇动的方法包括:获取待识别人脸的多帧人脸图像;所述多帧人脸图像拍摄于不同时刻。基于所述多帧人脸图像获取多个单帧人脸图像的唇部特征值。基于所述多个唇部特征值确定唇部参考特征值。比较至少一个所述单帧人脸图像的唇部特征值与所述唇部参考特征值。基于比较结果,确定所述待识别人脸是否有唇动。
在一些实施例中,确定所述待识别人脸是否有唇动,包括:确定至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值。确定至少一个所述差值绝对值中的最大值。当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。
在一些实施例中,所述确定单帧人脸图像的唇部特征值,包括:获取单帧人脸图像中位于上嘴唇上的至少一个第一特征点坐标和位于下嘴唇上的至少一个第二特征点坐标。基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离。获取所述单帧人脸图像中的两唇角点的坐标。基于所述两唇角点坐标得到两唇角点之间的第二距离。基于所述第一距离和所述第二距离确定所述单帧人脸图像中的所述唇部特征值。
在一些实施例中,所述第一特征点和与其对应的第二特征点为上下对称分布。
在一些实施例中,所述唇部特征值为所述第一距离和所述第二距离的比值。
在一些实施例中,所述基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离,包括:基于所述单帧人脸图像中的两个或以上的所述第一特征点中的每一个和与其对应的第二特征点确定特征点距离。基于两个或以上的所述特征点距离确定所述第一距离。
在一些实施例中,所述第一距离为两个或以上的所述特征点距离的平均值。
在一些实施例中,所述确定单帧人脸图像的唇部特征值,包括:获取单帧人脸图像的归一化人脸图像。基于单帧人脸图像的归一化人脸图像确定所述唇部特征值。
在一些实施例中,所述获取单帧人脸图像的归一化人脸图像,包括:获取所述单帧人脸图像中位于人脸上的人脸特征点坐标。基于所述人脸特征点坐标及其对应的预设人脸特征点坐标确定仿射变换矩阵。基于所述仿射变换矩阵对所述单帧人脸图像进行仿射变换得到所述单帧人脸图像的归一化人脸图像。
在一些实施例中,所述人脸特征点包括以下特征点中的至少一个:眼部中心点、鼻尖点和唇角点。
在一些实施例中,还包括对多帧人脸图像中的每一个进行图像尺寸缩小处理。
在一些实施例中,所述唇部参考特征值为多个所述单帧人脸图像的唇部特征值的平均值。
在一些实施例中,所述多帧人脸图像从所述待识别人脸的视频文件中获取。
本申请实施例之一提供一种识别唇动的系统,包括:获取模块,用于获取待识别人脸的多帧人脸图像;所述多帧人脸图像拍摄于不同时刻。唇部特征值确定模块,用于基于所述多帧人脸图像获取多个单帧人脸图像的唇部特征值。唇部参考特征值确定模块,用于基于所述多个唇部特征值确定唇部参考特征值。识别模块,用于比较至少一个所述单帧人脸图像的唇部特征值与所述唇部参考特征值;基于比较结果,确定所述待识别人脸是否有唇动。
在一些实施例中,所述识别模块还用于:确定至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值。确定至少一个所述差值绝对值中的最大值。当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。
本申请实施例之一提供一种识别唇动的装置,包括至少一个存储介质及至少一个处理器。所述至少一个存储介质用于存储计算机指令。所述至少一个处理器用于执行所述计算机指令,以实现如前所述的识别唇动的方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现如前所述的识别唇动的方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的图像信息服务系统的应用场景示意图;
图2是根据本发明的一些实施例所示的一个示例性计算设备的示例性硬件组件和/或软件组件的示意图;
图3是根据本发明的一些实施例所示的一个示例性移动设备的示例性硬件组件和/或软件组件的示意图;
图4是根据本申请一些实施例所示的识别唇动的系统的模块图;
图5是根据本申请一些实施例所示的识别唇动的方法的示例性流程图;
图6是根据本申请一些实施例所示的确定唇部特征值的示例性流程图;
图7是根据本申请一些实施例所示的唇部特征点分布的示例性示意图;
图8是根据本申请一些实施例所示的另一种确定唇部特征值的示例性流程图;
图9是根据本申请一些实施例所示的归一化人脸图像的示例性示意图。
图10是根据本申请一些实施例所示的68个人脸轮廓点的示例性示意图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请的实施例可以应用于不同的运输系统,不同的运输系统包括但不限于陆地、海洋、航空、航天等中的一种或几种的组合。例如,出租车、专车、顺风车、巴士、代驾、火车、动车、高铁、船舶、飞机、热气球、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统。本申请的不同实施例应用场景包括但不限于网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等中的一种或几种的组合。应当理解的是,本申请的系统及方法的应用场景仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。例如,其他类似的引导用户停车系统。
本申请描述的“乘客”、“乘客端”、“用户终端”、“顾客”、“需求者”、“服务需求者”、“消费者”、“消费方”、“使用需求者”等是可以互换的,是指需要或者订购服务的一方,可以是个人,也可以是工具。同样地,本申请描述的“司机”、“司机端”、“提供者”、“供应者”、“服务提供者”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。另外,本申请描述的“用户”可以是需要或者订购服务的一方,也可以是提供服务或者协助提供服务的一方。
图1所示为根据本申请一些实施例所示的图像信息服务系统100的应用场景示意图。例如,图像信息服务系统100可以是用于多种服务的线上服务平台。在一些实施例中,该图像信息服务系统100可以用于网约车服务中的人脸图像信息的服务,例如,出租车的人脸识别服务、专车的身份验证服务、公交的监控服务、和乘客的身份认证服务等。在一些实施例中,该图像信息服务系统100还可以用于家政服务、在线购物、外卖等。例如,在家政服务中,用于服务提供商的身份认证、人脸识别、服务过程的监控等。图像信息服务系统100可以包括一个服务器110、网络120、存储设备130、一个或一个以上图像采集终端140、和信息源150。服务器110可以包括处理引擎112。
在一些实施例中,服务器110可以是一个单个的服务器或者一个服务器群组。所述服务器群可以是集中式的或分布式的(例如,服务器110可以是一个分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络120访问存储在存储设备130、图像采集终端140。再例如,服务器110可以直接连接到存储设备130、图像采集终端140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。在一些实施例中,服务器110可以在与本申请图2或图3所示的计算设备上实现。例如,服务器110可以在如图2所示的一个计算设备200上实现,包括计算设备200中的一个或多个部件。再例如,服务器110可以在如图3所示的一个移动设备300上实现,包括计算设备300中的一个或多个部件。在一些实施例中,处理引擎112可处理与定位信息服务有关的数据和/或信息以执行一个或多个本申请中描述的功能。以网约车服务为例,处理引擎112可以基于图像采集终端140获取人脸图像或人脸视频,对人脸图像进行处理。或者处理引擎112可以从图像采集终端140获取人脸图像或人脸视频,通过人脸图像或人脸视频中的唇部特征值,识别人脸是否有唇动。在一些实施例中,处理引擎112可以对人脸图像进行归一化处理。例如,将不同角度、不同倾斜程度的人脸图像归一化为正面端正的人脸图像。又例如,处理引擎112可以对人脸图像归一化处理后,确定人脸的唇部特征值,提高识别精度。
在一些实施例中,图像采集终端140可以是图像或视频的采集设备。在一些实施例中,图像采集终端140可以包括但不限于摄像头140-1、笔记本电脑140-2,车载内置设备140-3、移动设备140-4等或其任意组合。在一些实施例中,车载内置设备140-3可以包括但不限于车载电脑、车载抬头显示(hud)、车载自动诊断系统(obd)、行车记录仪、车载导航等或其任意组合。在一些实施例中,移动设备140-4可以包括但不限于智能手机、个人数码助理(personaldigitalassistance,pda)、平板电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备、显示增强设备等或其任意组合。在一些实施例中,图像采集终端140可以将运输服务需求发送至服务器110进行处理。在一些实施例中,图像采集终端140可以将人脸图像信息发送至图像信息服务系统100中的一个或多个设备中。在一些实施例中,图像采集终端140可以接收定位图像服务系统100中的一个或多个设备发送的图像信息采集指令。在一些实施例中,图像采集终端140可以设置在车内、商场、超市、住宅、办公室等区域获取人脸的图像信息。
存储设备130可以存储数据和/或指令。在一些实施例中,存储设备130可以存储从图像采集终端140获得的数据。在一些实施例中,存储设备130可以存储供服务器110执行或使用的数据和/或指令,服务器110可以通过执行或使用所述数据和/或指令以实现本申请描述的示例性方法。在一些实施例中,存储设备130可以包括大容量存储器、可移动存储器、挥发性读写存储器、只读存储器(rom)等或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态硬盘等。示例性的可移动存储器可以包括闪存盘、软盘、光盘、记忆卡、压缩硬盘、磁带等。示例性的挥发性只读存储器可以包括随机存储器(ram)。示例性的随机存储器可以包括动态随机存储器(dram)、双数据率同步动态随机存储器(ddrsdram)、静态随机存储器(sram)、可控硅随机存储器(t-ram)和零电容存储器(z-ram)等。示例性的只读存储器可以包括掩蔽型只读存储器(mrom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、压缩硬盘只读存储器(cd-rom)和数字多功能硬盘只读存储器等。在一些实施例中,存储设备130可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等或上述举例的任意组合。
在一些实施例中,存储设备130可以与网络120连接以实现与图像信息服务系统100中的一个或多个部件(例如,服务器110、图像采集终端140等)之间的通信。图像信息服务系统100的一个或多个部件可以通过网络120访问存储在存储设备130中的数据或指令。在一些实施例中,存储设备130可以直接与图像信息服务系统100的一个或多个部件(例如,服务器110、图像采集终端140等)连接或通信。在一些实施例中,存储设备130可以是服务器110的一部分。
网络120可以促进信息和/或数据的交换。在一些实施例中,图像信息服务系统100中的一个或多个部件(例如,服务器110、存储设备130、和图像采集终端140等)可以通过网络120向图像信息服务系统100中的其他部件发送信息和/或数据。例如,服务器110可以通过网络120从图像采集终端140获取/得到数据信息。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种,或其组合。例如,网络120可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、城域网(man)、公共开关电话网络(pstn)、蓝牙网络、zigbee网络、近场通讯(nfc)网络等或上述举例的任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可能包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2等等。通过接入点,图像信息服务系统100的一个或多个部件可能连接到网络120以交换数据和/或信息。
信息源150是为图像信息服务系统100提供其他信息的一个源。信息源150可以用于为系统提供与在线服务信息相关的信息,例如,天气情况、法律法规信息、新闻信息、生活资讯、生活指南信息等。信息源150可以是一个单独的中央服务器的形式存在,也可以是以多个通过网络连接的服务器的形式存在,还可以是以大量的个人设备形式存在。当信息源150以大量个人设备形式存在时,这些设备可以通过一种用户生成内容(user-generatedcontents)的方式,例如向云端服务器上传文字、语音、图像、视频等,从而是云端服务器连通与其连接的众多个人设备一起组成信息源150。
需要说明的是,在其他一些实施例中,图像采集终端140也可以集成处理引擎,此时图像采集终端140无需将人脸图像或人脸视频上传到服务器110,而是直接处理其获取的人脸图像或人脸视频,以实现本申请描述的示例性方法。
图2是根据本发明的一些实施例所示的一种示例性计算设备200的示意图。服务器110和存储设备130可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实现本申请中所披露的功能。
计算设备200可以包括用来实现本申请所描述的系统的任意部件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见图中仅绘制了一台计算机,但是本申请所描述的与图像信息服务系统100相关的计算功能可以以分布的方式、由一组相似的平台所实施,以分散系统的处理负荷。
计算设备200可以包括与网络连接的通信端口250,用于实现数据通信。计算设备200可以包括一个处理器(例如,cpu)220,可以以一个或多个处理器的形式执行程序指令。示例性的电脑平台可以包括一个内部总线210、不同形式的程序存储器和数据存储器包括,例如,硬盘270、和只读存储器(rom)230或随机存储器(ram)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算设备可以包括存储在只读存储器230、随机存储器240和/或其他类型的非暂时性存储介质中的由处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200也包括输入/输出部件260,用于支持电脑与其他部件之间的输入/输出。计算设备200也可以通过网络通讯接收本披露中的程序和数据。
为理解方便,图2中仅示例性绘制了一个处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个处理器,因此本申请中描述的由一个处理器实现的操作和/或方法也可以共同地或独立地由多个处理器实现。例如,如果在本申请中,计算设备200的处理器执行步骤1和步骤2,应当理解的是,步骤1和步骤2也可以由计算设备200的两个不同的处理器共同地或独立地执行(例如,第一处理器执行步骤1,第二处理器执行步骤2,或者第一和第二处理器共同地执行步骤1和步骤2)。
图3是根据本发明的一些实施例所示的一个示例性的移动设备300的示例性硬件和/或软件的示意图。轨迹数据的采集可以在移动设备300上实现。如图3所示,移动设备300可以包括一个通信单元310、一个显示单元320、一个图形处理器330、一个处理器340、一个输入/输出单元350、一个内存360和一个存储单元390。移动设备300中还可以包括一个总线或者一个控制器。在一些实施例中,移动操作系统370和一个或多个应用程序380可以从存储单元390加载到内存360中,并由处理器340执行。在一些实施例中,应用程序380可以接收和显示与处理引擎112有关的图像处理或其他信息的信息。输入/输出单元350可以实现将数据信息与图像信息服务系统100的交互,并将交互相关信息通过网络120提供给图像信息服务系统100中的其他部件,如服务器110。
为了实现本申请中描述的各种模块、单元及其功能,计算机硬件平台可以用作这里提到的一个或多个元件的硬件平台。一个拥有用户界面元件的计算机可以用于实现个人计算机(pc)或者其它任何形式的工作站或终端设备。通过合适的编程,一个计算机也可以充当一台服务器。
图4是根据本申请一些实施例所示的识别唇动系统的模块图。如图4所示,该识别唇动系统可以包括获取模块410、唇动特征值确定模块420、唇动参考特征值确定模块430、识别模块440和图像预处理模块450。在一些实施例中,获取模块410、唇动特征值确定模块420、唇动参考特征值确定模块430、识别模块440和图像预处理模块450可以包含在图1所示的处理引擎112中。
获取模块410可以用于获取待识别人脸的多帧人脸图像。在一些实施例中,多帧人脸图像可以为拍摄于不同时刻的待识别人脸的图像。例如,可以是按照时间推移连续的变化的人脸图像。在一些实施例中,多帧人脸图像可以是每隔一定时间拍摄的人脸图像。所述多帧人脸图像拍摄于不同时刻。在一些实施例中,所述多帧人脸图像从所述待识别人脸的视频文件中提取。在一些实施例中,可以通过设置摄像头获取待识别人脸的多帧人脸图像。例如,在网约车服务中,可以通过设置在车内的摄像头获取待识别人脸的多帧人脸图像。又例如,可以在商场、办公区、住宅等区域设置摄像头,获取待识别人脸的多帧人脸图像。在一些实施例中,还可以通过手机、笔记本电脑、行车记录仪等带有摄像功能的移动设备采集待识别人脸的多帧人脸图像。在一些实施例中,可以将摄像头获取的人脸图像存储在服务器110、存储设备130。在一些实施例中,可以通过服务器110、网络120、存储设备130、一个或多个图像采集终端140或信息源150中获取待识别人脸的多帧人脸图像。
唇动特征值确定模块420可以用于基于多帧人脸图像中的每一个确定单帧人脸图像的唇部特征值。在一些实施例中,唇部特征值可以是表征唇部是否有开合动作的特征值。在一些实施例中,唇部特征值可以是上嘴唇和下嘴唇之间的距离。在一些实施例中,可以获取单帧人脸图像中位于上嘴唇上的至少一个第一特征点坐标和位于下嘴唇上的至少一个第二特征点坐标。在一些实施例中,所述第一特征点和与其对应的第二特征点为上下对称分布。如图7所示,在一些实施例中,第一特征点710可以是上嘴唇的最高点。在一些实施例中,第二特征点720可以是下嘴唇的最低点。在一些实施例中,第一特征点可以有3个。在一些实施例中,位于上嘴唇两唇峰中间的第一特征点可以设为上嘴唇的中间特征点,三个第一特征点可以是上嘴唇的中间特征点和位于中间特征点两侧的任意位置的两个特征点(参见图7)。在一些实施例中,可以基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离。在一些实施例中,可以基于所述单帧人脸图像中的两个或以上的所述第一特征点中的每一个和与其对应的第二特征点确定特征点距离。在一些实施例中,可以基于两个或以上的所述特征点距离确定所述第一距离。在一些实施例中,第一距离可以是欧式距离、曼哈顿距离、切比雪夫距离、马氏距离、标准化欧式距离等中的一种或几种的组合。在一些实施例中,所述第一距离可以为两个或以上的所述特征点距离的算术平均值。在其他实施例中,第一距离还可以是两个或以上的所述特征点距离的求和、加权求和、加权平均值、几何平均值、平方平均值或调和平均值中的一种或几种的任意组合。例如,图7中,单帧人脸图像中,每一个第一特征点710和对应的第二特征点720之间的距离为一个特征点距离。如果有三个第一特征点和三个对应的第二特征点,三组上下对称的特征点,就可以得到三个特征点距离。三个特征点距离的算术平均值即为第一距离。在一些实施例中,可以获取所述单帧人脸图像中的两唇角点的坐标。例如,图7中,可以获取单帧人脸图像中两唇角点730的坐标。在一些实施例中,可以基于所述两唇角点坐标得到两唇角点之间的第二距离。例如,图7中,两唇角点730之间的距离为第二距离。
在一些实施例中,所述唇部特征值为所述第一距离和所述第二距离的比值。由于每个人的唇形不同,嘴唇的厚度或宽度等尺寸也不同,将第一距离和第二距离的比值作为唇部特征值,可以避免不同唇形之间的差异导致的计算偏差,有利于提高识别的准确性。例如,如图7所示,多帧人脸图像可以是图7中的四个单帧人脸图像,每一个单帧人脸图像中获取三个第一特征点、和第一特征值对应的第二特征点720和两个唇角点730。每个第一特征点和对应的第二特征点之间的距离为特征点距离,得到三个特征点距离的平均值作为第一距离。计算两唇角点730之间的距离作为第二距离,第一距离和第二距离的比值为单帧人脸图像的唇部特征值。计算每个单帧人脸图像的唇部特征值,最终得到4个唇部特征值。
在一些实施例中,可以获取所述单帧人脸图像中位于人脸上的人脸特征点坐标。在一些实施例中,所述人脸特征点包括以下特征点中的至少一个:眼部中心点、鼻尖点和唇角点。在一些实施例中,脸部的轮廓点可以包括脸部轮廓点,眼睛、鼻子、嘴唇、眉毛等各部件的轮廓点。其中,眼部中心点、鼻尖点和唇角点的坐标不容易受面部表情的影响,适合作为脸部的基准点。在一些实施例中,如图9所示,人脸特征点可以是两个眼部中心点、鼻尖点和两个唇角点。在一些实施例中,可以基于所述人脸特征点坐标及其对应的预设人脸特征点坐标确定仿射变换矩阵,再基于所述仿射变换矩阵对所述单帧人脸图像进行仿射变换得到所述单帧人脸图像的归一化人脸图像。在一些实施例中,预设人脸特征点可以是正面的、预设好整体尺寸大小的标准人脸上的特征点。人脸特征点坐标和预设人脸特征点坐标之间通过发射变换矩阵进行转换,将不同角度、倾斜程度、与镜头距离不同的人脸图像转换为正面的,具有统一整体尺寸大小的预设人脸图像。如图9所示,通过确定的仿射变换矩阵,可以将倾斜的人脸图像转换为正面的端正的人脸图像。在一些实施例中,可以通过单帧人脸图像中的人脸特征点坐标和对应的预设人脸特征点的坐标,建立方程组,求得仿射变换矩阵。在一些实施例中,确定了仿射变换矩阵后,将单帧人脸图像中的表征人脸信息的数据点坐标转换为预设人脸图像中的坐标,得到归一化的人脸图像。将多帧人脸图像中的每一个单帧人脸图像进行归一化,得到每一个单帧人脸图像的归一化人脸图像。
在一些实施例中,可以基于单帧人脸图像的归一化人脸图像确定所述唇部特征值。在一些实施例中,可以获取单帧人脸图像的归一化人脸图像,从归一化的人脸图像中得到第一特征点坐标和第二特征点坐标,计算出第一距离和第二距离,根据第一距离和第二距离的比值确定出唇部特征值。在一些实施例中,可以先从归一化人脸图像中获取若干个唇部特征点坐标,由若干个唇部特征点坐标得到第一特征点坐标和第二特征点坐标。在一些实施例中,可以先从归一化人脸图像中获取68个人脸轮廓点坐标,由68个人脸轮廓点得到第一特征点坐标和第二特征点坐标。在一些实施例中,68个人脸轮廓点的分布可以为如图10所示。包括两颊轮廓点和主要面部器官的轮廓点。并且每个轮廓点具有固定的编号,根据编号可以确定对应的轮廓点的坐标。在一些实施例中,可以从唇部轮廓点中选择第一特征点和第二特征点。在一些实施例中,可以通过选择的唇部轮廓点的编号确定第一特征点的坐标和第二特征点的坐标。例如,如图10所示,第一特征点坐标可以是编号为50、51、52、53、54、62、63或64的轮廓点坐标,第二特征点可以是编号为56、57、58、59、60、66、67或68的轮廓点坐标。在一些实施例中,可以根据第一特征点坐标和第二特征点坐标确定第一距离。在一些实施例中,可以从所述单帧归一化的人脸图像中获取两唇角点坐标,确定第二距离。例如,如图10所示,两唇角点坐标可以是编号为49和55的轮廓点坐标,第二距离可以是特征点49和特征点55两点间的直线距离。根据第一距离和第二距离计算出该单帧人脸图像的唇部特征值。
唇动参考特征值确定模块430可以用于基于多个所述单帧人脸图像的唇部特征值确定唇部参考特征值。在一些实施例中,所述唇部参考特征值为多个所述单帧人脸图像的唇部特征值的平均值。例如,唇部特征值为唇部上嘴唇的第一特征点和下嘴唇的第二特征点之间的距离,唇部参考特征值可以为多帧人脸图像中的每一单帧人脸图像中的第一特征点和第二特征点之间的距离的平均值。
识别模块440可以用于比较至少一个所述单帧人脸图像的唇部特征值与所述唇部参考特征值。在一些实施例中,可以基于比较结果,确定所述待识别人脸是否有唇动。在一些实施例中,可以计算至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值,确定至少一个所述差值绝对值中的最大值。在一些实施例中,当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。也就是说,上嘴唇和下嘴唇张开的最大值或是缩小的最大值与上嘴唇和下嘴唇距离的平均值之间的差值,超出一定范围,就说明唇部发生了张合动作,有唇动。如果上嘴唇和下嘴唇张开的最大值或缩小的最大值与上嘴唇和下嘴唇距离的平均值之间的差值,没有超出一定范围,则唇部没有发生唇动。在一些实施例中,第一预设值可以为3.0。
图像预处理模块450可以用于对多帧人脸图像中的每一个进行图像尺寸缩小处理。在一些实施例中,可以对多帧人脸图像中的每一个进行图像尺寸进行缩小处理。在一些实施例中,可以获取多帧人脸图像中的每一帧图像的帧宽和帧高,确定出每一帧图像的帧宽和帧高的最小值,将该最小值和图像尺寸预设值比较,当所述最小值大于所述第二预设值,将所述视频中的每一帧图像的帧宽和帧高进行等比例缩小,使所述视频中的所述帧宽和所述帧高的最大值小于所述图像尺寸预设值。对待识别人脸的多帧图像进行缩小处理,可以避免图像的分辨率太大,导致的图像的数据处理量过大的问题。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图4中披露的获取模块410、唇动特征值确定模块420、唇动参考特征值确定模块430、识别模块440和图像预处理模块450可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,获取模块410、唇动特征值确定模块420可以是两个模块,也可以是一个模块同时具有获取和确定唇动特征值功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。在一些实施例中,还可以省去图像预处理模块450。
图5所示为根据本申请一些实施例所示的识别唇动方法的示例性流程图。在一些实施例中,流程500可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图5所示的用于识别唇动的流程500中的一个或多个操作可以通过图1所示的图像信息服务系统100实现。例如,流程500可以以指令的形式存储在存储设备150中,并由处理引擎112执行调用和/或执行(例如,图2所示的计算设备200的处理器220、图3所示的移动设备300的中央处理器340)。如图5所示,该识别唇动方法可以包括:
步骤510,可以获取待识别人脸的多帧人脸图像。在一些实施例中,步骤510可以由获取模块410执行。在一些实施例中,多帧人脸图像可以为拍摄于不同时刻的待识别人脸的图像。例如,可以是按照时间推移连续的变化的人脸图像。在一些实施例中,多帧人脸图像可以是每个一定时间拍摄的人脸图像。例如,可以是每隔0.5秒拍摄的待识别人脸的多帧人脸图像。在一些实施例中,多帧人脸图像可以是从待识别人脸的视频文件中获取的人脸图像。在一些实施例中,多帧人脸图像可以为待识别人脸的连续人脸图像。在一些实施例中,多帧人脸图像可以为待识别人脸的视频中抽取的不连续但是具有一定先后次序的人脸图像。例如,可以每隔两帧抽取一张人脸图像,如编号为1、4、7、10等人脸图像。在一些实施例中,可以对多帧人脸图像中的每一个进行图像尺寸进行缩小处理。在一些实施例中,可以获取多帧人脸图像中的每一帧图像的帧宽和帧高,确定出每一帧图像的帧宽和帧高的最小值,将该最小值和图像尺寸预设值比较,当所述最小值大于所述第二预设值,将所述视频中的每一帧图像的帧宽和帧高进行等比例缩小,使所述视频中的所述帧宽和所述帧高的最大值小于所述图像尺寸预设值。在一些实施例中,可以采用最近邻插值、双线性插值、三次卷积法、局部均值法等中的一种或几种方法的组合进行图像缩小的处理。对待识别人脸的多帧图像进行缩小处理,可以避免图像的分辨率多大,导致的图像的数据处理量过大的问题。在一些实施例中,可以通过设置摄像头获取待识别人脸的多帧人脸图像。例如,在网约车服务中,可以通过设置在车内的摄像头获取待识别人脸的多帧人脸图像。又例如,可以在商场、办公区、住宅等区域设置摄像头,获取待识别人脸的多帧人脸图像。在一些实施例中,还可以通过手机、笔记本电脑、行车记录仪等带有摄像功能的移动设备采集待识别人脸的多帧人脸图像。在一些实施例中,可以将摄像头获取的人脸图像存储在服务器110、存储设备130。在一些实施例中,可以通过服务器110、网络120、存储设备130、一个或多个图像采集终端140或信息源150中获取待识别人脸的多帧人脸图像。
步骤520中,可以基于多帧人脸图像中的每一个确定单帧人脸图像的唇部特征值。在一些实施例中,步骤520可以由唇部特征值确定模块420执行。在一些实施例中,唇部特征值可以是表征唇部是否有开合动作的特征值。例如,唇部最高点到唇部最低点之间的距离、两唇角点之间的距离、唇部任意两个特征点之间的距离的、唇部任意特征点的坐标、唇部周围两颊和/或下颚处的特征点的坐标等。在一些实施例中,可以确定多帧人脸图像中的每一单帧人脸图像的唇部特征值。在一些实施例中,可以通过多帧人脸图像中的每一单帧人脸图像的唇部特征值的变化判断待识别人脸是否有唇动。例如,如果唇部特征值为唇部最高点到唇部最低点之间的距离,可以通过每一单帧人脸图像中的唇部最高点到唇部最低点之间的距离的变化,看出唇部是否有开合动作,待识别人脸是否有唇动。又例如,唇部特征值可以是唇部任意特征点的坐标,可以通过每一单帧人脸图像的唇部特征点的坐标的是否有变化,以及变化的幅度判断唇部是否有开合动作,待识别人脸是否有唇动。在一些实施例中,可以设置唇部参考特征值,将唇部特征值与唇部参考特征值进行比较,来判断是否有唇动。例如,唇部特征值可以是唇部最高点到唇部最低点之间的距离,唇部参考特征值可以是唇部紧闭状态时,唇部最高点到唇部最低点之间的距离。将唇部特征值和唇部参考特征值进行比较,可以判断唇部是否有张开的动作,待识别人脸是否有唇动。
步骤530中,可以基于多个所述单帧人脸图像的唇部特征值确定唇部参考特征值。在一些实施例中,步骤530可以由唇部参考特征值确定模块430。在一些实施例中,唇部参考特征值可以是多个所述单帧人脸图像的唇部特征值的平均值、中位数、标准差、加权平均值等中的任意一种。在一些实施例中,所述唇部参考特征值为多个所述单帧人脸图像的唇部特征值的平均值。例如,如果唇部特征值为唇部两个特征点之间的距离,唇部参考特征值可以为多帧人脸图像中的每一单帧人脸图像中的唇部两个特征点之间的距离的平均值。
步骤540中,可以比较至少一个所述单帧人脸图像的唇部特征值与所述唇部参考特征值,基于比较结果,确定所述待识别人脸是否有唇动。在一些实施例中,步骤540可以由识别模块440。在一些实施例中,可以确定至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值,确定至少一个所述差值绝对值中的最大值。在一些实施例中,当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。例如,唇部特征值可以是每一帧人脸图像上,分别位于上嘴唇上的特征点和下嘴唇上的特征点之间的距离,计算多帧人脸图像的唇部特征值的平均值作为唇部特征参考值,计算每一帧人脸图像的唇部特征值和唇部特征参考值的差值绝对值,将差值绝对值中的最大值和第一预设值进行比较,大于第一预设值可以认为待识别人脸有唇动。也就是说,上嘴唇和下嘴唇张开的最大值或是缩小的最大值与上嘴唇和下嘴唇距离的平均值之间的差值,超出一定范围.就说明唇部发生了张合动作.有唇动。如果上嘴唇和下嘴唇张开的最大值或缩小的最大值与上嘴唇和下嘴唇距离的平均值之间的差值,没有超出一定范围,则唇部没有发生唇动。在一些实施例中,第一预设值可以为3.0。
需要注意的是,以上描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可以在不背离这一原理的情况下,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。
图6所示为根据本申请一些实施例所示的确定唇部特征值的示例性流程图。在一些实施例中,流程600可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图5所示的用于确定唇部特征值的流程600中的一个或多个操作可以通过图1所示的图像信息服务系统100实现。例如,流程600可以以指令的形式存储在存储设备150中,并由处理引擎112执行调用和/或执行(例如,图2所示的计算设备200的处理器220、图3所示的移动设备300的中央处理器340)。如图6所示,该确定唇部特征值方法可以包括:
在610中,可以获取单帧人脸图像中位于上嘴唇上的至少一个第一特征点坐标和位于下嘴唇上的至少一个第二特征点坐标。在一些实施例中,步骤610可以由唇部特征值确定模块420执行。如图7所示,在多帧人脸图像中的每一个单帧人脸图像中,获取位于上嘴唇上的至少一个第一特征点710的坐标,获取位于下嘴唇上的至少一个第二特征点720的坐标。在一些实施例中,第一特征点710可以是上嘴唇的最高点。在一些实施例中,第二特征点720可以是下嘴唇的最低点。在一些实施例中,第一特征点可以有3个。在一些实施例中,位于上嘴唇两唇峰中间的第一特征点可以设为上嘴唇的中间特征点,三个第一特征点可以是上嘴唇的中间特征点和位于中间特征点两侧的任意位置的两个特征点(参见图7)。在一些实施例中,第一特征点也可以是5个。五个第一特征点可以是中间特征点和平均分配位于中间特征点两侧的四个特征点。在一些实施例中,第一特征点可以是两个,两个特征点可以位于中间特征点两侧的两个特征点。在一些实施例中,所述第一特征点和与其对应的第二特征点为上下对称分布。例如,如图7所示,第一特征点为三个特征点,包括上嘴唇的中间特征点和分别位于中间特征点两侧的两个特征点。第二特征点为纵坐标与第一特征点相同的上下对称的三个特征点。
在620中,可以基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离。在一些实施例中,步骤620可以由唇部特征值确定模块420执行。在一些实施例中,可以基于所述单帧人脸图像中的两个或以上的所述第一特征点中的每一个和与其对应的第二特征点确定特征点距离。在一些实施例中,基于两个或以上的所述特征点距离确定所述第一距离。在一些实施例中,所述第一距离可以为两个或以上的所述特征点距离的平均值。例如,图7中,单帧人脸图像中,每一个第一特征点710和对应的第二特征点720之间的距离为一个特征点距离。如果有三个第一特征点和三个对应的第二特征点,三组上下对称的特征点,就可以得到三个特征点距离。三个特征点距离的平均值即为第一距离。在一些实施例中,第一距离可以是三个特征点距离的求和、加权求和、算术平均值、加权平均值、几何平均值、平方平均值或调和平均值中的一种或几种的任意组合。
在630中,可以获取所述单帧人脸图像中的两唇角点的坐标。在一些实施例中,步骤630可以由唇部特征值确定模块420执行。例如,图7中,可以获取单帧人脸图像中两唇角点730的坐标。在一些实施例中,可以获取多帧人脸图像中每一个单帧人脸图像的两唇角点坐标。
在640中,可以基于所述两唇角点坐标得到两唇角点之间的第二距离。在一些实施例中,步骤640可以由唇部特征值确定模块420执行。例如,图7中,两唇角点730之间的距离为第二距离。在一些实施例中,第二距离可以是欧式距离、曼哈顿距离、切比雪夫距离、马氏距离、标准化欧式距离等中的一种或几种的组合。
在650中,可以基于所述第一距离和所述第二距离确定所述单帧人脸图像中的所述唇部特征值。在一些实施例中,步骤650可以由唇部特征值确定模块420执行。在一些实施例中,所述唇部特征值为所述第一距离和所述第二距离的比值。由于每个人的唇形不同,嘴唇的厚度或宽度等尺寸也不同,将第一距离和第二距离的比值作为唇部特征值,可以避免不同唇形之间的差异导致的计算偏差,有利于提高识别的准确性。在一些实施例中,可以确定多帧人脸图像中的每一个单帧人脸图像的第一距离和该单帧人脸图像中的第二距离,将该单帧人脸图像的第一距离和第二距离的比值作为该单帧人脸图像的唇部特征值。每一个单帧人脸图像的唇部特征值确定后,可以得到数量与多帧人脸图像对应的多个唇部特征值。例如,如图7所示,多帧人脸图像可以是图7中的四个单帧人脸图像,每一个单帧人脸图像中获取三个第一特征点、和第一特征值对应的第二特征点和两个唇角点730。每个第一特征点和对应的第二特征点之间的距离为特征点距离,得到三个特征点距离的平均值作为第一距离。计算两唇角点730之间的距离作为第二距离,第一距离和第二距离的比值为单帧人脸图像的唇部特征值。计算每个单帧人脸图像的唇部特征值,最终得到4个唇部特征值。可以根据前述的技术方案,将4个唇部特征值的平均值作为唇部参考特征值。将4个唇部特征值分别与唇部参考特征值比较,得到差值绝对值的最大值。如果差值绝对值的最大值大于第一预设值(例如,3.0),可以认为待识别人脸有唇动。
需要注意的是,以上描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可以在不背离这一原理的情况下,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。
图8所示为根据本申请一些实施例所示的确定唇部特征值的示例性流程图。在一些实施例中,流程800可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(运行在处理设备上以执行硬件模拟的指令)等或其任意组合。图8所示的用于确定唇部特征值的流程800中的一个或多个操作可以通过图1所示的图像信息服务系统100实现。例如,流程800可以以指令的形式存储在存储设备150中,并由处理引擎112执行调用和/或执行(例如,图2所示的计算设备200的处理器220、图3所示的移动设备300的中央处理器340)。如图8所示,该确定唇部特征值方法可以包括:
在810中,可以获取所述单帧人脸图像中位于人脸上的人脸特征点坐标。在一些实施例中,步骤810可以由唇部特征值确定模块420执行。在一些实施例中,所述人脸特征点包括以下特征点中的至少一个:眼部中心点、鼻尖点和唇角点。在一些实施例中,脸部的轮廓点可以包括脸部轮廓点,眼睛、鼻子、嘴唇、眉毛等各部件的轮廓点。其中,眼部中心点、鼻尖点和唇角点的坐标不容易受面部表情的影响,适合作为脸部的基准点。在一些实施例中,可以获取眼部中心点、鼻尖点的坐标作为人脸特征点。在一些实施例中,可以获取眼部中心点、唇角点的坐标作为人脸特征点。在一些实施例中,如图9所示,人脸特征点可以是两个眼部中心点、鼻尖点和两个唇角点。
在820中,可以基于所述人脸特征点坐标及其对应的预设人脸特征点坐标确定仿射变换矩阵。在一些实施例中,步骤820可以由唇部特征值确定模块420执行。在一些实施例中,预设人脸特征点可以是正面的、预设好整体尺寸大小的标准人脸上的特征点。人脸特征点坐标和预设人脸特征点坐标之间通过发射变换矩阵进行转换,将不同角度、倾斜程度、与镜头距离不同的人脸图像转换为正面的,具有统一整体尺寸大小的预设人脸图像。如图9所示,通过确定的仿射变换矩阵,可以将倾斜的人脸图像转换为正面的端正的人脸图像。在一些实施例中,可以通过单帧人脸图像中的人脸特征点坐标和对应的预设人脸特征点的坐标,建立方程,求得仿射变换矩阵。例如,单帧人脸图像中的一个人脸特征点坐标为(x,y),其对应的预设人脸特征点坐标为(x′,y′),建立方程:
求得系数α和仿射变换矩阵
在830中,可以基于所述仿射变换矩阵对所述单帧人脸图像进行仿射变换得到所述单帧人脸图像的归一化人脸图像。在一些实施例中,步骤830可以由唇部特征值确定模块420执行。在一些实施例中,确定了仿射变换矩阵后,将单帧人脸图像中的表征人脸信息的数据点坐标代入方程(1)进行计算,获得该数据坐标点在预设人脸图像中的坐标,进而得到归一化的人脸图像。将多帧人脸图像中的每一个单帧人脸图像进行归一化,得到每一个单帧人脸图像的归一化人脸图像。
在840中,可以基于单帧人脸图像的归一化人脸图像确定所述唇部特征值。在一些实施例中,步骤840可以由唇部特征值确定模块420执行。在一些实施例中,可以获取单帧人脸图像的归一化人脸图像,从归一化的人脸图像中得到第一特征点坐标和第二特征点坐标,计算出第一距离和第二距离,根据第一距离和第二距离的比值确定出唇部特征值。在一些实施例中,可以先从归一化人脸图像中获取若干个唇部特征点坐标,由若干个唇部特征点坐标得到第一特征点坐标和第二特征点坐标。在一些实施例中,可以先从归一化人脸图像中获取68个人脸轮廓点坐标,由68个人脸轮廓点得到第一特征点坐标和第二特征点坐标。在一些实施例中,68个人脸轮廓点的分布可以为如图10所示。包括两颊轮廓点和主要面部器官的轮廓点。并且每个轮廓点具有固定的编号,根据编号可以确定对应的轮廓点的坐标。在一些实施例中,可以从唇部轮廓点中选择第一特征点和第二特征点。在一些实施例中,可以通过选择的唇部轮廓点的编号确定第一特征点的坐标和第二特征点的坐标。
在一些实施例中,可以从单帧归一化的人脸图像中获取三个第一特征点坐标(x1,y1)、(x2,y2)、(x3,y3),和对应的三个第二特征点坐标(x1d,y1d)、(x2d,y2d)、(x3d,y3d)。在一些实施例中,可以根据公式(2)分别计算三个特征点距离d1、d2、d3:
根据三个特征点距离计算出第一距离:
dmean=(d1 d2 d3)/3(3)
在一些实施例中,可以从所述单帧归一化的人脸图像中获取两唇角点坐标(x4,y4)、(x5,y5)。计算第二距离:
根据第一距离和第二距离计算出该单帧人脸图像的唇部特征值:
ei=dmean/dlip(5)
在一些实施例中,可以根据上述方法得到每一帧人脸图像的唇部特征值。计算多帧人脸图像的唇部参考特征值:
在一些实施例中,多帧人脸图像可以是连续的25帧人脸图像,即n=25。
在一些实施例中,根据下列公式计算每一个唇部特征值和唇部参考特征值之间的差值绝对值。确定差值绝对值的最大值。
ediff_max=max(|ei-e′|)(5)
比较差值绝对值最大值和第一预设值。在一些实施例中,如果差值绝对值最大值大于第一预设值,待识别人脸有唇动。在一些实施例中,如果差值绝对值最大值小于等于第一预设值,待识别人脸没有唇动。
需要注意的是,以上描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可以在不背离这一原理的情况下,对实施上述方法和系统的应用领域进行形式和细节上的各种修正和改变。
本申请实施例可能带来的有益效果包括但不限于:(1)本申请的技术方案能够简单快速的对唇动进行识别,降低运算量,以达到在便携设备上即可完成唇动识别的目的;(2)本申请在识别过程中,对人脸图像进行了归一化处理,并在确定唇部特征值的过程中也对唇部特征值进行了归一化处理(采用两唇角点距离进行唇部特征值的归一化),虽然运算量降低,但是识别准确性较高。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
1.一种识别唇动的方法,其特征在于,包括:
获取待识别人脸的多帧人脸图像;所述多帧人脸图像拍摄于不同时刻;
基于所述多帧人脸图像获取多个单帧人脸图像的唇部特征值;
基于所述多个唇部特征值确定唇部参考特征值;
比较至少一个单帧人脸图像的唇部特征值与所述唇部参考特征值;
基于比较结果,确定所述待识别人脸是否有唇动。
2.如权利要求1所述的方法,其特征在于,所述确定所述待识别人脸是否有唇动,包括:
确定至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值;
确定至少一个所述差值绝对值中的最大值;
当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。
3.如权利要求1所述的方法,其特征在于,所述确定单帧人脸图像的唇部特征值,包括:
获取单帧人脸图像中位于上嘴唇上的至少一个第一特征点坐标和位于下嘴唇上的至少一个第二特征点坐标;
基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离;
获取所述单帧人脸图像中的两唇角点的坐标;
基于所述两唇角点坐标得到两唇角点之间的第二距离;
基于所述第一距离和所述第二距离确定所述单帧人脸图像中的所述唇部特征值。
4.如权利要求3所述的方法,其特征在于,
所述第一特征点和与其对应的第二特征点为上下对称分布。
5.如权利要求3所述的方法,其特征在于,
所述唇部特征值为所述第一距离和所述第二距离的比值。
6.如权利要求3所述的方法,其特征在于,所述基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离,包括:
基于所述单帧人脸图像中的两个或以上的所述第一特征点中的每一个和与其对应的第二特征点确定特征点距离;
基于两个或以上的所述特征点距离确定所述第一距离。
7.如权利要求6所述的方法,其特征在于,
所述第一距离为两个或以上的所述特征点距离的平均值。
8.如权利要求1所述的方法,其特征在于,所述确定单帧人脸图像的唇部特征值,包括:
获取单帧人脸图像的归一化人脸图像;
基于单帧人脸图像的归一化人脸图像确定所述唇部特征值。
9.如权利要求8所述的方法,其特征在于,所述获取单帧人脸图像的归一化人脸图像,包括:
获取所述单帧人脸图像中位于人脸上的人脸特征点坐标;
基于所述人脸特征点坐标及其对应的预设人脸特征点坐标确定仿射变换矩阵;
基于所述仿射变换矩阵对所述单帧人脸图像进行仿射变换得到所述单帧人脸图像的归一化人脸图像。
10.如权利要求9所述的方法,其特征在于,
所述人脸特征点包括以下特征点中的至少一个:眼部中心点、鼻尖点和唇角点。
11.如权利要求1所述的方法,其特征在于,还包括对多帧人脸图像中的每一个进行图像尺寸缩小处理。
12.如权利要求1所述的方法,其特征在于,
所述唇部参考特征值为多个所述单帧人脸图像的唇部特征值的平均值。
13.如权利要求1所述的方法,其特征在于,
所述多帧人脸图像从所述待识别人脸的视频文件中获取。
14.一种识别唇动的系统,其特征在于,包括:
获取模块,用于获取待识别人脸的多帧人脸图像;所述多帧人脸图像拍摄于不同时刻;
唇部特征值确定模块,用于基于所述多帧人脸图像获取多个单帧人脸图像的唇部特征值;
唇部参考特征值确定模块,用于基于所述多个唇部特征值确定唇部参考特征值;
识别模块,用于比较至少一个所述单帧人脸图像的唇部特征值与所述唇部参考特征值;基于比较结果,确定所述待识别人脸是否有唇动。
15.如权利要求14所述的系统,其特征在于,所述识别模块还用于:
确定至少一个所述单帧人脸图像的所述唇部特征值与所述唇部参考特征值的差值绝对值;
确定至少一个所述差值绝对值中的最大值;
当所述最大值大于第一预设值时,确定所述待识别人脸有唇动。
16.如权利要求14所述的系统,其特征在于,所述唇部特征值确定模块还用于:
获取单帧人脸图像中位于上嘴唇上的至少一个第一特征点坐标和位于下嘴唇上的至少一个第二特征点坐标;
基于所述第一特征点坐标和所述第二特征点坐标确定上嘴唇与下嘴唇之间的第一距离;
获取所述单帧人脸图像中的两唇角点的坐标;
基于所述两唇角点坐标得到两唇角点之间的第二距离;
基于所述第一距离和所述第二距离确定所述单帧人脸图像中的所述唇部特征值。
17.如权利要求16所述的系统,其特征在于,
所述第一特征点和与其对应的第二特征点为上下对称分布。
18.如权利要求16所述的系统,其特征在于,
所述唇部特征值为所述第一距离和所述第二距离的比值。
19.如权利要求16所述的系统,其特征在于,所述唇部特征值确定模块还用于:
基于所述单帧人脸图像中的两个或以上的所述第一特征点中的每一个和与其对应的第二特征点确定特征点距离;
基于两个或以上的所述特征点距离确定所述第一距离。
20.如权利要求19所述的系统,其特征在于,
所述第一距离为两个或以上的所述特征点距离的平均值。
21.如权利要求14所述的系统,其特征在于,所述唇部特征值确定模块还用于:
获取单帧人脸图像的归一化人脸图像;
基于单帧人脸图像的归一化人脸图像确定所述唇部特征值。
22.如权利要求21所述的系统,其特征在于,所述唇部特征值确定模块还用于:
获取所述单帧人脸图像中位于人脸上的人脸特征点坐标;
基于所述人脸特征点坐标及其对应的预设人脸特征点坐标确定仿射变换矩阵;
基于所述仿射变换矩阵对所述单帧人脸图像进行仿射变换得到所述单帧人脸图像的归一化人脸图像。
23.如权利要求22所述的系统,其特征在于,
所述人脸特征点包括以下特征点中的至少一个:眼部中心点、鼻尖点和唇角点。
24.如权利要求14所述的系统,其特征在于,还包括图像预处理模块,用于对多帧人脸图像中的每一个进行图像尺寸缩小处理。
25.如权利要求14所述的系统,其特征在于,
所述唇部参考特征值为多个所述单帧人脸图像的唇部特征值的平均值。
26.如权利要求14所述的系统,其特征在于,
所述多帧人脸图像从所述待识别人脸的视频文件中获取。
27.一种识别唇动的装置,其特征在于,包括至少一个存储介质及至少一个处理器;
所述至少一个存储介质用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令,以实现权利要求1~13中任一项所述的识别唇动的方法。
28.一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行时,实现如权利要求1~13任一项所述的识别唇动的方法。
技术总结