人脸图像采集的方法、装置、设备、及机器可读存储介质与流程

文档序号:18167107发布日期:2019-07-13 09:41阅读:239来源:国知局
人脸图像采集的方法、装置、设备、及机器可读存储介质与流程

本发明涉及信息处理领域,具体而言,本发明涉及人脸图像采集的方法、装置、设备、及机器可读存储介质。



背景技术:

目前,基于人脸图像的各种技术已经广泛应用于公共安全、智能监控、身份认证和金融支付等各个领域。在这些技术中,首要任务是采集到满足要求的人脸图像。通常,为了采集到高质量的人脸图像,不仅需要考虑诸如光照等的环境因素,往往还需要被采集者的配合,比如要求被采集者正面面对摄像头,保持一定的姿态等等。然而,很多现实场景可能难以满足这样的要求,那么如何有效地采集到人脸图像就成为亟待解决的问题之一。



技术实现要素:

考虑到现有技术的上述问题,本发明实施例提供了人脸图像采集的方法、装置、设备、及机器可读存储介质。

一方面,本发明实施例提供了一种用于采集人脸图像的方法,包括:接收当前帧,其中,所述当前帧是帧序列中的一个帧,所述帧序列是在没有进行用户交互的情况下通过摄像头持续拍摄的;对所述当前帧进行人脸检测;如果在所述当前帧中检测到m个人脸,确定所述m个人脸中的最大人脸,其中,m为正整数;基于所述最大人脸来确定当前目标人脸,以便在所述帧序列结束时从人脸模板库中输出最终目标人脸的图像,其中,所述最终目标人脸是通过考虑所述帧序列的各个帧的目标人脸来确定的,所述人脸模板库用于存储从所述各个帧中检测到的不同人脸的图像。

另一方面,本发明实施例提供了一种用于采集人脸图像的装置,包括:接收单元,用于接收当前帧,其中,所述当前帧是帧序列中的一个帧,所述帧序列是在没有进行用户交互的情况下通过摄像头持续拍摄的;检测单元,用于对所述当前帧进行人脸检测;人脸确定单元,用于:如果所述检测单元在所述当前帧中检测到m个人脸,则确定所述m个人脸中的最大人脸,其中,m为正整数;所述人脸确定单元,还用于:基于所述最大人脸来确定当前目标人脸,以便在所述帧序列结束时从人脸模板库中输出最终目标人脸的图像,其中,所述最终目标人脸是通过考虑所述帧序列的各个帧的目标人脸来确定的,所述人脸模板库用于存储从所述各个帧中检测到的不同人脸的图像。

另一方面,本发明实施例提供了一种计算设备,包括:至少一个处理器;与所述至少一个处理器进行通信的存储器,其上存储有可执行指令,所述可执行指令在被所述至少一个处理器执行时使得所述至少一个处理器实现上述方法。

另一方面,本发明实施例提供了一种机器可读存储介质,其存储有可执行指令,所述可执行指令在被机器执行时使得所述机器实现上述方法。

在本发明实施例中,在没有进行用户交互的情况下通过摄像头持续拍摄帧序列,对帧序列中的每一帧进行人脸检测并且确定目标人脸,并且通过考虑各个帧的目标人脸来确定最终目标人脸,这样在帧序列结束时从人脸模板库中输出最终目标人脸对应的图像,由此能够在不干扰用户并且不需要用户配合的情况下完成人脸图像采集,从而能够提升用户体验。此外,通过基于持续拍摄的帧序列来获得最终目标人脸的图像,能够在相对较长的时间内选择质量较好的人脸图像,从而能够改善后续基于人脸图像的应用效果。

附图说明

下文将以明确易懂的方式,通过对优选实施例的说明并结合附图来对本发明的上述技术特征、优点及其实现方式予以进一步说明,其中:

图1是根据本发明实施例的用于采集人脸图像的方法的示意性流程图。

图2a是根据本发明实施例的用于维护人脸模板库的实现方式的一个例子的示意图。

图2b是根据本发明实施例的用于确定当前目标人脸的方式的示意性流程图。

图2c-2f是根据本发明实施例的用于确定当前目标人脸的场景的例子的示意图。

图3是根据本发明实施例的用于采集人脸图像的装置的示意性框图。

图4是根据本发明实施例的用于采集人脸图像的计算设备的硬件结构图。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应当理解的是,讨论这些实施方式仅是为了使得本领域技术人员能够更好地理解并且实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本发明的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及可以添加、省略或者组合各个步骤。

在基于人脸图像的各种技术中,首要任务是采集到满足要求的人脸图像。为此,通常不仅要考虑环境因素,还需要被采集者的相应配合,比如要求被采集者正面面对摄像头,在一定时间内保持某个姿态等等。

比如,在基于人脸的支付技术(也可以称为“刷脸”支付)中,通常有专门的采集阶段,即通过具有摄像头的用于支付的终端呈现专门的交互界面,显示用户在摄像头中的图像,使得用户感知到正在采集人脸图像,并且在合适的时间停止,向用户通知当前采集的人脸图像就是用于比对的人脸图像,之后使用所采集的人脸图像与预留图像进行比对以完成支付过程。

在这种场景下,整个采集阶段需要控制在一定的时间内完成。如果采集耗时太久,会导致用户体验变差,而如果采集太快,用户可能还没有准备好,容易导致所采集的图像模糊、姿态差、光照不合适等问题。可见,如何有效地采集人脸图像成为亟需解决的问题之一。

对此,本发明实施例提供了一种用于采集人脸图像的技术方案。本发明实施例的技术方案可以应用于各种基于人脸图像的技术中。比如,可以在“刷脸”支付技术中采用本发明实施例的技术方案。“刷脸”支付技术可以应用于各种需要支付的场景中,比如,餐厅、超市、医院、商场等等。具体而言,可以在这些地方的收银台处设置用于支付的终端。该终端可以安装有用于采集图像的摄像头,比如三维摄像头。基于三维摄像头拍摄的图像,还可以计算用户与该摄像头之间的距离,用以辅助进行人脸图像采集。

此外,在这种场景下,本发明实施例的人脸图像采集过程可以是通过购买事件来触发的,比如,当检测到开始通过该终端对商品进行扫码时,可以启动人脸图像采集过程。当检测到确认支付时,可以结束人脸图像采集过程。整个过程无需与用户进行交互,即无需在终端上呈现专门的交互界面来告知用户需要配合以采集人脸图像,由此不会干扰用户,从而能够提升用户体验。

在本发明实施例中,可能涉及到人脸跟踪技术。人脸跟踪可以是指在输入的图像帧(为了描述简洁,本文中将“图像帧”简称为“帧”)序列中实时检测是否存在人脸并且确定其运动轨迹和大小变化的过程。多人脸跟踪是针对多个人脸的跟踪过程。下面结合具体例子来描述人脸跟踪技术的一种实现方式。

假设在帧1中检测到人脸,则可以为该人脸赋予相应的标识,为了便于描述,在本文中将该标识称为trackid。接下来,在帧1的下一帧(此处称为帧2)中,在帧1检测到的人脸区域附近,进行更小网络的人脸检测。如果成功检测到人脸,则认为帧2中检测到的人脸与帧1中检测到的人脸是同一人脸,因此在帧2中检测到的人脸也具有相同的trackid。此时,可以认为在帧2中跟踪到帧1中的人脸。

如果在上述人脸区域附近没有检测到人脸,则在帧2中使用更大的网络进行全图重检。此时在帧2中检测到的人脸将被赋予新的trackid。此时,可以认为在帧2中没有跟踪到帧1中的人脸。

对于多个人脸的跟踪,也可以采用类似的原理。

在多人脸跟踪技术中,需要进行人脸检测。人脸检测可以通过各种适用的算法来实现,比如基于深度学习和关键点定位的算法。

下面将结合本发明实施例来详细描述该技术方案。

图1是根据本发明实施例的用于采集人脸图像的方法的示意性流程图。

如图1所示,在步骤110中,接收当前帧。

当前帧可以是帧序列中的一个帧,该帧序列可以是在没有进行用户交互的情况下通过摄像头持续拍摄的。

在步骤120中,对当前帧进行人脸检测。

在步骤130中,如果在当前帧中检测到m个人脸,确定m个人脸中的最大人脸,其中m为正整数。

在步骤140中,基于最大人脸来确定当前目标人脸,以便在帧序列结束时从人脸模板库中输出最终目标人脸的图像,其中,最终目标人脸可以是通过考虑帧序列的各个帧的目标人脸来确定的,人脸模板库可以用于存储从各个帧中检测到的不同人脸的图像。

可见,在本发明实施例中,在没有进行用户交互的情况下通过摄像头持续拍摄帧序列,对帧序列中的每一帧进行人脸检测并且确定目标人脸,并且通过考虑各个帧的目标人脸来确定最终目标人脸,这样在帧序列结束时从人脸模板库中输出最终目标人脸对应的图像,由此能够在不干扰用户并且不需要用户配合的情况下完成人脸图像采集,从而能够提升用户体验。

此外,通过基于持续拍摄的帧序列来获得最终目标人脸的图像,能够在相对较长的时间内选择质量较好的人脸图像,从而能够改善后续基于人脸图像的应用效果。

在本发明实施例中,可以通过摄像头持续地拍摄来获得帧序列,即获得一系列的图像帧。例如,在“刷脸”支付场景下,可以在检测到在用于支付的终端上开始扫描商品时,启动摄像头来拍摄图像帧,而在检测到在用于支付的终端上确认支付时,结束拍摄。在开始扫描商品至确认支付的期间可以持续地拍摄,从而获得包括一个或多个帧的帧序列。当结束拍摄时,帧序列相应地结束。在本发明实施例中,摄像头可以是三维摄像头或其它类似功能的摄像头。

在获得每一帧(例如,本文中称为当前帧)时,可以针对该帧进行人脸检测。例如,可以预先设定感兴趣区域(regionofinterest,roi),在该感兴趣区域中进行人脸检测。感兴趣区域可以根据实际需要或者利用本领域已知的方法来设定。此外,在某些场景中,可能会在感兴趣区域中出现很多人脸。此时,可能不是所有的人脸都需要考虑在内。这样,可以基于某个条件来进行初步筛选,比如可以基于人脸与摄像头之间的距离来确定检测到的人脸。例如,上述在当前帧中检测到的m个人脸可以是与摄像头的距离小于700mm的人脸。在检测到人脸之后,可以确定这些人脸中的最大人脸。最大人脸可以是指在当前帧中的面积最大的人脸。

之后,可以基于最大人脸来确定目标人脸。目标人脸可以是指旨在采集的人脸。相应地,当前目标人脸可以是指针对当前帧而言旨在采集的人脸。

在一个实施例中,在步骤140中,可以结合当前帧是否是帧序列中的第一帧,来确定当前目标人脸。

例如,如果当前帧是帧序列中的第一帧,则可以将最大人脸确定为当前目标人脸。

如果当前帧不是帧序列中的第一帧,比如为中间帧或最后一帧,可以基于先前目标人脸和上述最大人脸来确定当前目标人脸。先前目标人脸可以是指当前帧的上一帧的目标人脸。可见,在本实施例中,结合上一帧的目标人脸和当前帧的最大人脸来确定当前目标人脸,能够避免频繁切换旨在采集的人脸,同时避免一些临时的干扰。

比如,在“刷脸”支付场景下,在扫描商品过程时开始采集图像,可能会遇到在扫描商品过程、支付过程、拿商品过程等中换人(比如用户之间交换位置),采集到后面排队的人脸等等问题,这样通过结合上一帧的目标人脸和当前帧的最大人脸来确定当前目标人脸,能够避免这些干扰,从而正确地确定当前旨在采集的目标人脸。

在一个实施例中,关于基于先前目标人脸和最大人脸来确定当前目标人脸,可以存在多种情况。

例如,如果当前帧中检测到的m个人脸不包括先前目标人脸,即在当前帧中没有跟踪到先前目标人脸,则可以将确定当前帧的最大人脸确定为当前目标人脸。

如果m个人脸包括先前目标人脸,并且先前目标人脸是当前帧的最大人脸,那么可以将最大人脸确定为当前目标人脸。例如,如果先前目标人脸在当前帧中仍然存在并且是最大人脸,那么可以认为该最大人脸就是当前目标人脸。

如果m个人脸包括先前目标人脸,但是先前目标人脸不是当前帧的最大人脸,则可以基于最大人脸和先前目标人脸在当前帧中的状态信息来确定当前目标人脸。例如,这样的状态信息可以包括位置、与摄像头之间的物理距离等信息。

在本实施例中,可以通过将先前目标人脸的trackid与m个人脸各自的trackid进行比较,来判断m个人脸是否包括先前目标人脸。例如,如果在m个人脸的m个trackid中找到先前目标人脸的trackid,则认为m个人脸包括先前目标人脸,否则不包括。

可以通过将先前目标人脸的trackid与当前帧的最大人脸的trackid进行比较,来判断先前目标人脸是否是最大人脸。例如,如果二者的trackid相同,则认为先前目标人脸是最大人脸,否则不是。

可见,通过结合上一帧的先前目标人脸和当前帧中检测到的人脸来确定当前目标人脸,能够避免一些如上所述的临时干扰,从而正确地确定当前旨在采集的目标人脸。

在另一实施例中,如果第一距离大于第二距离,则将先前目标人脸确定为当前目标人脸,其中,第一距离表示当前帧的最大人脸与摄像头之间的物理距离,第二距离表示先前目标人脸与摄像头之间的物理距离。例如,如果对于当前帧而言,最大人脸与摄像头之间的物理距离大于先前目标人脸与摄像头之间的物理距离,即先前目标人脸距离摄像头更近,则可以认为当前目标人脸仍然是先前目标人脸。

如果第一距离小于第二距离并且第三距离小于预定值,则基于最大人脸和先前目标人脸各自与摄像头的成像区域中心的距离来确定当前目标人脸。第三距离可以表示先前目标人脸与最大人脸之间的物理距离。例如,如果最大人脸距离摄像头更近,但是与先前目标人脸之间的距离也很接近,此时可以基于二者中的哪一者更接近成像区域中心,来确定当前目标人脸。此处提到的预定值可以是结合实际情况、根据经验来预先设定的。例如,该预定值可以是80mm。

如果第三距离大于预定值,则可以将最大人脸确定为当前目标人脸。例如,如果先前目标人脸与最大人脸之间的物理距离较大,则认为最大人脸为当前目标人脸。

例如,上述第三距离可以通过第二距离与第一距离之间的差来得到。

上述第一距离、第二距离和第三距离可以根据摄像头采集的信息来确定。例如,通过三维摄像头采集的各个人脸的位置信息,可以确定这些物理距离。

在另一实施例中,如果最大人脸比先前目标人脸更接近成像区域中心,则将最大人脸确定为当前目标人脸。如果先前目标人脸比最大人脸更接近成像区域中心,则将先前目标人脸确定为当前目标人脸。

可见,通过上述基于上一帧的先前目标人脸和当前帧的最大人脸的比较来确定当前目标人脸,能够避免一些不必要的干扰,比如采集过程中用户位置移动等等,从而正确地确定当前旨在采集的目标人脸。

作为一种具体的实现方式,每个人脸可以具有相应的trackid,因此在确定当前目标人脸的过程中,实际上是基于先前目标人脸的trackid和最大人脸的trackid来确定当前目标人脸的trackid。

从上述过程可知,除了第一帧之外,每一帧的目标人脸实际上是基于该帧的最大人脸和该帧的上一帧的目标人脸来确定的,这样经过逐帧处理,最终目标人脸是基于最后一帧的最大人脸和最后一帧的上一帧的目标人脸来确定的。

在本发明实施例中,为了输出最终目标人脸的图像,所以需要在整个采集过程中维护用于存储人脸图像的人脸模板库。在本发明实施例中,人脸模板库可以用于存储在帧序列的各个帧中检测到的不同人脸的图像。

在一个实施例中,如果在当前帧中检测到m个人脸,则可以确定是否利用这m个人脸在当前帧中的m个当前图像来更新人脸模板库。

具体地,如果当前帧是帧序列中的第一帧,则可以将m个当前图像存储在人脸模板库中。

例如,可以在人脸模板库中存储m个当前图像,以及m个当前图像表示的m个人脸各自的trackid,并且还可以存储这m个当前图像各自的质量信息。

如果当前帧不是帧序列中的第一帧,则可以在人脸模板库中检索是否已经存在与这m个人脸对应的m个已有图像。然后可以基于检索结果来确定是否更新人脸模板库。例如,可以将在人脸模板库中存储的各个trackid与m个人脸的trackid进行匹配,来确定人脸模板库中是否已经存在这些人脸的已有图像。

例如,假设在人脸模板库中已经存在m个人脸中的第一人脸的已有图像,则可以将第一人脸的当前图像与第一人脸的已有图像进行质量比较,并且基于质量比较结果来确定是否更新人脸模板库。

也就是说,对于在人脸模板库中已经存在图像的人脸,可以将当前图像和已有图像进行质量比较。如果当前图像的质量更优,比如,当前图像的质量比已有图像的质量高出一定比例(例如,30%),则可以将人脸模板库中的已有图像替换为该当前图像。如果已有图像的质量更优,则可以不替换已有图像。

这样,能够在人脸模板库中存储质量最佳的人脸图像,使得所输出的最终目标人脸的图像也是质量最佳的,从而能够提高后续基于人脸图像的应用效果。

再例如,假设在人脸模板库中不存在m个人脸中的第二人脸的已有图像,并且m个人脸中没有包括人脸模板库中记录的至少一个特定人脸,也就是说,在当前帧中并没有跟踪到这至少一个特定人脸,即对这至少一个特定人脸的跟踪丢失(例如,跟踪丢失可能是由于发生低头或遮挡等情况造成的),而第二人脸是当前帧中新检测的人脸,那么可以将第二人脸与这至少一个特定人脸进行比对,并且基于比对结果来确定是否更新人脸模板库。

如果第二人脸与这至少一个特定人脸中的第四人脸比对成功,则可以认为第二人脸与第四人脸是同一人脸。例如,可以根据第二人脸的特征信息和至少一个特定人脸的特征信息来进行比对。这可以利用本领域中任何适用的算法来实现。如果比对得分高于某个预定值,则可以认为比对成功。此处的预定值可以是结合实际情况、根据经验来设定的。

在第二人脸和第四人脸比对成功的情况下,可以对第二人脸的当前图像和第四人脸的已有图像进行质量比较。如果第二人脸的当前图像的质量更优,则可以将人脸模板库中的第四人脸的已有图像替换为第二人脸的当前图像。

可以理解的是,由于第二人脸是当前帧中新检测到的人脸,所以第二人脸具有的trackid与第四人脸的trackid是不同的。那么,在第二人脸与第四人脸比对成功并且在第二人脸的当前图像的质量更优的情况下,可以将人脸模板库中的第四人脸的已有图像替换为第二人脸的当前图像,并且将第二人脸的trackid修改为第四人脸的trackid。

如果第二人脸与至少一个特定人脸比对失败,则认为第二人脸是新增加的人脸,并不是跟踪丢失的人脸,所以可以将第二人脸的当前图像存储到人脸模板库中。

此外,如果m个人脸中包括相比之前的人脸而言新增加的第三人脸,则可以将第三人脸的当前图像存储到人脸模板库中。

可见,利用上述对人脸模板库的维护方式,能够避免人脸跟踪过程中的干扰,从而能够正确地维护在采集阶段所有可能出现过的人脸的图像,并且能够确保人脸模板库中的人脸图像的质量都是最佳的。

如上所述,基于最后一帧的最大人脸和其上一帧的目标人脸,可以确定最终目标人脸。例如,可以确定最终目标人脸的trackid。这样,在帧序列结束时,可以基于最终目标人脸的trackid,从人脸模板库中查找到该trackid对应的人脸图像,即最终目标人脸的图像。

在一个实施例中,可以在帧序列结束时,在相关联的显示屏幕上呈现最终目标人脸的图像。

在另一实施例中,可以记录帧序列中的各个帧的目标人脸的trackid,并且可以在相关联的显示屏幕上呈现从人脸模板库中查找到的各个目标人脸的图像,这样可以由用户选择满足要求的目标人脸图像作为最终目标人脸图像。

下面将结合具体例子来描述本发明实施例。应当理解的是,这些例子仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。

图2a是根据本发明实施例的用于维护人脸模板库的实现方式的一个例子的示意图。

在图2a的例子中,假设人脸模板库当前存储有4个人脸的图像。每个人脸可以具有相应的trackid,假设分别为1、2、3和4。此外,人脸模板库还可以存储这4个人脸的图像质量信息。例如,如图2a中所示,trackid为1的人脸的图像质量为30,trackid为2的人脸的图像质量为60,具有trackid3的人脸的图像质量为25,trackid为4的人脸的图像质量为55。为了简化说明,在图2a中并未示出相应的人脸图像。

图2a中示出了更新人脸模板库的两种情况的具体例子。

情况(1):

如果在当前帧中的某个人脸的当前图像比人脸模板库中的具有相同trackid的人脸的已有图像质量高出一定比例(比如30%),则可以更新人脸模板库中的该trackid对应的图像,即利用当前图像来替换已有图像。

例如,在图2a中,假设trackid为2的人脸的当前图像的质量为65,其优于人脸模板库中的已有图像的质量60,则将已有图像替换为当前图像。

情况(2):

如果在当前帧中没有跟踪到trackid为2和4(在图2a中表示为丢失id)的人脸,但是新检测到trackid为5(在图2a中表示为新id)的人脸,则可以将trackid为5的人脸与trackid为2和4的人脸分别进行比对。假设trackid为5的人脸与trackid为4的人脸比对成功,比如比对得分大于72,则可以比较trackid为5的人脸的当前图像的质量与trackid为4的人脸的已有图像的质量。如果trackid为5的人脸的当前图像的质量更优,则可以将trackid为4的人脸的已有图像替换为trackid为5的人脸的当前图像,并且该图像对应的trackid从5修改为4。

可见,通过本发明实施例中的维护人脸模板库的方式,能够正确地维护在采集阶段所有可能出现过的人脸图像。

图2b是根据本发明实施例的用于确定当前目标人脸的方式的示意性流程图。

在图2b的例子中,假设已经确定了当前帧的最大人脸,因此图2b的流程发生在确定当前帧的最大人脸之后。

在步骤201b中,确定当前帧中检测到的m个人脸是否包括先前目标人脸(即当前帧的上一帧的目标人脸)。

如果这m个人脸不包括先前目标人脸,则在步骤207b中,将当前帧的最大人脸确定为当前目标人脸。

如果在m个人脸包括先前目标人脸,则在步骤202b中,确定先前目标人脸是否是最大人脸。

如果先前目标人脸是最大人脸,则在步骤207b中,将最大人脸确定为当前目标人脸。

如果先前最大人脸不是最大人脸,则基于第一距离、第二距离和/或第三距离来确定当前目标人脸。第一距离可以表示最大人脸与摄像头之间的物理距离,第二距离可以表示先前目标人脸与摄像头之间的物理距离,第三距离可以表示先前目标人脸与最大人脸之间的物理距离。

在步骤203b中,确定第一距离是否大于第二距离。如果第一距离大于第二距离,则在步骤208b中,将先前目标人脸确定为当前目标人脸。

在步骤204b中,确定是否第一距离小于第二距离并且第三距离小于预定值。

如果第一距离小于第二距离并且第三距离小于预定值,则基于最大人脸和先前目标人脸中哪一者更接近摄像头的成像区域中心,来确定当前目标人脸。在步骤206b中,确定最大人脸是否比先前目标人脸更接近成像区域中心。如果不是的话,则在步骤208b中,将先前目标人脸确定为当前目标人脸。如果是的话,则在步骤209b中,将最大人脸确定为当前目标人脸。

在步骤205b中,确定第三距离是否大于预定值。如果是的话,则在步骤209b中,将最大人脸确定当前目标人脸。

为了便于理解,下面结合图2c-2f的例子进行描述。

在图2c和2d的例子中,假设摄像头检测到的m个人脸为201c至204c,并且假设人脸201c是当前帧中的最大人脸,而人脸202c是先前目标人脸。如图2c和2d所示,第一距离可以表示最大人脸201c与摄像头之间的物理距离,第二距离可以表示先前目标人脸202c与摄像头之间的物理距离。第三距离可以表示先前目标人脸202c与最大人脸201c之间的物理距离。此时,第一距离小于第二距离。另外,在图2c和2d的例子中,假设第三距离小于预定值,则此时需要基于最大人脸和先前目标人脸中哪一者更接近摄像头的成像区域中心,来确定当前目标人脸。

例如,在图2c的例子中,假设最大人脸201c更接近成像区域中心,则最大人脸201c可以被确定为当前目标人脸。而在图2d的例子中,先前目标人脸202c更接近成像区域中心,则先前目标人脸202c被确定为当前目标人脸。

在图2e的例子中,假设摄像头检测到的m个人脸为201e至204e,并且假设人脸201e是先前目标人脸,而人脸202e是当前帧的最大人脸。如图2e所示,第一距离可以表示最大人脸202e与摄像头之间的物理距离,第二距离可以表示先前目标人脸201e与摄像头之间的物理距离。此时,在

图2e的例子中,第一距离大于第二距离,则可以将先前目标人脸201e确定为当前目标人脸。

在图2f的例子中,假设摄像头检测到的m个人脸为201f至204f,并且假设人脸201f是当前帧中的最大人脸,而人脸202f是先前目标人脸。如图2f所示,第一距离可以表示最大人脸201f与摄像头之间的物理距离,第二距离可以表示先前目标人脸202f与摄像头之间的物理距离。第三距离可以表示先前目标人脸202f与最大人脸201f之间的物理距离。在图2f的例子中,假设第三距离大于预定值,此时,可以将最大人脸201f确定为当前目标人脸。

可见,在本实施例中,通过结合上一帧的目标人脸和当前帧的最大人脸来确定当前目标人脸,能够有效地避免采集过程中的一些干扰,并且避免频繁地切换目标人脸。

图3是根据本发明实施例的用于采集人脸图像的装置的示意性框图。

如图3所示,装置300可以包括接收单元310、检测单元320和人脸确定单元330。

接收单元310接收当前帧。当前帧是帧序列中的一个帧,帧序列是在没有进行用户交互的情况下通过摄像头持续拍摄的。检测单元320对当前帧进行人脸检测。如果检测单元320在当前帧中检测到m个人脸,则人脸确定单元330确定m个人脸中的最大人脸,其中,m为正整数。人脸确定单元330还基于最大人脸来确定当前目标人脸,以便在帧序列结束时从人脸模板库中输出最终目标人脸的图像。最终目标人脸是通过考虑帧序列的各个帧的目标人脸来确定的,人脸模板库用于存储从各个帧中检测到的不同人脸的图像。

在本发明实施例中,在没有进行用户交互的情况下通过摄像头持续拍摄帧序列,对帧序列中的每一帧进行人脸检测并且确定目标人脸,并且通过考虑各个帧的目标人脸来确定最终目标人脸,这样在帧序列结束时从人脸模板库中输出最终目标人脸对应的图像,由此能够在不干扰用户并且不需要用户配合的情况下完成人脸图像采集,从而能够提升用户体验。此外,通过基于持续拍摄的帧序列来获得最终目标人脸的图像,能够在相对较长的时间内选择质量较好的人脸图像,从而能够改善后续基于人脸图像的应用效果。

在一个实施例中,如果当前帧是帧序列中的第一帧,则人脸确定单元330可以将最大人脸确定为当前目标人脸。如果当前帧不是帧序列中的第一帧,则人脸确定单元330可以基于先前目标人脸和最大人脸来确定当前目标人脸,其中,先前目标人脸是当前帧的上一帧的目标人脸。

在另一实施例中,如果m个人脸不包括先前目标人脸,则人脸确定单元330可以将最大人脸确定为当前目标人脸。

如果m个人脸包括先前目标人脸并且先前目标人脸是最大人脸,则人脸确定单元330可以将最大人脸确定为当前目标人脸。

如果m个人脸包括先前目标人脸并且先前目标人脸不是最大人脸,则人脸确定单元330可以基于最大人脸和先前目标人脸在当前帧中的状态信息来确定当前目标人脸。

在另一实施例中,如果第一距离大于第二距离,则人脸确定单元330可以将先前目标人脸确定为当前目标人脸,其中,第一距离表示最大人脸与摄像头之间的物理距离,第二距离表示先前目标人脸与摄像头之间的物理距离。

如果第一距离小于第二距离并且第三距离小于预定值,则人脸确定单元330可以基于最大人脸和先前目标人脸各自与摄像头的成像区域中心的距离,来确定当前目标人脸,其中,第三距离表示先前目标人脸与最大人脸之间的物理距离。

如果第三距离大于预定值,则人脸确定单元330可以将最大人脸确定为当前目标人脸。

在另一实施例中,如果最大人脸比先前目标人脸更接近成像区域中心,则人脸确定单元330可以将最大人脸确定为当前目标人脸。

如果先前目标人脸比最大人脸更接近成像区域中心,则人脸确定单元330可以将先前目标人脸确定为当前目标人脸。

在另一实施例中,装置300还可以包括模板确定单元340。模板确定单元340可以确定是否利用m个人脸在当前帧中的m个当前图像更新人脸模板库。

在另一实施例中,如果当前帧是帧序列中的第一帧,则模板确定单元340可以将m个当前图像存储到人脸模板库中。

如果当前帧不是帧序列中的第一帧,则模板确定单元340可以在人脸模板库检索是否已经存在与m个人脸对应的m个已有图像,并且基于检索结果来确定是否利用m个当前图像更新人脸模板库。

在另一实施例中,如果m个人脸包括第一人脸并且在人脸模板库中已经存在第一人脸的已有图像,则模板确定单元340可以将第一人脸的当前图像与第一人脸的已有图像进行质量比较,并且基于质量比较结果来确定是否更新人脸模板库。

如果m个人脸包括第二人脸但是在人脸模板库中不存在第二人脸的已有图像,并且在人脸模板库中存在至少一个特定人脸的已有图像,但是m个人脸不包括至少一个特定人脸,则模板确定单元340可以将第二人脸与至少一个特定人脸进行比对,并且基于比对结果来确定是否更新人脸模板库。

如果m个人脸包括第三人脸并且在人脸模板库中已经存在m个人脸中除了第三人脸之外的人脸的已有图像,则模板确定单元340可以将第三人脸的当前图像存储到人脸模板库中。

在另一实施例中,如果第一人脸的当前图像的质量优于第一人脸的已有图像的质量,则模板确定单元340可以将人脸模板库中的第一人脸的已有图像替换为第一人脸的当前图像。

如果第一人脸的已有图像的质量优于第一人脸的当前图像的质量,则模板确定单元340可以不将人脸模板库中的第一人脸的已有图像替换为第一人脸的当前图像。

在另一实施例中,如果第二人脸与至少一个特定人脸中的第四人脸比对成功并且第二人脸的当前图像的质量优于第四人脸的已有图像的质量,则模板确定单元340可以将人脸模板库中的第四人脸的已有图像替换为第二人脸的当前图像。

如果第二人脸与第四人脸比对成功并且第四人脸的已有图像的质量优于第二人脸的当前图像的质量,则模板确定单元340可以不将人脸模板库中的第四人脸的已有图像替换为第二人脸的当前图像。

如果第二人脸与至少一个特定人脸比对失败,则模板确定单元340可以将第二人脸的当前图像存储到人脸模板库中。

装置300的各个单元可以执行图1至2b的方法实施例中的相应步骤,因此,为了描述的简洁,装置300的各个单元的具体操作和功能此处不再赘述。

上述装置300可以采用硬件实现,也可以采用软件实现,或者可以通过软硬件的组合来实现。例如,装置300在采用软件实现时,其可以通过其所在设备的处理器将存储器(比如非易失性存储器)中对应的可执行指令读取到内存中运行来形成。

图4是根据本发明实施例的用于采集人脸图像的计算设备的硬件结构图。

如图4所示,计算设备400可以包括至少一个处理器410、存储器420、内存430和通信接口440,并且至少一个处理器410、存储器420、内存430和通信接口440经由总线450连接在一起。至少一个处理器410执行在存储器420中存储或编码的至少一个可执行指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器420中存储的可执行指令在被至少一个处理器410执行时,使得计算设备400实现以上结合图1-3描述的各种操作和功能。为了描述的简洁,此处不再赘述。

计算设备400可以采用本领域任何适用的形式来实现,例如,其包括但不限于台式计算机、膝上型计算机、智能电话、平板计算机、消费电子设备、可穿戴智能设备等等。

本发明实施例还提供了一种机器可读存储介质。该机器可读存储介质可以存储有可执行指令,可执行指令在被机器执行时使得机器实现上面参照图1-2b描述的方法实施例的具体过程。

例如,机器可读存储介质可以包括但不限于随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、电可擦除可编程只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、静态随机存取存储器(staticrandomaccessmemory,sram)、硬盘、闪存等等。

应当理解的是,上述各流程和各装置结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要省略某些步骤或单元。各步骤的执行次序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,一些单元可能由同一物理实体实现,或者,一些单元可能分别由多个物理实体实现,或者可以由多个独立设备中的某些组件共同实现。

提供了上述描述,是为了本领域任何技术人员能够实现或者使用本发明实施例。对于本领域普通技术人员来说,对本发明实施例进行的各种修改将是显而易见的,并且可以在不脱离本发明的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本发明并不限于本文所描述的示例和设计,而是具有与本文公开的原理和新颖特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1