发明内容
本发明的目的是针对上述现有技术的不足提出的一种脖子遮挡检测方法、装置、电子设备及存储介质,该目的是通过以下技术方案实现的。
本发明的第一方面提出了一种脖子遮挡检测方法,所述方法包括:
根据接收到的用户图像中目标区域的占比确定待检测图像;
将所述待检测图像输入已训练的脖子遮挡检测模型,以由所述脖子遮挡检测模型判定所述待检测图像中的脖子是否被遮挡。
在本申请的一些实施例中,所述根据接收到的用户图像中目标区域的占比确定待检测图像,包括:
检测所述用户图像中包含脖子的人脸区域作为目标区域;确定所述目标区域的面积与所述用户图像的面积之间的占比;如果所述占比超过占比阈值,则将所述用户图像确定为待检测图像;如果所述占比未超过占比阈值,则从所述用户图像中抠取所述目标区域,并对抠取出的目标区域进行尺寸放大后确定为待检测图像。
在本申请的一些实施例中,所述脖子遮挡检测模型包括第一分支网络、第二分支网络、融合模块、以及输出层,所述第一分支网络与所述第二分支网络并行且独立执行;由所述脖子遮挡检测模型判定所述待检测图像中的脖子是否被遮挡,包括:
通过所述脖子遮挡检测模型中的第一分支网络对所述待检测图像进行第一预设卷积处理,得到第一特征图;通过所述脖子遮挡检测模型中的第二分支网络对所述待检测图像进行第二预设卷积处理,得到第二特征图;通过所述脖子遮挡检测模型中的融合模块对所述第一特征图和所述第二特征图进行通道融合,得到融合特征图;通过所述脖子遮挡检测模型中的输出层基于所述融合特征图获得脖子是否被遮挡的判定结果。
在本申请的一些实施例中,所述第一分支网络包括第一深度可分离卷积层和第一上采样层;通过所述脖子遮挡检测模型中的第一分支网络对所述待检测图像进行第一预设卷积处理,得到第一特征图,包括:
通过第一深度可分离卷积层包含的一个卷积核对所述待检测图像的一个通道进行特征提取,得到单通道特征图;通过第一上采样层包含的预设数量通道1*1卷积核对所述单通道特征图进行升维处理,得到第一特征图。
在本申请的一些实施例中,所述第二分支网络包括下采样层、第二深度可分离卷积层和第二上采样层;通过所述脖子遮挡检测模型中的第二分支网络对所述待检测图像进行第二预设卷积处理,得到第二特征图,包括:
通过所述下采样层包含的单通道的1*1卷积核对所述待检测图像进行降维处理,得到单通道特征图;通过第二深度可分离卷积层包含的一个卷积核对所述单通道特征图进行特征提取,得到提取特征后的单通道特征图;通过第二上采样层包含的预设数量通道1*1卷积核对提取特征后的单通道特征图进行升维处理,得到第二特征图。
在本申请的一些实施例中,通过所述脖子遮挡检测模型中的融合模块对所述第一特征图和所述第二特征图进行通道融合,得到融合特征图,包括:
通过所述融合模块中的通道拼接层对所述第一特征图和所述第二特征图按通道进行特征图叠加,得到通道叠加后的特征图;通过所述融合模块中的通道混合层对通道叠加后的特征图的通道叠加顺序进行打乱,得到融合特征图。
在本申请的一些实施例中,所述脖子遮挡检测模型的训练过程如下:
获取数据集,所述数据集中的样本包含正样本和负样本;遍历所述数据集中的每一样本,将当前遍历的样本输入预先构建的脖子遮挡检测模型,以由所述脖子遮挡检测模型对所述样本进行脖子遮挡与否的预测并输出预测结果;利用所述预测结果、正负样本平衡系数、以及样本数量平衡系数计算损失值;在所述损失值的变化率大于变化阈值时,根据所述损失值优化所述脖子遮挡检测模型的网络参数,并调整所述正负样本平衡系数和所述样本数量平衡系数,并继续执行遍历所述数据集中的每一样本的过程,直至所述损失值的变化率低于变化阈值结束。
在本申请的一些实施例中,在获取数据集之后,所述方法还包括:
对所述数据集中的每一样本每进行一种数据增强处理,并将处理后的样本添加到所述数据集中,以扩充所述数据集。
在本申请的一些实施例中,所述调整所述正负样本平衡系数和所述样本数量平衡系数,包括:
如果所述损失值大于预设阈值,则将所述正负样本平衡系数和所述样本数量平衡系数均增大第一步长;如果所述损失值小于预设阈值,则将所述正负样本平衡系数和所述样本数量平衡系数均增大第二步长;其中,所述第一步长大于所述第二步长。
本发明的第二方面提出了一种脖子遮挡检测装置,所述装置包括:
预处理模块,用于根据接收到的用户图像中目标区域的占比确定待检测图像;
检测模块,用于将所述待检测图像输入已训练的脖子遮挡检测模型,以由所述脖子遮挡检测模型判定所述待检测图像中的脖子是否被遮挡。
本发明的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述方法的步骤。
本发明的第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述方法的步骤。
基于上述第一方面和第二方面所述的脖子遮挡检测方法及装置,本发明至少具有如下有益效果或优点:
通过使用一种专属于脖子遮挡检测的深度学习模型,来精准地预测图像中的脖子是否被遮挡,从而能够为后续对人像进行的相关操作提供参考,以使得人像操作结果更符合用户实际需求。并且通过根据用户图像中目标区域的占比确定输入模型的待检测图像,以减小图像背景对模型准确度的影响,使得模型输出结果更准确。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了实现脖子是否被遮挡的精准预测,本申请提出一种脖子遮挡检测方法,即通过根据接收到的用户图像中目标区域的占比确定待检测图像,并将待检测图像输入已训练的脖子遮挡检测模型,以由脖子遮挡检测模型判定待检测图像中的脖子是否被遮挡。
基于上述描述可达到的技术效果有:
通过使用一种专属于脖子遮挡检测的深度学习模型,来精准地预测图像中的脖子是否被遮挡,从而能够为后续对人像进行的相关操作提供参考,以使得人像操作结果更符合用户实际需求。并且通过根据用户图像中目标区域的占比确定输入模型的待检测图像,以减小图像背景对模型准确度的影响,使得模型输出结果更准确。
为了使本领域技术人员更好的理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一:
图1为本发明根据一示例性实施例示出的一种脖子遮挡检测方法的实施例流程图,图2为本实施例所使用的脖子遮挡检测模型的网络结构,结合图1和图2所示,该脖子遮挡检测方法包括如下步骤:
步骤101:根据接收到的用户图像中目标区域的占比确定待检测图像。
其中,待检测图像为适合模型准确预测的输入图像。
在一种可能的实现方式中,通过检测用户图像中包含脖子的人脸区域作为目标区域,并确定目标区域的面积占所述用户图像的面积之间的占比,如果该占比超过占比阈值,说明图像中包含脖子的人脸占比高,背景影响小,可以直接将所述用户图像确定为待检测图像,如果该占比未超过占比阈值,说明图像中包含脖子的人脸占比低,背景影响大,模型有可能无法准确检测,则从所述用户图像中抠取目标区域,并对抠取出的目标区域进行尺寸放大后确定为待检测图像,以提升模型检测准确性。
需要补充说明的是,在确定待检测图像之前,可以通过对用户图像进行预设种类的数据增强处理,以提升模型检测的鲁棒性。
示例性的,该预设种类可以是翻转、变形、颜色变换、光照变换等。
步骤102:将待检测图像输入已训练的脖子遮挡检测模型,以由脖子遮挡检测模型判定待检测图像中的脖子是否被遮挡。
在执行步骤102之前,需要对脖子遮挡检测模型进行训练,对于脖子遮挡检测模型的训练过程可以参见下述实施例的相关描述,本申请在此暂不详述。
在一可选的实施例中,如图2所示的脖子遮挡检测模型结构,通过第一分支网络对待检测图像进行第一预设卷积处理,得到第一特征图,同时通过第二分支网络对待检测图像进行第二预设卷积处理,得到第二特征图,然后通过融合模块对第一特征图和第二特征图进行通道融合,得到融合特征图,并通过输出层基于融合特征图获得脖子是否被遮挡的判定结果。
其中,脖子遮挡检测模型中的第一分支网络与第二分支网络并行且独立执行,并且每个分支网络执行的均是简单的卷积处理,另外模型中的融合模块也只是按照通道进行融合,计算耗时少,因此本发明提出的脖子遮挡模型通过两个分支分别并行独立提取特征后再融合,不仅可以提取到丰富的特征信息,而且执行耗时少,使得模型具有轻量高效特点。
示例性的,输出层可以采用全连接层实现脖子是否被遮挡的分类计算。
在一种可能的实现方式中,如图2所示,第一分支网络包括第一深度可分离卷积层和第一上采样层,对于对待检测图像进行第一预设卷积处理的过程,先通过第一深度可分离卷积层包含的一个卷积核对待检测图像的一个通道进行特征提取,得到单通道特征图,然后通过第一上采样层包含的预设数量通道1*1卷积核对单通道特征图进行升维处理,得到第一特征图。
其中,第一深度可分离卷积层通过使用一个卷积核随机选择一个通道进行深度可分离卷积,以提取特征信息,并输出该通道的特征图,第一上采样层通过使用多通道的1*1卷积核将提取的单通道特征图进行升维处理,以输出与输入图像相同通道数量的第一特征图。
由此可见,第一上采样层使用的1*1卷积核的通道数量为输入图像的通道数量。
在一种可能的实现方式中,如图2所示,第二分支网络包括下采样层、第二深度可分离卷积层和第二上采样层;对于对待检测图像进行第二预设卷积处理的过程,先通过下采样层包含的单通道的1*1卷积核对待检测图像进行降维处理,得到单通道特征图,再通过第二深度可分离卷积层包含的一个卷积核对该单通道特征图进行特征提取,得到提取特征后的单通道特征图,最后通过第二上采样层包含的预设数量通道1*1卷积核对提取特征后的单通道特征图进行升维处理,得到第二特征图。
其中,由于输入第二深度可分离卷积层的特征图已经为单通道,因此第二深度可分离卷积层通过使用一个卷积核对该通道进行深度可分离卷积,以提取特征信息,并输出提取特征后的特征图,第二上采样层通过使用多通道的1*1卷积核将提取特征后的特征图进行升维处理,以输出与输入图像相同通道数量的第二特征图。
由此可见,第二上采样层使用的1*1卷积核的通道数量也为输入图像的通道数量。
在一种可能的实现方式中,如图2所示,融合模块包括通道拼接层和通道混合层,对于对第一特征图和第二特征图进行通道融合的过程,先通过融合模块中的通道拼接层对第一特征图和所述第二特征图按通道进行特征图叠加,得到通道叠加后的特征图,然后通过通道混合层对通道叠加后的特征图的通道叠加顺序进行打乱,得到融合特征图。
其中,在通过通道拼接层按照通道叠加特征图后,再通过通道混合层随机打乱通道叠加顺序,以提升模型鲁棒性。
由上述描述的脖子遮挡检测模型处理过程可以看出,两个并列的分支网络分别进行不同的卷积处理,实现特征提取,而后再进行融合,相对于现有使用的CNN网络架构,减少了计算能力消耗,有利于迁移至移动端实现。
至此,完成上述图1所示的脖子遮挡检测流程,通过使用一种专属于脖子遮挡检测的深度学习模型,来精准地预测图像中的脖子是否被遮挡,从而能够为后续对人像进行的相关操作提供参考,以使得人像操作结果更符合用户实际需求。并且通过根据用户图像中目标区域的占比确定输入模型的待检测图像,以减小图像背景对模型准确度的影响,使得模型输出结果更准确。
实施例二:
图3为本发明根据一示例性实施例示出的一种脖子遮挡检测模型的训练流程图,基于上述图1所示实施例的基础上,如图3所示,脖子遮挡检测模型的训练过程包括如下步骤:
步骤301:获取数据集,所述数据集中的样本包含正样本和负样本。
其中,正样本指的是脖子未被遮挡,负样本指的是脖子被遮挡,例如样本中的脖子被头发或者衣服之类物体遮挡。
需要补充说明的是,在获取到包含正样本和负样本的数据集后,可以对数据集中的每一样本每进行一种数据增强处理,并将处理后的样本添加到数据集中,以扩充数据集,提升模型性能。
其中,数据增强种类可以包括裁剪、翻转、变形、颜色变换、光照变换等。
步骤302:遍历数据集中的每一样本,将当前遍历的样本输入预先构建的脖子遮挡检测模型,以由脖子遮挡检测模型对样本进行脖子遮挡与否的预测并输出预测结果。
步骤303:利用预测结果、正负样本平衡系数、以及样本数量平衡系数计算损失值。
其中,损失函数的计算公式如下:
在上述公式1中,
表示正负样本平衡系数,0<
<1,
表示样本数量平衡系数,0<
<5,
表示模型预测输入样本属于正样本的概率。
需要说明的是,
和
属于超参数,在优化网络参数的同时,也需要对这两个超参数进行更新,以起到平衡各类样本对损失计算的贡献。
由上述公式1可以看出,由于
为小于1的参数,用来平衡正负样本比例不均的问题,可以将概率较大时的损失值拉小;由于
为大于0的参数,对于正样本,如果概率越小,表示属于难分类样本,其损失越大,因此通过
可以减少易分类样本的影响,使得模型更关注难分类样本,起到平滑作用。
其中,通过正负样本平衡系数可以解决训练过程中正负样本不平衡的问题,通过样本数量平衡系数可以解决训练过程中难易样本不平衡的问题,从而通过使用正负样本平衡系数和样本数量平衡系数进行损失计算可以保证loss不会大幅度变动,使得模型训练能够稳定收敛。
步骤304:在损失值的变化率大于变化阈值时,根据损失值优化脖子遮挡检测模型的网络参数,并调整正负样本平衡系数和样本数量平衡系数,并继续执行步骤302的过程。
其中,脖子遮挡检测模型的网络参数的优化可以采用预设优化器进行优化,例如Adamw优化器。
在一种可能的实现方式中,对于正负样本平衡系数和样本数量平衡系数的调整过程,可以通过设置一个阈值来调整两个系数的调整步长,即如果损失值大于预设阈值,则将正负样本平衡系数和样本数量平衡系数均增大第一步长,如果损失值小于预设阈值,则将正负样本平衡系数和样本数量平衡系数均增大第二步长。
其中,第一步长大于第二步长,也就是说,损失值比较高时,两个系数的调整幅度比较大,损失值比较低时,两个系数的调整幅度变小。
步骤305:在损失值的变化率小于变化阈值时,结束训练流程。
本领域技术人员可以理解的是,对于模型训练结束条件,还包含有其他指标条件,例如模型的精确率高于一定数值,召回率高于一定数值的条件,这些指标条件均属于常规模型训练结束条件,并不形成对本发明保护范围的限定。
至此,完成上述图3所示的模型训练过程,由于通过正负样本平衡系数可以解决训练过程中正负样本不平衡的问题,通过样本数量平衡系数可以解决训练过程中难易样本不平衡的问题,因此通过使用正负样本平衡系数和样本数量平衡系数进行损失计算可以保证loss不会大幅度变动,使得模型训练能够稳定收敛。
与前述脖子遮挡检测方法的实施例相对应,本发明还提供了脖子遮挡检测装置的实施例。
图4为本发明根据一示例性实施例示出的一种脖子遮挡检测装置的结构示意图,该装置用于执行上述任一实施例提供的脖子遮挡检测方法,如图4所示,该脖子遮挡检测装置包括:
预处理模块410,用于根据接收到的用户图像中目标区域的占比确定待检测图像;
检测模块420,用于将所述待检测图像输入已训练的脖子遮挡检测模型,以由所述脖子遮挡检测模型判定所述待检测图像中的脖子是否被遮挡。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施方式还提供一种与前述实施方式所提供的脖子遮挡检测方法对应的电子设备,以执行上述脖子遮挡检测方法。
图5为本发明根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。处理器602通过读取并执行存储器603中与脖子遮挡检测方法的控制逻辑对应的机器可执行指令,可执行上文描述的脖子遮挡检测方法,该方法的具体内容参见上述实施例,此处不再累述。
本发明中提到的存储器603可以是任何电子、磁性、光学或其它物理存储装置,可以包含存储信息,如可执行指令、数据等等。具体地,存储器603可以是RAM(Random AccessMemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。通过至少一个通信接口601(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线604可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器603用于存储程序,所述处理器602在接收到执行指令后,执行所述程序。
处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
本申请实施例提供的电子设备与本申请实施例提供的脖子遮挡检测方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的脖子遮挡检测方法对应的计算机可读存储介质,请参考图6所示,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的脖子遮挡检测方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的脖子遮挡检测方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。