图像处理方法和装置与流程

文档序号:17776212发布日期:2019-05-28 20:11阅读:164来源:国知局
图像处理方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及图像处理方法和装置。



背景技术:

对图像进行处理的神经网络需要大量的样本进行训练,才能拟合出准确的神经网络,以得到准确的处理结果。在相关技术中,训练神经网络通常采用预测到的结果与标注之间的损失值进行训练。



技术实现要素:

本申请实施例提出了图像处理方法和装置。

第一方面,本申请实施例提供了一种图像处理方法,包括:获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置;确定对象位置与对象的位置先验信息的损失值;基于损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在一些实施例中,方法还包括:确定对象位置与图像的标注对象位置的损失值;以及基于损失值,对图像处理网络进行训练,得到训练后的图像处理网络,包括:基于各个损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在一些实施例中,基于各个损失值,对图像处理网络进行训练,包括:确定各个损失值的和,将和在图像处理网络中进行反向传播,以训练图像处理网络。

在一些实施例中,图像处理网络为图像分割网络,对象为人体;将图像输入图像处理网络,得到图像中的对象位置,包括:

将图像输入图像分割网络,利用图像分割网络的卷积层,确定图像的特征图像;基于特征图像,标注人体在图像中所在的区域。

在一些实施例中,人体在图像中所在的区域,包括:人体所在的一个区域,或人体的多个局部区域。

在一些实施例中,在确定对象位置与对象的位置先验信息的损失值之前,方法还包括:获取多个图像,其中,多个图像中的各个图像包含对象;确定多个图像中,对象的平均位置,将平均位置作为位置先验信息。

第二方面,本申请实施例提供了一种图像处理装置,包括:获取单元,被配置成获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置;第一确定单元,被配置成确定对象位置与对象的位置先验信息的损失值;训练单元,被配置成基于损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在一些实施例中,装置还包括:第二确定单元,被配置成确定对象位置与图像的标注对象位置的损失值;以及训练单元包括:训练子单元,被配置成基于各个损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在一些实施例中,训练单元,进一步被配置成:确定各个损失值的和,将和在图像处理网络中进行反向传播,以训练图像处理网络。

在一些实施例中,图像处理网络为图像分割网络,对象为人体;获取单元,进一步被配置成:将图像输入图像分割网络,利用图像分割网络的卷积层,确定图像的特征图像;基于特征图像,标注人体在图像中所在区域。

在一些实施例中,人体在图像中所在区域,包括:人体所在的一个区域,或人体的多个局部区域。

在一些实施例中,装置还包括:图像获取单元,被配置成获取多个图像,其中,多个图像中的各个图像包含对象;先验信息确定单元,被配置成确定多个图像中,对象的平均位置,将平均位置作为位置先验信息。

第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如图像处理方法中任一实施例的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图像处理方法中任一实施例的方法。

本申请实施例提供的图像处理方案,首先,获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置。之后,确定对象位置与对象的位置先验信息的损失值。而后,确定对象位置与图像的标注对象位置的损失值。最后,基于各个损失值,对图像处理网络进行训练,得到训练后的图像处理网络。本申请实施例能够利用位置先验信息来确定损失值,进而利用该损失值进行训练。这样能够丰富图像处理网络的训练方法,有助于训练得到更加准确的图像处理网络。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的图像处理方法的一个实施例的流程图;

图3是根据本申请的图像处理方法的一个应用场景的示意图;

图4是根据本申请的图像处理方法的又一个实施例的流程图;

图5是根据本申请的图像处理装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的图像处理方法或图像处理装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如图像处理应用、视频类应用、直播应用、即时通信工具、邮箱客户端、社交平台软件等。

这里的终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对接收到的图像等数据进行分析等处理,并将处理结果(例如展示了线条的图像)反馈给终端设备。

需要说明的是,本申请实施例所提供的图像处理方法可以由服务器105或者终端设备101、102、103执行,相应地,图像处理装置可以设置于服务器105或者终端设备101、102、103中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的图像处理方法的一个实施例的流程200。该图像处理方法,包括以下步骤:

步骤201,获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置。

在本实施例中,图像处理方法的执行主体(例如图1所示的服务器或终端设备)可以获取图像,图像中包含预设的对象。在这里,预设的对象可以是预先设置的、图像所包含的任意对象。图像中的对象可以理解为图像中所包含的具有某种语义的区域。比如,图像中呈现了一人体,那么,预设的对象可以是该人体的整体或者该人体的某个局部,例如,人脸等等。之后,可以将图像输入图像处理网络,以得到图像处理网络输出的图像中的对象位置。这里的图像处理网络可以是接收输入图像并对图像进行处理,从而确定图像中某对象所在位置的任意的神经网络。比如,图像处理网络可以是图像分割网络,也可以是图像检测网络。图像检测网络可以通过检测关键点的坐标或对象边框的大小、位置来确定所检测的对象所在的位置,比如关键点可以是人体的关键点,比如左手、头发等;或者,关键点还可以是人脸的关键点,比如右眼角、鼻尖等。图像分割网络可以对图像进行区域划分,(人体中)不同的区域以不同的分类标识来表示。相应地,对象位置可以表示为图像中各个区域的分类标识,也可以表示为关键点的坐标或对象边框的大小、位置。

在本实施例的一些可选的实现方式中,图像处理网络为图像分割网络,对象为人体,步骤201可以包括:

将图像输入图像分割网络,利用图像分割网络的卷积层,确定图像的特征图像;基于特征图像,标注人体在图像中所在的区域。

在这些可选的实现方式中,图像处理方法运行于其上的执行主体(例如图1所示的服务器或终端设备)可以将图像输入图像分割网络的卷积层,通过卷积层的卷积过程得到特征图像(featuremap)。之后,通过上述图像分割网络,基于特征图像,来标注出人体在所获取的图像中所在的区域。具体地,可以通过添加标签的方式来确定人体所在的区域,比如对人体所在区域中的各个像素标注为“1”。

这些实现方式可以通过图像分割网络来确定出人体所在的区域,进而准确地确定图像中的人体位置。

在这些实现方式的一些可选的应用场景中,人体在图像中所在的区域,包括:

人体所在的一个区域,或人体的多个局部区域。

在这些可选的应用场景中,人体所在的区域可以是一个整体,用来表示完整的人体。此外,人体所在的区域也可以表示为人体中的多个局部区域,比如,头发、左手等等。可以对这些局部区域分别作出标注,以更加细致地区分人体的各个部分。

这些应用场景可以采用多种方式分割出人体在图像中所在的位置。这样,既可以分割出人体的位置,还可以准确地分割出各个局部的位置。

步骤202,确定对象位置与对象的位置先验信息的损失值。

在本实施例中,上述执行主体可以确定所得到的对象位置与该对象的位置先验信息的损失值。具体地,可以将所得到的对象位置以及位置先验信息输入预设的损失函数,以确定损失值。具体地,位置先验信息为通过其他包含上述对象的图像,所确定的对象位置。上述其他图像与本实施例中包含预设对象的图像的尺寸可以是相同的,其中的每个图像中的该预设对象的大小是一致的或者差值小于阈值。这里的大小可以是某一个或者几个方向的长度,比如竖直方向的对象的高度,水平方向的对象的宽度。此外,对象的大小也可以指面积等等。对象所在的位置可以处于图像的指定的位置,比如中心位置。这里的处于中心位置例如可以理解为,预设对象的几何中心与图像的中心重合。

在本实施例的一些可选的实现方式中,在步骤202之前,该方法还包括:

获取多个图像,多个图像中的各个图像包含上述预设的对象;确定多个图像中,对象的平均位置,将平均位置作为位置先验信息。

在这些可选的实现方式中,上述执行主体可以获取多个包含上述预设的对象的图像,并确定出这些图像中对象的平均位置,继而将平均位置作为位置先验信息。具体地,可以确定上述预设对象在图像中所在区域的坐标的平均值,并将该平均值作为平均位置。

这些实现方式可以利用多个图像确定出更加准确的位置先验信息,以避免通过单一图像确定先验信息造成的偏差。

步骤203,基于上述损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在本实施例中,上述执行主体可以基于上述损失值,对图像处理网络进行训练,以得到训练后的图像处理网络。具体地,上述执行主体可以采用各种方式基于损失值进行训练。比如,可以将损失值在图像处理网络中进行反向传播,以训练上述图像处理网络。

继续参见图3,图3是根据本实施例的图像处理方法的应用场景的一个示意图。在图3的应用场景中,执行主体301可以获取包含预设的对象的图像302,将图像输入图像处理网络,得到图像中的对象位置303,其中,图像处理网络用于在图像中确定对象的位置。确定对象位置与对象的位置先验信息的损失值304。基于损失值,对图像处理网络进行训练,得到训练后的图像处理网络305。

本申请的上述实施例提供的方法能够利用位置先验信息来确定损失值,进而利用该损失值进行训练。这样能够丰富图像处理网络的训练方法,有助于训练得到更加准确的图像处理网络。

进一步参考图4,其示出了图像处理方法的又一个实施例的流程400。本实施例中的图像处理网络为图像分割网络,对象为人体。该图像处理方法的流程400,包括以下步骤:

步骤401,获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置。

在本实施例中,图像处理方法的执行主体(例如图1所示的服务器或终端设备)可以获取图像,图像中包含预设的对象。之后,可以将图像输入图像处理网络,以得到图像处理网络输出的图像中的对象位置。这里的图像处理网络可以是输入图像,对图像进行处理,以确定图像中某对象所在位置的任意的神经网络。

步骤402,确定对象位置与对象的位置先验信息的损失值。

在本实施例中,上述执行主体可以确定所得到的对象位置与该对象的位置先验信息的损失值。具体地,可以将所得到的对象位置以及位置先验信息输入预设的损失函数,以确定损失值。具体地,位置先验信息为通过其他包含上述对象的图像,所确定的对象位置。上述其他图像可以是等大的,其中的每个图像中的该对象的大小是一致的或者差值小于阈值。

步骤403,确定对象位置与图像的标注对象位置的损失值。

在对图像处理网络进行训练时,训练样本通常可以包括样本图像和该样本图像的标注。该标注例如可以用于表征预设对象在该样本图像中的真实位置。在本实施例中,上述执行主体可以确定所得到的对象位置与标注对象位置(即,样本图像的标注所指示的预设对象在该样本图像中的真实位置)的损失值。具体地,可以将所得到的对象位置以及标注对象位置输入预设的损失函数,以确定损失值。

步骤404,基于各个损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在本实施例中,上述执行主体可以基于各个损失值,对图像处理网络进行训练,以得到训练后的图像处理网络。这里的各个损失值为上述利用位置先验信息的损失值,以及上述利用标注对象位置所确定的损失值。具体地,上述执行主体可以采用各种方式处理各个损失值,以进行训练。比如,上述执行主体可以确定各个损失值的平均值,将该平均值在图像处理网络中进行反向传播,以训练图像处理网络。

在本实施例的一些可选的实现方式中,步骤404可以包括:

确定各个损失值的和,将和在图像处理网络中进行反向传播,以训练图像处理网络。

在这些可选的实现方式中,上述执行主体可以确定关于位置先验信息的损失值,与关于标注对象位置的损失值之和。并利用所得到的和进行反向传播,以训练图像处理网络。

这些实现方式可以有效而均衡地利用各个损失值,以训练得到更加准确的图像处理网络。

本实施例可以对关于位置先验信息的损失值以及关于标注的损失值都进行利用,全面地获取到图像处理网络的各种损失值,进而训练出更加准确的图像处理网络。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种图像处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的图像处理装置500包括:获取单元501、第一确定单元502和训练单元503。其中,获取单元501,被配置成获取包含预设的对象的图像,将所述图像输入图像处理网络,得到所述图像中的对象位置,其中,所述图像处理网络用于在图像中确定对象的位置;第一确定单元502,被配置成确定所述对象位置与所述对象的位置先验信息的损失值;训练单元503,被配置成基于所述损失值,对所述图像处理网络进行训练,得到训练后的图像处理网络。

在一些实施例中,获取单元501可以获取图像,图像中包含预设的对象,比如,预设的对象可以是人脸或人体等等。之后,可以将图像输入图像处理网络,以得到图像处理网络输出的图像中的对象位置。这里的图像处理网络可以是接收输入图像并对图像进行处理,从而确定图像中某对象所在位置的任意的神经网络。比如,图像处理网络可以是图像分割网络,也可以是图像检测网络。

在一些实施例中,第一确定单元502可以确定所得到的对象位置与该对象的位置先验信息的损失值。具体地,可以将所得到的对象位置以及位置先验信息输入预设的损失函数,以确定损失值。具体地,位置先验信息为通过其他包含上述对象的图像,所确定的对象位置。

在一些实施例中,训练单元503可以基于上述损失值,对图像处理网络进行训练,以得到训练后的图像处理网络。具体地,上述执行主体可以采用各种方式基于损失值进行训练。比如,可以将损失值在图像处理网络中进行反向传播,以训练上述图像处理网络。

在本实施例的一些可选的实现方式中,装置还包括:第二确定单元,被配置成确定对象位置与图像的标注对象位置的损失值;以及训练单元包括:训练子单元,被配置成基于各个损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

在本实施例的一些可选的实现方式中,训练单元,进一步被配置成:确定各个损失值的和,将和在图像处理网络中进行反向传播,以训练图像处理网络。

在本实施例的一些可选的实现方式中,图像处理网络为图像分割网络,对象为人体;获取单元,进一步被配置成:将图像输入图像分割网络,利用图像分割网络的卷积层,确定图像的特征图像;基于特征图像,标注人体在图像中所在区域。

在本实施例的一些可选的实现方式中,人体在图像中所在区域,包括:人体所在的一个区域,或人体的多个局部区域。

在本实施例的一些可选的实现方式中,装置还包括:图像获取单元,被配置成获取多个图像,其中,多个图像中的各个图像包含对象;先验信息确定单元,被配置成确定多个图像中,对象的平均位置,将平均位置作为位置先验信息。

下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算机系统600包括处理器601,其可以根据存储在只读存储器(rom,readonlymemory)602中的程序或者从存储部分608加载到随机访问存储器(ram,randomaccessmemory)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。处理器601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o,input/output)接口605也连接至总线604。

以下部件连接至i/o接口605:包括硬盘等的存储部分606;以及包括诸如lan(局域网,localareanetwork)卡、调制解调器等的网络接口卡的通信部分607。通信部分607经由诸如因特网的网络执行通信处理。驱动器608也根据需要连接至i/o接口605。可拆卸介质609,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器608上,以便于从其上读出的计算机程序根据需要被安装入存储部分606。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分607从网络上被下载和安装,和/或从可拆卸介质609被安装。在该计算机程序被处理器601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、第一确定单元和训练单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一确定单元还可以被描述为“确定对象位置与对象的位置先验信息的损失值的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取包含预设的对象的图像,将图像输入图像处理网络,得到图像中的对象位置,其中,图像处理网络用于在图像中确定对象的位置;确定对象位置与对象的位置先验信息的损失值;基于损失值,对图像处理网络进行训练,得到训练后的图像处理网络。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1