一种神经网络训练方法、装置、计算机设备和存储介质与流程

文档序号:17091729发布日期:2019-03-13 23:32阅读:150来源:国知局
一种神经网络训练方法、装置、计算机设备和存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种神经网络训练方法、装置、计算机设备和存储介质。



背景技术:

目前,在神经网络如faster-rcnn(faster-regionswithconvolutionalneuralnetworkfeatures)网络的学习的过程中,可以在已经标定了真值候选区域的样本图像中选择成百上千的候选区域,再从这些数量庞大的候选区域中选择一定数量(如300个)的区域作为样本数据对faster-rcnn中的区域回归网络以及分类神经网络进行训练,一般地,若是被选择的区域更多地包含样本图像中的背景区域,而前景区域较少,则这些被选择的区域的数据有效性较低,神经网络学习的速度较慢,不能满足用户需求。



技术实现要素:

本发明实施例的主要目的在于提供一种神经网络训练方法、装置、计算机设备和存储介质,提升神经网络训练过程中候选区域数据的有效性,提升神经网络的学习速度。

为实现上述目的,本发明实施例第一方面提供一种神经网络训练方法,该神经网络训练方法包括:

在神经网络的训练过程中,获取样本图像上的各候选区域对应的前景概率;

计算所述候选区域与所述样本图像中标定的真值候选区域的重合度,所述真值候选区域为所述样本图像上检测对象所在的区域;

根据所述前景概率以及所述重合度从所述候选区域中选择待使用的候选区域;

根据所述待使用的候选区域所述神经网络中当前位置之后的其它网络进行训练。

为实现上述目的,本发明实施例第二方面提供一种神经网络训练装置,该神经网络训练装置包括:

获取模块,用于在神经网络的训练过程中,获取样本图像上的各候选区域对应的前景概率;

计算模块,用于计算所述候选区域与所述样本图像中标定的真值候选区域的重合度,所述真值候选区域为所述样本图像上检测对象所在的区域;

选择模块,用于根据所述前景概率以及所述重合度从所述候选区域中选择待使用的候选区域;

训练模块,用于根据所述待使用的候选区域对所述神经网络中当前位置之后的其它网络进行训练。

为实现上述目的,本发明实施例第三方面提供一种计算机设备,该计算机设备包括处理器、存储器及通信总线;

所述通信总线用于实现所述处理器和所述存储器之间的连接通信;

所述存储器用于存储一个或多个程序,所述处理器用于执行所述存储器中存储的一个或者多个程序,以实现如上述的神经网络训练方法的步骤。

为实现上述目的,本发明实施例第四方面提供一种存储介质,该存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述的神经网络训练方法的步骤。

本发明实施例提供了一种神经网络训练方法、装置、计算机设备和存储介质,采用本发明实施例,在神经网络的训练过程中,可获取样本图像上的各候选区域对应的前景概率;计算候选区域与样本图像中标定的真值候选区域的重合度;根据前景概率以及重合度从候选区域中选择待使用的候选区域,最后根据待使用的候选区域对神经网络中当前位置之后的网络进行训练。前景概率表明了候选区域中存在前景的可能性,重合度表明了候选区域中包含真值候选区域的部分的多少,所以本申请在前景概率有要求的基础上通过对候选区域与样本图像中标定的真值候选区域的重合度的限定,进一步提升了待使用的候选区域中存在检测对象的可能性,提升了训练神经网络使用的候选区域的数据有效性,提升了神经网络的学习速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种神经网络训练方法的流程示意图;

图2为本发明实施例中一种神经网络训练装置的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术中,在训练faster-rcnn网络的过程中,使用的候选区域的数据有效性不足,不利于提升神经网络学习的速度,为此本实施例提出了一种神经网络训练方法,该方法中训练神经网络的候选区域的数据有效性相对于现有技术中的候选区域的数据有效性得到了提升,神经网络训练的速度更快。

以下以faster-rcnn网络为例结合图1对如何进行神经网络训练进行示例说明,可以理解的是,对于其它类型的神经网络,若是其需要选择待使用的候选区域进行训练,可以采用本申请中步骤101-步骤103中的方案进行待使用的候选区域的筛选。参见图1,本实施例提出的神经网络训练方法包括:

步骤101、在神经网络的训练过程中,获取样本图像上的各候选区域对应的前景概率;

本实施例中对于神经网络的训练,会向神经网络输入带有标签信息的样本图像,该标签信息表明了在样本图像的位置已知的区域存在一个已知对象(即该对象具体是什么是已知的,例如是人或猫或狗等)。

样本图像在输入faster-rcnn网络后,会经过一系列的卷积层进行样本图像的featuremaps(即特征图)的提取,卷积层的层数根据实际的需要设置,本实施例对此没有限定。例如本实施例可以通过一组基础的conv+relu+pooling层提取样本图像的featuremaps(即特征图)。该featuremaps被共享用于后续rpn(regionproposalnetwork,区域提名网络)层和全连接层。

featuremaps输入rpn网络后,rpn网络可通过滑窗法生成多个候选窗口anchors得到多个候选区域,并且会对每个anchors打分得到每个anchors的前景概率,前景概率在本实施例中表明了在该anchors对应的候选区域中存在前景foreground的概率,分数越高,则存在前景的概率越大。

本实施例生成候选区域以及对候选区域打分可以采用现有技术中的方案实现。例如为了提升候选窗口选中前景的概率,本实施例可以通过anchors引入了检测中常用到的多尺度方法,生成尺寸和长宽比不同的多个候选区域。

步骤102、计算候选区域与样本图像中标定的真值候选区域的重合度,真值候选区域为样本图像上检测对象所在的区域;

在样本图像中,真值候选区域中的检测对象的位置和类别是已知的,为了进一步提升训练神经网络的候选区域中存在检测对象的可能性,本实施例中还计算候选区域与样本图像中标定的真值候选区域的重合度,可以理解的是重合度越高,则候选区域中存在检测对象的可能性就越高。

在计算候选区域与样本图像中标定的真值候选区域的重合度时,可以根据候选区域和真值候选区域的坐标来实现,即根据真值候选区域的坐标以及各个候选区域的坐标来确定真值候选区域与候选区域的重合面积,继而得到重合度。

在一个示例中,本实施例的重合度可以认为是真值候选区域与候选区域的重合面积占真值候选区域与候选区域的面积之和的比例,比例越高,则重合度越高。

本实施例中,为了降低神经网络的训练时间,可以考虑减少计算重合度的候选区域的数量。在一个示例中,可以只对满足条件的预设数量(或不低于预设数量)的神经网络进行重合度的计算,例如在前景概率超过某个阈值的候选区域中选择预设数量的候选区域计算重合度。在另一个示例中,可以只对前景概率超过某个阈值的候选区域进行重合度的计算。

为了保证候选区的数据有效性,需要从候选区域中同时剔除太小和超出边界的候选区域,剔除的过程可以在计算重合度的步骤之后,也可以在计算重合度的步骤之前,本实施例对此没有限制。

步骤103、根据前景概率以及重合度从候选区域中选择待使用的候选区域;

前景概率越高或重合度越高的候选区域,其包含完整的前景的概率就越大,所以本实施例中,可以通过对于前景概率和重合度的限定来选择存在完整前景的概率较大的候选区域。

可选的,根据前景概率以及重合度从候选区域中选择待使用的候选区域包括:根据所述前景概率和所述重合度对所述候选区域进行综合排序;根据排序结果从候选区域中选择预设数量的候选区域作为待使用的候选区域。

其中,选择的待使用的候选区域的数量根据实际需要设置,本实施例对此没有限定,例如选择300个、500个等等。综合各候选区域的前景概率以及重合度对所有候选区域进行排序时,可以将各候选区域的前景概率和重合度之和作为排序的依据,也可以为前景概率和重合度设各自对应的权重,根据前景概率、重合度以及两者的权重对候选区域进行排序,然后选择待使用的候选区域,本实施例对此没有限定。

在另一个示例中,根据前景概率以及重合度从候选区域中选择待使用的候选区域时,可以对候选区域根据前景概率和重合度分别进行排序,从候选区域中选择前景概率满足和重合度均满足某条件的候选区域,例如从候选区域中选择前景概率不低于第二预设分数阈值,且重合度不低于重合度阈值的区域作为待使用的候选区域等。

步骤104、根据待使用的候选区域对神经网络中当前位置之后的其它网络进行训练。

本实施例的目的是为了选择出前景概率和重合度均比较高的候选区域对神经网络当前位置之后的其它网络进行训练,这里的其它网络可以理解为神经网络当前位置之后的需要利用待使用的候选区域进行训练的网络,包括但不限于对神经网络中当前位置之后的区域回归网络和分类神经网络。其中对神经网络当前位置,应当理解为神经网络中选择待使用的候选区域的网络,在faster-rcnn网络中,神经网络的当前位置为ppn网络。

本实施例中根据待使用的候选区域进行训练时,可以选择利用全部的待使用的候选区域训练,也可以只使用其中的一部分,本实施例对此没有限定。

本实施例的一个示例中,可以对全部候选区域进行重合度的计算,然后根据每一个候选区域的前景概率和重合度进行综合排序(具体的排序规则可参见上述的相关内容),根据排序结果从所有的候选区域中选择排列在前的一定数量的待使用的候选区域(例如选择排列在前的300个或500个候选区域)。

但是考虑到候选区域的数量较多时对所有的候选区域全部进行重合度的计算会带来大量的计算量,所以本实施例中,为了减少神经网络计算的数据量,可以只计算全部候选区域中的一部分的重合度。

可选的,在一个示例中,计算候选区域与样本图像中标定的真值候选区域的重合度包括:

根据各候选区域的前景概率的高低顺序选择预设数量的候选区域;

计算预设数量的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度。

例如,若是候选区域的数量为两千个,则选择前景概率排列在前的1000个候选区域,然后对这1000个候选区域分别与真值候选区域进行重合度的计算。

在一个示例中,计算重合度的时候,可以利用候选区域和真值候选区域的坐标实现。可选的,计算预设数量的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度包括:

获取样本图像中标定的真值候选区域的坐标以及预设数量的候选区域中各候选区域的坐标;

根据真值候选区域的坐标以及预设数量的候选区域中各候选区域的坐标,计算预设数量的候选区域中各候选区域与真值候选区域的重合度。

例如,对真值候选区域和各选择出的候选区域,获取其对角顶点的坐标[x1,y1,x2,y2],其中,(x1,y1)和(x2,y2)分别代表矩形左上和右下角点坐标,根据真值候选区域和选择出的各候选区域确定真值候选区域和候选区域的重合面积,计算重合面积占真值候选区域与候选区域的面积之和的比例作为重合度。

可选的,在另一个示例中,计算候选区域与样本图像中标定的真值候选区域的重合度包括:

选择前景概率超过第一预设分数阈值的候选区域;

计算被选择的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度。

例如,若是候选区域的数量为两千个,则选择前景概率超过0.8的候选区域,然后对这些候选区域分别与真值候选区域进行重合度的计算。

在一个示例中,计算重合度的时候,可以利用候选区域和真值候选区域的坐标实现。可选的,计算被选择的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度包括:

获取样本图像中标定的真值候选区域的坐标以及被选择的候选区域中各候选区域的坐标;

根据真值候选区域的坐标以及被选择的候选区域中各候选区域的坐标,计算被选择的候选区域中各候选区域与真值候选区域的重合度。

例如,对真值候选区域和各选择出的候选区域通过坐标计算重合度的方式可以参见上述的示例,在此不再赘述。

参见图2,为了解决现有技术中存在的技术问题,本实施例还提出一种神经网络训练装置,该神经网络训练装置包括:

获取模块21,用于在神经网络的训练过程中,获取样本图像上的各候选区域对应的前景概率;

计算模块22,用于计算候选区域与样本图像中标定的真值候选区域的重合度,真值候选区域为样本图像上检测对象所在的区域;

选择模块23,用于根据前景概率以及重合度从候选区域中选择待使用的候选区域;

训练模块24,用于根据待使用的候选区域对神经网络中当前位置之后的其它网络进行训练。

为了降低计算重合度的候选区域的数量,可选的,在一个示例中,计算模块22,用于根据各候选区域的前景概率的高低顺序选择预设数量的候选区域;计算预设数量的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度。

可选的,计算模块22,具体用于根据各候选区域的前景概率的高低顺序选择预设数量的候选区域;获取样本图像中标定的真值候选区域的坐标以及预设数量的候选区域中各候选区域的坐标;根据真值候选区域的坐标以及预设数量的候选区域中各候选区域的坐标,计算预设数量的候选区域中各候选区域与真值候选区域的重合度。

为了降低计算重合度的候选区域的数量,可选的,在另一个示例中,计算模块22,用于选择前景概率超过第一预设分数阈值的候选区域;计算被选择的候选区域中各候选区域与样本图像中标定的真值候选区域的重合度。

可选的,计算模块22,具体用于选择前景概率超过第一预设分数阈值的候选区域;获取样本图像中标定的真值候选区域的坐标以及被选择的候选区域中各候选区域的坐标;根据真值候选区域的坐标以及被选择的候选区域中各候选区域的坐标,计算被选择的候选区域中各候选区域与真值候选区域的重合度。

可选的,选择模块23,具体用于根据所述前景概率和所述重合度对所述候选区域进行综合排序;根据排序结果从所述候选区域中选择预设数量的候选区域作为待使用的候选区域。

进一步的,本实施例还提供一种计算机设备,该计算机设备包括处理器、存储器及通信总线;

通信总线用于实现处理器和存储器之间的连接通信;

存储器用于存储一个或多个程序,处理器用于执行存储器中存储的一个或者多个程序,以实现如上述示例中的神经网络训练方法的步骤。

进一步的,本实施例还提供一种存储介质,该存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如上述示例中的神经网络训练方法的步骤。

采用本实施例的方案,最终是根据前景概率以及重合度从候选区域中选择待使用的候选区域,以选择出的待使用的候选区域对神经网络中当前位置之后的其它网络进行训练,前景概率表明了候选区域中存在前景的可能性,重合度表明了候选区域中包含真值候选区域的部分的多少,所以本实施例在前景概率有要求的基础上通过对候选区域与样本图像中标定的真值候选区域的重合度的限定,进一步提升了待使用的候选区域中存在检测对象的可能性,提升了训练神经网络使用的候选区域的数据有效性。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性、机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种神经网络训练方法、装置、计算机设备和存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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