一种图像处理方法、装置及电子设备
文献发布时间:2023-06-19 19:30:30
技术领域
本申请涉及数字图像处理领域,尤其涉及一种图像处理方法、装置及电子设备。
背景技术
语义分割是当今计算机视觉领域的关键问题之一,其在医疗图像研究、地质研究、自动驾驶、现代化工业等领域具有重要意义。在语义分割中我们需要将视觉输入分为不同的语义可解释类别,可以理解为图像基于像素级别的分类任务。语义分割架构一般都用卷积神经网络(convolutional neuron network,CNN)为每个像素分配一个初始类别标签。卷积层可以有效地捕捉图像中的局部特征,并以层级的方式将许多这样的模块嵌套在一起,这样,CNN就可以试着提取更大的结构了。
当前,特征金字塔网络(feature pyramid networks,FPN)在图像分割的过程中,网络层自下而上,不同层的卷积层,感受野不同。即越高层的网络层的感受野越大,然而,卷积之后特征图的分辨率越低,这使得卷积层的感受野和分辨率相互矛盾。
发明内容
本申请实施例公开了一种图像处理方法、装置及电子设备,用于提高特征提取的准确性。
第一方面,本申请提供了一种图像处理方法,包括:获取待处理图像;通过网络模型对所述待处理图像进行处理,得到X个输出特征图,X为正整数;所述网络模型包括特征金字塔网络FPN模型和注意力attention模型,所述FPN模型包括N个网络层,所述attention模型包括X个交叉注意力模块,所述FPN模型用于提取所述待处理图像的多尺度特征,得到N个不同尺度的特征图,所述N个特征图与所述N个网络层一一对应,第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到一个输出特征图,N为大于X的整数,所述第一交叉注意力模块为所述X个交叉注意力模块中的任一交叉注意力模块,所述第一特征图和所述第二特征图为所述N个特征图中与所述第一交叉注意力模块对应的两个特征图,所述第一特征图和所述第二特征图为所述N个特征图中网络层相邻的两个特征图,所述X个输出特征图为所述X个交叉注意力模块对应得到的输出特征图。
在一种可能的实现方式中,所述第一交叉注意力模块包括第一预处理网络和第一子交叉注意力模块,所述第一特征图对应网络层的层数低于所述第二特征图对应网络层的层数;所述第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到输出特征图包括:所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V;所述第一子交叉注意力模块用于根据所述K、所述V和所述Q调整特征,得到输出特征图。
在一种可能的实现方式中,所述第一预处理网络包括线性变换模块;所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V包括:所述线性变换模块用于对所述第一特征图进行第一线性变换,得到第一特征矩阵,基于所述第一特征矩阵确定所述Q;所述线性变换模块还用于对所述第二特征图进行第二线性变换,得到第二特征矩阵,基于所述第二特征矩阵确定所述K;所述线性变换模块还用于对所述第二特征图进行第三线性变换,得到第三特征矩阵,基于所述第三特征矩阵确定所述V。
在一种可能的实现方式中,所述第一预处理网络还包括第一空间降维模块和第二空间降维模块;所述基于所述第二特征矩阵确定所述K包括:所述第一空间降维模块对所述第二特征矩阵进行降维处理,得到第四特征矩阵,基于所述第四特征矩阵确定所述K;所述基于所述第三特征矩阵确定所述V包括:所述第二空间降维模块对所述第三特征矩阵进行降维处理,得到第五特征矩阵,基于所述第五特征矩阵确定所述V。
在一种可能的实现方式中,所述第一空间降维模块和所述第二空间降维模块均包括卷积层或者池化层,所述卷积层的步长大于1。
在一种可能的实现方式中,所述第一预处理网络还包括位置编码模块;所述基于所述第一特征矩阵确定所述Q包括:所述位置编码模块对第一特征矩阵进行位置编码,得到所述Q;所述基于所述第四特征矩阵确定所述K包括:所述位置编码模块对所述第四特征矩阵进行位置编码,得到所述K;所述基于所述第五特征矩阵确定所述V包括:所述位置编码模块对所述第五特征矩阵进行位置编码,得到所述V。
第二方面,本申请提供了一种图像处理装置,包括:
获取单元,用于获取待处理图像;
处理单元,用于通过网络模型对所述待处理图像进行处理,得到X个输出特征图,X为正整数;
所述网络模型包括特征金字塔网络FPN模型和注意力attention模型,所述FPN模型包括N个网络层,所述attention模型包括X个交叉注意力模块,所述FPN模型用于提取所述待处理图像的多尺度特征,得到N个不同尺度的特征图,所述N个特征图与所述N个网络层一一对应,第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到一个输出特征图,N为大于X的整数,所述第一交叉注意力模块为所述X个交叉注意力模块中的任一交叉注意力模块,所述第一特征图和所述第二特征图为所述N个特征图中与所述第一交叉注意力模块对应的两个特征图,所述第一特征图和所述第二特征图为所述N个特征图中网络层相邻的两个特征图,所述X个输出特征图为所述X个交叉注意力模块对应得到的输出特征图。
在一种可能的实现方式中,所述第一交叉注意力模块包括第一预处理网络和第一子交叉注意力模块,所述第一特征图对应网络层的层数低于所述第二特征图对应网络层的层数;
所述第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到输出特征图包括:
所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V;
所述第一子交叉注意力模块用于根据所述K、所述V和所述Q调整特征,得到输出特征图。
在一种可能的实现方式中,所述第一预处理网络包括线性变换模块;
所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V包括:
所述线性变换模块用于对所述第一特征图进行第一线性变换,得到第一特征矩阵,基于所述第一特征矩阵确定所述Q;
所述线性变换模块还用于对所述第二特征图进行第二线性变换,得到第二特征矩阵,基于所述第二特征矩阵确定所述K;
所述线性变换模块还用于对所述第二特征图进行第三线性变换,得到第三特征矩阵,基于所述第三特征矩阵确定所述V。
在一种可能的实现方式中,所述第一预处理网络还包括第一空间降维模块和第二空间降维模块;
所述基于所述第二特征矩阵确定所述K包括:
所述第一空间降维模块对所述第二特征矩阵进行降维处理,得到第四特征矩阵,基于所述第四特征矩阵确定所述K;
所述基于所述第三特征矩阵确定所述V包括:
所述第二空间降维模块对所述第三特征矩阵进行降维处理,得到第五特征矩阵,基于所述第五特征矩阵确定所述V。
在一种可能的实现方式中,所述第一空间降维模块和所述第二空间降维模块均包括卷积层或者池化层,所述卷积层的卷积核为步长大于1的卷积核
在一种可能的实现方式中,所述第一预处理网络还包括位置编码模块;
所述基于所述第一特征矩阵确定所述Q包括:
所述位置编码模块对第一特征矩阵进行位置编码,得到所述Q;
所述基于所述第四特征矩阵确定所述K包括:
所述位置编码模块对所述第四特征矩阵进行位置编码,得到所述K;
所述基于所述第五特征矩阵确定所述V包括:
所述位置编码模块对所述第五特征矩阵进行位置编码,得到所述V。
第三方面公开一种图像处理设备,该图像处理设备包括:处理器和存储器;处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
第四方面公开一种电子设备,该图像处理设备可以包括:处理器、存储器、输入接口和输出接口,所述输入接口用于接收来自所述设备之外的其它设备的信息,所述输出接口用于向所述设备之外的其它设备输出信息,当所述处理器执行所述存储器存储的计算机程序时,使得所述处理器执行第一方面或第一方面的任一实施方式公开的图像处理方法。
第五方面公开一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序或计算机指令,当所述计算机程序或计算机指令被运行时,实现如上述第一方面或第一方面的任一实施方式公开的图像处理方法。
第六方面公开一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被运行时,使得上述的方法被执行。
在本申请实施例中,由于在FPN的基础上,本申请实施例加入cross attention模型,使得FPN输出的相邻层的图像通过attention模型进一步处理,从而能够提取上下相邻两层特征的相关性,从而对于下一层的特征图来说,能够考虑到上一层特征图的更大的感受野,捕捉到全局上下文信息;对于上一层的特征图来说,能够结合下一层的更高的分辨率,从而可以提高特征提取的准确性。
附图说明
图1A是本申请实施例提供的一种特征金字塔网络模型的示意图;
图1B是本申请实施例提供的一种自注意力模型结构的示意图;
图2A是本申请实施例提供的一种图像分割场景的示意图;
图2B是本申请实施例提供的另一种图像分割场景的示意图;
图3是本申请实施例提供的一种网络架构的结构示意图;
图4是本申请实施例提供的一种图像处理方法的流程示意图;
图5是本申请实施例提供的一种网络模型示意图;
图6是本申请实施例提供的另一种网络模型示意图;
图7A-图7D是本申请实施例提供的一组预处理网络模型示意图;
图8是本申请实施例提供的一种空间降维的示意图;
图9是本申请实施例提供的又一种网络模型示意图;
图10是本申请实施例提供的一种图像处理装置结构示意图;
图11是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供了一种图像处理方法、装置及电子设备,可以提高特征提取的准确性。
下面首先介绍本申请实施例涉及的相关的一些概念。
(1)卷积神经网络(convolutional neuron network,CNN)
卷积神经网络是一种包含卷积计算且具有深度结构的前馈神经网络。卷积神经网络可以包括卷积层。
卷积层的功能是对输入数据进行特征提取,其内部包括多个卷积核,组成卷积核的每个元素都对应一个权重系数和一个偏差量(bias),类似于一种前馈神经网络的神经元(neuron)。卷积层的参数可以包括卷积核大小,步长和填充,三者决定了卷积核输出特征图的尺寸。其中,卷积核的大小可以指定为小于输入图像尺寸的任意值,卷积核越大,可提取的输入特征越复杂。卷积步长定义了卷积核相邻两次扫过特征图时的位置的距离,卷积步长为1时,卷积核逐个扫过特征图的元素;步长为n时,会在下一次扫描跳过n-1个像素。由于卷积核的计算可知,随着卷积层的堆叠,特征图的尺寸会逐步减小,例如16×16的输入图像在经过单位步长、无填充的5×5的卷积核后,会输出12×12的特征图。为此,填充是在特征图通过卷积核之前人为增大其尺寸以抵消计算中尺寸收缩影响的方法。常见的填充方法为按零填充和重复边界值填充(replication padding)。
(2)特征金字塔网络(feature ptramid network,FPN)
图1A是本申请实施例公开的一种特征金字塔网络模型的示意图。如图1A所示,特征金字塔网络可以包括两个部分,一,自下而上的路径(bottom-up pathway);二,自上而下的路径(top-down pathway)与横向连接(lateral connections)。
其中,图1A中的左半部分为自下而上的路径,这是一个向前传播的卷积神经网络的主干部分,计算出一个特征层次结构,缩放步长为d。如图1A所示,随着卷积次数的增多,特征图的尺寸越来越小,而相同尺寸的特征图在一个网络层(stage)上。如图1A所示,一共4个stage。
在自上而下的路径和横向连接中,可以将自下而上路径中对应stage的特征图进行1*1的卷积,从而将不同stage的特征通道数统一到一个数值上,使得特征图的通道数相同。这样可以将自上而下路径的对应stage的特征图进行上采样的结果与1*1卷积的结果对应相加。之后可以迭代这个过程直到输出最后一层。例如,p5的特征图经过上采样,然后和c4的特征图进行拼接,得到p4的特征图。
在FPN模型中,网络层越高,包含的特征语义越多,网络层越低,包含的语义特征越少,位置信息越多。
(3)感受野(receptive field)
卷积层每个神经元都与前一层中位置接近的区域的多个神经元相连,区域的大小取决于卷积核的大小,可以称之为“感受野”(receptive field),其含义可以类比视觉皮层细胞的感受野。
感受野可以定义为卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片(原始图像上)上映射的区域大小。也就是说相当于高层的特征图中的像素点收到原图多大区域的影响。
示例性地,在图1A所示的FPN模型中,网络层越底层的感受野越小,越高层的感受野越大。例如C3的感受野大于C2的感受野。
(4)attention机制
attention机制广泛的应用于各种领域,在图像处理领域,由于图像的每个像素均赋予不同的权重。attention机制可以帮助模型对输入的图像每个部分赋予不同的权重,取出更加关键以及重要的信息,使得模型作出更加准确的判断,同时不会对模型的计算和存储带来更大的开销。
图1B是本申请实施例公开的一种自注意力模型结构的示意图。结合如图1B所示,如图self attention函数的本质可以被描述为一个查询(query,Q)到一系列(关键key,K以及值value,V)对的映射。
其中,Q即Query,K为Key,V为Value,softmax(f(Q,K
在自注意力机制中Attention(X,X,X),其中X就是前面说的输入数据,在输入数据内部寻找联系,这使得模型有所提升。
(5)语义分割
语义分割是指对图像的每一个像素进行分类。具体地,语义分割可以按照特定标准对图像中的事物进行密集的预测、推断标签来实现细粒度的推理,从而使图像的每个像素均可标定为特定的分类。
图2A和图2B是本申请实施例示出的一种图像分割场景的示意图。如图2A所示,图2A的场景为街头的图像场景,场景中包括4个人和,数木和车辆。经过语义分割,可以将其中的人、树木和车辆进行分割。如图2B所示,图2B为图2A经过图像分割之后的场景示意图。其中4个行人标记为灰色,树木标记为黑色,车辆标记为白色。
(6)图像目标检测
图像中的目标检测即可以通过定位和分类的方法确定图像中的事物的分类和位置。
如图2A和图2B所示,当定位出图像中事物之后,可以基于对上述的事物进行分类。其中分类结果为:灰色的分类为行人,黑色分类为树木,白色分类为车辆。
图3是本申请实施例提供的一种网络架构的结构示意图。如图3所示,该网络架构可以包括服务端和客户端。其中,客户端具体可以包括一个或者多个终端设备。客户端可以与服务端通过有线或无线通信方式进行直接或间接地网络连接,以便于客户端可以通过该网络连接与服务端之间进行数据交互。
其中,客户端中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能家居、可穿戴设备、车载终端、等具有图像数据处理功能的智能终端。
其中,服务端可以为客户端对应的服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,客户端上可以集成安装有用于采集图像的采集组件,这里的采集组件可以为客户端上用于拍摄照片的摄像头。示例性地,在车载终端作为客户端的情况下,车载终端可以实时采集图像,所采集的图像可以作为待处理图像进行图像分割或者目标检测等,具体可以参考图4对应的描述,不加赘述。
可以理解的是,本申请所提供的图像处理方法可以由计算机设备执行,该计算机设备可以为上述客户端,也可以为上述服务端,还可以为客户端和服务端共同组成。一种可能的情况下,在本申请所提供的图像处理方法由客户端执行的情况下,客户端可以基于采集组件获取到待处理图像,并通过网络模型对待处理图像进行处理,得到X个输出特征图。一种可能的情况下,在本申请所提供的图像处理方法由服务端执行的情况下,客户端可以将基于采集组件获取到的待处理图像发送至服务端,这样,服务端在接收到客户端通过采集组件所提供的待处理图像之后,通过网络模型对待处理图像进行处理,得到X个输出特征图。之后服务端可以将X个输出特征图发送给客户端,客户端可以显示X个输出特征图。
在FPN模型中,可以对输入图像进行特征提取,获取不同网络层的特征图图像信息。由于不同尺寸的特征图中能够具有不同的特征。底层特征图的分辨率较大,含有更多的细节信息;高层特征图分辨率较小,包含更多的抽象的语义信息。例如,如图1A所示,在P5层输出较大目标的分割结果,在P4层输出中等大小目标输出结果,在P3层输出较小目标输出结果,在P2层输出更小目标输出结果。输出的目标可以分割结果,也可以是检测的结果。结合图2B,P2层可以输出车和远处的人;P3层可以输出近一点的人和树;P4层可以输出更近一点的人和树;P5层可以输出最近处的人。
在上述的实施方式中,FPN模型每一层输出的特征图的分辨率和感受野的大小是相互矛盾的,即高层特征图的目标较大的但分辨率较低;底层特征图的目标较小的但分辨率较高。因此,对于FPN的某一层输出来说,一来,不能够获取更大的感受野,是关注本层的局部上下文信息(local context information),二来,获取到更大的感受野但是不能获取更高分辨率,使得,获取的特征图的准确性较低。
在本申请实施例中,在FPN模型的基础上,对于相邻两层的输出特征图通过attention机制的处理,即可以将FPN输出的相邻两层的输出特征图作为attention机制的输入,进一步确定特征图。这样,能够提取上下相邻两层特征的相关性,从而对于下一层的特征图来说,能够考虑到上一层特征图的更大的感受野,捕捉到全局上下文信息(globalcontext information);对于上一层的特征图来说,能够结合下一层的更高的分辨率,从而可以特征提高的准确性。
请参阅图4,图4为本申请实施例提供的一种图像处理方法的流程示意图,如图4所示,该方法可以包括但不限于以下步骤:
在本申请实施例中,图像处理方法可以由电子设备进行执行,这一电子设备可以为电脑、服务器、手机等等计算设备,不加限定。
S401、获取待处理图像。
其中,待处理图像为图像训练集中的图像。
电子设备可以从图像训练集中选取一张图像作为待处理图像。
S402、通过网络模型对待处理图像进行处理,得到X个输出特征图。
其中,网络模型包括特征金字塔网络FPN模型和注意力attention模型。
首先,介绍FPN模型:
由于FPN模型为多网络层的网络模型,FPN模型用于提取待处理图像的特征,得到N个特征图。FPN模型包括N个网络层,每个网络层均对应输出一个特征图,N层网络层便输出N个特征图,即可以理解为N个特征图与N个网络层一一对应,N为大于1的整数。
电子设备可以将一个待处理图像输出FPN模型,可以获得N个特征图。
图5是本申请实施例公开的一种网络模型示意图。如图5所示,该模型可以包括一个FPN模型和至少一个attention模型。其中,FPN模型可以是N个网络层的网络模型。在自下而上的路径中,可以对输入的输出特征图进行第一层卷积,得到特征图C2;将C2进行卷积,得到特征图C3;……;将CN-1进行卷积,得到特征图CN;将CN进行卷积,得到特征图CN+1。在横向连接和自下而上的路径中,可以将CN+1进行1*1的卷积操作,得到PN+1;将PN+1进行上采样(例如,2倍的上采样)的图像与CN的进行1*1的卷积操作的图像进行结合(空间逐项素求和),得到PN;……;将P4进行上采样的图像与C3进行1*1的卷积操作的图像进行结合,得到P3;将P3进行上采样的图像与C2进行1*1的卷积操作的图像进行结合,得到P2。其中,上述的N个特征图为N个特征图P2、P3、……、PN和PN+1,P2为第一层的特征图,P3为第二层的特征图,……,PN为第N-1层的特征图,PN+1为第N层的特征图。
在上述的实施方式中,FPN模块可以对不同网络层的特征图进行提取,由于FPN的特征图的网络层的层数丰富,每一个层对应卷积核的感受野不同,因此,上述的FPN可以通过多种大小不同的感受野对特征进行提取,使得提取的图像能够检测或者分割图片中不同大小的事物,从而可以保证特征提取的准确性,进而可以让图像分割或者目标检测等图像处理的结果更加准确。
其次,介绍X个attention模型。
其中,网络模型中的attention模型可以包括X个交叉注意力模块。任一交叉注意力模块均用于调整第一特征图和第二特征图的特征,得到输出特征图。此时,N为大于X的整数,每一个交叉注意力模块为所述X个交叉注意力模块中的任一交叉注意力模块。第一特征图和第二特征图为上述N个特征图中对应输入某一个交叉注意力模块的两个特征图,因此,第一特征图和第二特征图为N个特征图中与某一交叉注意力模块对应的两个特征图。此外,第一特征图和第二特征图在FPN模型中对应的网络层相邻,即第一特征图和第二特征图为FPN的网络层的上下两层输出的特征图,例如,如图5所示,第一特征图为P2,第二特征图为P3。
在获取到N个网络层对应N个的特征图的情况下,电子设备可以将相邻两个特征图作为一个交叉注意力模块的输入,每一个交叉注意力模块得到一个输出特征图,X个交叉注意力模块得到X个输出特征图,因此,一张输出特征图为上述X个输出特征图中某一交叉注意力模块对应输出的特征图像。
attention模型中可以包括X个交叉注意力模块,其中,X可以为N-1或者N/2。
一种可能的情况下,X可以为N-1。即N张特征图中网络层相邻的特征图的数目为N-1个,即第一特征图和第二特征图共有N-1种可能,将这N-1组第一特征图和第二特征图对应输入N-1个交叉注意力模块,得到N-1个输出特征图。
示例性地,如图5所示,在获取N个特征图之后,可以将N个特征图中第一层的特征图和第二层的特征图输入注意力网络1中,得到一个输出特征图;将N个特征图中第二层的特征图和第三层的特征图输入注意力网络2中,得到另一个输出特征图;……;将N个特征图中第N-1层的特征图和第N层的特征图输入注意力网络N-1,得到又一个输出特征图。
另一种可能的情况下,在N为偶数的情况下,X可以为N/2。在输入所有的交叉注意力模块的特征图不重合的情况下,N张特征图中网络层相邻的特征图的数目为N/2个,此时,第一特征图和第二特征图共有N/2种可能。将这N/2组第一特征图和第二特征图对应输入N2个交叉注意力模块,得到N/2个输出特征图。
图6是本申请实施例公开的另一种网络模型示意图。如图6所示,在获取N个特征图之后,可以将N个特征图中第一层的特征图和第二层的特征图输入注意力网络1中,得到一个输出特征图;将N个特征图中第三层的特征图和第四层的特征图输入注意力网络2中,得到另一个输出特征图;……;将N个特征图中第N-1层的特征图和第N层的特征图输入注意力网络N/2,得到又一个输出特征图。
下面就具体的注意力网络进行说明:
注意力网络可以包括预处理网络和子注意力网络。其中,预处理网络可以包括线性变换模块、空间降维模块和位置编码模块的一种或多种。子注意力网络可以参考上述的自注意力机制,其输入的变量可以为Q,K与V三个变量,本申请中的Q,K与V为通过FPN模型的特征图获取。即将FPN模型中第i层和第i+1层的特征图(即,图像P
以下分别说明线性变换模块、空间降维模块和位置编码模块:
1.线性变换模块
在一种可能的实施方式中,可以将第一特征图和第二特征图进行线性变换,以获取Q,K和V。
将特征图的每一个像素点进行线性变换,得到Q,K和V,对应某一attention模型的公式如下:
Q=w
K=w
V=w
其中,w
在第一特征图对应网络层的层数低于第二特征图对应网络层的层数的情况下,可以基于第一特征图确定Q,根据第二特征图确定K和V。一种可能的实施方式中,线性变换模块可以基于第一特征图和第一权重获取第一特征矩阵,将第一特征矩阵确定为Q;基于第二特征图和第二权重获取第二特征矩阵,将第二特征矩阵确定为K;基于第二特征图和第三权重获取第三特征矩阵,将第三特征矩阵确定为V。另一种可能的实施方式中,线性变换模块可以基于第一特征图和第一权重获取第一特征矩阵,将第一特征矩阵进一步处理以确定为Q;基于第二特征图和第二权重获取第二特征矩阵,将第二特征矩阵进一步处理以确定为K;基于第二特征图和第三权重获取第三特征矩阵,将第三特征矩阵进一步处理以确定为V。
图7A-图7D是本申请实施例公开的一组预处理网络模型示意图。如图7B所示,预处理网络中可以仅仅包括线性变换模块,线性变换模块可以分别对第一特征图,第二特征图和对应权重进行线性变换,从而可以得到Q、K和V。如图7A、图7C和图7D所示,在线性模块进行线性变换之后,预处理网络可以对得到的第一特征矩阵,第二特征矩阵和第三特征矩阵分别进一步处理,对应得到Q、K和V。
需要说明的是,由于在自注意力(self attention)网络中,输入的Q、K和V均为同样的特征矩阵,而在本申请的交叉注意力模块中,输入的Q、K和V为FPN不同层的对应的特征矩阵,这样可以称这一子注意力网络可以称为交叉注意力网络(cross-attention)。在FPN的不同特征层之间加入了交叉注意力机制。与常见的self-attention不同,cross-attention的Q,K与V分别来自不同的特征层进行的特征变换,使得能够提取不同特征层之间的相关性,以获取更强的信息流通性,用于补充不同特征层之间提取的特征信息,示例性地,如图5所示,当i为3,查询Q来自于P3,关键字K和值V来源于具有更低特征分辨率的P4。
2.空间降维模块
预处理网络还可以包括空间降维模块,即第一空间降维模块和第二空间降维模块,第一空间降维模块可以对上述第二特征矩阵进行降维处理,得到第四特征矩阵,第四特征矩阵可以用于确定K;第二空间降维模块对上述述第三特征矩阵进行降维处理,得到第五特征矩阵,第五特征矩阵可以用于确定V。
一种可能的情况下,在获第二特征图(P
K=conv(w
第二空间降维模块卷积对应的公式可以表示为:
V=conv(w
图8是本申请实施公开的一种空间降维的示意图。如图8所示,可以对上述的w
另一种可能的情况下,在获第二特征图(P
需要说明的是,上述的第四特征矩阵和第五特征矩阵的大小是相等的,例如,第四特征矩阵为h*w*c的矩阵,那么第五特征矩阵也是h*w*c的矩阵。
由上述可知,将进行子attention模型的计算之前可以添加一层卷积层或者池化层,使得特征图的维度降低。这样,由于attention的计算复杂度为20(N
3.位置编码模块
预处理网络还可以包括位置编码模块,位置编码模块对第一特征矩阵进行位置编码,得到所述Q;对所述第四特征矩阵进行位置编码,得到所述K;对所述第五特征矩阵进行位置编码,得到所述V。
在一种可能的实施方式中,可以进一步通过位置编码,得到Q、K和V。
Q=w
K=conv(w
V=conv(w
其中,PE为权重参数,PE为通过训练得出的权重参数,即第四权重PE
本申请实施例中,位置编码随机初始化一组与P5特征分辨率相同的可学习的参数PE,其维度为W
由上述可知,由于cross-attention是无序相关性,通过位置编码,能够加强对位置信息的关注,从而可以获得高分辨率特征图一致的空间维度。
需要说明的是,上述的线性变换、空间降维和位置编码的处理可以使用上述的一种实施方式,也可以是多种(两种或三种)实施方式联合使用,例如,如图7A所示,预处理网络可以包括线性变换模块、空间降维模块和位置编码模块,Q、K和V也可以是将特征图经过线性变换、空间降维和位置编码的特征矩阵。如图7B所示,预处理网络可以只包括线性变换模块,Q、K和V也可以是将特征图经过线性变换的特征矩阵。如图7C所示,预处理网络可以包括线性变换模块和空间降维模块,Q、K和V也可以是将特征图经过线性变换和空间降维的特征矩阵。如图7D所示,预处理网络可以包括线性变换模块和位置编码模块,Q、K和V也可以是将特征图经过线性变换和位置编码的特征矩阵。
下面说明子注意力网络:
子交叉注意力模块,由于其原理与字注意力机制基本相同,因此在获取Q、K和V之后,可以通过attention模型进行进一步的计算,具体地,可以对Q和K的转置进行矩阵乘法,并进行softmax归一化操作,得到查询Q相当于关键字K的相关性矩阵A,然后A乘以数据value,表示相关性相对于数值V的映射,得到cross-attention的特征图C,即:
CP
其中,d为向量通道维度,CP
Y
其中,n表示第n个交叉注意力模块,在图5对应的方法中,n=i-1;在图6对应的方法中,n=i/2,i为偶数。对于FPN的每一层特征,都由上到下依次进行交叉注意力机制操作。
需要说明的是,在本申请实施例中,基于FPN得到P
下面可以对比现有方法与本申请的方法得到的结果:
表1
表1是本申请实施例公开的一种图像处理对比表。如表1所示,backbone表示CNN的网络结构,可以包括swin-b和swin-L两种。在方法均为FPN模型,图像大小均为120k,迭代次数均为768次的情况下,swin-b对应的交并比为76.13%,swin-L对应的交并比为76.33%,因此,swin-L的结果更优。在backbone为Swin-b,方法为Our-FPN(本申请实施例的方法),图像大小均为120k,迭代次数均为768次的情况下,交并比为76.35%。交并比越大可以表明预测结果越准确。因此,本申请实施例方法比FPN更优。
表2
表2是本申请实施例公开的另一种图像处理对比表。如表2所示,backbone表示CNN的网络结构,可以为残差网络(Residual Network,ResNet)50。在均为ResNet 50模型,图像大小均为120k,迭代次数均为768次的情况下,FPN对应的交并比为35.49%,Our-FPN(本申请实施例的方法)的交并比为37.60%。交并比越大可以表明预测结果越准确。因此,本申请实施例方法比FPN更优。
在本申请实施例中,由于在FPN的基础上,本申请实施例加入cross attention模型,使得FPN输出的相邻网络层的图像通过attention模型进一步处理,从而能够提取上下相邻两层特征的相关性,从而对于下一层的特征图来说,能够考虑到上一层特征图的更大的感受野,捕捉到全局上下文信息;对于上一层的特征图来说,能够结合下一层的更高的分辨率,从而可以特征提高的准确性。
示例性地,图9是本申请实施例公开的又一种网络模型示意图。如图9所示,该模型可以包括一个FPN模型和3个attention模型。其中,FPN模型可以包括3层网络模型,在自下而上的路径中,可以对输入的输出特征图进行第一层卷积,得到特征图C2;将C2进行卷积,得到特征图C3;将C3进行卷积,得到特征图C4;将C4进行卷积,得到特征图C5。在横向连接和自下而上的路径中,可以将C5进行1*1的卷积操作,得到P5;将P5进行2倍上采样的图像与C4的进行1*1的卷积操作的图像进行结合(空间逐项素求和),得到P4;将P4进行2倍上采样的图像与C3的进行1*1的卷积操作的图像进行结合,得到P3;将P3进行2倍上采样的图像与C2的进行1*1的卷积操作的图像进行结合,得到P2。其中,上述的N个特征图为4个特征图P2、P3、P4和P5。在attention模型中,P2和P3作为注意力网络1的输入图像;P3和P4作为注意力网络2的输入图像;P4和P5作为注意力网络3的输入图像。注意力模型可以参考上述的图5的描述,不加赘述。
请参阅图10,图10是本申请实施例公开的一种图像处理装置结构示意图。其中,该图像处理装置可以包括:
获取单元1001,用于获取待处理图像;
处理单元1002,用于通过网络模型对所述待处理图像进行处理,得到X个输出特征图,X为正整数;
所述网络模型包括特征金字塔网络FPN模型和注意力attention模型,所述FPN模型包括N个网络层,所述attention模型包括X个交叉注意力模块,所述FPN模型用于提取所述待处理图像的多尺度特征,得到N个不同尺度的特征图,所述N个特征图与所述N个网络层一一对应,第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到输出特征图,N为大于X的整数,所述第一交叉注意力模块为所述X个交叉注意力模块中的任一交叉注意力模块,所述第一特征图和所述第二特征图为所述N个特征图中与所述第一交叉注意力模块对应的两个特征图,所述第一特征图和所述第二特征图为所述N个特征图中网络层相邻的两个特征图,所述X个输出特征图为所述X个交叉注意力模块对应得到的输出特征图。
在一种可能的实现方式中,所述第一交叉注意力模块包括第一预处理网络和第一子交叉注意力模块,所述第一特征图对应网络层的层数低于所述第二特征图对应网络层的层数;
所述第一交叉注意力模块用于调整第一特征图和第二特征图的特征得到输出特征图包括:
所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V;
所述第一子交叉注意力模块用于根据所述K、所述V和所述Q调整特征,得到输出特征图。
在一种可能的实现方式中,所述第一预处理网络包括线性变换模块;
所述第一预处理网络用于根据所述第一特征图确定Q,以及根据所述第二特征图确定K和V包括:
所述线性变换模块用于对所述第一特征图进行第一线性变换,得到第一特征矩阵,基于所述第一特征矩阵确定所述Q;
所述线性变换模块还用于对所述第二特征图进行第二线性变换,得到第二特征矩阵,基于所述第二特征矩阵确定所述K;
所述线性变换模块还用于对所述第二特征图进行第三线性变换,得到第三特征矩阵,基于所述第三特征矩阵确定所述V。
在一种可能的实现方式中,所述第一预处理网络还包括第一空间降维模块和第二空间降维模块;
所述基于所述第二特征矩阵确定所述K包括:
所述第一空间降维模块对所述第二特征矩阵进行降维处理,得到第四特征矩阵,基于所述第四特征矩阵确定所述K;
所述基于所述第三特征矩阵确定所述V包括:
所述第二空间降维模块对所述第三特征矩阵进行降维处理,得到第五特征矩阵,基于所述第五特征矩阵确定所述V。
在一种可能的实现方式中,所述第一空间降维模块和所述第二空间降维模块均包括卷积层或者池化层,所述卷积层或池化层的步长大于1。
在一种可能的实现方式中,所述第一预处理网络还包括位置编码模块;
所述基于所述第一特征矩阵确定所述Q包括:
所述位置编码模块对第一特征矩阵进行位置编码,得到所述Q;
所述基于所述第四特征矩阵确定所述K包括:
所述位置编码模块对所述第四特征矩阵进行位置编码,得到所述K;
所述基于所述第五特征矩阵确定所述V包括:
所述位置编码模块对所述第五特征矩阵进行位置编码,得到所述V。
基于上述的描述,请参阅图11,图11是本申请实施例公开的一种电子设备的结构示意图。如图11所示,该设备可以包括处理器1101、存储器1102、输入接口1103、输出接口1104和总线1105。存储器1102可以是独立存在的,可以通过总线1105与处理器1101相连接。其中,输入接口1103用于接收来自其它设备的信息,输出接口1104用于向其它设备输出、调度或者发送信息。存储器1102也可以和处理器1101集成在一起。其中,总线1105用于实现这些组件之间的连接。
在一个实施例中,该电子设备可以为图像处理设备或者图像处理设备内的模块(例如,芯片),存储器1102中存储的计算机程序指令被执行时,该处理器1101用于执行上述实施例中处理单元1002执行的操作,输入接口1103用于执行上述实施例中获取单元1001执行的操作,输出接口1104用于向其他单元或者设备输出信息。上述电子设备或者电子设备内的模块还可以用于执行上述图4和图8方法实施例中的各种方法,不再赘述。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
- 一种图像处理方法、装置及电子设备
- 一种图像处理方法、装置及电子设备
- 一种图像的处理方法、装置及电子设备
- 一种图像处理方法、装置及电子设备
- 图像处理方法、图像处理装置和电子设备
- 人脸图像处理方法、直播图像处理方法、装置和电子设备
- 图像预处理方法和装置、图像处理方法、电子设备及介质