1.本发明涉及图像处理技术领域,具体涉及一种目标用户着装属性识别方法及装置。
背景技术:2.农贸市场的熟食、豆制品等直接入口食品,安全问题一直是政府和人民关注的重要问题。农贸市场熟食店,要严格做到“三白”原则,即确保熟食店经营者穿白大褂,戴白帽子、白口罩操作,保障熟食卫生安全。
3.为规范市场经营,保障食品安全,目前一般通过市场监管局的监管人员对熟食店进行巡逻检查,对违规店铺进行处罚。该方法耗时耗力,而且只能在检查的时间点起到监管作用,不能长时间对熟食店进行监督。
技术实现要素:4.本发明的目的是针对上述现有技术的不足提出的一种目标用户着装属性识别方法及装置,该目的是通过以下技术方案实现的。
5.本发明的第一方面提出了一种目标用户着装属性识别方法,所述方法包括:
6.从监控图像中裁剪出人体区域对应的人体图像;
7.将所述人体图像输入已训练的网络模型中,以由所述网络模型中的特征提取网络提取所述人体图像的头部特征和躯体特征,并将所述头部特征输入所述网络模型中的第一识别网络和第二识别网络,将所述躯体特征输入所述网络模型中的第三识别网络,所述第一识别网络根据头部特征识别目标用户是否佩戴口罩,所述第二识别网络根据头部特征识别目标用户是否戴白帽子,所述第三识别网络根据躯体特征识别目标用户是否穿白大褂;
8.获取所述网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果。
9.本发明的第二方面提出了一种目标用户着装属性识别装置,所述装置包括:
10.裁剪模块,用于从监控图像中裁剪出人体区域对应的人体图像;
11.识别模块,用于将所述人体图像输入已训练的网络模型中,以由所述网络模型中的特征提取网络提取所述人体图像的头部特征和躯体特征,并将所述头部特征输入所述网络模型中的第一识别网络和第二识别网络,将所述躯体特征输入所述网络模型中的第三识别网络,所述第一识别网络根据头部特征识别目标用户是否佩戴口罩,所述第二识别网络根据头部特征识别目标用户是否戴白帽子,所述第三识别网络根据躯体特征识别目标用户是否穿白大褂;
12.结果获取模块,用于获取所述网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果。
13.基于上述第一方面和第二方面所述的目标用户着装属性识别方法及装置,本发明具有如下有益效果:
14.通过利用实时的监控画面对目标用户(如熟食店经营者)的着装属性进行智能监
管,可以做到长时间不间断,而且节省了大量的人力成本。在利用网络模型对从监控画面裁剪出的人体图像进行着装识别过程中,为了获得更加精确的识别结果,通过将人体的头部特征和躯体特征区分开来分别进行识别,在识别白帽子和口罩时,只使用头部特征,在识别白大褂时,只使用躯体特征,避免了其他区域特征的干扰。
附图说明
15.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
16.图1为本发明根据一示例性实施例示出的一种目标用户着装属性识别方法的实施例流程图;
17.图2为本发明根据一示例性实施例示出的一种网络模型结构示意图;
18.图3为本发明根据一示例性实施例示出的一种模型训练方法的实施例流程图;
19.图4为本发明根据一示例性实施例示出的一种目标用户着装属性识别装置的结构示意图。
具体实施方式
20.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
21.在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
22.应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
23.图1为本发明根据一示例性实施例示出的一种目标用户着装属性识别方法的实施例流程图,本实施例中所涉及的目标用户可以是熟食店经营者,当然也可以是其他需要被监督着装的人员。如图1所示,所述目标用户着装属性识别方法包括如下步骤:
24.步骤101:从监控图像中裁剪出人体区域对应的人体图像。
25.在一些实施例中,可以通过获取摄像头采集的目标场景的监控图像,并在监控图像中检测出人体区域,从而从监控图像中裁剪出人体区域对应的人体图像作为识别数据源,以将无关的背景要素去除。
26.其中,目标场景即为需要被监督的场景,例如在目标场景为熟食店时,摄像头实时对熟食店里的经营者进行监控,从而摄像头采集的监控视频中可以抽取出单帧的监控图像进行人体检测,如果检测到人体区域即可裁剪出来作为识别数据源。
27.可以理解的是,可以采用现有技术中的人体检测技术实现人体区域检测,例如人体检测模型、人体检测算法等,本发明对此不进行具体限定,只要能实现人体检测功能即可。
28.步骤102:将人体图像输入已训练的网络模型中,以由网络模型中的特征提取网络提取人体图像的头部特征和躯体特征,并将头部特征输入网络模型中的第一识别网络和第二识别网络,将躯体特征输入网络模型中的第三识别网络,所述第一识别网络根据头部特征识别目标用户是否佩戴口罩,所述第二识别网络根据头部特征识别目标用户是否戴白帽子,所述第三识别网络根据躯体特征识别目标用户是否穿白大褂。
29.如图2为网络模型的结构,下面结合图2所示对网络模型的识别流程进行详细介绍:
30.1、特征提取网络对输入的人体图像的处理流程
31.首先通过特征提取网络中的特征提取模块提取人体图像的全局身体特征,并按照预设的身体比例分布对全局身体特征进行切分,并将切分得到的头部特征和躯体特征输入全局平均池化层,所述全局平均池化层对头部特征和躯体特征分别进行全局平均池化处理。
32.需要说明的是,由于人的身体比例分布差异以及人的姿态差异较大,用唯一的分割线区分头部和躯体,会导致部位切割不够准确。因此,本实施例在头部特征和躯体特征之间预留少量的重叠部分,以尽量保证相关身体部位特征的完整性。也就是说,切分得到的头部特征和躯体特征之间存在重叠特征。
33.举例来说,假设特征提取模块输出特征为7
×7×
2048,将输出特征的上部2
×7×
2048的特征作为头部特征,并输入给全局平均池化层进行全局平均池化处理,使得2
×7×
2048特征被映射成1
×1×
2048维的头部特征;将输出特征的下部6
×7×
2048的特征作为躯体特征,并输入给全局平均池化层进行全局平均池化处理,使得6
×7×
2048特征被映射成1
×1×
2048维的躯体特征。
34.由此可见,头部特征和躯体特征之间的重叠特征为7
×
7矩阵中的第2行的特征。
35.2、第一识别网络根据头部特征识别是否佩戴口罩的流程
36.第一识别网络中的分类层根据头部特征计算目标用户佩戴口罩的第一属性值、未佩戴口罩的第二属性值和无法识别口罩的第三属性值并输出给softmax层,所述softmax层将第一属性值、第二属性值和第三属性值转化为概率分布并作为口罩识别结果。
37.其中,softmax层用于对输入的多个属性值进行归一化操作,以将每个属性值转化为概率,并且这些概率相加和为1,也就是说,佩戴口罩的概率、未佩戴口罩的概率和无法识别口罩的概率相加和为1。
38.需要说明的是,由于当目标用户面对摄像头时,由摄像头采集的监控图像可以识别出是否佩戴口罩,而当目标用户背对摄像头时,由监控图像无法识别是否佩戴口罩,因此在第一识别网络中加入一“无法识别口罩”这一类别。
39.3、第二识别网络根据头部特征识别目标用户是否戴白帽子的流程:
40.第二识别网络中的分类层根据头部特征计算目标用户戴白帽子的第四属性值和未戴白帽子的第五属性值并输出给第二识别网络中的softmax层,所述softmax层将第四属性值和第五属性值转化为概率分布并作为白帽子识别结果。
41.基于同样的原理,softmax层用于对输入的多个属性值进行归一化操作,以将每个属性值转化为概率,并且这些概率相加和为1。也就是说,戴白帽子的概率和未戴白帽子的概率相加和为1.
42.4、第三识别网络根据躯体特征识别目标用户是否穿白大褂的流程
43.第三识别网络中的分类层根据躯体特征计算目标用户穿白大褂的第六属性值和未穿白大褂的第七属性值并输出给第三识别网络中的softmax层,所述softmax层将第六属性值和第七属性值转化为概率分布并作为白大褂识别结果。
44.其中,穿白大褂的概率和未穿白大褂的概率相加和为1.
45.基于上述描述可知,网络模型最终输出长度为7的着装属性概率,分别为佩戴口罩的概率、未佩戴口罩的概率、无法识别口罩的概率、戴白帽子的概率、未戴白帽子的概率、穿白大褂的概率、未穿白大褂的概率。
46.步骤103:获取网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果。
47.需要说明的是,针对口罩着装类型,可以将口罩识别结果中最大概率对应的属性作为其分类属性,针对白帽子着装类型,将白帽子识别结果中最大概率对应的属性作为其分类属性,针对白大褂着装类型,间白大褂识别结果中最大概率对应的属性作为其分类属性。
48.至此,完成上述图1所示识别流程,通过利用实时的监控画面对目标用户(如熟食店经营者)的着装属性进行智能监管,可以做到长时间不间断,而且节省了大量的人力成本。在利用网络模型对从监控画面裁剪出的人体图像进行着装识别过程中,为了获得更加精确的识别结果,通过将人体的头部特征和躯体特征区分开来分别进行识别,在识别白帽子和口罩时,只使用头部特征,在识别白大褂时,只使用躯体特征,避免了其他区域特征的干扰。
49.图3为本发明根据一示例性实施例示出的一种模型训练方法的实施例流程图,本实施例的训练方法用于对上述图2所示的网络模型的训练,如图3所示,该模型训练方法包括如下步骤:
50.步骤301:获取多帧包含目标用户的训练图像,并为每帧训练图像建立标签向量,所述标签向量包括戴白帽子、未戴白帽子、戴口罩、未戴口罩、无法识别口罩、穿白大褂、未穿白大褂7个属性分量。
51.在本实施例中,针对为训练图像建立标签向量的过程,假设用0表示训练图像不具有该分量属性,用1表示训练图像具有该分量属性。比如,当训练图像中的经营者穿了白大褂,未戴白帽子,未戴口罩时,其对应的标签向量为[1,0,0,1,0,1,0]。
[0052]
也就是说,每一类着装属性的分量只有一个为1,其余为0。即经营者只能处于穿白大褂或者未穿白大褂两种状态之一,对口罩和白帽子也是同理。
[0053]
步骤302:利用所述多帧训练图像对预先构建的网络模型进行训练,并在训练过程中,将网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果与对应的标签向量计算差异损失,并采用梯度下降法根据所述差异损失对网络模型的参数进行优化。
[0054]
其中,由上述步骤102所述,本发明对每一类着装属性均单独进行softmax归一化操作。因此,在训练时,可以将每一类着装属性的softmax归一化之后的属性分量与真实的
标签向量计算交叉熵(cross entropy)损失。交叉熵损失的定义如下:
[0055][0056]
其中,y
i
为第i个属性分量的标签值,z
i
为网络模型预测输出的第i个属性分量对应的概率值,i的取值从1到7。
[0057]
具体的,构建的网络模型结构如上述图2所示,在训练时,可以根据由训练图像组成的数据集的大小和是否采用预训练模型设置网络训练的超参数,包括批大小、学习率等。使用上述提出的损失函数计算网络模型的输出误差,使得网络的输出尽可能地接近标签向量,从而实现最小的分类误差,进而提取图像的有区分性的特征。
[0058]
至此,完成上述图3所示的训练流程,通过使用该训练流程训练得到的网络模型,可以准确识别监控图像中的目标用户是否佩戴白帽子、是否戴口罩以及是否穿白大褂。
[0059]
与前述目标用户着装属性识别方法的实施例相对应,本发明还提供了目标用户着装属性识别装置的实施例。
[0060]
图4为本发明根据一示例性实施例示出的一种目标用户着装属性识别装置的实施例流程图,如图4所示,所述目标用户着装属性识别装置包括:
[0061]
裁剪模块410,用于从监控图像中裁剪出人体区域对应的人体图像;
[0062]
识别模块420,用于将所述人体图像输入已训练的网络模型中,以由所述网络模型中的特征提取网络提取所述人体图像的头部特征和躯体特征,并将所述头部特征输入所述网络模型中的第一识别网络和第二识别网络,将所述躯体特征输入所述网络模型中的第三识别网络,所述第一识别网络根据头部特征识别目标用户是否佩戴口罩,所述第二识别网络根据头部特征识别目标用户是否戴白帽子,所述第三识别网络根据躯体特征识别目标用户是否穿白大褂;
[0063]
结果获取模块430,用于获取所述网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果。
[0064]
在一可选实现方式中,所述裁剪模块410,具体用于获取摄像头采集的目标场景的监控图像;在所述监控图像中检测出人体区域;从所述监控图像中裁剪出所述人体区域对应的人体图像。
[0065]
在一可选实现方式中,所述识别模块420,具体用于在特征提取网络提取所述人体图像的头部特征和躯体特征过程中,通过所述特征提取网络中的特征提取模块提取所述人体图像的全局身体特征,并按照预设的身体比例分布对所述全局身体特征进行切分,并将切分得到的头部特征和躯体特征输入所述特征提取网络中的全局平均池化层;所述全局平均池化层对所述头部特征和所述躯体特征分别进行全局平均池化处理。
[0066]
在一可选实现方式中,所述识别模块420,具体用于在第一识别网络根据头部特征识别目标用户是否佩戴口罩过程中,所述第一识别网络中的分类层根据所述头部特征计算目标用户佩戴口罩的第一属性值、未佩戴口罩的第二属性值和无法识别口罩的第三属性值并输出给第一识别网络中的softmax层;所述softmax层将第一属性值、第二属性值和第三属性值转化为概率分布并作为口罩识别结果。
[0067]
在一可选实现方式中,所述识别模块420,具体用于在第二识别网络根据头部特征识别目标用户是否戴白帽子过程中,所述第二识别网络中的分类层根据所述头部特征计算
目标用户戴白帽子的第四属性值和未戴白帽子的第五属性值并输出给第二识别网络中的softmax层;所述softmax层将第四属性值和第五属性值转化为概率分布并作为白帽子识别结果。
[0068]
在一可选实现方式中,所述识别模块420,具体用于在第三识别网络根据躯体特征识别目标用户是否穿白大褂过程中,所述第三识别网络中的分类层根据所述躯体特征计算目标用户穿白大褂的第六属性值和未穿白大褂的第七属性值并输出给第三识别网络中的softmax层;所述softmax层将第六属性值和第七属性值转化为概率分布并作为白大褂识别结果。
[0069]
在一可选实现方式中,所述装置还包括(图4中未示出):
[0070]
模型训练模块,用于获取多帧包含目标用户的训练图像,并为每帧训练图像建立标签向量,所述标签向量包括戴白帽子、未戴白帽子、戴口罩、未戴口罩、无法识别口罩、穿白大褂、未穿白大褂7个属性分量;利用所述多帧训练图像对预先构建的网络模型进行训练;在训练过程中,将所述网络模型输出的口罩识别结果、白帽子识别结果和白大褂识别结果与对应的标签向量计算差异损失,并采用梯度下降法根据所述差异损失对所述网络模型的参数进行优化。
[0071]
在一可选实现方式中,所述模型训练模块,具体用于在获取多帧包含目标用户的训练图像过程中,从摄像头采集的目标场景的监控视频中抽帧获得多帧监控图像;针对每帧监控图像,在该监控图像中检测出人体区域,并从该监控图像中裁剪出所述人体区域对应的人体图像作为包含目标用户的训练图像。
[0072]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0073]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0074]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0075]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0076]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。