发明内容
为了解决上述问题,本公开的目的是提供一种人脸图像关键点提取方法、装置、存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种人脸图像关键点提取方法,所述方法包括:
获取上一帧人脸图像中的至少一个第一关键点;
分别根据所述上一帧人脸图像中的每个第一关键点,确定当前帧人脸图像的待检测区域,其中,每个待检测区域以对应的第一关键点为中心;
分别从每个待检测区域中提取所述当前帧人脸图像的第二关键点;
分别根据所述当前帧人脸图像中的每个第二关键点对所述当前帧人脸图像进行采样,获得所述当前帧人脸图像的采样特征;
根据每个采样特征对所述第二关键点进行修正,获得所述当前帧人脸图像的第一关键点。
可选地,所述分别从每个待检测区域中提取所述当前帧人脸图像的第二关键点,包括:
将每个待检测区域的图像输入对应的第一约束神经网络模型,获得每个待检测区域对应的特征图;
将每个特征图输入点分布模型,获得所述当前帧人脸图像的第二关键点。
可选地,所述分别根据所述当前帧人脸图像中的每个第二关键点对所述当前帧人脸图像进行采样,获得所述当前帧人脸图像的采样特征,包括:
将所述当前帧人脸图像输入第二约束神经网络模型,获得所述当前帧人脸图像对应的特征图;
将对所述当前帧人脸图像对应的特征图中、与每个第二关键点所指示的坐标点对应的特征确定为所述当前帧人脸图像的采样特征。
可选地,所述根据每个采样特征对对应的第二关键点进行修正,包括:
将所述采样特征输入至深度修正神经网络,获得所述第二关键点对应的修正量;
基于第二关键点对应的修正量对所述第二关键点进行修正。
可选地,在所述根据每个采样特征对所述第二关键点进行修正的步骤之后,所述方法还包括:
对修正后的第二关键点通过验证神经网络进行验证,获得验证结果;
在所述验证结果超过预设阈值时,将所述修正后的第二关键点确定为所述当前帧人脸图像的第一关键点。
根据本公开的第二方面,提供一种人脸图像关键点提取装置,所述装置包括:
获取模块,用于获取上一帧人脸图像中的至少一个第一关键点;
第一确定模块,用于分别根据所述上一帧人脸图像中的每个第一关键点,确定当前帧人脸图像的待检测区域,其中,每个待检测区域以对应的第一关键点为中心;
提取模块,用于分别从每个待检测区域中提取所述当前帧人脸图像的第二关键点;
采样模块,用于分别根据所述当前帧人脸图像中的每个第二关键点对所述当前帧人脸图像进行采样,获得所述当前帧人脸图像的采样特征;
修正模块,用于根据每个采样特征对所述第二关键点进行修正,获得所述当前帧人脸图像的第一关键点。
可选地,所述提取模块包括:
第一输入子模块,用于将每个待检测区域的图像输入对应的第一约束神经网络模型,获得每个待检测区域对应的特征图;
第二输入子模块,将每个特征图输入点分布模型,获得所述当前帧人脸图像的第二关键点。
可选地,所述采样模块包括:
第三输入子模块,用于将所述当前帧人脸图像输入第二约束神经网络模型,获得所述当前帧人脸图像对应的特征图;
第四输入子模块,用于将对所述当前帧人脸图像对应的特征图中、与每个第二关键点所指示的坐标点对应的特征确定为所述当前帧人脸图像的采样特征。
可选地,所述修正模块包括:
第五输入子模块,用于将所述采样特征输入至深度修正神经网络,获得所述第二关键点对应的修正量;
修正子模块,用于基于第二关键点对应的修正量对所述第二关键点进行修正。
可选地,所述装置还包括:
验证模块,用于在所述修正模块根据每个采样特征对所述第二关键点进行修正后,对修正后的第二关键点通过验证神经网络进行验证,获得验证结果;
第二确定模块,用于在所述验证结果超过预设阈值时,将所述修正后的第二关键点确定为所述当前帧人脸图像的第一关键点。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面任一所述方法的步骤。
综上所述,在上述技术方案中,以上一帧人脸图像的第一关键点为中心,确定出当前帧人脸图像的待检测区域,从而可以有效降低人脸关键点提取的数据计算量,提高人脸关键点提取的效率。在确定出当前帧人脸图像的第二关键点后,基于该第二关键点对当前帧人脸图像进行采样,从而获得当前帧人脸图像的采样特征,根据采样特征对第二关键点进行修正,从而将二维关键点在待检测区域中的局部特征和在当前帧人脸图像中的全局特征相结合,从而有效提高人脸图像关键点提取的准确率和精度,提升用户使用体验,另外,也可以基于人脸图像关键点检测的各个应用提供准确的数据支持,拓宽该人脸图像关键点提取方法的适用范围。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的人脸图像关键点提取方法的流程图,如图1所示,所述方法包括:
在S11中,获取上一帧人脸图像中的至少一个第一关键点,其中,在确定出上一帧人脸图像的第一关键点时,可以对该第一关键点的位置进行存储,从而便于之后进行读取。
在S12中,分别根据上一帧人脸图像中的每个第一关键点,确定当前帧人脸图像的待检测区域,其中,每个待检测区域以对应的第一关键点为中心。
其中,上一帧人脸图像中可以有多个第一关键点。由于连续两帧图像中人脸位置相近,因此,可以通过上一帧人脸图像的各个第一关键点确定当前帧人脸图像的待检测区域,示例地,可以以上一帧人脸图像的第一关键点为中心,确定出一矩形区域或是一圆形区域,将确定出的该区域作为当前帧人脸图像的各个待检测区域。因此,基于该待检测区域对当前帧人脸图像的关键点进行提取时,可以有效降低计算量,提高人脸图像关键的提取效率。
在S13中,分别从每个待检测区域中提取当前帧人脸图像的第二关键点。
可选地,如图2所示,分别从每个待检测区域中提取所述当前帧人脸图像的第二关键点的示例性实施方式如下,包括:
在S21中,将每个待检测区域的图像输入对应的第一约束神经网络模型,获得每个待检测区域对应的特征图,其中,特征图可以对图像的深度特征进行表征。其中,第一约束神经网络模型可以是局部约束神经网络,该局部约束神经网络可以预先进行训练。示例地,分别根据已进行标注的人脸图像的关键点,训练与各个关键点一一对应的局部约束神经网络。其中,在将待检测区域的图像输入至该局部约束神经网络时,可以获得该待检测区域的特征图。其中,训练局部约束神经网络的方式为现有技术,在此不再赘述。
在S22中,将每个特征图输入点分布模型,获得当前帧人脸图像的第二关键点。
其中,点分布模型可以是三维PDM(Point Distribution Model),该点分布模型可以预先根据已标注的图像进行训练,从而可以根据训练好的点分布模型获得输入人脸图像的仿射变换参数和人脸结构参数,使得基于该点分布模型,根据特征图生成三维人脸结构、之后通过三维人脸结构生成二维关键点。因此,将当前帧人脸图像的每个特征图输入点分布模型时,点分布模型可以根据该各个特征图确定出融合该当前帧人脸图像的结构特征的第二关键点。
因此,在上述技术方案中,通过确定待检测区域的特征图以及点分布模型可以综合当前帧人脸图像的深度特征和结构特征,确定当前帧人脸图像的第二关键点,使得确定出的第二关键点更加精准,提高人脸图像关键点提取的准确率。同时,由于该实施例中充分考虑了人脸图像的结构特征,也可以有效拓宽该方法的适用范围。
转回图1,在确定出当前帧人脸图像的第二关键点之后,在S14中,分别根据当前帧人脸图像的每个第二关键点对当前帧人脸图像进行采样,获得当前帧人脸图像的采样特征。
可选地,如图3所示,所述分别根据所述当前帧人脸图像中的每个第二关键点对所述当前帧人脸图像进行采样,获得所述当前帧人脸图像的采样特征,包括:
在S31中,将当前帧人脸图像输入第二约束神经网络模型,获得当前帧人脸图像对应的特征图;
其中,第二约束神经网络模型可以是整体约束神经网络模型,其可以通过已标注的人脸图像进行预先训练,从而可以基于该第二约束神经网络模型获得当前帧人脸图像的特征图。其中,整体约束神经网络模型的训练方式为现有技术,在此不再赘述。
在S32中,将对当前帧人脸图像对应的特征图中、与每个第二关键点所指示的坐标点对应的特征确定为当前帧人脸图像的采样特征。
在该实施例中,从待检测区域中提取出的第二关键点有其所指示的坐标点。其中,通过第二约束神经网络,可以获得当前帧人脸图像对应的特征图,该当前帧人脸图像对应的特征图包含该人脸图像的全局特征。因此,在通过该第二关键点所指示的坐标点确定其在当前帧人脸图像对应的特征图中的采样特征时,该采样特征可以表征该第二关键点对应的全局特征。
在S15中,根据每个采样特征对第二关键点进行修正,获得当前帧人脸图像的第一关键点。
可选地,如图4所示,所述根据每个采样特征对对应的第二关键点进行修正的示例性实现方式如下,包括:
在S41中,将采样特征输入至深度修正神经网络,获得第二关键点对应的修正量。其中,深度修正神经网络可以是预先训练得出的,以将关键点的局部特征与全局特征相融合。其中,该深度修正网络可以通过深度神经网络DNN进行实现和训练,其实现和训练方式为现有技术,在此不再赘述。
在S42中,基于第二关键点对应的修正量对第二关键点进行修正。
示例地,可以将第二关键点和该第二关键点对应的修正量相加,以对第二关键点进行修正。又例如,该第二关键点可以以矩阵形式表示,第二关键点对应的修正量也可以形成为一矩阵,因此,通过将第二关键点的矩阵与第二关键点对应的修正量矩阵相加,即可获得修正后的第二关键点矩阵,该矩阵中包含修正后的第二关键点。
在上述技术方案中,由于第二关键点是由上一帧人脸图像的第一关键点确定出待检测区域确定出来的,即,第二关键点是通过当前帧人脸图像的局部特征确定的;通过该第二关键点位置直接对当前帧人脸图像进行采样,确定出当前帧人脸图像中对应于第二关键点的全局特征(即,采样特征),通过采样特征对第二关键点进行修正时,可以根据第二关键点对应的局部特征和全局特征对其位置进行更加精确地修正,提高人脸图像关键点提取的精准度。
综上所述,在上述技术方案中,以上一帧人脸图像的第一关键点为中心,确定出当前帧人脸图像的待检测区域,从而可以有效降低人脸关键点提取的数据计算量,提高人脸关键点提取的效率。在确定出当前帧人脸图像的第二关键点后,基于该第二关键点对当前帧人脸图像进行采样,从而获得当前帧人脸图像的采样特征,根据采样特征对第二关键点进行修正,从而将二维关键点在待检测区域中的局部特征和在当前帧人脸图像中的全局特征相结合,从而有效提高人脸图像关键点提取的准确率和精度,提升用户使用体验,另外,也可以基于人脸图像关键点检测的各个应用提供准确的数据支持,拓宽该人脸图像关键点提取方法的适用范围。
可选地,在进行人脸图像关键点提取之前,可以首先检测下当前帧图像中是否包括人脸图像。示例地,可以通过seetaface、mtcnn等人脸检测算法进行检测,若当前帧图像中包含人脸图像,则可以通过上述算法对人脸图像进行提取,确定为当前帧人脸图像。其中,seetaface、mtcnn等人脸检测算法为现有技术,在此不再赘述。
可选地,在所述根据每个采样特征对所述第二关键点进行修正的步骤之后,所述方法还包括:
对修正后的第二关键点通过验证神经网络进行验证,获得验证结果;
其中,该预设阈值可以是根据实际使用情况进行设置的。例如,在需要高精度对人脸图像的关键点进行提取时,该预设阈值可以设置越大,例如,该预设阈值可以设置为80%;在需要粗略对人脸图像的关键点进行提取时,该预设阈值可以设置略小,例如,该预设阈值可以设置为60%。
在所述验证结果超过预设阈值时,将所述修正后的第二关键点确定为所述当前帧人脸图像的第一关键点。
其中,在验证结果超过预设阈值时,表示修正后的第二关键点的准确度较高,此时,可以将修正后的第二关键点确定为当前帧人脸图像的第一关键点,以保证当前帧人脸图像的关键点提取的准确率。
在该实施例中,可以通过验证神经网络对修正后的第二关键点进行验证。其中,验证神经网络可以通过深度神经网络DNN进行实现和训练,其实现和训练方式为现有技术,在此不再赘述。示例地,该验证神经网络可以基于已标注关键点坐标的人脸图像进行训练,从而可以对修正后的关键点坐标进行验证,在该修正后的关键点通过验证后,将其确定为当前帧人脸图像的关键点。因此,通过上述方案,可以进一步提高人脸图像关键点提取的准确度,并且,可以提供准确的数据支持,进一步提升用户使用体验。
本公开还提供一种人脸图像关键点提取装置,如图5所示,所述装置10包括:
获取模块100,用于获取上一帧人脸图像中的至少一个第一关键点;
第一确定模块200,用于分别根据所述上一帧人脸图像中的每个第一关键点,确定当前帧人脸图像的待检测区域,其中,每个待检测区域以对应的第一关键点为中心;
提取模块300,用于分别从每个待检测区域中提取所述当前帧人脸图像的第二关键点;
采样模块400,用于分别根据所述当前帧人脸图像中的每个第二关键点对所述当前帧人脸图像进行采样,获得所述当前帧人脸图像的采样特征;
修正模块500,用于根据每个采样特征对所述第二关键点进行修正,获得所述当前帧人脸图像的第一关键点。
可选地,所述提取模块300包括:
第一输入子模块,用于将每个待检测区域的图像输入对应的第一约束神经网络模型,获得每个待检测区域对应的特征图;
第二输入子模块,将每个特征图输入点分布模型,获得所述当前帧人脸图像的第二关键点。
可选地,所述采样模块400包括:
第三输入子模块,用于将所述当前帧人脸图像输入第二约束神经网络模型,获得所述当前帧人脸图像对应的特征图;
第四输入子模块,用于将对所述当前帧人脸图像对应的特征图中、与每个第二关键点所指示的坐标点对应的特征确定为所述当前帧人脸图像的采样特征。
可选地,所述修正模块500包括:
第五输入子模块,用于将所述采样特征输入至深度修正神经网络,获得所述第二关键点对应的修正量;
修正子模块,用于基于第二关键点对应的修正量对所述第二关键点进行修正。
可选地,所述装置10还包括:
验证模块,用于在所述修正模块根据每个采样特征对所述第二关键点进行修正后,对修正后的第二关键点通过验证神经网络进行验证,获得验证结果;
第二确定模块,用于在所述验证结果超过预设阈值时,将所述修正后的第二关键点确定为所述当前帧人脸图像的第一关键点。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的人脸图像关键点提取方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的人脸图像关键点提取方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人脸图像关键点提取方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的人脸图像关键点提取方法。
图7是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的人脸图像关键点提取方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人脸图像关键点提取方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的人脸图像关键点提取方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。