CN109271897A - 人脸动作单元检测方法、装置、计算机设备及存储介质 - Google Patents

人脸动作单元检测方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109271897A
CN109271897A CN201811011033.0A CN201811011033A CN109271897A CN 109271897 A CN109271897 A CN 109271897A CN 201811011033 A CN201811011033 A CN 201811011033A CN 109271897 A CN109271897 A CN 109271897A
Authority
CN
China
Prior art keywords
detection
image
detected
detection procedure
human face
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.)
Granted
Application number
CN201811011033.0A
Other languages
English (en)
Other versions
CN109271897B (zh
Inventor
周浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811011033.0A priority Critical patent/CN109271897B/zh
Publication of CN109271897A publication Critical patent/CN109271897A/zh
Application granted granted Critical
Publication of CN109271897B publication Critical patent/CN109271897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种人脸动作单元检测方法、装置、计算机设备及存储介质,所述方法包括:获取图像检测请求,图像检测请求包括N个待检测图像,根据图像检测请求获取每个检测进程的状态数据;根据每个检测进程的状态数据将待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列;通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,得到检测结果。该人脸动作单元检测方法通过对人脸动作单元检测进程进行优化,提高了人脸动作单元检测的速度。

Description

人脸动作单元检测方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种人脸动作单元检测方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的发展,人工智能技术也得到了飞快的发展。人脸动作单元(ActionUnits,AU)检测和识别除了能运用于智能机器人的研究,还能运用于心理学研究、医疗、公共安全等众多领域。
AU检测过程中需要大量的待检测图像进行计算,会加大系统的开销并且需要耗费大量时间,影响检测的实时性,对系统的硬件要求也会有所限制。
发明内容
本发明实施例提供一种人脸动作单元检测方法、装置、计算机设备及存储介质,以解决人脸动作单元检测的速度较慢的问题。
一种人脸动作单元检测方法,包括:
获取图像检测请求,所述图像检测请求包括N个待检测图像,其中,N为正整数;
根据所述图像检测请求获取每个检测进程的状态数据;
根据每个所述检测进程的状态数据将所述待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列;
通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
一种人脸动作单元检测装置,包括:
检测请求获取模块,用于获取图像检测请求,所述图像检测请求包括N个待检测图像,其中,N为正整数;
状态数据获取模块,用于根据所述图像检测请求获取每个检测进程的状态数据;
数据队列获取模块,用于根据每个所述检测进程的状态数据将所述待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列;
检测结果获取模块,用于通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述人脸动作单元检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述人脸动作单元检测方法的步骤。
上述人脸动作单元检测方法、装置、计算机设备及存储介质中,首先获取图像检测请求,根据图像检测请求获取检测进程的状态数据,通过启动检测进程执行指令,从而获取检测进程的状态数据,以便根据状态数据对检测进程的执行进行合适调度,提高检测进程的吞吐量。然后根据状态数据合理分配待检测图像到与状态数据对应的检测进程中,得到数据队列,从而对数据队列进行计算处理,大大提高了待检测图像存储的速率以及检测进程的吞吐量,很好地发挥了系统的GPU快速运行的性能,并突破许多计算机硬件的限制。通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。提高了服务器的使用率,减少了运营成本,提高率人脸动作单元检测速度,针对不同需求的客户能达到相应的用户体验需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的人脸动作单元检测方法的应用环境示意图;
图2是本发明实施例提供的人脸动作单元检测方法一示例图;
图3是本发明实施例提供的人脸动作单元检测方法的另一示例图;
图4是本发明实施例提供的人脸动作单元检测方法的另一示例图;
图5是本发明实施例提供的人脸动作单元检测方法的另一示例图;
图6是本发明实施例提供的人脸动作单元检测方法的另一示例图;
图7是本发明实施例提供的人脸动作单元检测装置的一原理框图;
图8是本发明实施例提供的计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的人脸动作单元检测方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信,服务端接收客户端发送的图像检测请求,然后获取检测进程的状态数据,根据状态数据将待检测图像输入到检测进程中,得到每个检测进程的数据队列,最后对数据队列进行人脸动作单元检测,得到人脸动作单元检测结果。其中,客户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,以该方法应用于图1中的服务端为例进行说明,包括如下步骤:
S10:获取图像检测请求,图像检测请求包括N个待检测图像,其中,N为正整数。
其中,图像检测请求是指对人脸图像进行人脸动作单元检测的请求。待检测图像是指需要进行人脸动作单元检测的人脸图像。具体地,待检测图像有N个,N为正整数。在一个具体实施方式中,人脸动作单元检测是基于云服务器实现的,即客户端发送待检测图像至云服务器,云服务器采用人脸检测云服务,将待检测图像中的人脸图像检测出来,然后对待检测图像中的人脸图像进行人脸动作单元检测,预测待检测图像对应某个人脸动作单元类别概率大小。可以理解地,通过利用云服务器,无需升级硬件设备,节省经济成本。
S20:根据图像检测请求获取每个检测进程的状态数据。
其中,进程是程序在计算机上的一次执行活动。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身,用户进程是指由用户启动的进程。
可以理解地,本实施例中的检测进程为用户进程,检测进程是指对客户端发送的待检测图像进行人脸动作单元检测,以预测待检测图像对应某个人脸动作单元类别的概率的用户进程。检测进程包括单线程检测进程和多线程检测进程。
优选地,本实施例中的检测进程为多线程检测进程,即分布在不同的服务器上的检测进程包括至少两个检测进程,可以使GPU使用率高,经济效益好,单位时间检测总待检测图像的数量多,即吞吐率高,从而更易于发挥GPU高效性能。
例如,检测进程为Bi,i为正整数。若有3个检测进程,则检测进程名称分别为B1、B2、B3
状态数据是指检测进程的调度时间即完成每个检测进程中所涉及的一些时间数据,如响应时间、等待时间和返回时间等。
具体地,当服务端接收到客户端发送的待检测图像时,启动检测进程执行指令,从而获取检测进程的状态数据,以便根据状态数据对检测进程的执行进行合适调度,提高检测进程的吞吐量。
S30:根据每个检测进程的状态数据将待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列。
数据队列是指开启的预设数量的检测进程中存储的待检测图像,每个检测进程Bi存储待检测图像的方式是数据队列。
可以理解地,由于待检测图像数量较大(例如100Gb),将所有待检测图像都放入一个检测进程是不可能的,因为一个检测进程不一定能满足存储大批量的待检测图像。
具体地,根据状态数据并通过多进程管理包(multiprocessing)将待检测图像放入多个检测进程,从而得到多个数据队列,进而在数据队列中完成检测进程的计算任务。根据状态数据合理分配待检测图像到与状态数据对应的检测进程中,得到数据队列,从而对数据队列进行计算处理,大大提高了待检测图像存储的速率以及检测进程的吞吐量,很好地发挥了系统的GPU快速运行的性能,并突破许多计算机硬件的限制。
在一具体实施方式中,人脸动作单元检测的工作环境的硬件为32核60Gb内存,若60Gb的内存的机器上需要处理超过60Gb的数据,例如100Gb的数据。该内存无法一次性放入所有待检测图像。因此,根据状态数据合理分配待检测图像到与状态数据对应的检测进程中,得到数据队列,通过多进程管理包在多核机器上自动处理大规模的数据队列,有效提高了机器的利用率。
S40:通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
其中,分级服务是指将同一台服务器对外提供人脸动作单元检测服务按照延迟性分成不同档次的服务(如30ms、50ms和100ms等)。人脸动作单元检测结果是指对客户端发送的待检测图像进行检测得到的结果,以预测待检测图像对应某个人脸动作单元的概率,待检测图像对应的人脸动作单元的概率即为人脸动作单元检测结果。
例如,三个数据队列对应的延迟时间分别是30ms、50ms和100ms,在进行人脸动作单元检测时,按照延迟时间分成三个人脸动作单元检测服务,按照相应的人脸动作单元检测服务对数据队列中的待检测图像进行人脸动作单元检测。
其中,人脸动作单元检测可以采用预设的人脸动作单元检测模型进行检测,得到人脸动作单元检测结果。通过采用分级服务的方式提高了服务器的使用率,减少了运营成本,针对不同需求的客户能达到相应的用户体验需求。
本实施例中,首先获取图像检测请求,根据图像检测请求获取检测进程的状态数据,通过启动检测进程执行指令,从而获取检测进程的状态数据,以便根据状态数据对检测进程的执行进行合适调度,提高检测进程的吞吐量。根据状态数据合理分配待检测图像到与状态数据对应的检测进程中,得到数据队列,从而对数据队列进行计算处理,大大提高了待检测图像存储的速率,及检测进程的吞吐量,很好地发挥了系统的GPU快速运行的性能,并突破许多计算机硬件的限制。通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,得到检测结果。提高了服务器的使用率,减少了运营成本,提高了人脸动作单元检测的速度,针对不同需求的客户能达到相应的用户体验需求。
在一实施例中,步骤S20中,每个检测进程的状态数据具体包括:
检测进程接收每个待检测图像的时间t、检测进程处理每个待检测图像所需要的最长时间tcal、检测进程完成当前检测任务所需时间telapse和检测进程完成当前检测任务的预设的延迟时间tdelay
其中,检测进程接收每个待检测图像的时间t是指检测进程接收当前任务中的分批发送的待检测图像的时间。
可以理解地,同一批次图像同时发送,非同一批次图像发送时间不同。具体地,检测进程接收待检测图像的时间是从当前时间开始计时到待检测图像发送到达检测进程中的时间。
例如,在一具体实施方式中,当前任务中的待检测图像分三个批次发送到检测进程,第一批次的图像在程序开始执行即进行发送,第二批次的图像在第一批次的图像发送后3秒钟开始发送,第三批次的图像在第二批次的图像发送后的3秒钟开始发送,则检测进程接收第三批次的待检测图像的时间t为6秒。
其中,检测进程处理每个待检测图像所需要的最长时间tcal是指是处理一张待检测图像所需要的最大时间。
其中,当前检测任务即检测进程当前待检测的图像任务,检测进程完成当前检测任务所需时间telapse即为检测进程完成当前检测任务需要的时间。
例如,一检测进程的当前检测任务为包含3张待检测图像,完成每张待检测图像所需时间为0.5秒,则该检测进程完成当前检测任务所需时间telapse为1.5秒。
其中,检测进程完成当前检测任务的预设的延迟时间tdelay为该检测完成当前检测任务的预设的最大响应时间,超出该响应时间的图像检测任务将无法发送给该检测进行。
例如,在一具体实施方式中,一检测进程完成当前检测任务所需时间telapse为3秒,该检测进程完成当前检测任务的预设的延迟时间tdelay为5秒,每处理一个待检测图像所需时间为0.5秒。此处,该检测进程最多还可接收4张待处理图像,超出4张的部分即超出该检测进程的响应时间,将被延迟接收或者拒绝接收。
本实施例中,通过获取检测进程的状态数据,以便后续根据该状态数据对待检测图像和检测进程作进一步处理。
在一实施例中,如图3所示,步骤S30中,根据每个检测进程的状态数据将待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列,包括:
S31:针对每一待检测图像,若存在任一检测进程,满足不等式t<tdelay和tcal+telapse<tdelay,则将待检测图像放入该检测进程中。
具体地,当存在检测进程接受待检测图像的时间t小于每个检测进程预设的延迟时间tdelay时,在上述检测进程中选取一个满足不等式tcal+telapse<tdelay的检测进程,并将待检测图像放入该检测进程中。对于需要低延迟的待检测图像,控制其延迟。为接收到的任务按照调度策略进行分配给不同的检测进程进行计算,从而避免了增加检测进程的延迟性。
S32:若每一检测进程均满足不等式t≥tdelay,则将待检测图像随机放入任一检测进程中。
具体地,每一检测进程满足不等式t≥tdelay,则将待检测图像随机放入任一检测进程中。
可以理解地,当检测进程接收待检测图像的时间t≥tdelay时,实质上说明检测进程接收待检测图像没有返回时间的需求,从而提高检测进程接收待检测图像的速度。
S33:将N个待检测图像都输入到对应的检测进程中之后,获取每一检测进程的数据队列。
具体地,将待检测图像输入到对应的检测进程,得到对应的检测进程的数据队列。
优选地,在得到数据队列之后,将数据队列中的多个待检测图像进行合并后同时传输给GPU,减少了GPU的IO口读取次数,GPU并行检测数据队列中的多个待检测图像,提高了GPU的使用率。
本实施例中,针对每一待检测图像,若存在任一检测进程,满足不等式t<tdelay和tcal+telapse<tdelay,则将待检测图像放入该检测进程中,避免了增加检测进程的延迟性。若每一检测进程满足不等式t≥tdelay,则将待检测图像随机放入任一检测进程中,提高检测进程接收待检测图像的速度。将待检测图像输入到对应的检测进程,得到数据队列,即合并多个待检测图像同时传输给GPU,减少了GPU读取IO口读取次数,GPU并行检测数据队列中的多个待检测图像,提高了GPU的使用率。
在一实施例中,如图4所示,步骤S40中,通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测包括:
S41:获取每个检测进程中当前存储的待检测图像的数量和每个检测进程对应的图片数量阈值。
其中,图片数量阈值是指检测进程中能够存储的图像的最大数量。通过获取每个检测进程对应的图片数量阈值,避免每个检测进程中的图片数量溢出,影响人脸动作单元检测效率。
S42:若检测进程当前存储的待检测图像数量小于或者等于图片数量阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
具体地,判断检测进程当前存储的待检测图像数量是否小于或者等于图片数量阈值,当前存储的待检测图像数量小于或者等于图片数量阈值,说明该检测进程的状态为非饱和状态,将该检测进程的待检测图像作为数据队列进行检测,有利于提高人脸动作单元检测的速度,保证人脸动作单元检测的实时性。
可以理解地,在检测进程中,若当前存储的待检测图像数量小于或者等于图片数量阈值时,合并该检测进程中的多个待检测图像,并传输给GPU,减少GPU的IO口读取次数,GPU并行检测多个待检测图像组成的数据队列,提高了GPU的使用率,同时检测过程中大量的计算都是相似的,因此,隐藏了GPU缓存从GPU显存加载数据的IO口的时间,大大提高了人脸动作单元检测的速度。
例如,检测进程B1中当前存储有100张待检测图像,该检测进程的图片数量阈值为105,因此将B1中的100张待检测图像作为一个数据队列,进行人脸动作单元检测,提高了人脸动作单元检测的速度。
本实施例中,获取每个检测进程中当前存储的待检测图像的数量和每个检测进程对应的图片数量阈值,避免每个检测进程中的图片数量溢出,影响人脸动作单元检测效率。若检测进程当前存储的待检测图像数量小于或者等于图片数量阈值,则获取检测进程的待检测图像作为数据队列进行检测,有利于提高人脸动作单元检测的速度,保证人脸动作单元检测的实时性。
在一实施例中,如图5所示,步骤S40中,将通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,包括:
S41’:获取检测进程的等待时间阈值和检测进程中的第一张待检测图像的等待时间。
其中,等待时间阈值是指检测进程所能等待的最长时间。通过获取检测进程的等待时间阈值,避免检测进程处于负荷状态,影响人脸动作单元检测效率。
S42’:若检测进程中的第一张待检测图像的等待时间小于或者等于检测进程的等待时间阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
具体地,判断检测进程中的第一张待检测图像等待时间是否小于或者等于等待时间阈值,第一张待检测图像等待时间小于或者等于检测进程的等待时间阈值,说明该检测进程的状态为空闲状态,将该检测进程的待检测图像作为数据队列进行检测,有利于提高人脸动作单元检测的速度,保证人脸动作单元检测的实时性。
可以理解地,合并检测进程中的第一张待检测图像等待时间小于或者等于等待时间阈值对应的检测进程中的多个待检测图像,同时传输给GPU,减少GPU的IO次数,GPU并行检测多个待检测图像组成的数据队列,提高了GPU的使用率,同时检测过程中大量的计算都是相似的,因此,隐藏了GPU缓存从GPU显存加载数据的IO口的时间,大大提高了人脸动作单元检测的速度。
本实施例中,通过获取检测进程的等待时间阈值,避免检测进程处于强负荷状态,影响人脸动作单元检测效率,若检测进程中的第一张待检测图像等待时间小于或者等于检测进程的等待时间阈值,则获取检测进程的待检测图像作为数据队列进行检测,有利于提高人脸动作单元检测的速度,保证人脸动作单元检测的实时性。
在一实施例中,如图6所示,步骤S40中,对数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果,包括:
S43:获取人脸图像样本数据。
其中,人脸图像样本数据是用于输入人脸动作单元检测模型进行检测的样本数据,具体地,从视频序列中按照预设方式获取人脸图像样本数据,该预设方式可以为预设的时间间隔,即服务端按照预设的时间间隔,从视频序列中抽取预设数量的视频帧,作为人脸图像样本数据。人脸图像样本数据的获取,是人脸动作单元检测的基础,可通过使用人脸图像样本数据获取工具获取人脸图像样本数据,如通过opencv(开源库)读取图片。
需要说明的是,人脸图像样本数据的格式包括但不限于jpg、png和gif等,此处不作限制。
S44:对人脸图像样本数据进行数据增广,得到训练样本。
其中,数据增广是指在不改变人脸图像样本数据的类别的情况下,增加数据量,以提高模型的泛化能力。人脸图像样本数据的数据增广方式可以是对人脸图像进行随机尺度变换,也可以是对人脸图像样本数据进行一定程度的裁剪和旋转,还可以是对人脸图像样本数据增加噪声,例如椒盐噪声,高斯噪声等,或者是多种数据增广方式的组合,例如同时做旋转和随机尺度变换。
其中,训练样本是指对人脸图像样本数据进行数据增广后得到的样本,用于作为模型训练的样本,提高模型训练的效率。本实施例中,通过对人脸图像样本数据进行数据增广,得到训练样本,作为模型训练的样本,由于样本数据更丰富,从而提高了模型训练的精度。
S45:将训练样本输入到深度残差网络中进行训练,得到人脸动作单元神经网络。
其中,深度残差网络(Residual Networks,ResNet)是将残差网络训练深度学习神经网络得到的神经网络,用于对样本数据进行分类识别。深度残差网络是将输入层和三个卷积层进行叠加得到的跳跃结构来作为网络的基本结构。所有的卷积层和池化层以及全接连层后面都接一个批量正则化(batch normal)层,不依赖于初始值,可以加快训练速度。
可以理解地,对于深度学习神经网络,当深度加深,学习能力增强,因此深度网络会比较浅的网络效果好,但是深度网络残差消失,会导致退化问题(degradation,越深的网络的性能反而比较浅的网络差),影响深度学习神经网络的学习效果。因此,深度残差网络在ResNet网络结构中引入一个深度残差网络来解决退化问题,以便获得较好的预测效果。
其中,人脸动作单元神经网络是指对深度残差网络训练后得到的网络模型,用于实现对人脸动作单元进行检测从而分类。在一具体实施方式中,人脸动作单元神经网络是一个19个浮点数输出的网络。
具体地,将训练样本放入深度残差网络的输入层(input),然后计算神经网络,在深度残差网络结果(Result)层获取19个人脸动作单元的概率结果。
具体地,将训练样本输入到深度残差网络中进行训练,由于训练样本是通过数据增广得到,可以理解地,数据增广是在人脸动作单元神经网络训练阶段,并且深度残差网络具有较好的学习能力,从而使得人脸动作单元神经网络训练具有较强的学习效果。
本实施例中,通过将训练样本输入到深度残差网络中进行训练,由于训练样本丰富,并且深度残差网络的学习能力较好且计算量小,从而提高了人脸动作单元神经网络训练学习的效率。
S46:获取预设的人脸分类网络,其中,人脸分类网络是通过预训练VGGNet模型得到的。
其中,人脸分类网络是指用于对人脸图像样本数据进行分类的预训练模型。预训练模型(pre-trained model)是指为了解决类似问题所创造出来的模型,无需从零开始训练一个新模型,可以在类似问题中训练过的模型得到,VGGNet(visual geometry groupnet,VGG网络)模型是一种使用多个卷积层进行堆叠的深度卷积神经网络,用于图像分类和对象检测。VGGNet网络使用尺寸较小卷积滤波器(大小为3×3),有助于更加细致地提取局部特征,减少了参数个数,提升了决策函数的区分性,同时VGGNet由于具有较深的深度和宽度,对于图像的分类具有很好的泛化能力。
本实施例中的预训练模型是可以在网络上获得并在Caffe中使用,具体地,人脸分类网络是在ImageNet数据集上预先训练好的VGGNet模型,无需重新训练整个结构,只需要针对其中的几层进行训练即可。
例如,VGGNet模型的网络层数为16层(VGG16)时,将VGG16模型的softmax层的1000个输出改为16个,从而适应问题的情景,重新训练了全连接层(dense layer),大大减少了训练时间,只需要针对全连接层进行训练,所需时间基本可以忽略,同时提高了人脸分类网络的预测准确度。
S47:基于人脸分类网络,采用迁移学习的方式训练人脸动作单元神经网络,得到人脸动作单元检测模型。
其中,迁移学习(transfer Leaming)方式是指是将模型从源任务上训练到的知识迁移到目标任务的应用上机器学习方式。
例如,源任务可以是识别图片中车辆,而目标任务可以是识别卡车,识别轿车,识别公交车等。
合理地使用迁移学习可以避免针对每个目标任务单独训练模型,从而极大地节约了计算资源。可以理解地,共同因素越多,迁移学习的作用就越大。迁移学习方式可以是参数的迁移学习方式,也可以是样本的迁移学习方式,还可以是特征的迁移学习方式。
优选地,本实施例中的迁移学习方式为参数的迁移学习方式。
人脸动作单元检测模型是指对人脸图像样本进行人脸动作单元类别预测的模型。具体地,使用人脸分类网络并采用迁移学习的方式训练人脸动作单元神经网络,得到人脸动作单元检测模型。如此,人脸动作单元检测模型在人脸动作单元预测中充分利用了人脸分类网络中学习到的人脸结构特征,有利于提高人脸动作单元检测模型的准确度。
具体地,本实施例中的源任务是识别人脸图像样本数据,人脸动作单元神经网络只能识别人脸图像样本数据,迁移学习不但能识别人脸图像样本数据,还能识别人脸图像样本数据的表情类别。通过对人脸分类网络迁移学习训练人脸动作单元神经网络,将迁移学习过来的人脸分类网络的卷积层与人脸动作单元神经网络中训练好的全连接层进行对接,开始模型训练,得到人脸动作单元检测模型。这样可以防止过拟合,同时提高训练效率。
S48:将数据队列中的待检测图像输入到人脸动作单元检测模型以双层结构模式进行人脸动作单元检测,得到人脸动作单元检测结果。
其中,双层结构模式是指在不同的服务器上并行进行检测的模式。
具体地,将数据队列中的待检测图像在不同的服务器上并行进行检测。双层结构模式更有利于发挥GPU性能,提高检测速度,并且将数据队列中的待检测图像输入到人脸动作单元检测模型,使得数据队列中的待检测图像共享多个检测进程GPU显存权系数,减少不必要显存开销,从而增加了待检测图像数量,提高了人脸动作单元检测速度。
本实施例中,本实施例中,首先获取人脸图像样本数据,对人脸图像样本数据进行数据增广,得到训练样本,使得样本数据更丰富,从而提高了模型训练的精度,然后将训练样本输入到深度残差网络中进行训练,得到人脸动作单元神经网络。由于训练样本丰富并且深度残差网络较好的学习能力且计算量小,从而提高了人脸动作单元神经网络训练学习效率。接着获取预设的人脸分类网络,通过预训练VGGNet模型得到人脸分类网络,方便地得到了人脸分类网络并且有利于提高后续人脸图像样本检测的准确率。接下来基于人脸分类网络,采用迁移学习方式训练人脸动作单元神经网络,得到人脸动作单元检测模型,使得人脸动作单元检测模型在人脸动作单元预测中充分利用了人脸分类中学习到的人脸结构特征,进而提高了人脸动作单元检测模型的检测精度,最后将数据队列中的待检测图像输入到人脸动作单元检测模型以双层结构模式进行检测,得到人脸动作单元检测结果,使得数据队列中的待检测图像共享多个检测进程GPU显存权系数,减少不必要显存开销,从而增加了待检测图像数量,提高了人脸动作单元检测速度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图7示出与实施例中人脸动作单元检测方法一一对应的人脸动作单元检测装置的原理框图。如图7所示,该人脸动作单元检测装置包括检测请求获取模块10、状态数据获取模块20、数据队列获取模块30和检测结果获取模块40。其中,检测请求获取模块10、状态数据获取模块20、数据队列获取模块30和检测结果获取模块40的实现功能与实施例中人脸动作单元检测方法对应的步骤一一对应,各功能模块详细说明如下:
检测请求获取模块10,用于获取图像检测请求,图像检测请求包括N个待检测图像,其中,N为正整数;
状态数据获取模块20,用于根据图像检测请求获取每个检测进程的状态数据;
数据队列获取模块30,用于根据每个检测进程的状态数据将待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列;
检测结果获取模块40,用于通过分级服务的方式对数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
具体地,状态数据获取模块20获取的每个检测进程的状态数据包括:检测进程接收每个待检测图像的时间t、检测进程处理每个待检测图像所需要的最长时间tcal、检测进程完成当前检测任务所需时间telapse和检测进程完成当前检测任务的预设的延迟时间tdelay
具体地,数据队列获取模块30包括第一数据队列获取单元31、第二数据队列获取单元32和数据队列获取单元33。
第一数据队列获取单元31,用于针对每一待检测图像,若存在任一检测进程,满足不等式t<tdelay和tcal+telapse<tdelay,则将待检测图像放入该检测进程中;
第二数据队列获取单元32,用于若每一检测进程均满足不等式t≥tdelay,则将待检测图像随机放入任一检测进程中;
数据队列获取单元33,用于将N个待检测图像都输入到对应的检测进程之后,获取每一检测进程的数据队列。
具体地,检测结果获取模块40包括检测进程图片数据获取单元41和检测数据获取单元42。
检测进程图片数据获取单元41,用于获取每个检测进程中当前存储的待检测图像的数量和每个检测进程对应的图片数量阈值;
检测数据获取单元42,用于若检测进程当前存储的待检测图像数量小于或者等于图片数量阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
具体地,检测结果获取模块40包括检测进程图片数据获取单元41’和检测数据获取单元42’。
检测进程图片数据获取单元41’,用于获取检测进程的等待时间阈值和检测进程中的第一张待检测图像的等待时间;
检测数据获取单元42’,用于若检测进程中的第一张待检测图像的等待时间小于或者等于检测进程的等待时间阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
具体地,检测结果获取模块40包括样本数据获取单元43、训练样本获取单元44、神经网络获取单元45、分类网络获取单元46、检测模型获取单元47和检测结果获取单元48。
样本数据获取单元43,用于获取人脸图像样本数据;
训练样本获取单元44,用于对人脸图像样本数据进行数据增广,得到训练样本;
神经网络获取单元45,用于将训练样本输入到深度残差网络中进行训练,得到人脸动作单元神经网络;
分类网络获取单元46,用于获取预设的人脸分类网络,其中,人脸分类网络是通过预训练VGGNet模型得到的;
检测模型获取单元47,用于基于人脸分类网络,采用迁移学习的方式训练人脸动作单元神经网络,得到人脸动作单元检测模型;
检测结果获取单元48,用于将数据队列中的待检测图像输入到人脸动作单元检测模型以双层结构模式进行检测,得到人脸动作单元检测结果。
关于人脸动作单元检测装置的具体限定可以参见上文中对于人脸动作单元检测方法的限定,在此不再赘述。上述人脸动作单元检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待检测图像。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸动作单元检测方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例人脸动作单元检测方法的步骤,例如图2所示的步骤S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例人脸动作单元检测装置的各模块/单元的功能,例如图7所示的模块10至模块40。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例人脸动作单元检测方法的步骤,或者,计算机程序被处理器执行时实现上述实施例人脸动作单元检测装置的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种人脸动作单元检测方法,其特征在于,所述人脸动作单元检测方法包括:
获取图像检测请求,所述图像检测请求包括N个待检测图像,其中,N为正整数;
根据所述图像检测请求获取每个检测进程的状态数据;
根据每个所述检测进程的状态数据将所述待检测图像输入到对应的检测进程中,得到所述对应的检测进程的数据队列;
通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
2.如权利要求1所述的人脸动作单元检测方法,其特征在于,所述每个检测进程的状态数据包括:
所述检测进程接收每个所述待检测图像的时间t、所述检测进程处理每个所述待检测图像所需要的最长时间tcal、所述检测进程完成当前检测任务所需时间telapse和所述检测进程完成当前检测任务的预设的延迟时间tdelay
3.如权利要求2所述的人脸动作单元检测方法,其特征在于,所述根据每个所述检测进程的状态数据将所述待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列,包括:
针对每一所述待检测图像,若存在任一检测进程,满足不等式t<tdelay和tcal+telapse<tdelay,则将所述待检测图像放入该检测进程中;
若每一所述检测进程均满足不等式t≥tdelay,则将所述待检测图像随机放入任一所述检测进程中;
将N个所述待检测图像都输入到对应的检测进程之后,获取每一检测进程的数据队列。
4.如权利要求1所述的人脸动作单元检测方法,其特征在于,所述通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,包括:
获取每个所述检测进程中当前存储的待检测图像的数量和每个所述检测进程对应的图片数量阈值;
若所述检测进程当前存储的待检测图像数量小于或者等于图片数量阈值,则获取所述检测进程的待检测图像作为数据队列进行人脸动作单元检测。
5.如权利要求1所述的人脸动作单元检测方法,其特征在于,所述通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,包括:
获取所述检测进程的等待时间阈值和所述检测进程中的第一张待检测图像的等待时间;
若所述检测进程中的第一张待检测图像的等待时间小于或者等于所述检测进程的等待时间阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
6.如权利要求1所述的人脸动作单元检测方法,其特征在于,所述对所述数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果,包括:
获取人脸图像样本数据;
对所述人脸图像样本数据进行数据增广,得到训练样本;
将所述训练样本输入到深度残差网络中进行训练,得到人脸动作单元神经网络;
获取预设的人脸分类网络,其中,所述人脸分类网络是通过预训练VGGNet模型得到的;
基于所述人脸分类网络,采用迁移学习的方式训练所述人脸动作单元神经网络,得到人脸动作单元检测模型;
将所述数据队列中的待检测图像输入到所述人脸动作单元检测模型以双层结构模式进行检测,得到人脸动作单元检测结果。
7.一种人脸动作单元检测装置,其特征在于,所述人脸动作单元检测装置包括:
检测请求获取模块,用于获取图像检测请求,所述图像检测请求包括N个待检测图像,其中,N为正整数;
状态数据获取模块,用于根据所述图像检测请求获取每个检测进程的状态数据;
数据队列获取模块,用于根据每个所述检测进程的状态数据将所述待检测图像输入到对应的检测进程中,得到每个检测进程的数据队列;
检测结果获取模块,用于通过分级服务的方式对所述数据队列中的待检测图像进行人脸动作单元检测,得到人脸动作单元检测结果。
8.如权利要求7所述的人脸动作单元检测装置,其特征在于,所述检测结果获取模块包括:
检测进程图片数据获取单元,用于获取所述检测进程的等待时间阈值和所述检测进程中的第一张待检测图像的等待时间;
检测数据获取单元,用于若所述检测进程中的第一张待检测图像的等待时间小于或者等于所述检测进程的等待时间阈值,则获取检测进程的待检测图像作为数据队列进行人脸动作单元检测。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述人脸动作单元检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述人脸动作单元检测方法的步骤。
CN201811011033.0A 2018-08-31 2018-08-31 人脸动作单元检测方法、装置、计算机设备及存储介质 Active CN109271897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811011033.0A CN109271897B (zh) 2018-08-31 2018-08-31 人脸动作单元检测方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811011033.0A CN109271897B (zh) 2018-08-31 2018-08-31 人脸动作单元检测方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109271897A true CN109271897A (zh) 2019-01-25
CN109271897B CN109271897B (zh) 2023-10-24

Family

ID=65155104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811011033.0A Active CN109271897B (zh) 2018-08-31 2018-08-31 人脸动作单元检测方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109271897B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110443114A (zh) * 2019-06-19 2019-11-12 平安科技(深圳)有限公司 人脸识别方法、装置、计算机设备及可读存储介质
CN111723353A (zh) * 2019-03-22 2020-09-29 北京小米移动软件有限公司 基于人脸识别的身份认证方法、装置、终端及存储介质
CN112241664A (zh) * 2019-07-18 2021-01-19 顺丰科技有限公司 人脸识别方法、装置、服务器及存储介质
US20220245941A1 (en) * 2019-06-12 2022-08-04 Hangzhou Ezviz Software Co., Ltd. Method and device for detecting abnormal target, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200349A (ja) * 2007-03-26 2007-08-09 Club It Corp サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム
CN102546203A (zh) * 2010-12-20 2012-07-04 中国移动通信集团广西有限公司 一种业务进程分配方法及装置
CN105868259A (zh) * 2015-12-29 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于人脸识别的视频推荐方法和装置
CN106020984A (zh) * 2016-05-20 2016-10-12 青岛海信移动通信技术股份有限公司 电子设备中进程的创建方法及装置
CN106650804A (zh) * 2016-12-13 2017-05-10 深圳云天励飞技术有限公司 一种基于深度学习特征的人脸样本清洗方法及系统
CN108009006A (zh) * 2016-11-02 2018-05-08 华为技术有限公司 I/o请求的调度方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200349A (ja) * 2007-03-26 2007-08-09 Club It Corp サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム
CN102546203A (zh) * 2010-12-20 2012-07-04 中国移动通信集团广西有限公司 一种业务进程分配方法及装置
CN105868259A (zh) * 2015-12-29 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于人脸识别的视频推荐方法和装置
CN106020984A (zh) * 2016-05-20 2016-10-12 青岛海信移动通信技术股份有限公司 电子设备中进程的创建方法及装置
CN108009006A (zh) * 2016-11-02 2018-05-08 华为技术有限公司 I/o请求的调度方法及装置
CN106650804A (zh) * 2016-12-13 2017-05-10 深圳云天励飞技术有限公司 一种基于深度学习特征的人脸样本清洗方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723353A (zh) * 2019-03-22 2020-09-29 北京小米移动软件有限公司 基于人脸识别的身份认证方法、装置、终端及存储介质
US20220245941A1 (en) * 2019-06-12 2022-08-04 Hangzhou Ezviz Software Co., Ltd. Method and device for detecting abnormal target, and storage medium
CN110443114A (zh) * 2019-06-19 2019-11-12 平安科技(深圳)有限公司 人脸识别方法、装置、计算机设备及可读存储介质
CN110443114B (zh) * 2019-06-19 2023-09-19 平安科技(深圳)有限公司 人脸识别方法、装置、计算机设备及可读存储介质
CN112241664A (zh) * 2019-07-18 2021-01-19 顺丰科技有限公司 人脸识别方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN109271897B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
CN109271897A (zh) 人脸动作单元检测方法、装置、计算机设备及存储介质
CN109409198B (zh) Au检测方法、装置、设备及介质
US20230089380A1 (en) Neural network construction method and apparatus
CN108416440A (zh) 一种神经网络的训练方法、物体识别方法及装置
US20220215227A1 (en) Neural Architecture Search Method, Image Processing Method And Apparatus, And Storage Medium
CN109902546A (zh) 人脸识别方法、装置及计算机可读介质
CN109325494B (zh) 图片处理方法、任务数据处理方法和装置
CN110458280B (zh) 一种适用于移动端的卷积神经网络加速方法及系统
CN110991362A (zh) 一种基于注意力机制的行人检测模型
CN109919304A (zh) 神经网络搜索方法、装置、可读存储介质和计算机设备
Bartolozzi et al. Embedded neuromorphic vision for humanoid robots
CN111178517B (zh) 模型部署方法、系统、芯片、电子设备及介质
CN110287778A (zh) 一种图像的处理方法、装置、终端及存储介质
WO2023093724A1 (zh) 神经网络模型的处理方法及装置
CN110956202A (zh) 基于分布式学习的图像训练方法、系统、介质及智能设备
CN111191789B (zh) 模型优化部署系统、芯片、电子设备及介质
CN110008961A (zh) 文字实时识别方法、装置、计算机设备及存储介质
CN110288632A (zh) 一种图像处理方法、装置、终端及存储介质
US11967150B2 (en) Parallel video processing systems
CN107633196A (zh) 一种基于卷积神经网络的眼球移动预测方案
CN113379045B (zh) 数据增强方法和装置
CN112070205A (zh) 一种多损失模型获取方法以及装置
WO2022127603A1 (zh) 一种模型处理方法及相关装置
Ashouri et al. Analyzing distributed deep neural network deployment on edge and cloud nodes in IoT systems
CN115331139A (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
GR01 Patent grant
GR01 Patent grant