一种网络模型的训练方法及图像处理方法与流程

文档序号:33647204发布日期:2023-03-29 05:00阅读:25来源:国知局
一种网络模型的训练方法及图像处理方法与流程

1.本技术涉及计算机视觉技术领域,尤其涉及一种网络模型的训练方法及图像处理方法。


背景技术:

2.人脸属性包括年龄、性别等,基于人脸图像进行深度学习推理可获得较好的结果。属性识别模型训练中,大多基于人工标注的标签作为监督信号训练,比如人员年龄信息。但是人工标签的可靠性具有局限性,不同标注人员的感知差异、图片自身的干扰因素等,都会导致标签信息与实际值偏差较大。另一方面,在非配合式场景下,图像会受到自然环境(光照、遮挡)和人员自身(角度、遮挡)的干扰(后文统称为环境干扰),导致面部并不清晰,从而出现偏差较大的预测结果。在训练过程中由于图像中的环境干扰可能会出现很大的损失值,进而带偏整个模型的训练方向。


技术实现要素:

3.本技术实施例提供了一种网络模型的训练方法即图像处理方法,用以提高模型对环境干扰的稳定性。
4.第一方面,本技术实施例提供了一种网络模型训练方法,包括:
5.将第一训练样本集包括的n个图像分别输入待训练的网络模型,通过所述待训练的网络模型对所述n个图像进行人脸属性识别,得到n个预测年龄值和n个预测性别值;所述第一训练样本集中的n个图像具有相同的年龄标签值和性别标签值;根据所述n个预测年龄值与所述年龄标签值确定第一损失值和第一标准差损失值,并根据所述第一损失值和第一标准差损失值确定第一总损失值;根据所述n个预测性别值与所述性别标签值确定第二损失值和第二标准差损失值,并根据所述第二损失值和第二标准差损失值确定第二总损失值;根据所述第一总损失值和所述第二总损失值对所述待训练的网络模型的网络参数进行调整,以得到已训练的网络模型。
6.基于上述方案,本技术在计算损失值时,引入了标准差损失值,通过损失值和标准差损失值的加权和作为总损失值对网络参数进行调整,可以拉近不同环境干扰下预测值波动差值,以提高模型抗环境干扰能力。
7.一种可能的实现方式中,所述根据所述n个预测年龄值与所述年龄标签值确定第一标准差损失值,包括:
8.根据所述n个预测年龄值与所述年龄标签值确定第一标准差;
9.当所述第一标准差大于第一设定标准差阈值时,将所述第一标准差与所述第一设定标准差阈值的差作为第一标准差损失值;或,
10.当所述第一标准差小于或等于所述第一标准差阈值时,将第一设定值作为所述第一标准差损失值;
11.根据所述n个预测性别值与所述性别标签值确定第二标准差损失值,包括:
12.根据所述n个预测性别值与所述性别标签值确定第二标准差;
13.当所述第二标准差大于第二设定标准差阈值时,将所述第二标准差与所述第二设定标准差阈值的差作为第二标准差损失值;或,
14.当所述第二标准差小于或等于所述第二标准差阈值时,将第二设定值作为所述第二标准差损失值。
15.基于上述方案,通过设置标准差损失值,可以对环境干扰进行针对性控制,通过设置设定标准差阈值,可以防止模型无限向零拟合时产生过拟合。
16.一种可能的实现方式中,通过如下方式获得所述第一训练样本集:
17.获取m个图像,以及所述m个图像中每个图像对应的年龄值、年龄置信度、性别值和性别置信度以及质量分数,所述m个图像为设定时长内不同场景下同一人的图像;
18.从所述m个图像中选择满足设定条件的n个图像,并基于所述n个图像生成第一训练样本集;所述设定条件包括:图像的年龄置信度大于或等于第一阈值,且图像的性别置信度大于或等于第二阈值,且图像的质量分数大于或等于第三阈值;
19.根据所述n个图像的年龄值和性别值,确定所述第一训练样本集中n个图像的年龄标签值和性别标签值。
20.一种可能的实现方式中,所述根据所述n个图像的年龄值和性别值,确定所述第一训练样本集中n个图像的年龄标签值和性别标签值,包括:
21.从所述n个图像对应的n个年龄值中,选择在设定年龄范围之内的多个年龄值;
22.将所述多个年龄值中出现频次最高的年龄值,作为所述第一训练样本集中n个图像的年龄标签值;
23.将所述n个图像中出现频次最高的性别值,作为所述第一训练样本集中n个图像的性别标签值。
24.基于上述方案,通过多重质量控制,确保得到的第一训练样本集中的标签值具有可靠性,进而防止训练出现偏差。
25.一种可能的实现方式中,所述设定年龄范围通过如下方式确定:
26.计算所述n个年龄值的年龄均值和标准差;
27.根据所述年龄均值和所述标准差确定所述设定年龄范围。
28.一种可能的实现方式中,所述n个图像中包括质量分数小于第一质量阈值l个第一图像,所述根据n个预测年龄值与所述年龄标签值确定第一损失值,包括:针对每个第一图像,当所述待训练的网络模型输出的所述第一图像的预测年龄值与所述第一图像的年龄标签值之间的差值大于第一设定偏差值时,根据所述第一图像的年龄标签值、所述预测年龄值和所述第一设定偏差值,确定所述第一图像的第一预测年龄值;或,当所述第一图像的预测年龄值与所述第一图像的年龄标签值之间的差值小于或等于第一设定偏差值时,将所述第一图像的预测年龄值作为第一预测年龄值;根据所述l个第一图像的第一预测年龄值、n-l个图像的所述预测年龄值以及所述年龄标签值确定第一损失值。
29.一种可能的实现方式中,通过如下方式确定第一标准差:
30.将所述待训练的网络模型确定的n个预测年龄值进行排序并取中位数作为第一值;针对每个第一图像,当所述第一图像的预测年龄值与所述第一值之间的差值大于所述第二设定偏差值时,根据所述第一值、所述年龄标签值以及所述第二设定偏差值确定第二
值;或,当第一图像的预测年龄值与所述第一值之间的差值小于或等于所述第二设定偏差值时,将所述第一图像的预测年龄值作为第二值;根据所述n-l个预测年龄值、l个第二值以及所述年龄标签值确定所述第一标准差。
31.通过上述方案,当低质量图像输入网络模型后,当确定预测值与标签值距离过大时,可以根据设定偏差值和标签值修改预测值,进而通过修改后的预测值确定损失计算,可以减小第珠子亮样本带来的噪声性偏置。
32.第二方面,本技术是实施例提供了一种图像处理方法,包括:获取待处理图像;将所述待处理图像输入网络模型中,通过所述网络模型对所述待处理图像进行人脸属性识别,以获得所述待处理图像中人脸对应的年龄值和性别值,所述网络模型是通过第一方面以及第一方面不同实现方式所述的网络模型的训练方法进行训练后获得的。
33.第三方面,本技术实施例提供了一种网络模型训练装置,包括:
34.输入模块,用于将第一训练样本集包括的n个图像分别输入待训练的网络模型,通过所述待训练的网络模型对所述n个图像进行人脸属性识别,得到n个预测年龄值和n个预测性别值;所述第一训练样本集中的n个图像具有相同的年龄标签值和性别标签值;
35.确定模块,用于根据所述n个预测年龄值与所述年龄标签值确定第一损失值和第一标准差损失值,并根据所述第一损失值和第一标准差损失值确定第一总损失值;
36.根据所述n个预测性别值与所述性别标签值确定第二损失值和第二标准差损失值,并根据所述第二损失值和第二标准差损失值确定第二总损失值;
37.调整模块,用于根据所述第一总损失值和所述第二总损失值对所述待训练的网络模型的网络参数进行调整,以得到已训练的网络模型。
38.第四方面,本技术实施例提供了一种执行设备,包括:
39.存储器,用于存储程序指令;
40.处理器,用于获取所述存储器存储的程序指令,并按照获得的所述程序指令执行第一方面、第二方面以及第一方面不同实现方式所述的方法。
41.第五方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要第一方面、第二方面以及第一方面不同实现方式所述的方法。
42.第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面以及第一方面不同实现方式所带来的技术效果,此处不再赘述。
附图说明
43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
44.图1a为本技术实施例提供的一种应用场景示意图;
45.图1b为本技术实施例提供的一种服务器结构示意图;
46.图2为本技术实施例提供的一种网络模型的训练方法的流程示意图;
47.图3为本技术实施例提供的一种图像处理方法的流程示意图;
48.图4为本技术实施例提供的一种网络模型的训练装置的示意图;
49.图5为本技术实施例提供的一种执行设备的示意图。
具体实施方式
50.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
51.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
53.人脸属性包括年龄、性别等,基于人脸图像进行深度学习推理可获得较好的结果。属性识别模型训练中,大多基于人工标注的标签作为监督信号训练,例如人员年龄信息。但是人工标签的可靠性具有局限性,不同标注人员的感知差异、图片自身的干扰因素等,都会导致标签信息与实际值偏差较大。另一方面,在非配合式场景下,图像会受到自然环境(光照、遮挡)和人员自身(角度、遮挡)的干扰(后文统称为环境干扰),导致面部并不清晰,从而出现偏差较大的预测结果。在训练过程中由于图像中的环境干扰可能会出现很大的损失值,进而带偏整个模型的训练方向。
54.为了解决上述问题,本技术提供了一种网络模型的训练方法及图像处理方法,在训练过程中引入了标准差损失值,通过基本损失值和标准差损失值融合的方式,直接拉近不同环境干扰下预测值波动差值,以提高模型对环境干扰的稳定性。
55.下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
56.本技术实施例提供的图像处理方法可以通过执行设备实现。一些实施例中,执行设备可以是电子设备,电子设备可以由一个或多个服务器来实现,图1a以一个服务器100为例。参考图1a所示,其为本技术实施例提供的一种可能的应用场景示意图,包括服务器100和采集设备200。服务器100可以通过实体服务器实现,也可以通过虚拟服务器实现。服务器可以通过单个服务器实现,可以通过多个服务器组成的服务器集群实现,可以通过单个服务器或者服务器集群来实现本技术提供的图像处理方法。采集设备200为具有图像采集功能的设备,包括电警设备、电子监控设备、监控摄像头、录像机、具有采集视频功能的终端设备(如笔记本、计算机、手机、电视)等。采集设备200可以通过网络将采集的待处理图像发送至服务器100。可选地,服务器100可以与终端设备300相连,接收终端设备300发送的图像处
理任务,并根据接收到的由采集设备200发送的待处理图像进行图像处理。一些场景中,服务器100可以将图像处理结果发送给终端设备300。终端设备300可为电视、手机、平板电脑和个人计算机等等。一些实施例中,当采集设备200采集到图像后,可以将采集到的图像发送到服务器上,通过服务器对图像进行图像解析和人像聚集,以得到多个图像并保存为图像档案。每个图像档案中包括同一人在设定时间内不同场景下的人脸图像。一些场景中,图像档案中还包括图像的人脸属性、置信度和质量分数。服务器100可以通过多个图像档案对网络模型进行训练,以实现网络模型的训练方法。
57.作为一种举例,参见图1b所示,服务器100可以包括处理器110、通信接口120和存储器130。当然服务器100中还可以包括其它的组件,图1b中未示出。
58.通信接口120用于与采集设备200、终端设备300进行通信,用于接收采集设备200发送的待处理图像,或者接收终端设备300发送的图像处理任务,或者向终端设备300发送图像处理结果。
59.在本技术实施例中,处理器110可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
60.处理器110是服务器100的控制中心,利用各种接口和路线连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。处理器110,例如可以是处理器、微处理器、控制器等控制组件,例如可以是通用中央处理器(central processing unit,cpu),通用处理器,数字信号处理(digital signal processing,dsp),专用集成电路(application specific integrated circuits,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
61.存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。存储器130作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器130可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器130是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器130还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
62.另一些实施例中,执行设备可以是终端设备。一些场景中,当终端设备可以接收采
集设备发送的待处理图像,根据待处理图像进行图像处理,以获得待处理图像的年龄值和性别值。终端设备上可以包括显示装置,显示装置可以是液晶显示器、有机发光半导体(organic light-emitting diode,oled)显示器、投影显示设备等,本技术对此不作具体限定。
63.需要说明的是,上述图1a和图1b所示的结构仅是一种示例,本技术实施例对此不做限定。
64.本技术实施例提供了一种网络模型的训练方法,图2示例性地示出了网络模型的训练方法的流程,该流程可通过网络模型的训练装置执行,该装置可以位于如图1b所示的服务器100内,比如可以是处理器110,也可以是服务器100。具体流程如下:
65.201,将第一训练样本集包括的n个图像分别输入待训练的网络模型,通过待训练的网络模型对n个图像进行人脸属性识别,得到n个预测年龄值和n个预测性别值。
66.一些实施例中,可以通过如下方式获得第一训练样本集:获取m个图像,以及m个图像中每个图像对应的年龄值、年龄置信度、性别值和性别置信度以及质量分数,m个图像为设定时长内不同场景下同一人的图像,m个图像可以组成图像档案。一些场景中,可以通过如下方式获得图像档案:获取设定时段内城市级抓拍数据,该抓拍数据为时间跨度不大的数据,以保证该设定时段内人脸属性是不变的。例如,设定时段可以为1个月、3个月等,优选地,为了保证抓拍数据中人脸属性的统一性,设定时段最长不超过半年。通过人脸属性、人脸质量以及人脸识别模型进行解析,得到属性值(年龄、性别)、属性值的置信度、质量分数和人脸识别特征。进一步,根据抓拍时的人脸与头肩、人体、步态等关联信息,使用对应类型的解析算法,对检测到人员的目标提取头肩特征、人体特征、步态特征等。同时,记录抓拍数据的时间信息和抓拍点位信息。
67.在获取到上述信息后,可以基于人脸、头肩、人体、步态等特征和时空信息,进行人像聚类,可将大量低质量人脸图片召回到同一图像档案中。由此,可以获得多个图像档案,每个图像档案内拥有同一人在设定时段内不同场景下的人脸图片。基于城市级海量抓拍数据的聚类处理,能够保证图像档案内图像数据的丰富性,可以远超过人力标注所能达到的量级。
68.一些实施例中,图像档案中可以包括m个图像,进而可以从m个图像中选择满足设定条件的n个图像,并基于n个图像生成第一训练样本集。其中设定条件包括:图像的年龄置信度大于或等于第一阈值,且图像的性别置信度大于或等于第二阈值,且图像的质量分数大于或等于第三阈值。
69.作为一种举例,可以对图像档案内的多个图像进行置信度和质量过滤。例如,年龄置信度阈值为第一阈值,性别置信度阈值为第二阈值,可以根据第一阈值和第二阈值将很不置信的图像排除。例如,假设图像档案原有m个图像,对年龄属性,可以根据第一阈值对图像档案进行过滤,当m个图像中有3个图像的年龄置信度小于第一阈值时,保留m个图像中年龄置信度大于或等于第一阈值的m-3个图像。对性别属性,可以根据第二阈值对图像档案进行过滤,当m-3个图像中有1个图像的年龄置信度小于第二阈值时,保留m-3个图像中年龄置信度大于或等于第二阈值的m-4个图像。进一步地,可以根据图像的质量分数对图像进行过滤,将质量分数小于第三阈值的图像排除,得到质量分数大于或等于第三阈值的n个图像。例如,当m-4个图像中有2个图像的质量分数小于第三阈值时,将m-6个图像作为第一训练样
本集中的图像。
70.一些场景中,还可以设置图像数量阈值,将图像档案经置信度和质量过滤后的图像数量大于图像数量阈值的图像档案作为训练样本集。
71.一些实施例中,第一训练样本集为多个训练样本集中的任一训练样本集。在获取第一训练样本集后,可以根据n个图像的年龄值和性别值,确定第一训练样本集中n个图像的年龄标签值和性别标签值。其中,第一训练样本集中的n个图像具有相同的年龄标签值和性别标签值。一些场景中,可以根据n个图像的年龄值和性别值,确定第一训练样本集中n个图像的年龄标签值和性别标签值,具体可以通过如下方式确定:从n个图像对应的n个年龄值中,选择在设定年龄范围之内的多个年龄值。进而将多个年龄值中出现频次最高的年龄值,作为第一训练样本集中n个图像的年龄标签值。同理,可以将n个图像中出现频次最高的性别值,作为第一训练样本集中n个图像的性别标签值。
72.一些场景中,设定年龄范围可以通过如下方式确定:计算n个年龄值的年龄均值和标准差;根据年龄均值和标准差确定设定年龄范围。作为一种举例,年龄均值可以通过mean表示,标准差可以通过std表示,进而设定年龄范围可以表示为mean
±
std
×
3。
73.202,根据n个预测年龄值与年龄标签值确定第一损失值和第一标准差损失值,并根据第一损失值和第一标准差损失值确定第一总损失值。
74.一些实施例中,可以通过现有损失值的计算方法确定多个损失值,并根据多个损失值确定第一损失值。一些场景中,第一损失值可以为n个损失值的和。另一些场景中,第一损失值可以为n个损失值的平均值。
75.一些实施例中,根据n个预测年龄值与年龄标签值确定第一标准差损失值,具体可以通过如下方式确定:根据n个预测年龄值与年龄标签值确定第一标准差;当第一标准差大于第一设定标准差阈值时,将第一标准差与第一设定标准差阈值的差作为第一标准差损失值。当第一标准差小于或等于第一标准差阈值时,将第一设定值作为第一标准差损失值。其中,第一设定值可以为0。第一标准差满足如下公式所述的条件:
76.loss
std
=max(0,std-l);
77.其中,loss
std
表示第一标准差损失值,std表示第一标准差,l为第一设定标准差阈值。
78.一些实施例中,可以将第一损失值和第一标准差损失值的加权和作为第一总损失值,或者将第一损失值和第一标准差损失值的平均值作为第一总损失值。一些场景中,第一总损失值满足如下公式所示的条件:
79.loss=loss
basic

·
loss
std

80.其中,loss表示第一总损失值,loss
basic
表示第一损失值,β表示超参数。
81.203,根据n个预测性别值与性别标签值确定第二损失值和第二标准差损失值,并根据第二损失值和第二标准差损失值确定第二总损失值。
82.一些实施例中,根据n个预测性别值与性别标签值确定第二标准差损失值,可以通过如下方式确定:根据n个预测性别值与性别标签值确定第二标准差;当第二标准差大于第二设定标准差阈值时,将第二标准差与第二设定标准差阈值的差作为第二标准差损失值。当第二标准差小于或等于第二标准差阈值时,将第二设定值作为第二标准差损失值。其中,第二设定值可以为0。
83.一些实施例中,确定第二总损失值的方法与确定第一损失值的方法一致,此处不再举例说明。
84.204,根据第一总损失值和第二总损失值对待训练的网络模型的网络参数进行调整,以得到已训练的网络模型。
85.基于上述方案,通过基本损失值和标准差损失值融合的方式,基本损失值保证模型基本效果不退化,标准差损失值可以拉近不同环境干扰下预测数据的分布,促进模型抗干扰能力而不必管具体预测值,只管分布偏差量,以提高训练网络模型对环境干扰的稳定性。
86.一些实施例中,n个图像中包括质量分数小于第一质量阈值的l个第一图像,根据n个预测年龄值与年龄标签值确定第一损失值,可以通过如下方式确定:针对每个第一图像,当待训练的网络模型输出的第一图像的预测年龄值与第一图像的年龄标签值之间的差值大于第一设定偏差值时,根据第一图像的年龄标签值、预测年龄值和第一设定偏差值,确定第一图像的第一预测年龄值。
87.具体地,第一图像的第一预测年龄值满足如下公式所示的条件:s=label+h或s=label-h,label表示标签值,h表示第一设定偏差值,s表示第一图像的第一预测年龄值。其中,s取值为距离预测年龄值距离较近的值。作为一种举例,当确定预测年龄值为24,第一图像的年龄标签值为30,且第一设定偏差为4岁时,s取值为26或34。由于预测年龄为24,因此第一预测年龄s取值为26。
88.一些实施例中,当第一图像的预测年龄值与第一图像的年龄标签值之间的差值小于或等于第一设定偏差值时,将第一图像的预测年龄值作为第一预测年龄值。
89.进一步地,可以根据l个第一图像的第一预测年龄值、n-l个图像的预测年龄值以及年龄标签值确定第一损失值。
90.一些实施例中,还可以通过如下方式确定第一标准差:将待训练的网络模型确定的n个预测年龄值进行排序并取中位数作为第一值;针对每个第一图像,当第一图像的预测年龄值与第一值之间的差值大于第二设定偏差值时,根据第一值、年龄标签值以及第二设定偏差值确定第二值。作为一种举例,第一值可以表示为median,第二设定偏差值可以表示为a,当第一图像的预测年龄值与第一值之间的差值大于第二设定偏差值时,则第二值满足如下公式所示的条件:x=median+a或x=median-a,a表示第一设定偏差值,x表示第二值。其中,x取值为距离预测年龄值距离较近的值。作为一种举例,当确定预测年龄值为30,n个预测年龄值的中位数即第一值为25,且第二设定偏差为4岁时,x取值为29或21。由于预测年龄为30,因此第二值x取值为29。
91.一些实施例中,当第一图像的预测年龄值与第一值之间的差值小于或等于第二设定偏差值时,将第一图像的预测年龄值作为第二值;根据n-l个预测年龄值、l个第二值以及年龄标签值确定第一标准差。一些场景中,第一标准差满足如下公式所示的条件:
[0092][0093]
其中,std表示第一标准差,x表示年龄标签值,当图像为质量分数小于第一质量阈
值的第一图像时,xi取值为第二值,当图像为质量分数大于或等于第一质量阈值的图像时,xi取值为预测年龄值。
[0094]
一些实施例中,对于预测性别值来说,也可以设置设定偏差值,该设定偏差值可以设置为1。预测性别值可以为0或1,当预测性别值与标签值的距离大于设定偏差值时,可以根据确定第一损失值和第一标准差的方式确定第二损失值和第二标准差。
[0095]
一些实施例中,当网络模型每训练一定轮数时,可以使用测试集进行测试。一些场景中,多个图像档案可以分别作为测试集和训练样本集。对于测试集,可以按照属性值的有效数据区间,进行等数量分段抽取。例如,年龄值的有效值可以为[0,100]。一些场景中,可以按5岁一个区间,按照代表值,各区间各抽取p个档案数据。并且,尽量使抽取的p个档案在图像数量上也有差异。进一步,排除当中低质量图片,保留有效数据(含离群图像数据,下同)和低置信度数据,作为测试集。其中,离群图像数据为不在年龄范围的图像数据。
[0096]
一些场景中,可以获取测试集数据的标签值信息,并计算测试值相对于档案内属性标签值的差值,计算方式参考标准差,定义为:
[0097][0098]
其中,k表示图像档案内图像数量,value表示测试值,label表示标签值。
[0099]
一些实施例中,对于每次测试,可以计算测试集上测试值距离标签值的平均偏差值和error
std
。预设阈值t,如果测试中发现平均偏差值的绝对值超过t,立即停止训练,回退到基本模型,报告训练失败。对每次测试的error
std
,预设阈值e和轮数i,对超过i的轮数,测试时发现error
std
大于e,也立即停止训练回退。一些场景中,可以监控error
std
值,计算其移动平均值,当移动平均值收敛到预设的阈值,即可停止训练。其中,上次训练结束的模型即为下一次的基本模型。
[0100]
基于相同的技术构思,本技术实施例提供一种图像处理方法,图3示例性地示出了图像处理方法的流程,该流程可通过图像处理装置执行,该装置可以位于如图1b所示的服务器100内,比如可以是处理器110,也可以是服务器100。图像处理装置也可以位于终端设备中。具体流程如下:
[0101]
301,获取待处理图像。
[0102]
一些实施例中,待处理图像为采集设备采集的图像帧。采集设备可以是电警设备、电子监控设备、监控摄像头、录像机、具有采集视频功能的终端设备(如笔记本、计算机、手机、电视)等。
[0103]
示例性地,采集设备采集视频帧后,服务器从采集设备获取待处理图像。
[0104]
一些实施例中,服务器接收采集设备发送的视频文件,视频文件中包括该待处理图像。该视频文件可以是视频的编码文件。从而服务器可以对接收到的视频文件进行解码得到待处理图像。对视频进行编码可以有效的缩小视频文件的文件大小,便于传输。从而,能够提高视频的传输速度,以提高后续对视频事件进行确认的效率。获取编码后的码流数据的方式可以是任意适用的方式,包括但不限于:实时流传输协议(real time streaming protocol,rtsp)、开放型网络视频接口论坛(open network videointerface forum,
onvif)标准或私有协议方式等。
[0105]
302,将待处理图像输入网络模型中,通过网络模型对待处理图像进行人脸属性识别,以获得待处理图像中人脸对应的年龄值和性别值。
[0106]
基于相同的技术构思,本技术实施例提供了一种网络模型的训练装置400,如图4所示。装置400可以执行上述网络模型的训练方法中的任一步骤,为了避免重复,此处不再赘述。装置400包括输入模块401、确定模块402和调整模块403。
[0107]
输入模块401,用于将第一训练样本集包括的n个图像分别输入待训练的网络模型,通过所述待训练的网络模型对所述n个图像进行人脸属性识别,得到n个预测年龄值和n个预测性别值;所述第一训练样本集中的n个图像具有相同的年龄标签值和性别标签值;
[0108]
确定模块402,用于根据所述n个预测年龄值与所述年龄标签值确定第一损失值和第一标准差损失值,并根据所述第一损失值和第一标准差损失值确定第一总损失值;
[0109]
根据所述n个预测性别值与所述性别标签值确定第二损失值和第二标准差损失值,并根据所述第二损失值和第二标准差损失值确定第二总损失值;
[0110]
调整模块403,用于根据所述第一总损失值和所述第二总损失值对所述待训练的网络模型的网络参数进行调整,以得到已训练的网络模型。
[0111]
一些实施例中,所述确定模块402,在根据所述n个预测年龄值与所述年龄标签值确定第一标准差损失值时,具体用于:根据所述n个预测年龄值与所述年龄标签值确定第一标准差;当所述第一标准差大于第一设定标准差阈值时,将所述第一标准差与所述第一设定标准差阈值的差作为第一标准差损失值;或,当所述第一标准差小于或等于所述第一标准差阈值时,将第一设定值作为所述第一标准差损失值;
[0112]
所述确定模块402,在根据所述n个预测性别值与所述性别标签值确定第二标准差损失值,具体用于:根据所述n个预测性别值与所述性别标签值确定第二标准差;当所述第二标准差大于第二设定标准差阈值时,将所述第二标准差与所述第二设定标准差阈值的差作为第二标准差损失值;或,当所述第二标准差小于或等于所述第二标准差阈值时,将第二设定值作为所述第二标准差损失值。
[0113]
一些实施例中,所述确定模块402,还用于通过如下方式获得所述第一训练样本集:获取m个图像,以及所述m个图像中每个图像对应的年龄值、年龄置信度、性别值和性别置信度以及质量分数,所述m个图像为设定时长内不同场景下同一人的图像;从所述m个图像中选择满足设定条件的n个图像,并基于所述n个图像生成第一训练样本集;所述设定条件包括:图像的年龄置信度大于或等于第一阈值,且图像的性别置信度大于或等于第二阈值,且图像的质量分数大于或等于第三阈值;根据所述n个图像的年龄值和性别值,确定所述第一训练样本集中n个图像的年龄标签值和性别标签值。
[0114]
一些实施例中,所述确定模块402,在根据所述n个图像的年龄值和性别值,确定所述第一训练样本集中n个图像的年龄标签值和性别标签值时,具体用于:
[0115]
从所述n个图像对应的n个年龄值中,选择在设定年龄范围之内的多个年龄值;将所述多个年龄值中出现频次最高的年龄值,作为所述第一训练样本集中n个图像的年龄标签值;将所述n个图像中出现频次最高的性别值,作为所述第一训练样本集中n个图像的性别标签值。
[0116]
一些实施例中,所述设定年龄范围通过如下方式确定:计算所述n个年龄值的年龄
均值和标准差;根据所述年龄均值和所述标准差确定所述设定年龄范围。
[0117]
一些实施例中,所述n个图像中包括质量分数小于第一质量阈值的l个第一图像,所述确定模块402,在根据n个预测年龄值与所述年龄标签值确定第一损失值时,具体用于:针对每个第一图像,当所述待训练的网络模型输出的所述第一图像的预测年龄值与所述第一图像的年龄标签值之间的差值大于第一设定偏差值时,根据所述第一图像的年龄标签值、所述预测年龄值和所述第一设定偏差值,确定所述第一图像的第一预测年龄值;或,当所述第一图像的预测年龄值与所述第一图像的年龄标签值之间的差值小于或等于第一设定偏差值时,将所述第一图像的预测年龄值作为第一预测年龄值;
[0118]
根据所述l个第一图像的第一预测年龄值、n-l个图像的所述预测年龄值以及所述年龄标签值确定第一损失值。
[0119]
一些实施例中,所述确定模块402,还用于通过如下方式确定第一标准差:将所述待训练的网络模型确定的n个预测年龄值进行排序并取中位数作为第一值;针对每个第一图像,当所述第一图像的预测年龄值与所述第一值之间的差值大于所述第二设定偏差值时,根据所述第一值、所述年龄标签值以及所述第二设定偏差值确定第二值;或,当第一图像的预测年龄值与所述第一值之间的差值小于或等于所述第二设定偏差值时,将所述第一图像的预测年龄值作为第二值;根据所述n-l个预测年龄值、l个第二值以及所述年龄标签值确定所述第一标准差。
[0120]
基于相同的技术构思,本技术实施例提供一种执行设备500,该设备500可以实现前文论述的网络模型的训练方法以及图像处理方法的任一步骤,请参照图5。该装置包括存储器501和处理器502。
[0121]
所述存储器501,用于存储程序指令;
[0122]
所述处理器502,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述网络模型的训练方法或图像处理方法。
[0123]
在本技术实施例中,处理器502可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0124]
存储器501作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器501可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器501还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0125]
基于相同的技术构思,本技术实施例提供一种计算机可读存储介质,包括:计算机
程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如前文论述的网络模型的训练方法或图像处理方法。由于上述计算机可读存储介质解决问题的原理与网络模型的训练方法或图像处理方法相似,因此上述计算机可读存储介质的实施可以参见方法的实施,重复之处不再赘述。
[0126]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0127]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0128]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1