图像数据处理方法、装置、计算机设备和存储介质与流程

文档序号:18622253发布日期:2019-09-06 22:36阅读:186来源:国知局
图像数据处理方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种图像数据处理方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,出现了图像检测识别技术,在进行图像检测识别时,由于拍摄角度等问题导致拍摄的图像中的感兴趣区域(regionofinterest,roi)出现倾斜等问题,而传统的图像识别方法,一般的感兴趣区域池化过程将倾斜感兴趣区域按坐标对齐的矩形窗口处理,可能存在特征缺失或特征冗余或特征不对齐的现象,不能准确描述感兴趣区域的倾斜情况,感兴趣区域的特征提取精确度低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种根据预测感兴趣区域的倾斜信息和目标池化矩阵的维度信息对预测感兴趣区域进行池化,得到更精确的池化结果,以提高倾斜感兴趣区域的特征提取精确度的图像数据处理方法、装置、计算机设备和存储介质。

一种图像数据处理方法,包括:

获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息;

获取目标池化矩阵的维度信息;

根据所述预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息;

根据所述维度信息和所述池化窗对应的倾斜信息对所述预测感兴趣区域进行区域划分得到对应的多个待池化区域;

按照预设池化算法对各个所述待池化区域进行池化,得到与各个所述待池化区域对应的池化结果;

根据所述维度信息获取各个所述待池化区域对应的池化结果,组成所述目标池化矩阵。

一种图像数据处理装置,包括:

获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息;

获取目标池化矩阵的维度信息;

根据所述预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息;

根据所述维度信息和所述池化窗对应的倾斜信息对所述预测感兴趣区域进行区域划分得到对应的多个待池化区域;

按照预设池化算法对各个所述待池化区域进行池化,得到与各个所述待池化区域对应的池化结果;

根据所述维度信息获取各个所述待池化区域对应的池化结果,组成所述目标池化矩阵。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息;

获取目标池化矩阵的维度信息;

根据所述预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息;

根据所述维度信息和所述池化窗对应的倾斜信息对所述预测感兴趣区域进行区域划分得到对应的多个待池化区域;

按照预设池化算法对各个所述待池化区域进行池化,得到与各个所述待池化区域对应的池化结果;

根据所述维度信息获取各个所述待池化区域对应的池化结果,组成所述目标池化矩阵。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息;

获取目标池化矩阵的维度信息;

根据所述预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息;

根据所述维度信息和所述池化窗对应的倾斜信息对所述预测感兴趣区域进行区域划分得到对应的多个待池化区域;

按照预设池化算法对各个所述待池化区域进行池化,得到与各个所述待池化区域对应的池化结果;

根据所述维度信息获取各个所述待池化区域对应的池化结果,组成所述目标池化矩阵。

上述图像数据处理方法、装置、计算机设备和存储介质,获取特征图谱的预测感兴趣区域,获取预测感兴趣区域的倾斜信息,获取目标池化矩阵的维度信息;根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息;根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。根据预测感兴趣区域的倾斜信息、目标池化矩阵的维度信息对预测感兴趣区域进行区域划分,得到多个待池化区域更准确,对各个待池化区域进行池化运算,得到更精确的池化结果,以提高倾斜感兴趣区域的特征提取精确度。

附图说明

图1为一个实施例中图像数据处理方法的应用环境图;

图2为一个实施例中图像数据处理方法的流程示意图;

图3为一个实施例中对预测感兴趣区域池化的示意图;

图4为一个实施例中特征图谱生成的流程示意图;

图5为一个实施例中深度卷积神经网络的结构图;

图6为一个具体实施例中特征图池化的示意图;

图7为一个实施例中获取倾斜信息的流程示意图;

图8为一个实施例中预测感兴趣区域的示意图;

图9为另一个实施例中区域划分的流程示意图;

图10为一个实施例中池化的流程示意图;

图11为另一个实施例中图像数据处理方法的流程示意图;

图12为一个实施例中图像数据处理方法的结果示意图;

图13为再一个实施例中图像数据处理方法的流程示意图;

图14为另一个实施例中池化的流程示意图;

图15为一个具体实施例中图像数据处理方法的流程示意图;

图16为一个实施例中图像数据处理装置的结构框图;

图17为一个实施例中特征图谱生成模块的结构框图;

图18为一个实施例中区域划分模块的结构框图;

图19为一个实施例中池化模块的结构框图;

图20为另一个实施例中图像数据处理装置的结构框图;

图21为再一个实施例中图像数据处理装置的结构框图;

图22为另一个实施例中池化模块的结构框图;

图23为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中图像数据处理方法的应用环境图。参照图1,包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110获取图像数据,对图像数据进行处理得到特征图谱的预测感兴趣区域、预测感兴趣区域的倾斜信息和目标池化矩阵的维度信息,根据倾斜信息确定池化窗的倾斜信息,根据维度信息和池化窗的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,对待池化区域进行池化得到对应的池化结果,根据池化结果确定目标池化矩阵,对池化矩阵做进一步处理得到图像处理结果数据,将结果数据发送至服务器120。服务器120获取终端110上传的图像数据,对图像数据进行处理得到特征图谱的预测感兴趣区域、预测感兴趣区域的倾斜信息和目标池化矩阵的维度信息,根据倾斜信息确定池化窗的倾斜信息,根据维度信息和池化窗的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,对待池化区域进行池化得到对应的池化结果,根据池化结果确定目标池化矩阵,对池化矩阵对作进一步处理得到图像处理结果数据,将结果数据发送至终端110。

如图2所示,在一个实施例中,提供了一种图像数据处理方法。本实施例主要以该方法应用于上述图1中的终端110(或服务器120)来举例说明。参照图2,该图像数据处理方法具体包括如下步骤:

步骤s202,获取特征图谱的预测感兴趣区域,获取预测感兴趣区域的倾斜信息。

其中,特征图谱是对待处理图像进行特征提取后得到的图像,特征图谱包括单通道图像和多通道图像,特征图谱的通道数与待处理图像的通道数保持一致,如,待处理图像为rgb图像,rgb图像为3通道图像,则通过rgb图像进行特征提取得到的特征图谱为3通道图像。感兴趣区域是图像处理时的重点关注区域,重点关注区域可以用包括但不限于方框、圆、椭圆或不规则多边形等方式标记。在对图像进行数据处理过程中仅对感兴趣区域进行处理,可以节省对非重点区域的处理时间,从而提高图像处理效率,避免非重点区域中特征的干扰。预测感兴趣区域包括但不限于物体区域、文字区域等。

具体地,终端或服务器获取特征图谱的预测感兴趣区域,和预测感兴趣区域的倾斜信息。其中,预测感兴趣区域的倾斜信息可以是预测感兴趣区域的倾斜角度,或预测感兴趣区域的坐标位置和/或几何边长和/或几何中心坐标信息,通过预测感兴趣区域的坐标位置和/或几何边长和/或几何中心坐标信息可以计算得到预测感兴趣区域的倾斜角度。

步骤s204,获取目标池化矩阵的维度信息。

其中,目标池化矩阵为对预测感兴趣区域进行池化运算得到的矩阵。目标池化矩阵的维度信息是指矩阵的高度信息和宽度信息和/或通道信息,其中高度信息可以用行表示,宽度信息可以用列表示。设图像为3通道图像,则卷积图像为3通道图像,得到的池化矩阵为3通道矩阵。终端或服务器获取自定义的目标池化矩阵的维度信息,如目标池化矩阵为一个2行3列3通道矩阵,则其维度信息包括行2、列3和通道数3,可表示为(2,3,3)。

在一个实施例中,目标池化矩阵的维度信息与待处理图像的维度信息或特征图谱的维度信息成正比。待处理图像为一个64行64列的3通道图像,目标池化矩阵为一个8行8列的3通道矩阵。

在一个实施例中,根据预测感兴趣区域的维度信息和/或面积确定目标池化矩阵的维度信息。预测感兴趣区域为一个32行64列的图像区域,目标池化矩阵为一个4行8列的矩阵。

步骤s206,根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息。

其中,池化(pooling)是在卷积特征提取的基础上,对卷积特征数据进行数据筛选,减少卷积特征数据维数的数据处理过程。池化窗是一个用于对预测感兴趣区域进行区域划分的闭合框,一个预测感兴趣区域可对应一个或多个池化窗。一个预测感兴趣区域对应一个池化窗时,通过滑动池化窗对预测感兴趣区域进行区域划分,不同的滑动步长,对预测感兴趣区域进行区域划分得到划分区域不同。

具体地,池化窗的倾斜信息是根据预测感兴趣区域的倾斜信息确定的,若预测感兴趣区域的倾斜信息为倾斜角度,则池化窗的倾斜信息为与预测感兴趣区域相同的倾斜角度,若预测感兴趣区域的倾斜信息为预测感兴趣区域的坐标位置和/或几何边长和/或几何中心坐标信息等几何信息,则根据预测感兴趣区域的倾斜信息计算得到测感兴趣区域的倾斜角度,从而得到池化窗的倾斜角度。

步骤s208,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域。

具体地,待池化区域是将用于进行池化计算的图像区域,待池化区域可以是通过对预测感兴趣区域进行划分得到的图像区域,一个预测感兴趣区域包含多个待池化区域,各个待池化区域之间存在重叠区域或不存在重叠区域。对预测感兴趣区域进行区域划分得到多个待池化区域,每个待池化区域的维度信息与池化窗的维度信息相同,每个待池化区域的倾斜角度与池化窗的倾斜角度相同。其中,池化窗的维度信息是根据预测感兴趣区域的维度信息确定的,如预测感兴趣区域是一个矩形区域,则根据预测感兴趣区域的边长信息和/或面积信息计算得到池化窗的边长信息和/或面积信息。

步骤s210,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果。

具体地,预设池化算法是在进行池化运算之前已确定的池化算法,不同的池化算法提取不同的图像特征。其中预设池化算法包括但不限于平均池化算法(averagepooling)、最大值池化算法(maxpooling)、随机池化算法(stochasticpooling)、范数池化算法等。对各个待池化区域进行平均池化是将各个待池化区域中对应的像素点的特征值进行平均运算,将平均运算后得到的结果作为池化结果,采用平均池化算法对待池化区域进行池化能保留整体数据的特征,更好的突出背景信息。对各个待池化区域进行最大池化是从各个待池化区域中对应的像素点对应的特征值中选取最大特征值作为池化结果,采用最大值池化算法对待池化区域进行池化能更好的保留图像的纹理特征。

步骤s212,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。

具体地,将上述各个待池化区域对应的池化结果按照自定义顺序与目标池化矩阵对应。如目标池化矩阵的维度信息包括矩阵的行信息和列信息,则将各个待池化区域对应的池化结果依次与矩阵的行列对应。

在一个实施例中,将各个待池化区域池对应的池化结果按照自定义的顺序写入目标池化矩阵中。如将待池化区域从左到右,从上到下的排序方式对各个待池化区域池对应的池化结果进行排序,按照从左到右,从上到下的顺序依次写入目标池化矩阵中。如预设池化算法为最大池化算法,将图中预测感兴趣区域中左下角的第一个待池化区域对应的池化结果写入目标池化矩阵左上角第一个矩阵元素对应的位置处,按照从左到右,从上到下的顺序依次将各个待池化区域池化后的池化结果写入池化矩阵中。参考图3,图3中的010表示预测感兴趣区域,小方格040代表像素点,一个小方格代表一个像素点。图中虚线框030框住的区域为一个待池化区域,每个待池化区域对应一个池化结果,图中一共包含6个待池化区域,对6个待池化区域进行池化得到对应的池化结果5、7、8、6、9、5。以左下角的第一个待池化区域对应的池化结果写入池化矩阵020中的左上角的第一个矩阵元素对应的位置处,按照从左到右,从上到下的顺序依次将各个待池化区域对应的池化结果写入池化矩阵020中,得到池化矩阵为[5,7,8;6,9,5]。

在一个实施例中,根据特征图谱的像素点与待处理图像的像素点的对应关系,在待处理图像中查找特征图谱上与各个待池化区域的像素点的位置坐标对应的位置坐标,并与各个待池化区域的像素点的位置坐标对应的位置坐标。

上述图像数据处理方法,通过获取特征图谱的预测感兴趣区域,获取预测感兴趣区域的倾斜信息,获取目标池化矩阵的维度信息,根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。根据预测感兴趣区域的倾斜信息确定池化窗的倾斜信息,根据倾斜信息和目标池化矩阵的维度信息划分得到的多个待池化区域的倾斜信息与测感兴趣区域的倾斜信息相同,减少按坐标对齐的矩形窗口处理存在特征缺失或特征冗余或特征不对齐的问题,得到更准确的池化区域,提高池化结果精度,以提高倾斜感兴趣区域的特征提取精确度。

如图4所示,在一个实施例中,步骤s202之前,还包括特征图谱的生成,特征图谱的生成包括以下步骤:

步骤s402,获取待处理图像,将待处理图像输入神经网络模型中。

具体地,待处理图像可以是拍摄设备拍摄得到的图像,或从文件中获取到的图像,其中图像包括用于训练待训练的神经网络模型图像或图像集合,或用于检测图像内的检测图像或图像集合。将待处理图像输入神经网络模型中,该神经网络模型可以是待训练的神经网络模型或已训练的神经网络模型。

步骤s404,通过神经网络模型中的卷积层对待处理图像进行特征提取和感兴趣区域预测,得到特征图谱,特征图谱包括预测感兴趣区域。

具体地,神经网络模型中的卷积层用于对输入的待处理图像进行特征提取和感兴趣区域预测,其中卷积层的特征提取主要是对待处理图像进行卷积运算,将卷积运算后的得到的图像作为特征图谱,通过对图像的感兴趣区域进行预测得到预测感兴趣区域,其中预测就是对感兴趣区域进行定位,得到感兴趣区域的位置信息。

上述图像数据处理方法,还包括:将特征图谱输入池化层,进入步骤s202,池化层与神经网络模型中的卷积层连接。

其中,在神经网络模型中,卷积层与池化层连接,且卷积层的输出作为池化层的输入。如图5所示,图5为一个深度卷积神经网络结构图,该网络结构对于输入的待处理图像进行2路卷积操作,每路包含五个串联的卷积单元,通过卷积单元完成图像高级特征的学习,之后接入全连接层。其中卷积单元包括卷积层(conv)、池化层(pool)和规则化层(rnorm)。convi-j表示第i个卷积单元的第j路卷积层,pooli-1表示第i个卷积单元的第j路池化层,rnormi-1表示第i个卷积单元的第j路规则化层,fc为全连接层,全连接层每一路的输入都包含上一层每一路的输出,全连接层用于对卷积单元提取的特征进行综合运算,全连接层之后连接输出层。

具体地,特征图谱是卷积层对待处理图像进行特征提取后得到的卷积图像。池化层用于对特征图谱进行池化运算,池化层对特征图谱进行池化运算时,可以是对整个特征图谱进行池化,也可以是对特征图谱的部分区域进行池化。

如图6所示,图6中050为特征图谱,060为池化矩阵,对特征图谱050进行最大值池化,得到池化矩阵得到060,池化矩阵060为一个3行3列的矩阵,池化矩阵060具体为[8,7,8;6,5,9;7,9,5]。

如图7所示,在一个实施例中,步骤s202包括:

步骤s2022,获取预测感兴趣区域对应的顶点坐标,预测感兴趣区域为矩形区域,根据顶点坐标按照三角函数关系计算得到预测倾斜角度。或

步骤s2024,获取预测感兴趣区域对应的几何中心点坐标和预测感兴趣区域对应的顶点坐标,根据几何中心点坐标和顶点坐标计算得到预测倾斜角度。

应该理解的是,虽然图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。

具体地,预测感兴趣区域区包括但不限于通过预测感兴趣区域顶点坐标和/或几何中心点坐标和/或面积和/或边长信息和/或倾斜角度等进行描述。如图8所示,图8中用于描述预测感兴趣区域的信息包括但不限于顶点坐标(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),几何中心点坐标(xc,yc),边长信息宽w和高h,倾斜角度θ。

采用上述顶点坐标、几何中心点坐标、边长信息和倾斜角度描述预测感兴趣区域的方式包括多种,为了简化表达,且约束预测e感兴趣区域的自由度的目,可以采用其中部分信息对其进行描述,余下的信息可以通过几何关系确定。如可以采用(xc,yc)、w、h和θ描述预测感兴趣区域。通过已知的(xc,yc)、w、h和θ可以计算得到(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)。具体计算过程如公式(1)所示:

其中w≥1,h≥1,-π/2<θ≤+π/2。

在一个实施例中,采用(x1,y1),(x2,y2)和h描述预测感兴趣区域。通过已知的(x1,y1),(x2,y2)和h计算得到(x3,y3)、(x4,y4)、(xc,yc)、w和θ的具体过程如式(2)所示:

其中x2≥x1,h≥1。

在另一个实施例中,采用(x1,y1)、(x3,y3)和w描述预测感兴趣区域。

在又一个实施例中,采用(x1,y1),(x2,y2)、(x3,y3)、(x4,y4)描述预测感兴趣区域。

如图9所示,在一个实施例中,步骤s208包括:

步骤s2082,根据第一维度信息和预测感兴趣区域的第一边长计算得到池化窗的第一边长,根据第二维度信息和预测感兴趣区域的第二边长计算得到池化窗的第二边长。

具体地,目标池化矩阵的维度信息包括第一维度信息和第二维度信息,第一维度信息对应的高度信息为行信息或宽度信息为列信息,预测感兴趣区域的第一边长可以是宽度或高度信息。以第一维度为行信息,预测感兴趣区域的第一边长为高度信息为例,池化窗的第一边长为高度信息,池化窗的高度等于预测感兴趣区域的高度信息除以目标池化矩阵的行信息。池化窗的第二边长为宽度信息,池化窗的宽度信息等于预测感兴趣区域的宽度信息除以目标池化矩阵列信息。

步骤s2084,根据池化窗的第一边长、池化窗的第二边长和池化窗对应的倾斜信息得到滑动池化窗口。

具体地,滑动池化窗口是一个高度信息和宽度信息与池化窗的高度信息和宽度信息相同,倾斜信息与池化窗倾斜信息相同的闭合框。参照图3,图中030构成的倾斜矩形框是一个滑动池化窗口。

步骤s2086,将滑动池化窗口在预测感兴趣区域进行滑动得到对应的与滑动池化窗口的面积相同的多个待池化区域。

具体地,将滑动池化窗口在预测感兴趣区域中进行滑动,滑动步长可以自定义,当滑动步长与滑动池化窗口的宽度信息相同时,得到多个面积相等,且不重叠的待池化区域。通过滑动池化窗口和滑动步长便于实现对预测感兴趣区域的区域划分。

如图10所示,在一个实施例中,步骤s210包括:

步骤s2102,获取当前待池化区域,从特征图谱中获取当前待池化区域占用的像素点得到当前待池化像素点集合。

其中,当前待池化区域是指多个待池化区域中的其中一个即将进行池化的待池化区域。从特征图谱中获取当前待池化区域占用的像素点,由各个占用的像素点组成的集合为当前待池化像素点集合。当前待池区域中各个像素点与当前待池区域的重叠区域面积大于0时表示该像素点被当前待池化区域占用,当前待池化区域占用像素点包括内部像素点和边缘像素点,其中内部像素点表示整个像素点区域在当前待池化区域内部,边缘像素点表示像素点部分区域在当前待池化区域内部,像素点部分区域在当前待池化区域外部。参照图3,当前待池化区域通过倾斜矩形框030标记,特征值为10的像素点与当前待池化区域没有重叠区域,故特征值为10的像素点不是当前待池化区域占用的像素点,特征值为5的像素点与当前待池化区域存在重叠区域,且整个像素点区域在当前待池化区域内部,故特征值为5的像素点为内部像素点,特征值为2的像素点与当前待池化区域存在部门重叠区域,即特征值为2的像素点部分区域在当前待池化区域内部,部分区域在当前待池化区域外部,故特征值为2的像素点为边缘像素点。

步骤s2104,根据当前待池化像素点集合中各个当前待池化像素点在当前待池化区域内的面积获取各个当前待池化像素点对应的特征值,得到当前待池化区域对应的待池化特征值集合。

具体地,对当前待池化区域进行池化之前,需对当前待池化区域边缘像素点进行判定,判定边缘像素点是否作为当前待池化区域对应的像素点。边缘像素点是否作为当前待池化区域对应的像素点的判断方式包括但不限于根据边缘像素点在当前待池化区域内的面积与在当前待池化区域外的面积比值是否大于预设阈值进行判定,当边缘像素点对应的比值大于预设阈值时,判定边缘像素点为当前待池化区域对应的像素点。获取当前待池化区域对应的像素点的特征值,得到当前待池化区域对应的待池化特征值集合。

步骤s2106,按照预设池化算法对待池化特征值集合进行池化得到当前待池化区域对应的当前池化结果。

具体地,预设池化算法与步骤s210中的预设池化算法一致。按照预设池化算法对当前待池化区域对应的待池化特征值集合进行池化,得到当前待池化区域对应的当前池化结果。

在一个实施例中,获取下一个待池化区域作为当前待池化区域,进入从特征图谱中获取当前待池化区域占用的像素点得到当前待池化像素点集合的步骤,完成当前待池化区域的池化运算,得到当前待池化区域对应的当前池化结果,直到多个待池化区域中的各个待池化区域均完成池化运算,得到与各个待池化区域对应的池化结果。

通过对各个待池化区域边缘像素点是否属于各个待池化区域对应的像素点进行判定,得到准确的待池化区域,提高池化的精确度,从而得到更为精确的图像特征。

如图11所示,在一个实施例中,步骤s212之后,还包括:

步骤s214,在特征图谱上获取各个池化结果对应的像素点集合。

具体地,各个池化结果与各个池化区域对应,在特征图上获取对各个池化区域对应的像素点,得到与各个池化区域对应的像素点集合。

步骤s216,在神经网络模型的反向传播过程中,获取目标池化矩阵中各个池化结果对应的初始回传梯度。

具体地,初始回传梯度为神经网络模型的反向传播中池化层的输出误差。以输入层在底部,输出层在顶部为例,神经网络中当前层的输出误差都是当前层的上一层网络传递给当前层的误差。每一层的输出误差都是根据真实输出与预期输出之间的差异确定的,如输出层的误差是根据输出层的预期输出结果与真实输出结果之间的差异确定的。

步骤s218,根据预设池化算法确定各个像素点集合对应的目标像素点,根据初始回传梯度为各个像素点集合对应的目标像素点分配目标回传梯度。

具体地,根据池化算法确定对各个池化结果产生影响的像素点集合,将对各个池化结果产生影响的像素点集合作为与各个池化结果对应的目标像素点。如若池化算法为maxpooling时,对各个池化结果产生影响的像素点为各个池化区域中最大特征值对应的像素点,特征图谱上各个池化区域中最大特征值对应的像素点的目标回传梯度为初始回传梯度,特征图谱上各个池化区域中除最大特征值对应的像素点外的其它像素点的目标回传梯度为0。若池化算法为averagepooling时,对各个池化结果产生影响的像素点为各个池化区域对应的所有像素点,各个池化结果对应的初始回传梯除以各个池化结果对应的像素点数目得到各个待池化区域中各个像素点的目标回传梯度。设待池化区域对应的像素点为[1,2,3,4;1,1,4,4;2,1,1,4;1,4,2,4],目标池化矩阵的初始回传梯度为[5,2;8,4],则待池化区域中各个像素点的目标回传梯度为[5/4,5/4,1/2,1/2;5/4,5/4,1/2,1/2;2,2,1,1;2,2,1,1]。

在一个实施例中,根据各个预测感兴趣区域对应的池化矩阵确定当前预测感兴趣区域为目标输出的概率。如当前预测感兴趣区域的目标输出为文字区域,对预测感兴趣区域对应的池化矩阵进行处理,确定当前预测感兴趣区域的目标输出为文字区域的概率。如图12所示,图中包含4个预测感兴趣区域,分别标号为082、084、086和088。其中标号为082的预测感兴趣区域为文字区域的概率为1,标号为084的预测感兴趣区域为文字区域的概率为0.99,标号为086的预测感兴趣区域为文字区域的概率为0.96,标号为088的预测感兴趣区域为文字区域的概率为0.98。

如图13所示,在一个实施例中,上述图像数据处理方法,还包括:

步骤s220,根据预测感兴趣区域的数目和维度信息计算得到目标线程数目。

其中,预测感兴趣区域的数目是对预测感兴趣区域的区域个数进行统计得到的数据,预测感兴趣区域设有预测感兴趣区域标识,其中感兴趣区域标识包括但不限于感兴趣区域编号,如预测感兴趣区域的数目为r,则感兴趣区域编号包括但不限于r=0,1,2,...,r-1。根据预测感兴趣区域的数目r,和维度信息ph、pw以及通道c计算得到目标线程数目。目标线程数目total_thread_num=r×ph×pw×c。

步骤s222,开辟与目标线程数目对应的并行线程。

具体地,开辟的并行线程数目与目标线程数目相同,其中并行是指多个事件或活动在同一时刻发生,并行线程是指多个程序同一时刻在相同或不相同的(centralprocessingunit,cpu)或图形处理器(graphicsprocessingunit,gpu)上同时执行,gpu是一种专门做图像运算工作的微处理器,gpu可为特征图谱按像素粒度分配线程,即一个输出可对应一个线程,如目标池化矩阵中每一个池化结果对应一个线程。gpu的众核并行计算模型能够同时处理多张图像,通过gpu的众核并行计算模型对图像进行处理能够提高图像处理速率。

步骤s210,包括:

步骤s2108,将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果。

具体地,一个待池化区域通过一个并行线程按照预设池化算法进行池化运算,每个线程得到的池化结果与各个待池化区域对应。如将当前待池化区域分配至并行线程中的一个线程,通过该线程对当前待池化区域进行池化运算,得到与当前待池化区域对应的池化结果。将各个待池化区域分配给gpu并行线程,同时对各个待池化区域进行池化运算,加快预测感兴趣区域的处理速度。

如图14所示,在一个实施例中,步骤s2108包括:

步骤s2108a,根据预测感兴趣区域标识、维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号。

具体地,预测感兴趣区域标识是用于标识预测感兴趣区域的包括但不限于感兴趣区域编号或标签等。线程号是用于标识线程的编号,根据预测感兴趣区域标识、维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号。如根据第r个roi、目标池化矩阵ph、pw,在(ph,pw,c)处确定的待分配线程号为thread_id=(r×ph×pw+ph×pw+pw)×c+c。

步骤s2108b,将待分配线程号分配至各个并行线程,各个并行线程存在一一对应的目标线程号。

具体地,每一个并行线程分配一个线程号,得到与各个并行线程对应的线程号,将与各个并行线程对应的唯一的线程号作为目标线程号。如并行线程的数目为total_thread_num=r×ph×pw×c,各个并行线程的目标线程号为thread_id=(r×ph×pw+ph×pw+pw)×c+c。

步骤s2108c,根据目标线程号确定各个并行线程对应的目标待池化区域。

具体地,通过目标线程号和目标池化矩阵的维度信息确定与目标线程号对应池化区域,将该池化区域作为目标池化区域。如目标线程号为thread_id=(r×ph×pw+ph×pw+pw)×c+c,则根据目标线程号和目标池化矩阵的维度信息计算得到与目标线程号对应的预测编号为r=thread_id/(ph×pw×c)。根据确定的编号和目标池化矩阵的维度信息与待池化区域的对应关系确定目标线程号对应的目标池化区域。

步骤s2108d,各个并行线程按照预设池化算法对对应的目标待池化区域进行并行池化,得到与各个线程号对应的池化结果。

具体地,预设池化算法为与步骤s210中的预设池化算法相同的算法。按照预设池化算法通过并行线程对对应的目标待池化区域进行并行池化,得到与各个线程号对应的池化结果。每一个并行线程处理一个目标池化区域,得到一个池化结果。

步骤s2108e,根据线程号与预测感兴趣区域标识、目标池化矩阵的矩阵元素位置的关联关系,将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处。

具体地,线程号是根据预测感兴趣区域标识和目标池化矩阵的矩阵元素位置和目标池化矩阵的维度信息确定,故线程号与目标池化矩阵的矩阵元素位置存在唯一的对应关系,将线程号对应的并行线程的输出结果写入目标池化矩阵的矩阵元素位置处,具体的写入方式可以根据需求自定义。

在一个实施例中,在将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处之后,包括:在特图像上获取各个线程号对应的池化结果对应的像素点集合,在神经网络模型的反向传播过程中,获取目标池化矩阵中与各个线程号对应的各个池化结果对应的初始回传梯度,根据预设池化算法确定各个像素点集合对应的目标像素点,根据初始回传梯度为各个像素点集合对应的目标像素点分配目标回传梯度。

如图15所示,在一个具体的实施例中,图像数据处理方法,包括:

步骤s602,获取特征图谱和特征图谱的预测感兴趣区域、预测感兴趣区域的区域标识、预测感兴趣区域的倾斜信息。

具体地,在神经网络模型中,通过卷积层对待处理图像进行卷积运算得到特征图谱,如对待处理图像进行卷积运算后处理后得到n张高度为h,宽度为w,通道数为c的特征图谱,对每个特征图谱进行编号得到一个图id(图id=0,1,2…,n-1),图id唯一标识特征图,设n张特征图谱上的感兴趣区域总数目为r,各个感兴趣区域存在唯一roi标识,其中roi标识包括但不限于roi编号r,设roi(r)=[图id,x1,y1,x2,y2,h]。roi(r)用于描述预测感兴趣区域,通过roi(r)中roi的坐标信息可以计算得到感兴趣区域的倾斜信息,具体计算过程如公式(3)所示。

步骤s604,获取目标池化矩阵的维度信息。

具体地,目标池化矩阵的维度信息包括矩阵的高度信息、宽度信息和通道信息,其中目标池化矩阵是对预测感兴趣区域进行池化的目标输出,目标池化矩阵的通道信息与特征图谱的通道信息一致。如目标池化矩阵是一个高度为ph,宽度为pw,通道数为c的矩阵。

步骤s606,根据目标池化矩阵的维度信息和预测感兴趣区域的倾斜信息对预测感兴趣区域进行区域划分得到多个待池化区域。

具体地,预测感兴趣区域的倾斜信息确定池化窗口的倾斜信息,根据目标池化矩阵的维度信息和池化窗口的倾斜信息对预测感兴趣区域进行区域划分得到多个待池化区域。目标池化矩阵的维度信息包括第一维度信息和第二维度信息,根据预测感兴趣区域的第一边长信息和目标池化矩阵的第一维度信息确定池化窗口的第一边长,根据预测感兴趣区域的第二边长信息和目标池化矩阵的第二维度信息确定池化窗口的第二边长,根据第一边长、第二边长和池化窗对应的倾斜信息得到滑动池化窗口,将滑动池化窗口在预测感兴趣区域将所述滑动池化窗口进行滑动得到对应的多个待池化区域。

步骤s608,根据预测感兴趣区域的数目和目标池化矩阵的维度信息确定目标线程数目,开辟与目标线程数目对应的并行线程。预测感兴趣区域的数目为r,目标池化矩阵的维度信息包括高度ph、宽度pw和通道数c,根据上述预测感兴趣区域的数目和维度信息确定目标线程数目,其中目标线程数据total_thread_num=r×ph×pw×c。

步骤s610,根据预测感兴趣区域标识、目标池化矩阵的维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号,将待分配线程号分配至各个并行线程,每个并行线程存在一一对应的目标线程号。如预测感兴趣区域标识为预测roi编号,当前预测roi编号位r,目标池化矩阵的维度信息包括高度ph、宽度pw和通道数c,目标池化矩阵的矩阵元素位置为(ph,pw,c),则待分配线程号为thread_id=(r×ph×pw+ph×pw+pw)×c+c,将待分配线程号分配至各个并行线程,各个并行线程存在唯一对应的目标线程号。

步骤s612,根据目标线程号、目标池化矩阵的维度信息、预测感兴趣区域的关联关系确定各个并行线程对应的目标待池化区域。各个并行线程存在唯一对应的目标线程号,根据目标线程号和目标池化矩阵的维度信息确定目标线程号对应的待处理池化区域。根据当前线程的线程号thread_id计算得到单线待处理线程对应的roi编号r=thread_id/(ph×pw×c)。根据roi编号、目标池化矩阵的位置坐标与目标线程号的关联关系确定与目标线程号对应的目标待池化区域。

步骤s614,根据线程号与预测感兴趣区域标识、目标池化矩阵的矩阵元素位置的关联关系,将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处。如根据预测感兴趣区域标识r,在roi(r)中查找,得到特征图谱的图id。根据当前线程号确定当前线程的输出结果写入目标池化矩阵的位置为(ph,pw,c),其中ph=(thread_id/pw/c)%ph,pw=(thread_id/c)%pw,c=thread_id%c。根据目标池化矩阵的维度信息和roi(r)计算得到第r个roi的池化窗口的宽bw和高bh,其中bh=roi(r).h/ph,宽为bw=roi(r).w/pw。根据bw、bh、ph、pw和第r个roi的倾斜角度,计算当前线程待处理池化窗相对于(x1,y1)的偏移坐标如式(3)所示:

x1'=x1+pw·bw·cosθ+ph·bh·cosθ,y1'=y1-pw·bw·cosθ+ph·bh·cosθ(3)

根据偏移坐标计算得到当前线程对应的待处理池化窗在特征图谱中的坐标集合s,坐标集合s如式(4)所示:

在神经网络的前向计算过程中,当前线程对应的待处理池化窗中特征点坐标集合s,获得特征值集合d={value|value=map(n,y,x,c),(x,y)∈s},以最大池化为例,从特征集合d选取最大特征值作为池化计算结果,即pool(r,ph,pw,c)=max{d},记录当前线程对应的池化窗中最大特征值的像素点位置坐标(xmaxymax)。

在神经网络的反向计算过程中,记回传到池化层输出pool上的梯度为则当前线程处理对应的回传梯度为(r,ph,pw,c),最大特征值对应的像素点位置坐标的输入回传梯度当前线程处理对应的池化窗中其它像素点的输入回传梯度为0。

如图16所示,在一个实施例中,提供了一种图像数据处理装置200,包括:

数据获取模块202,用于获取特征图谱的预测感兴趣区域、预测感兴趣区域的倾斜信息和目标池化矩阵的维度信息。

数据处理模块204,用于根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息。

区域划分模块206,用于根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域。

池化模块208,用于按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。

如图17所示,在一个实施例中,图像数据处理装置200还包括特征图谱生成模块210,特征图谱生成模块210包括:

待处理图像获取单元2102,用于获取待处理图像,将待处理图像输入神经网络模型中。

图像处理单元2104,用于通过神经网络模型中的卷积层对待处理图像进行特征提取和感兴趣区域预测,得到特征图谱,特征图谱包括预测感兴趣区域。

图像数据处理装置200还包括:

数据输入模块212,用于将特征图谱输入池化层,进入数据获取模块,池化层与神经网络模型中的卷积层连接。

在一个实施例中,数据获取模块202用于获取预测感兴趣区域对应的顶点坐标,预测感兴趣区域为矩形区域,根据顶点坐标按照三角函数关系计算得到预测倾斜角度。或

获取预测感兴趣区域对应的几何中心点坐标和预测感兴趣区域对应的顶点坐标,根据几何中心点坐标和顶点坐标计算得到预测倾斜角度。

如图18所示,在一个实施例中,区域划分模块206包括:

边长计算单元2062,用于根据第一维度信息和预测感兴趣区域的第一边长计算得到池化窗的第一边长,根据第二维度信息和预测感兴趣区域的第二边长计算得到池化窗的第二边长。

滑动窗口确定单元2064,用于根据池化窗的第一边长、池化窗的第二边长和池化窗对应的倾斜信息得到滑动池化窗口。

区域划分单元2066,用于将所述滑动池化窗口在所述预测感兴趣区域进行滑动得到对应的与所述滑动池化窗口的面积相同的所述多个待池化区域。

如图19所示,在一个实施例中,池化模块208包括:

像素点获取单元2082,用于获取当前待池化区域,从特征图谱中获取当前待池化区域占用的像素点得到当前待池化像素点集合。

特征值获取单元2084,用于根据当前待池化像素点集合中各个当前待池化像素点在当前待池化区域内的面积获取各个当前待池化像素点对应的特征值,得到当前待池化区域对应的待池化特征值集合。

池化单元2086,用于按照预设池化算法对待池化特征值集合进行池化得到当前待池化区域对应的当前池化结果。

如图20所示,在一个实施例中,图像数据处理装置200还包括:

像素点集合获取模块214,用于在特征图谱上获取各个池化结果对应的像素点集合。

初始回传梯度获取模块216,用于在神经网络模型的反向传播过程中,获取目标池化矩阵中各个池化结果对应的初始回传梯度。

目标回传梯度分配模块218,用于根据预设池化算法确定各个像素点集合对应的目标像素点,根据初始回传梯度为各个像素点集合对应的目标像素点分配目标回传梯度。

如图21所示,在一个实施例中,图像数据处理装置200还包括:

线程数目计算模块220,用于根据预测感兴趣区域的数目和维度信息计算得到目标线程数目。

线程开辟模块222,用于开辟与所述目标线程数目对应的并行线程。

池化模块208,还用于将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果。

如图22所示,在一个实施例中,池化模块208还包括:

线程号确定单元2088,用于根据预测感兴趣区域标识、维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号。

线程号分配单元2090,用于将待分配线程号分配至各个并行线程,各个并行线程存在一一对应的目标线程号。

目标待池化区域确定单元2092,用于根据目标线程号确定各个并行线程对应的目标待池化区域。

线程池化单元2094,用于各个并行线程按照预设池化算法对对应的目标待池化区域进行并行池化,得到与各个线程号对应的池化结果。

池化结果写入单元2096,用于根据线程号与预测感兴趣区域标识、目标池化矩阵的矩阵元素位置的关联关系,将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处。

图23示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图23所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现图像数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行图像数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图23中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的图像数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图23所示的计算机设备上运行。计算机设备的存储器中可存储组成该图像数据处理装置的各个程序模块,比如,图16所示的数据获取模块202、数据处理模块204、区域划分模块206和池化模块208。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的图像数据处理方法中的步骤。

例如,图23所示的计算机设备可以通过如图16所示的图像数据处理装置中的数据获取模块202执行获取特征图谱的预测感兴趣区域、预测感兴趣区域的倾斜信息和目标池化矩阵的维度信息。计算机设备可通过数据处理模块204执行于根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息。计算机设备可通过区域划分模块206执行根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域。计算机设备可通过池化模块208执行按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息,获取目标池化矩阵的维度信息,根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。

在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:获取待处理图像,将待处理图像输入神经网络模型中,通过神经网络模型中的卷积层对待处理图像进行特征提取和感兴趣区域预测,得到特征图谱,特征图谱包括预测感兴趣区域,将特征图谱输入池化层,进入获取特征图谱的预测感兴趣区域的步骤,池化层与神经网络模型中的卷积层连接。

在一个实施例中,获取预测感兴趣区域的倾斜信息,包括:获取预测感兴趣区域对应的顶点坐标,预测感兴趣区域为矩形区域,根据顶点坐标按照三角函数关系计算得到预测倾斜角度,或获取预测感兴趣区域对应的几何中心点坐标和预测感兴趣区域对应的顶点坐标,根据几何中心点坐标和顶点坐标计算得到预测倾斜角度。

在一个实施例中,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,包括:根据第一维度信息和预测感兴趣区域的第一边长计算得到池化窗的第一边长,根据第二维度信息和预测感兴趣区域的第二边长计算得到池化窗的第二边长,根据池化窗的第一边长、池化窗的第二边长和池化窗对应的倾斜信息得到滑动池化窗口,将滑动池化窗口在预测感兴趣区域进行滑动得到对应的与滑动池化窗口的面积相同的多个待池化区域。

在一个实施例中,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,包括:获取当前待池化区域,从特征图谱中获取当前待池化区域占用的像素点得到当前待池化像素点集合,根据当前待池化像素点集合中各个当前待池化像素点在当前待池化区域内的面积获取各个当前待池化像素点对应的特征值,得到当前待池化区域对应的待池化特征值集合,按照预设池化算法对待池化特征值集合进行池化得到当前待池化区域对应的当前池化结果。

在一个实施例中,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵之后,所述计算机程序还使得所述处理器执行如下步骤:在特征图谱上获取各个池化结果对应的像素点集合,在神经网络模型的反向传播过程中,获取目标池化矩阵中各个池化结果对应的初始回传梯度,根据预设池化算法确定各个像素点集合对应的目标像素点,根据初始回传梯度为各个像素点集合对应的目标像素点分配目标回传梯度。

在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:根据预测感兴趣区域的数目和维度信息计算得到目标线程数目,开辟与目标线程数目对应的并行线程,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,包括:将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果。

在一个实施例中,将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果,包括:根据预测感兴趣区域标识、维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号,将待分配线程号分配至各个并行线程,各个并行线程存在一一对应的目标线程号,根据目标线程号确定各个并行线程对应的目标待池化区域,各个并行线程按照预设池化算法对对应的目标待池化区域进行并行池化,得到与各个线程号对应的池化结果,根据线程号与预测感兴趣区域标识、目标池化矩阵的矩阵元素位置的关联关系,将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处。

在一个实施例中,提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取特征图谱的预测感兴趣区域,获取所述预测感兴趣区域的倾斜信息,获取目标池化矩阵的维度信息,根据预测感兴趣区域的倾斜信息确定池化窗对应的倾斜信息,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵。

在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:获取待处理图像,将待处理图像输入神经网络模型中,通过神经网络模型中的卷积层对待处理图像进行特征提取和感兴趣区域预测,得到特征图谱,特征图谱包括预测感兴趣区域,将特征图谱输入池化层,进入获取特征图谱的预测感兴趣区域的步骤,池化层与神经网络模型中的卷积层连接。

在一个实施例中,获取预测感兴趣区域的倾斜信息,包括:获取预测感兴趣区域对应的顶点坐标,预测感兴趣区域为矩形区域,根据顶点坐标按照三角函数关系计算得到预测倾斜角度,或获取预测感兴趣区域对应的几何中心点坐标和预测感兴趣区域对应的顶点坐标,根据几何中心点坐标和顶点坐标计算得到预测倾斜角度。

在一个实施例中,根据维度信息和池化窗对应的倾斜信息对预测感兴趣区域进行区域划分得到对应的多个待池化区域,包括:根据第一维度信息和预测感兴趣区域的第一边长计算得到池化窗的第一边长,根据第二维度信息和预测感兴趣区域的第二边长计算得到池化窗的第二边长,根据池化窗的第一边长、池化窗的第二边长和池化窗对应的倾斜信息得到滑动池化窗口,将滑动池化窗口在预测感兴趣区域进行滑动得到对应的与滑动池化窗口的面积相同的多个待池化区域。

在一个实施例中,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,包括:获取当前待池化区域,从特征图谱中获取当前待池化区域占用的像素点得到当前待池化像素点集合,根据当前待池化像素点集合中各个当前待池化像素点在当前待池化区域内的面积获取各个当前待池化像素点对应的特征值,得到当前待池化区域对应的待池化特征值集合,按照预设池化算法对待池化特征值集合进行池化得到当前待池化区域对应的当前池化结果。

在一个实施例中,根据维度信息获取各个待池化区域对应的池化结果,组成目标池化矩阵之后,所述计算机程序还使得所述处理器执行如下步骤:在特征图谱上获取各个池化结果对应的像素点集合,在神经网络模型的反向传播过程中,获取目标池化矩阵中各个池化结果对应的初始回传梯度,根据预设池化算法确定各个像素点集合对应的目标像素点,根据初始回传梯度为各个像素点集合对应的目标像素点分配目标回传梯度。

在一个实施例中,所述计算机程序还使得所述处理器执行如下步骤:根据预测感兴趣区域的数目和维度信息计算得到目标线程数目,开辟与目标线程数目对应的并行线程,按照预设池化算法对各个待池化区域进行池化,得到与各个待池化区域对应的池化结果,包括:将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果。

在一个实施例中,将多个待池化区域分配到并行线程中,通过并行线程按照预设池化算法对各个待池化区域进行并行池化,得到与各个待池化区域对应的池化结果,包括:根据预测感兴趣区域标识、维度信息和目标池化矩阵的矩阵元素位置确定待分配线程号,将待分配线程号分配至各个并行线程,各个并行线程存在一一对应的目标线程号,根据目标线程号确定各个并行线程对应的目标待池化区域,各个并行线程按照预设池化算法对对应的目标待池化区域进行并行池化,得到与各个线程号对应的池化结果,根据线程号与预测感兴趣区域标识、目标池化矩阵的矩阵元素位置的关联关系,将各个线程号对应的池化结果写入与线程号对应的目标池化矩阵的矩阵元素位置处。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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