1.本公开一般地涉及图像处理技术领域。更具体地,本公开涉及人像头部完整性检测方法及装置。
背景技术:2.目前,人脸图像检测应用的领域越来越广泛,人脸图像可以以图片、照片等载体呈现,出于对图像中人像头部是否完整的考虑,在应用这些人脸图像时,需要谨慎,而在应用之前对人脸图像进行检测以判断人脸图像中人像头部是否完整是必要的。
3.在传统的人像头部完整性检测方法中,存在检测不全面且速度慢、提取不清晰的问题。
技术实现要素:4.为了至少部分地解决背景技术中提到的技术问题,本公开的方案提供了一种人像头部完整性检测方法及装置。
5.根据本公开的第一方面,本公开提供一种人像头部完整性检测方法,其中,所述方法包括:获取人脸图像;根据所述人脸图像,获得人像头部框;判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整;当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。
6.可选的,所述根据所述人脸图像,获得人像头部框包括:针对所述人脸图像,通过人脸检测算法获得人脸框;针对所述人脸图像,通过人像分割算法获得包括人像轮廓和背景的二值化图像,并通过所述人像轮廓获得人像头顶坐标;根据所述人脸框和所述人像头顶坐标,在所述二值化图像中获得所述人像头部框。
7.可选的,所述判断所述人像头部框是否超出所述人脸图像的边界包括:获取所述人像头部框的归一化坐标;根据所述归一化坐标,判断所述人像头部框是否超出所述人脸图像的边界。
8.可选的,所述预设算子包括第一预设算子和第二预设算子,所述当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果包括:根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切,当所述人像头部存在水平裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在水平裁切时,根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切,当所述人像头部存在竖直裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在竖直裁切时,判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果。
9.可选的,所述根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切包括:对所述人像头部框按照预设规则进行扩大;截取扩大后的人像头部框内的
图像,获得待裁切检测图像;使用所述第一预设算子在所述待裁切检测图像中进行卷积,获得第一响应图;根据所述第一响应图,统计每行像素的灰度值之和;计算所述每行像素的灰度值之和分别在所述第一响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第一预设阈值时,确定所述人像头部存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平裁切。
10.可选的,所述根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切包括:使用所述第二预设算子在所述待裁切检测图像中进行卷积,获得第二响应图;根据所述第二响应图,统计每列像素的灰度值之和;计算所述每列像素的灰度值之和分别在所述第二响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切
11.可选的,所述判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果包括:将所述第一响应图和所述第二响应图进行相加合成,形成合成图;针对所述合成图,通过霍夫直线判断法搜索直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整;当搜索到直线时,根据所述直线的端点坐标,获得所述直线的长度;当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整;当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整
12.根据本公开的第二方面,本公开提供一种人像头部完整性检测装置,其中,所述装置包括:第一获取模块,其用于获取人脸图像;第二获取模块,其用于根据所述人脸图像,获得人像头部框;超边界判断模块,其用于判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整;裁切检测模块,其用于当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。
13.可选的,所述第二获取模块用于采取如下方式根据所述人脸图像,获得人像头部框:针对所述人脸图像,通过人脸检测算法获得人脸框;针对所述人脸图像,通过人像分割算法获得包括人像轮廓和背景的二值化图像,并通过所述人像轮廓获得人像头顶坐标;根据所述人脸框和所述人像头顶坐标,在所述二值化图像中获得所述人像头部框。
14.可选的,所述超边界判断模块用于采取如下方式判断所述人像头部框是否超出所述人脸图像的边界:获取所述人像头部框的归一化坐标;根据所述归一化坐标,判断所述人像头部框是否超出所述人脸图像的边界。
15.可选的,所述预设算子包括第一预设算子和第二预设算子,所述裁切检测模块用于采取如下方式当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框进行裁切检测,获得人像头部完整性检测结果:根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切,当所述人像头部存在水平裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在水平裁切时,根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切,当所述人像头部存在竖直裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在竖直裁切时,判断所述人像头部是
否存在斜向裁切,以获得所述人像头部完整性检测结果。
16.可选的,所述裁切检测模块用于采取如下方式根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切:对所述人像头部框按照预设规则进行扩大;截取扩大后的人像头部框内的图像,获得待裁切检测图像;使用所述第一预设算子在所述待裁切检测图像中进行卷积,获得第一响应图;根据所述第一响应图,统计每行像素的灰度值之和;计算所述每行像素的灰度值之和分别在所述第一响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第一预设阈值时,确定所述人像头部存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平裁切。
17.可选的,所述裁切检测模块用于采取如下方式根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切:使用所述第二预设算子在所述待裁切检测图像中进行卷积,获得第二响应图;根据所述第二响应图,统计每列像素的灰度值之和;计算所述每列像素的灰度值之和分别在所述第二响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切。
18.可选的,所述裁切检测模块用于采取如下方式判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果:将所述第一响应图和所述第二响应图进行相加合成,形成合成图;针对所述合成图,通过霍夫直线判断法搜索直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整;当搜索到直线时,根据所述直线的端点坐标,获得所述直线的长度;当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整;当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。
19.根据本公开的第三方面,本公开提供一种电子设备,其中,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现上述本公开的第一方面的方法。
20.根据本公开的第四方面,本公开提供一种计算机可读存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序被执行时,实现上述本公开的第一方面的方法。
21.通过本公开的人像头部完整性检测方法及装置,可以对人像头部进行更加全面的完整性检测,并且提高了检测速度和检测准确性。
附图说明
22.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
23.图1是示出根据本公开的一个实施例的人像头部完整性检测方法的流程图;
24.图2是示出根据本公开的一个实施例的人像头部完整性检测装置的示意性框图。
具体实施方式
25.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
26.下面结合附图来详细描述本公开的具体实施方式。
27.本公开提供一种人像头部完整性检测方法。参照图1,图1是示出根据本公开的一个实施例的人像头部完整性检测方法的流程图。如图1中所示,所述人像头部完整性检测方法包括以下步骤s101-s104。步骤s101:获取人脸图像。步骤s102:根据所述人脸图像,获得人像头部框。步骤s103:判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整。步骤s104:当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。
28.根据本公开的实施例,为了检测人脸图像中的人像头部是否完整,可以先判断人像头部是否超出人脸图像的边界,在未超出边界的情况下,利用预设算子检测人像头部是否存在裁切效果的不完整。在实际应用场景中,举例来说,有时会发生在拍摄人像时,由于各种原因导致人像头部没有拍摄完整,使得人像头部的一部分不在图像之内,在不能重新拍摄的情况下,可能会利用电脑技术将人像调整位置,使得头部不完整的人像位于图像中间位置或图像中的其它位置,这时人像头部就会形成直线型的裁切效果。当然,人像头部的不完整还可以由各种其它原因导致,本公开旨在对人像头部的任意直线型的不完整进行检测。
29.通过本公开的人像头部完整性检测方法,可以通过超出边界和裁切的检测实现更加全面的完整性检测,并且通过预设算子提高了检测速度和检测准确性。
30.在步骤s101中,可以获取人脸图像。
31.根据本公开的实施例,为了检测人脸图像中的人像头部是否完整,首先需要获取待检测的人脸图像。其中,人脸图像可以是含有人体头部的至少一部分的照片和图片等图像。
32.在步骤s102中,可以根据所述人脸图像,获得人像头部框。
33.根据本公开的实施例,在获得人脸图像后,可以针对该人脸图像获得人像头部框。
34.具体地,根据所述人脸图像,获得人像头部框可以包括:针对所述人脸图像,通过人脸检测算法获得人脸框;针对所述人脸图像,通过人像分割算法获得包括人像轮廓和背景的二值化图像,并通过所述人像轮廓获得人像头顶坐标;根据所述人脸框和所述人像头顶坐标,在所述二值化图像中获得所述人像头部框。
35.在该实施例中,可以通过人脸框和人像头顶坐标来获得人像头部框。人脸框可以针对人脸图像通过人脸检测算法获得。其中,所述人脸检测算法可以包括通用的目标检测算法,例如yolo系列算法、centernet等,或者专门的人脸检测算法,例如mtcnn、centerface、pcn等,在此不做限定。人像头顶坐标可以通过例如maskrcnn,deeplabv3,bisenet,unet等图像分割算法获得。具体地,可以通过图像分割算法获得包括人像轮廓和背景的二值化图像,并通过人像轮廓且参照二值化图像的坐标系来获得人像头顶坐标。其中,二值化图像的坐标系的坐标原点为图像的左上角顶点,以单个像素为坐标梯度,以坐标原点为起点向右和向下可以得到每个像素的坐标。值得注意的是,上述图像分割算法将人
脸图像中的人像轮廓与背景分割开并形成二值化图像,人像轮廓内的像素的灰度值都为255,而人像轮廓外的背景部分像素的灰度值都为0。最后,将获得的人脸框转移到二值化图像上,可以得到人脸框的每个对应像素点的横坐标和纵坐标,人脸框包括上下左右四个框线,将人脸框上框线的纵坐标更改为人像头顶坐标的纵坐标而形成新的上框线,将左右框线延长或缩短与新的上框线接合而在二值化图像上形成人像头部框。
36.应当理解,通过人脸检测算法获得的人脸框可以超出人脸图像,而通过图像分割算法获得的人像轮廓仅限于人脸图像中,不会超出人脸图像。如果人像头顶超出图像上边界,即人像头部的一部分顶部在人脸图像中不存在,图像分割算法将直接以与人像头部对应的人脸图像的一部分上边缘作为人像轮廓的一部分,此时人脸图像的上边缘坐标为人像头顶坐标,即纵坐标为0,由此人脸图像的上边缘作为人像头部框的上框线。如果人像脸部超出图像侧边界和下边界,即人像头部的一部分人脸在人脸图像中不存在,图像分割算法将直接以与人像头部对应的人脸图像的一部分侧边缘或下边缘作为人像轮廓的一部分,但由于人脸框可以超出人脸图像并且人脸框本身包括人脸,因此人脸框的侧框线和下框线作为人像头部框的侧框线和下框线。
37.在步骤s103中,可以判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整。
38.根据本公开的实施例,在获得二值化图像中的人像头部框之后,可以将二值化图像中的人像头部框转移到人脸图像的相应位置中,然后通过人像头部框来判断人像头部是否超出人脸图像的边界。实际上,二值化图像是通过人脸图像获得的,未对像素个数和排布进行任何改变,因此也可以判断人像头部是否超出二值化图像的边界,这等同于判断人像头部是否超出人脸图像的边界。
39.具体地,所述判断所述人像头部框是否超出所述人脸图像的边界可以包括:获取所述人像头部框的归一化坐标;根据所述归一化坐标,判断所述人像头部框是否超出所述人脸图像的边界。
40.在该实施例中,归一化坐标是指坐标值范围在[0,1]之间的坐标,根据人脸图像的坐标系,将人脸图像中每个像素的坐标进行归一化,由此人脸图像的左上角顶点坐标、即原点坐标为(0,0),而人脸图像的右下角顶点坐标为(1,1)。由于获得人脸框和人像头顶坐标可以通过多种不同的算法,因此最后形成的人像头部框的坐标可以是已经归一化的坐标或者未归一化的坐标。在人像头部框的坐标未归一化的情况下,首先将其归一化。
[0041]
在获得人像头部框的归一化坐标之后,当人像头部框的上框线的纵坐标等于0时,当人像头部框的左框线的横坐标小于或等于0时,当人像头部框的右框线的横坐标大于或等于1时,或者当人像头部框的下框线的纵坐标大于或等于1时,可以确定人像头部框超出人脸图像的边界,从而确定人像头部超出人脸图像的边界,由此确定人脸图像中的人像头部不完整。
[0042]
在步骤s104中,当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。
[0043]
根据本公开的实施例,当所述人像头部框未超出所述人脸图像的边界时,需要进行下一步检测,即根据所述人像头部框和预设算子进行裁切检测。
[0044]
进一步地,所述预设算子可以包括第一预设算子和第二预设算子,从而所述当所
述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果可以包括:根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切,当所述人像头部存在水平裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在水平裁切时,根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切,当所述人像头部存在竖直裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在竖直裁切时,判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果。
[0045]
在该实施例中,当所述人像头部框未超出所述人脸图像的边界时,可以依次对人脸图像中的人像头部进行水平裁切、竖直裁切和斜向裁切的检测。只要检测出其中一种裁切情况,就停止检测,直接获得该人脸图像中的人像头部不完整的检测结果。只有这三种裁切检测都执行完毕之后且不存在任一种裁切的情况,才会获得人脸图像中的人像头部完整的检测结果。如此,可以全面且快速地判断人像头部是否完整。
[0046]
针对水平裁切的检测,所述根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切可以包括:对所述人像头部框按照预设规则进行扩大;截取扩大后的人像头部框内的图像,获得待裁切检测图像;使用所述第一预设算子在所述待裁切检测图像中进行卷积,获得第一响应图;根据所述第一响应图,统计每行像素的灰度值之和;计算所述每行像素的灰度值之和分别在所述第一响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第一预设阈值时,确定所述人像头部存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平裁切。
[0047]
根据该实施例,为了判断人像头部是否存在水平裁切,首先将二值化图像中的人像头部框进行扩大。可以相对于人像头部框上下各扩大人像头部框的10%且左右各扩大人像头部框10%。当人像头部框在上下左右任意方向扩大10%超过二值化图像的边缘时,以相应边缘作为人像头部框扩大后的框线。然后截取扩大后的人像头部框中的图像作为二值化的待裁切检测图像,该待裁切检测图像包括人像头部轮廓和背景,人像头部轮廓内的灰度值为255,背景的灰度值为0。
[0048]
在获得待裁切检测图像之后,利用第一预设算子在该待裁切检测图像中滑动进行卷积,即利用第一预设算子与待裁切检测图像中的全部像素灰度值组成的灰度值矩阵进行卷积。该第一预设算子为该灰度值矩阵中的元素包括0和255。为了在卷积后获得与待裁切检测图像同样大小的图像,将灰度值矩阵进行扩展,即将上下各扩展一行,形成新的第一行和新的最后一行,新的第一行中的像素灰度值与原第一行中的像素灰度值相同,新的最后一行中的像素灰度值与原最后一行中的像素灰度值相同。在卷积后,将获得矩阵中的值为负数的元素设为0,从而获得与待裁切检测图像的像素行列数相同的响应图,该响应图中的像素灰度值同样仅包括0和255。
[0049]
在获得响应图后,分别统计该响应图中的每行像素的灰度值之和,并且统计该响应图中的所有像素的灰度值之和,然后分别计算所述每行像素的灰度值之和在该响应图所有像素的灰度值之和中的占比。当任一所述占比大于第一预设阈值时,确定所述人像头部
存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平裁切,该第一预设阈值例如可以是60%。
[0050]
针对竖直裁切的检测,所述根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切包括:使用所述第二预设算子在所述灰度化图像中进行卷积,获得第二响应图;根据所述第二响应图,统计每列像素的灰度值之和;计算所述每列像素的灰度值之和分别在所述第二响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切。
[0051]
根据该实施例,利用第一预设算子在如上获得的待裁切检测图像中滑动进行卷积,即利用第二预设算子与待裁切检测图像中的全部像素灰度值组成的灰度值矩阵进行卷积。该第二预设算子为[﹣1 2 ﹣1],该第二预设算子和第一预设算子互为转置矩阵。该灰度值矩阵中的元素包括0和255。为了在卷积后获得与待裁切检测图像同样大小的图像,将灰度值矩阵进行扩展,即将左右各扩展一列,形成新的第一列和新的最后一列,新的第一列中的像素灰度值与原第一列中的像素灰度值相同,新的最后一列中的像素灰度值与原最后一列中的像素灰度值相同。在卷积后,将获得矩阵中的值为负数的元素设为0,从而获得与待裁切检测图像的像素行列数相同的响应图,该响应图中的像素灰度值同样仅包括0和255。
[0052]
在获得响应图后,分别统计该响应图中的每列像素的灰度值之和,并且统计该响应图中的所有像素的灰度值之和,然后分别计算所述每列像素的灰度值之和在该响应图所有像素的灰度值之和中的占比。当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切,该第二预设阈值例如可以与第一预设阈值相同,同为60%。
[0053]
根据本公开的实施例,利用预设算子在二值化的待裁切检测图像中进行卷积,可以获得反映灰度值突变的响应图,从而获得黑色背景下的白色像素点,尤其在存在直线型裁切的情况下,可以获得一条白色直线。由此可以根据该白色直线的灰度值占比判断人像头部是否存在裁切。因此,利用预设算子进行完整性检测更加准确且快速。
[0054]
针对斜向裁切的检测,所述判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果可以包括:将所述第一响应图和所述第二响应图进行相加合成,形成合成图;针对所述合成图,通过霍夫直线判断法搜索直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整;当搜索到直线时,根据所述直线的端点坐标,获得所述直线的长度;当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整;当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。
[0055]
根据该实施例,将第一响应图和第二响应图进行重叠相加合成,获得合成图,该合成图的中的像素的灰度值包括0、255和510。
[0056]
针对合成图,可以通过霍夫直线判断法搜索该合成图中的直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。当搜索到直线时,根据该直线的端点坐标,计算出该直线的长度,并且可以通过该直线的长度来判断人像头部是否存在斜向裁切。
[0057]
其中,当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整。当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。该第三预设阈值例如可以是50%。
[0058]
根据本公开的实施例,通过将水平裁切检测和竖直裁切检测获得的响应图的叠加合成,可以使得白色灰度值更加明显,由此对霍夫直线判断法搜素斜向的直线更加有利。
[0059]
本公开还提供一种人像头部完整性检测装置。该装置用于执行以上结合图1所描述的一种人像头部完整性检测方法实施例中的步骤。
[0060]
参照图2,图2是示出根据本公开的一个实施例的人像头部完整性检测装置的示意性框图。如图2所示,该人像头部完整性检测装置100包括第一获取模块101、第二获取模块102、超边界判断模块103和裁切检测模块104。该第一获取模块101用于获取人脸图像。该第二获取模块102用于根据所述人脸图像,获得人像头部框。该超边界判断模块103用于判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整。该裁切检测模块104用于当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。
[0061]
根据本公开的实施例,所述第二获取模块102用于采取如下方式根据所述人脸图像,获得人像头部框:针对所述人脸图像,通过人脸检测算法获得人脸框;针对所述人脸图像,通过人像分割算法获得包括人像轮廓和背景的二值化图像,并通过所述人像轮廓获得人像头顶坐标;根据所述人脸框和所述人像头顶坐标,在所述二值化图像中获得所述人像头部框。
[0062]
根据本公开的实施例,所述超边界判断模块103用于采取如下方式判断所述人像头部框是否超出所述人脸图像的边界:获取所述人像头部框的归一化坐标;根据所述归一化坐标,判断所述人像头部框是否超出所述人脸图像的边界。
[0063]
根据本公开的实施例,所述预设算子包括第一预设算子和第二预设算子,所述裁切检测模块104用于采取如下方式当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框进行裁切检测,获得人像头部完整性检测结果:根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切,当所述人像头部存在水平裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在水平裁切时,根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切,当所述人像头部存在竖直裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在竖直裁切时,判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果。
[0064]
根据本公开的实施例,所述裁切检测模块104用于采取如下方式根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切:对所述人像头部框按照预设规则进行扩大;截取扩大后的人像头部框内的图像,获得待裁切检测图像;使用所述第一预设算子在所述待裁切检测图像中进行卷积,获得第一响应图;根据所述第一响应图,统计每行像素的灰度值之和;计算所述每行像素的灰度值之和分别在所述第一响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第一预设阈值时,确定所述人像头部存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平
裁切。
[0065]
根据本公开的实施例,所述裁切检测模块104用于采取如下方式根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切:使用所述第二预设算子在所述待裁切检测图像中进行卷积,获得第二响应图;根据所述第二响应图,统计每列像素的灰度值之和;计算所述每列像素的灰度值之和分别在所述第二响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切。
[0066]
根据本公开的实施例,所述裁切检测模块104用于采取如下方式判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果:将所述第一响应图和所述第二响应图进行相加合成,形成合成图;针对所述合成图,通过霍夫直线判断法搜索直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整;当搜索到直线时,根据所述直线的端点坐标,获得所述直线的长度;当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整;当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。
[0067]
可以理解的是,关于以上参照图2描述的实施例中的人像头部完整性检测装置,其中各个模块执行操作的具体方式已经在结合图1所描述的人像头部完整性检测方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0068]
本公开还提供一种电子设备,其中,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如结合图1所描述的人像头部完整性检测方法。
[0069]
可以理解的是,所述处理器执行所述计算机程序时实现的步骤与上述方法中的各个步骤的实现方式基本一致,具体方式已经在有关人像头部完整性检测方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0070]
在另一方面中,本公开提供一种计算机可读存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序被执行时,实现如结合图1所描述的人像头部完整性检测方法。
[0071]
可以理解的是,所述处理器执行所述计算机程序时实现的步骤与上述方法中的各个步骤的实现方式基本一致,具体方式已经在有关人像头部完整性检测方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0072]
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
[0073]
应当理解,本公开的权利要求、说明书及附图中的术语“第一”和“第二”、等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0074]
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目
的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0075]
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。
技术特征:1.一种人像头部完整性检测方法,其中,所述方法包括:获取人脸图像;根据所述人脸图像,获得人像头部框;判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整;当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。2.根据权利要求1所述的人像头部完整性检测方法,其中,所述根据所述人脸图像,获得人像头部框包括:针对所述人脸图像,通过人脸检测算法获得人脸框;针对所述人脸图像,通过人像分割算法获得包括人像轮廓和背景的二值化图像,并通过所述人像轮廓获得人像头顶坐标;根据所述人脸框和所述人像头顶坐标,在所述二值化图像中获得所述人像头部框。3.根据权利要求1所述的人像头部完整性检测方法,其中,所述判断所述人像头部框是否超出所述人脸图像的边界包括:获取所述人像头部框的归一化坐标;根据所述归一化坐标,判断所述人像头部框是否超出所述人脸图像的边界。4.根据权利要求1所述的人像头部完整性检测方法,其中,所述预设算子包括第一预设算子和第二预设算子,所述当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果包括:根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切,当所述人像头部存在水平裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在水平裁切时,根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切,当所述人像头部存在竖直裁切时,确定所述人脸图像中的人像头部不完整;当所述人像头部不存在竖直裁切时,判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果。5.根据权利要求4所述的人像头部完整性检测方法,其中,所述根据所述人像头部框和所述第一预设算子,判断人像头部是否存在水平裁切包括:对所述人像头部框按照预设规则进行扩大;截取扩大后的人像头部框内的图像,获得待裁切检测图像;使用所述第一预设算子在所述待裁切检测图像中进行卷积,获得第一响应图;根据所述第一响应图,统计每行像素的灰度值之和;计算所述每行像素的灰度值之和分别在所述第一响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第一预设阈值时,确定所述人像头部存在水平裁切,当全部所述占比小于或等于所述第一预设阈值时,确定所述人像头部不存在水平裁切。6.根据权利要求5所述的人像头部完整性检测方法,其中,所述根据所述人像头部框和所述第二预设算子,判断所述人像头部是否存在竖直裁切包括:
使用所述第二预设算子在所述待裁切检测图像中进行卷积,获得第二响应图;根据所述第二响应图,统计每列像素的灰度值之和;计算所述每列像素的灰度值之和分别在所述第二响应图中所有像素的灰度值之和中的占比;当任一所述占比大于第二预设阈值时,确定所述人像头部存在竖直裁切,当全部所述占比小于或等于所述第二预设阈值时,确定所述人像头部不存在竖直裁切。7.根据权利要求6所述的人像头部完整性检测方法,其中,所述判断所述人像头部是否存在斜向裁切,以获得所述人像头部完整性检测结果包括:将所述第一响应图和所述第二响应图进行相加合成,形成合成图;针对所述合成图,通过霍夫直线判断法搜索直线,当未搜索到直线时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整;当搜索到直线时,根据所述直线的端点坐标,获得所述直线的长度;当所述直线的长度与所述人脸框的宽度之比大于第三预设阈值时,所述人像头部存在斜向裁切,确定所述人脸图像中的人像头部不完整;当所述直线的长度与所述人脸框的宽度之比小于或等于所述第三预设阈值时,所述人像头部不存在斜向裁切,确定所述人脸图像中的人像头部完整。8.一种人像头部完整性检测装置,其中,所述装置包括:第一获取模块,其用于获取人脸图像;第二获取模块,其用于根据所述人脸图像,获得人像头部框;超边界判断模块,其用于判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整;裁切检测模块,其用于当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。9.一种电子设备,其中,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至7中任一项所述的人像头部完整性检测方法。10.一种计算机可读存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序被执行时,实现如权利要求1至7中任一项所述的人像头部完整性检测方法。
技术总结本公开涉及一种人像头部完整性检测方法及装置。所述方法包括:获取人脸图像;根据所述人脸图像,获得人像头部框;判断所述人像头部框是否超出所述人脸图像的边界,当所述人像头部框超出所述人脸图像的边界时,确定所述人脸图像中的人像头部不完整;当所述人像头部框未超出所述人脸图像的边界时,根据所述人像头部框和预设算子进行裁切检测,获得人像头部完整性检测结果。通过本公开的方案,可以对人像头部进行更加全面的完整性检测,并且提高了检测速度和检测准确性。速度和检测准确性。速度和检测准确性。
技术研发人员:张松华
受保护的技术使用者:稿定(厦门)科技有限公司
技术研发日:2022.04.20
技术公布日:2022/7/5