一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种胸围识别方法、装置、电子设备及存储介质与流程

2022-03-01 20:41:46 来源:中国专利 TAG:


1.本技术属于图像处理技术领域,具体涉及一种胸围识别方法、装置、电子设备及存储介质。


背景技术:

2.目前,许多行业需要获得用户的胸围数据,如服装行业需要获得用户的胸围数据,以便为用户推荐合身的服装。而通常采用的手动测量方式效率很低,需要一种自动化且高效地胸围检测方式。
3.当前,相关技术中提供了一种胸围识别方法,该方法需要用户胸部的正面、侧面等多个角度的二维图片。根据这些二维图片,构建出用户胸部的三维模型。然后识别该三维模型的多个特征点,根据这多个特征点的坐标,计算用户胸部的尺寸或型号。
4.但相关技术中需要根据二维图片构建三维模型,处理过程复杂。且若二维图片中用户胸部覆盖有衣物,则检测出的胸围数据与用户的实际胸围数据差别很大,准确率不高。


技术实现要素:

5.本技术提出一种胸围识别方法、装置、电子设备及存储介质,通过大量穿有衣物的胸部图片进行深度学习网络训练,并采用focal loss函数确保训练过程侧重对较难识别的胸部图片进行足够的训练学习。通过训练好的胸部分类网络进行胸围识别,即便穿有衣物也能识别,且对穿有衣物的胸部图片具有很高的识别准确率。
6.本技术第一方面实施例提出了一种胸围识别方法,所述方法包括;
7.获取训练数据集,所述训练数据集包括穿有衣物的胸部图片,所述胸部图片中标注有胸围型号;
8.根据所述训练数据集和focal loss函数,训练胸部分类网络;
9.通过所述胸部分类网络识别待分类的胸部图片对应的胸围型号。
10.在本技术的一些实施例中,所述根据所述训练数据集和focal loss函数,训练胸部分类网络,包括:
11.根据预设深度学习网络对应的批处理数量,从所述训练数据集中获取所述批处理数量的胸部图片;
12.通过所述预设深度学习网络分别对获取的每个胸部图片进行分类处理,得到每个胸部图片对应的分类结果;
13.根据每个胸部图片对应的分类结果,通过focal loss函数分别计算每个胸部图片对应的损失值;
14.若所述每个胸部图片对应的损失值均小于或等于预设阈值,则停止训练,获得训练好的胸部分类网络;
15.若存在损失值大于预设阈值的胸部图片,则根据所述每个胸部图片对应的损失值,更新所述预设深度学习网络的参数,继续训练所述预设深度学习网络。
16.在本技术的一些实施例中,所述通过focal loss函数分别计算每个胸部图片对应的损失值之后,还包括:
17.获取所述预设深度学习网络当前的已训练周期数,若所述已训练周期数大于或等于预设周期数,则执行所述停止训练的操作,获取已训练的每个周期中所述预设深度学习网络对应的分类准确率,将分类准确率最大的周期对应预设深度学习网络及其参数确定为训练好的胸部分类网络;若所述已训练周期数小于预设周期数,则执行所述更新所述预设深度学习网络的参数的操作;或者,
18.统计所述预设深度学习网络当前的分类准确率,若所述分类准确率大于或等于预设概率,则执行所述停止训练的操作;若所述分类准确率小于预设概率,则执行所述更新所述预设深度学习网络的参数的操作。
19.在本技术的一些实施例中,所述通过所述胸部分类网络识别待分类的胸部图片对应的胸围型号,包括:
20.对终端发送的待分类的胸部图片进行预处理;
21.通过所述胸部分类网络对预处理后的胸部图片进行分类,得到所述待分类的胸部图片属于各个胸围型号的概率;
22.将概率最大的胸围型号确定为所述待分类的胸部图片对应的胸围型号。
23.在本技术的一些实施例中,所述对终端发送的待分类的胸部图片进行预处理,包括:
24.将所述待分类的胸部图片中每个像素的像素值均除以预设数值,得到所述待分类的胸部图片对应的归一化图片;
25.根据预设颜色均值和预设颜色标准差,分别对所述归一化图片的每个颜色通道进行标准化处理,得到所述待分类的胸部图片对应的标准化图片。
26.在本技术的一些实施例中,所述对终端发送的待分类的胸部图片进行预处理之前,还包括:
27.接收终端发送的用户图片;
28.检测所述用户图片中是否包含胸部图片;
29.若所述用户图片中包含胸部图片,且确定出胸部图片的面积在所述用户图片中所占的比例大于或等于预设比值,则将所述用户图片确定为待分类的胸部图片;
30.若所述用户图片中包含胸部图片,且确定出胸部图片的面积在所述用户图片中所占的比例小于预设比值,则从所述用户图片中截取出胸部图片,将截取的胸部图片确定为待分类的胸部图片;
31.若检测出所述用户图片中不包含胸部图片,则发送错误提示信息给终端。
32.在本技术的一些实施例中,所述胸部分类网络包括升维卷积层、深度可分离卷积层和残差结构层,所述升维卷积层包括预设数目个1
×
1的卷积核。
33.本技术第二方面的实施例提供了一种胸围识别装置,所述装置包括;
34.获取模块,用于获取训练数据集,所述训练数据集包括穿有衣物的胸部图片,所述胸部图片中标注有胸围型号;
35.训练模块,用于根据所述训练数据集和focal loss函数,训练胸部分类网络;
36.识别模块,用于通过所述胸部分类网络识别待分类的胸部图片对应的胸围型号。
37.本技术第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
38.本技术第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
39.本技术实施例中提供的技术方案,至少具有如下技术效果或优点:
40.本技术实施例通过大量穿有衣物的胸部图片进行深度学习网络训练,并采用focal loss函数确保训练过程侧重对较难识别的胸部图片进行足够的训练学习。通过训练好的胸部分类网络,能够快速给终端返回识别结果,缩短响应时间。而且即便穿有衣物也能够进行胸围识别,且对穿有衣物的胸部图片具有很高的识别准确率。
41.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本技术的实践了解到。
附图说明
42.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
43.图1示出了本技术一实施例所提供的一种胸围识别方法的流程图;
44.图2示出了本技术一实施例所提供的深度可分离卷积模块的结构示意图;
45.图3示出了本技术一实施例所提供的残差模块的结构示意图;
46.图4示出了本技术一实施例所提供的胸部分类网络的结构示意图;
47.图5示出了本技术一实施例所提供的胸围识别的过程示意图;
48.图6示出了本技术另一实施例所提供的一种胸围识别装置的结构示意图;
49.图7示出了本技术一实施例所提供的一种电子设备的结构示意图;
50.图8示出了本技术一实施例所提供的一种存储介质的示意图。
具体实施方式
51.下面将参照附图更详细地描述本技术的示例性实施方式。虽然附图中显示了本技术的示例性实施方式,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
52.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
53.下面结合附图来描述本技术实施例提出的一种胸围识别方法、装置、电子设备及存储介质。
54.在服装、医学、隆胸美体等领域都需要获取用户的胸围型号,胸围型号可以分为a、b、c、d和e等。相关技术中通常采用手动方式来测量用户的胸围型号,但手动测量效率很低,而且无法满足远程检测胸围型号的场景需求。随着技术的发展,相关技术中又出现了一种自动化的胸围识别方案,该方案根据用户提供的胸部的正面、侧面等多个角度的二维图片,
构建出用户胸部的三维模型。然后识别该三维模型的多个特征点,根据这多个特征点的坐标,计算用户的胸围型号。但先构建三维模型的处理过程复杂,无法直接对二维图片进行处理得到胸围型号,且若用户提供的图片中胸部覆盖有衣物,检测出的胸围型号与用户的实际胸围型号差别很大,准确率不高。
55.基于此,本技术实施例提供了一种胸围识别方法,该方法通过深度学习网络对大量胸部图片进行训练学习,得到训练好的胸部分类网络。其中,用于训练学习的胸部图片中包括穿有衣物的胸部图片,而且在训练过程中将focal loss函数施加在交叉熵损失上,以focal loss函数作为损失函数,提高了胸部分类网络对穿有衣物的胸部图片的学习力度,增大了胸部分类网络对穿有衣物的胸部图片的分类强度。因此即使穿着比较宽松的衣物也可以使用该胸部分类网络来测量胸围型号,且胸围检测的准确性很高。
56.参见图1,该方法具体包括以下步骤;
57.步骤101:获取训练数据集,该训练数据集包括穿有衣物的胸部图片,该胸部图片中标注有胸围型号。
58.获取大量的胸部图片,获取的胸部图片中可以包括穿有衣物的胸部图片,本技术实施例不限定胸部图片中是否穿有衣物及所穿衣物的多少。由于在基于二维的胸部图片进行胸围识别时,穿有较宽松衣物的胸部图片相比穿有较紧身衣物的胸部图片的识别难度更大,穿有较薄衣物的胸部图片相比穿有较厚衣物的胸部图片的识别难度更大,所以本技术实施例中训练数据集中穿有较宽松衣物的胸部图片及穿有较厚衣物的胸部图片所占的比例,可以大于穿有较紧身衣物的胸部图片及穿有较薄衣物的胸部图片所占的比例。如此可以增大深度学习网络对穿有较宽松衣物或穿有较厚衣物的胸部图片这种困难样本进行更多地训练学习,增加最终训练出的胸部分类网络对困难样本的识别准确性。
59.获取到胸部图片之后,本技术实施例还在胸部图片中标注出该胸部图片对应的胸围型号。然后将标注后的所有胸部图片组成训练数据集。
60.步骤102:根据训练数据集和focal loss,训练胸部分类网络。
61.本技术实施例采用预设深度学习网络来训练胸部分类网络,该预设深度学习网络可以为mobilenet v2、vgg(visual geometry group network,视觉几何群网络)、resnet(residual network,残差网络)、efficientnet等。
62.预设深度学习网络具有批处理数量batch size,每个训练周期预设深度学习网络可以并行处理批处理数量batch size个图片。在当前训练周期,根据预设深度学习网络对应的批处理数量batch size,从训练数据集中获取该批处理数量batch size个胸部图片。通过预设深度学习网络分别对获取的每个胸部图片进行分类处理,得到每个胸部图片对应的分类结果。胸部图片对应的分类结果包括该胸部图片属于各个胸围型号的概率。例如,假设胸围型号划分为a、b、c、d和e五类,预设深度学习网络输出某个胸部图片对应的分类结果为[0.1,0.1,0.1,0.1,0.6],则表示该胸部图片的胸围型号为a、b、c和d的概率均为0.1,该胸部图片的胸围型号为e的概率为0.6。
[0063]
通过上述方式获得每个胸部图片对应的分类结果之后,根据每个胸部图片对应的分类结果,通过公式(1)所示的focal loss函数分别计算每个胸部图片对应的损失值。
[0064][0065]
在公式(1)中,soft max(x)[class]为预设深度学习网络输出的胸部图片对应的分类结果,x为胸围型号,class为胸围型号的标签,loss(x,class)为胸部图片对应的损失值,j为胸围型号的标签class的编号,α
class
为胸围型号的标签class对应的权重,γ常数。
[0066]
focal loss函数能够提高预设深度学习网络对穿有衣物的胸部图片的学习力度。假设训练数据集中某个胸部图片的胸围型号是a,假设预设深度学习网络对该胸部图片进行识别,最终输出softmax(x)[class]为[0.9,0.05,0.05,0.05,0.05]。则预设深度学习网络识别出该胸部图片是a胸围的概率为0.9,说明该胸部图片是一个比较容易识别的样本。因为根据公式(1)所示的focal loss函数,此时loss(x,class)是一个比较小的值,按照梯度下降算法更新预设深度学习网络的参数时参数修改的幅度较小,因此这种比较容易识别的样本对网络优化的贡献不大。但假设预设深度学习对另一穿有衣物的a胸围的胸部图片进行识别输出的softmax(x)[class]为[0.1,0.1,0.1,0.1,0.6]。即该a胸围的胸部图片被预测为a胸围的概率是0.1,说明该胸部图片是比较难识别的样本。因为根据公式(1)所示的focal loss函数,此时loss(x,class)是一个比较大的值,按照梯度下降算法更新预设深度学习网络的参数时参数修改的幅度大,因此这种比较难识别的样本对网络优化的贡献大。
[0067]
因此本技术实施例将focal loss函数应用到胸部分类网络,能够提高预设深度学习网络对穿有衣物的胸部图片的学习力度,通过对大量比较接近的困难样本进行分类,提高训练得到的胸部分类网络对穿有衣物的胸部图片的识别准确率。
[0068]
通过上述公式(1)计算出每个胸部图片对应的损失值之后,分别将每个胸部图片对应的损失值均与预设阈值进行比较,若每个胸部图片对应的损失值均小于或等于预设阈值,则停止训练,将此时的预设深度学习网络确定为训练好的胸部分类网络。若当前训练周期仍存在损失值大于预设阈值的胸部图片,则根据每个胸部图片对应的损失值,按照梯度下降算法更新预设深度学习网络的参数,然后从训练数据集中重新获取批处理数量batch size个胸部图片,根据获取的胸部图片进入下一个训练周期,继续训练预设深度学习网络。
[0069]
在本技术的一些实施例中,通过focal loss函数分别计算每个胸部图片对应的损失值之后,还获取当前训练过程的训练进度数据,通过该训练进度数据来判断训练过程是否可以终止。该训练进度数据可以为当前的已训练周期数,在训练过程中通过计数器对已训练周期数进行计数,每次完成对批处理数量batch size个图片的训练即将已训练周期数加1。在当前周期通过focal loss函数分别计算每个胸部图片对应的损失值之后,获取计数器的计数值,该计数值即为预设深度学习网络当前的已训练周期数,将当前的已训练周期数与预设周期数进行比较,若已训练周期数大于或等于预设周期数,则停止训练,获取已训练的每个周期中预设深度学习网络对应的分类准确率,将分类准确率最大的周期对应预设深度学习网络及其参数确定为训练好的胸部分类网络。若已训练周期数小于预设周期数,
则根据每个胸部图片对应的损失值,按照梯度下降算法更新预设深度学习网络的参数,从训练数据集中重新获取批处理数量batch size个胸部图片,根据获取的胸部图片进入下一个训练周期,继续训练预设深度学习网络。其中,预设周期数可以为200或500等。
[0070]
在本技术的另一些实施例中,训练进度数据还可以为分类准确率,通过预设深度学习网络对当前周期内批处理数量的胸部图片进行训练学习,得到每个胸部图片对应的分类结果之后,对于每个胸部图片,从胸部图片中获取预先标注的胸围型号,判断预先标注的胸围型号是否与预设深度学习网络对该胸部图片分类的胸围型号一致,统计预先标注的胸围型号与预设深度学习网络分类的胸围型号一致的胸部图片的数目,计算该数目与批处理数量的比值,该比值即为当前周期的分类准确率。通过上述方式统计出预设深度学习网络当前的分类准确率之后,将当前的分类准确率与预设概率进行比较,若分类准确率大于或等于预设概率,则停止训练,将此时的预设深度学习网络确定为训练好的胸部分类网络。若分类准确率小于预设概率,则根据每个胸部图片对应的损失值,按照梯度下降算法更新预设深度学习网络的参数,从训练数据集中重新获取批处理数量batch size个胸部图片,根据获取的胸部图片进入下一个训练周期,继续训练预设深度学习网络。其中,预设概率可以为90%或95%等。
[0071]
本技术实施例按照梯度下降算法来更新预设深度学习网络的参数,通过多个训练周期的循环迭代使focal loss函数的损失值达到最小,focal loss函数的损失值达到最小时的预设深度学习网络及其参数,即为最终训练好的胸部分类网络。
[0072]
在本技术实施例中,预设深度学习网络的结构中可以包括升维卷积层、深度可分离卷积层和残差结构层。其中,升维卷积层可以包括预设数目个1
×
1的卷积核,预设数目可以为32、64、128等。本技术实施例并不限定预设数目的具体取值,实际应用中可根据需求来确定。
[0073]
其中,预设深度学习网络可以采用mobilenet v2,mobilenet v2中将深度可分离卷积层与残差结构层相结合,能够压缩整个网络模型的大小,减少计算量。在深度可分离卷积层之前增加升维卷积层,该升维卷积层中设置有预设数目个1
×
1的卷积核,通过这预设数目个1
×
1的卷积核能够增加卷积后生成的特征图的通道数,从而获得更丰富的特征图,有助于提高预设深度学习网络模型的分类准确性。例如,预设数目为64,则向该升维卷积层输入3通道的胸部图片,则经过64个1
×
1的卷积核的卷积处理之后,升维卷积层将输出具有64通道的特征图。
[0074]
采用训练数据集,以focal loss函数作为损失函数,对预设深度学习网络进行训练学习,最终得到的胸部分类网络的结构及参数情况可以如表1所示。表1中k表示胸围型号的分类数,如将胸围型号划分为a、b、c、d和e共5类,则k的取值为5。
[0075]
表1
[0076][0077][0078]
其中,步长为1的block为残差模块,其网络结构如图2所示,该残差模块包括依次连接的第一卷积层、第一深度可分离卷积层、第二卷积层及相加操作层。其中,第一卷积层的卷积核大小为1
×
1,采用的激活函数为relu6(rectified linear units),步长为1,补零为0。第一深度可分离卷积层的卷积核大小为3
×
3,采用的激活函数为relu6,步长为1,补零为1。第二卷积层的卷积核大小为1
×
1,采用的激活函数为linear(线性),步长为1,补零为0。相加操作层用于将第二卷积层的输出结果与该残差模块最初的输入数据进行相加操作。从图2中可以直观地看出残差模块中包括深度可分离卷积层,将深度可分离卷积应用于残差结构中,能够压缩整个网络模型的大小,减少计算量。
[0079]
步长为2的block为深度可分离卷积模块,其网络结构如图3所示,该深度可分离卷积模块包括第三卷积层、第二深度可分离卷积层和第四卷积层。其中,第三卷积层的卷积核大小为1
×
1,采用的激活函数为relu6,步长为1,补零为0。第二深度可分离卷积层的卷积核大小为3
×
3,采用的激活函数为relu6,步长为2,补零为1。第四卷积层的卷积核大小为1
×
1,采用的激活函数为linear,步长为1,补零为0。
[0080]
为了便于更加直观地理解训练出的胸部分类网络的结构,本技术实施例根据表1所示的胸部分类网络的结构及参数,刻画了图4所示的胸部分类网络的结构示意图。如图4所示,该胸部分类网络包括依次连接的第五卷积层、第一残差模块、第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块、第二残差模块、第四深度可分离卷积模块、第三残差模块、第六卷积层、池化层和全连接层。其中,第一残差模块、第二残差模块和第三残差模块的结构均如图2所示,区别仅在于第一残差模块的输入通道的倍增数为1及输出通道数为16,第二残差模块的输入通道的倍增数为6及输出通道数为96,第三残差模块的输入通道的倍增数为6及输出通道数为320。第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块和第四深度可分离卷积模块的结构均如图3所示,区别仅在于第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块和第四深度可分离卷积模块的输出通道数依次为24、32、64、160。其中,第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块、第二残差模块、第四深度可分离卷积模块的重复运行次数依次为2、3、4、3、3。
[0081]
通过上述方式训练出胸部分类网络之后,即可将该胸部分类网络配置在服务器中,以便服务器通过该胸部分类网络处理用户的胸围识别请求。
[0082]
步骤103:通过胸部分类网络识别待分类的胸部图片对应的胸围型号。
[0083]
当用户需要检测胸围型号时,用户可以通过终端的摄像头拍摄包含胸部的图片,用户可以将摄像头对准胸部进行拍摄,也可以将摄像头对准包含胸部的上半身或全身进行拍摄。用户也可以从终端本地图库中选取包含胸部的图片,或者从互联网中搜索包含胸部的图片。
[0084]
用户通过上述任意方式获得包含胸部的图片之后,通过终端发送胸围识别请求给服务器,该胸围识别请求携带终端获得的上述图片。服务器接收终端发送的胸围识别请求,本技术实施例中将胸围识别请求包括的图片称为用户图片。服务器接收到终端发送的用户图片之后,首先需要检测该用户图片中是否包含胸部图片。本技术实施例可以通过目标检测算法yolo(you only look once)、ssd(single shot multibox detector)、faster rcnn(fasterregionconvolutional neural networks,快速区域卷积神经网络)等检测用户图片中是否包含有胸部图片。若检测出用户图片中包含胸部图片,则计算该胸部图片的面积在用户图片中所占的比例,将该比例与预设比值进行比较,若该比例大于或等于预设比值,则将该用户图片直接确定为待分类的胸部图片。若该比例小于预设比值,则从用户图片中截取出胸部图片,将截取的胸部图片确定为待分类的胸部图片。其中,预设比值可以为50%或80%等。
[0085]
若通过目标检测算法检测出终端发送的用户图片中不包含胸部图片,则服务器发送错误提示信息给终端,该错误提示信息用于提示用户图片中未检测到胸部图片。终端接收该错误提示信息,将该错误提示信息展示给用户。用户可以通过终端重新上传一张包含胸部图片的用户图片。
[0086]
在本技术实施例中,为了避免用户上传的图片分辨率太低,影响胸围识别的准确性,服务器中还预先配置了待分类的胸部图片的格式及尺寸下限值,格式可以为rgb(red green blue,红绿蓝)三通道图片。该尺寸下限值可以为128
×
56像素或256
×
112像素等。服务器通过上述方式获得待分类的胸部图片之后,首先判断待分类的胸部图片的格式是否为
rgb三通道图片,以及判断待分类的胸部图片的尺寸是否大于或等于预先配置的尺寸下限值,如果待分类的胸部图片的格式不是rgb三通道图片,和/或,待分类的胸部图片的尺寸小于预先配置的尺寸下限值,则发送尺寸错误的提示信息给终端,终端接收并展示该提示信息,用户可以通过终端重新上传一张符合要求的用户图片。
[0087]
服务器通过上述方式确定出终端发送的待分类的胸部图片之后,首先对待分类的胸部图片进行预处理。具体地,先通过图像处理库opencv将待分类的胸部图片的尺寸调整到预设尺寸,预设尺寸可以为256
×
112像素或256
×
224像素等。然后将待分类的胸部图片中每个像素的像素值均除以预设数值,得到待分类的胸部图片对应的归一化图片。其中预设数值可以为232或255等。之后根据预设颜色均值和预设颜色标准差,分别对归一化图片的每个颜色通道进行标准化处理,得到待分类的胸部图片对应的标准化图片。对待分类的胸部图片进行归一化和标准化处理,能够减少图片数据量,加快计算速度,提高胸围识别效率。
[0088]
预设颜色均值可以为[0.485,0.456,0.406],其中0.485、0.456、0.406分别代表imagenet图片库中红、绿、蓝三个颜色通道的均值,如0.485为imagenet图片库中所有图片中颜色为红色的像素点的像素值的平均值,即imagenet图片库中所有红色像素点的像素值之和与红色像素点的总数目之比。预设颜色标准差可以为[0.229,0.224,0.225],其中0.229、0.224、0.225分别代表imagenet图片库中红、绿、蓝三个颜色通道的标准差,比如0.229为imagenet图片库中所有图片中颜色为红色的像素点的像素值的标准差。
[0089]
对归一化图片的每个颜色通道进行标准化的公式为output=(input-mean)/std。其中,output为标准化后的像素值,input表示归一化后某个通道的像素值,mean表示imagenet图片库对应通道的均值,std表示imagenet图片库对应通道的标准差。例如,假设归一化图片中红色通道的像素值为0.5,那么标准化后的像素值为(0.5-0.485)/0.229=0.065。
[0090]
通过上述方式对待分类的胸部图片进行预处理之后,将待分类的胸部图片输入训练好的胸部分类网络中进行分类,输出待分类的胸部图片对应的分类结果,该分类结果包括待分类的胸部图片属于各个胸围型号的概率。将概率最大的胸围型号确定为待分类的胸部图片对应的胸围型号。然后服务器通过http(超文本传输协议)请求将识别出的待分类的胸部图片的胸围型号发送给终端。
[0091]
为了便于理解对待分类的胸部图片进行胸围识别的过程,下面结合附图进行简要说明。如图5所示的胸围识别过程,对一张穿有衣物的待分类的胸部图片进行图像预处理,然后输入训练好的胸部分类网络中,该胸部分类网络可以为训练好的mobilenet v2分类器。胸部分类网络对待分类的胸部图片进行分类,输出识别结果。
[0092]
本技术实施例通过大量穿有衣物的胸部图片进行深度学习网络训练,并采用focal loss函数确保训练过程侧重对较难识别的胸部图片进行足够的训练学习。通过训练好的胸部分类网络,能够快速给终端返回识别结果,缩短响应时间。而且即便穿有衣物也能够进行胸围识别,且对穿有衣物的胸部图片具有很高的识别准确率。
[0093]
本技术实施例提供了一种胸围识别装置,该装置用于执行上述任一实施例提供的胸围识别方法,参见图6,该装置包括:
[0094]
获取模块601,用于获取训练数据集,训练数据集包括穿有衣物的胸部图片,胸部
图片中标注有胸围型号;
[0095]
训练模块602,用于根据训练数据集和focal loss函数,训练胸部分类网络;
[0096]
识别模块603,用于通过胸部分类网络识别待分类的胸部图片对应的胸围型号。
[0097]
上述训练模块602,具体用于根据预设深度学习网络对应的批处理数量,从训练数据集中获取批处理数量的胸部图片;通过预设深度学习网络分别对获取的每个胸部图片进行分类处理,得到每个胸部图片对应的分类结果;根据每个胸部图片对应的分类结果,通过focal loss函数分别计算每个胸部图片对应的损失值;若每个胸部图片对应的损失值均小于或等于预设阈值,则停止训练,获得训练好的胸部分类网络;若存在损失值大于预设阈值的胸部图片,则根据每个胸部图片对应的损失值,更新预设深度学习网络的参数,继续训练预设深度学习网络。
[0098]
该装置还包括:停止训练判断模块,用于获取预设深度学习网络当前的已训练周期数,若已训练周期数大于或等于预设周期数,则执行停止训练的操作,获取已训练的每个周期中预设深度学习网络对应的分类准确率,将分类准确率最大的周期对应预设深度学习网络及其参数确定为训练好的胸部分类网络;若已训练周期数小于预设周期数,则执行更新预设深度学习网络的参数的操作;或者,用于统计预设深度学习网络当前的分类准确率,若分类准确率大于或等于预设概率,则执行停止训练的操作;若分类准确率小于预设概率,则执行更新预设深度学习网络的参数的操作。
[0099]
识别模块603包括:
[0100]
预处理单元,用于对终端发送的待分类的胸部图片进行预处理;
[0101]
分类单元,用于通过胸部分类网络对预处理后的胸部图片进行分类,得到待分类的胸部图片属于各个胸围型号的概率;
[0102]
确定单元,用于将概率最大的胸围型号确定为待分类的胸部图片对应的胸围型号。
[0103]
预处理单元,具体用于将待分类的胸部图片中每个像素的像素值均除以预设数值,得到待分类的胸部图片对应的归一化图片;根据预设颜色均值和预设颜色标准差,分别对归一化图片的每个颜色通道进行标准化处理,得到待分类的胸部图片对应的标准化图片。
[0104]
该装置还包括:胸部图片检测模块,用于接收终端发送的用户图片;检测用户图片中是否包含胸部图片;若用户图片中包含胸部图片,且确定出胸部图片的面积在用户图片中所占的比例大于或等于预设比值,则将用户图片确定为待分类的胸部图片;若用户图片中包含胸部图片,且确定出胸部图片的面积在用户图片中所占的比例小于预设比值,则从用户图片中截取出胸部图片,将截取的胸部图片确定为待分类的胸部图片;若检测出用户图片中不包含胸部图片,则发送错误提示信息给终端。
[0105]
在本技术实施例中,胸部分类网络包括升维卷积层、深度可分离卷积层和残差结构层,升维卷积层包括预设数目个1
×
1的卷积核。
[0106]
本技术的上述实施例提供的胸围识别装置与本技术实施例提供的胸围识别方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0107]
本技术实施方式还提供一种与前述实施方式所提供的胸围识别方法对应的电子
设备,以执行上胸围识别方法。本技术实施例不做限定。
[0108]
请参考图7,其示出了本技术的一些实施方式所提供的一种电子设备的示意图。如图7所示,所述电子设备2包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本技术前述任一实施方式所提供的胸围识别方法。
[0109]
其中,存储器201可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0110]
总线202可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述胸围识别方法可以应用于处理器200中,或者由处理器200实现。
[0111]
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
[0112]
本技术实施例提供的电子设备与本技术实施例提供的胸围识别方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0113]
本技术实施方式还提供一种与前述实施方式所提供的胸围识别方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的胸围识别方法。
[0114]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0115]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的胸围识别方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0116]
需要说明的是:
[0117]
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本技术也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术的内容,并且上面对特定语言所做的描述是为了披露本技术的最佳实施方式。
[0118]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0119]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0120]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0121]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0122]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0123]
应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未
列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0124]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献