发明内容
为了构建能够对不同尺寸、不同分辨率的多模态图像直接配准的多模态网络模型, 本申请提供一种图像配准网络模型及其建立方法、设备及介质。
第一方面,本申请提供一种图像配准网络模型,采用如下的技术方案:
一种图像配准网络模型,包括编码器和解码器,所述编码器包括用于对参考图像进行处理的 参考图像编码器和用于对移动图像进行处理的移动图像编码器,所述参考图像编码器和所述 移动图像编码器相互独立;
所述参考图像编码器和移动图像编码器均包括编码并行交叉注意力模块,所述编码并行交叉 注意力模块用于对不同尺寸、不同分辨率的原始图像输入的矢量序列进行计算,得到所述编 码器的输出矢量序列;
所述解码器包括解码并行交叉注意力模块,所述解码并行交叉注意力模块以所述参考图像编 码器、移动图像编码器不同尺度的编码获得的输出矢量序列作为输入,并输出不同模态图像 配准过程中与原始的参考图像尺寸相同的形变场信息。
通过采用上述技术方案,参考图像编码器、移动图像编码器网络和解码器网络充分 考虑了图像尺寸与分辨率的差异,基于并行交叉注意力模块进行网络设计,并融合不同尺度 级别的并行交叉注意力模块获取的特征信息,使得不同尺寸、不同分辨率的多模态图像可直 接进行配准,最终完成形变场估计。
第二方面,本申请提供一种图像配准网络模型建立方法,采用如下的技术方案:
一种图像配准网络模型建立方法,包括:
对不同模态图像的原始图像进行重采样,得到所述原始图像对应的各向同性3D图像,所述 原始图像包括参考图像和移动图像;
分别对所述原始图像以及所述各向同性3D图像进行子块划分,并对划分后得到的子块进行 位置编码;
基于所述位置编码计算所述原始图像对应的原始矢量序列以及所述各向同性3D图像对应的 各向同性矢量序列;
将所述原始矢量序列和各向同性矢量序列输入编码器中的编码并行交叉注意力模块,得到所 述编码器输出的输出矢量序列,所述输出矢量序列包括所述参考编码输出矢量序列和移动编 码输出矢量序列,其中,所述原始矢量序列作为所述编码并行交叉注意力模块中查询向量输 入,所述各向同性矢量序列作为所述编码并行交叉注意力模块中键向量和值向量的输入;
将所述输出矢量序列输入解码器的解码并行交叉注意力模块进行解码,获取所述解码器的输 出的不同模态图像配准的形变场。
通过采用上述技术方案,参考图像编码器、移动图像编码器网络和解码器网络充分 考虑了图像尺寸与分辨率的差异,基于并行交叉注意力模块进行网络设计,并融合不同尺度 级别的并行交叉注意力模块获取的特征信息,使得不同尺寸、不同分辨率的多模态图像可直 接进行配准,最终完成形变场估计。
可选的,所述原始矢量序列均包括一级原始矢量序列,所述各向同性矢量序列均包 括一级各向同性矢量序列;
所述将所述原始矢量序列和各向同性矢量序列输入编码器中的编码并行交叉注意力模块,得 到所述编码器输出的输出矢量序列包括:
将所述一级原始矢量序列作为一级级别的当前编码并行交叉注意力模块中查询向量输入,将 所述一级各向同性矢量序列作为所述当前编码并行交叉注意力模块中键向量和值向量的输入, 得到所述当前编码并行交叉注意力模块输出的当前编码矢量序列;
判断所述当前编码并行交叉注意力模块是否为一级级别中的最后编码并行交叉注意力模块; 若所述当前编码并行交叉注意力模块为最后编码并行交叉注意力模块,则所述当前编码矢量 序列即为一级编码输出矢量序列,并获取所述编码器编码阶段的尺度级别总数,判断所述一 级级别是否为所述尺度级别总数中的最大级别;
若所述一级级别为所述尺度级别总数中的最大级别,则所述一级编码输出矢量序列即为输出 矢量序列;
若所述当前编码并行交叉注意力模块非最后注意力模块,则将所述当前编码矢量序列作为所 述一级级别中下一编码并行交叉注意力模块的键向量和值向量的输入,所述下一编码并行交 叉注意力模块的查询向量来源与所述当前编码并行交叉注意力模块的查询向量来源一致,且 同一级别中编码并行交叉注意力模块的查询向量来源均一致;
得到所述下一编码并行交叉注意力模块输出的一级编码矢量序列,将所述一级编码矢量序列 作为当前编码矢量序列,将所述下一编码并行交叉注意力模块作为当前编码并行交叉注意力 模块,并重复判断所述当前编码并行交叉注意力模块是否为一级级别中的最后编码并行交叉 注意力模块的步骤。
通过采用上述技术方案,利用原始矢量序列计算查询向量,利用各向同性矢量序列 计算键向量和值向量,编码并行交叉注意力模块对不同尺寸、不同分辨率的原始图像输入的 矢量序列进行计算,完成编码过程中的交叉注意力计算。
可选的,若所述一级级别非所述尺度级别总数中的最大级别,则所述原始矢量序列还 均包括其他级原始矢量序列,所述各向同性矢量序列还均包括其他级各向同性矢量序列,所 述输出矢量序列还包括其他级编码输出矢量;
所述将所述原始矢量序列和各向同性矢量序列输入编码器中的编码并行交叉注意力模块,得 到所述编码器输出的输出矢量序列还包括:
分别计算其他级别对应的其他级别输出矢量序列,每个所述其他级别均对应有一个其他级别 输出矢量序列,所述输出矢量序列包括一级输出矢量序列和至少一个所述其他级别输出矢量 序列;
所述分别计算其他级别对应的其他级别输出矢量序列包括:
将上一级别中首个编码并行交叉注意力模块首次输入的一组矢量序列分别复原为当前级编码 特征图;
将所述当前级编码特征图进行stride=2的3D卷积操作,得到当前级降采样编码特征图,将 所述当前级降采样编码特征图各个位置的特征矢量化,得到当前级别对应的当前级原始矢量 序列和当前级各向同性矢量序列;
将所述当前级原始矢量序列作为所述当前级别的当前编码并行交叉注意力模块中查询向量输 入,将所述当前级各向同性矢量序列作为所述当前级别的当前编码并行交叉注意力模块中键 向量和值向量的输入,得到所述当前级别的当前编码并行交叉注意力模块输出的其他级别当 前矢量序列;
判断所述当前级别的当前编码并行交叉注意力模块是否为当前级别最后编码并行交叉注意力 模块;
若所述当前编码并行交叉注意力模块为最后编码并行交叉注意力模块,则所述其他级别当前 矢量序列即为其他级别输出矢量序列;
若所述当前编码并行交叉注意力模块非最后编码并行交叉注意力模块,则将所述其他级别当 前矢量序列作为所述当前级别中下一编码并行交叉注意力模块的键向量和值向量的输入,所 述当前级别的下一编码并行交叉注意力模块的查询向量来源与所述当前级别的当前编码并行 交叉注意力模块的查询向量来源一致;
得到所述当前级别的下一编码并行交叉注意力模块输出的当前级矢量序列,将所述当前级矢 量序列作为其他级别当前矢量序列,将所述下一编码并行交叉注意力模块作为当前编码并行 交叉注意力模块,并重复判断所述当前级别的当前编码并行交叉注意力模块是否为当前级别 最后编码并行交叉注意力模块的步骤。
通过采用上述技术方案,编码阶段多级别尺度上的特征提取,可以描述整体和全局 特征以及信息。
可选的,所述参考编码输出矢量序列包括一级参考编码输出矢量序列,所述移动编 码输出矢量序列包括一级移动编码输出矢量序列,且所述参考编码输出矢量序列的级别总数 与所述移动编码输出矢量序列的级别总数一致;
若一级级别为所述尺度级别总数中的最大级别,则所述将所述输出矢量序列输入解码器的解 码并行交叉注意力模块进行解码包括:
将所述一级参考编码输出矢量序列作为所述解码器一级级别的当前解码并行交叉注意力模块 中查询向量的输入,将所述一级移动编码输出矢量序列作为所述当前解码并行交叉注意力模 块中键向量和值向量的输入,得到所述一级级别的当前解码并行交叉注意力模块输出的当前 解码矢量序列;
判断所述一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码并行交叉注 意力模块;
若所述当前解码并行交叉注意力模块为最后解码并行交叉注意力模块,则将所述当前解码矢 量序列复原为一级解码特征图,对所述一级解码特征图进行1*1*1的3D卷积操作和GELU 激活,使得解码器输出不同模态图像配准的形变场;
若所述当前解码并行交叉注意力模块非最后解码并行交叉注意力模块,则将所述当前解码矢 量序列作为所述一级级别下一解码并行交叉注意力模块的键向量和值向量的输入,所述下一 解码并行交叉注意力模块的查询向量来源与所述当前解码并行交叉注意力模块的查询向量来 源一致,且同一级别中解码并行交叉注意力模块对应的查询向量来源均一致;
得到所述下一解码并行交叉注意力模块输出的一级解码矢量序列,将所述一级解码矢量序列 作为当前解码矢量序列,将所述下一解码并行交叉注意力模块作为当前解码并行交叉注意力 模块,并重复判断所述一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解 码并行交叉注意力模块的步骤。
通过采用上述技术方案,利用参考编码输出矢量序列计算查询向量,利用移动编码 输出矢量序列计算键向量和值向量,完成解码过程中的交叉注意力计算,解码部分主要挖掘 不同尺度的参考图像和移动图像的输出矢量之间的相关性,并获得与参考图像上各个体素匹 配的移动图像上的体素位置信息。
可选的,若一级级别非所述尺度级别总数中的最大级别,则所述参考编码输出矢量 序列包括其他级别参考编码输出矢量序列,所述移动编码输出矢量序列包括其他级别移动编 码输出矢量序列,且所述参考编码输出矢量序列的级别总数与所述移动编码输出矢量序列的 级别总数一致;
所述将所述输出矢量序列输入解码器的解码并行交叉注意力模块进行解码包括:
将所述一级参考编码输出矢量序列作为所述解码器一级级别的当前解码并行交叉注意力模块 中查询向量的输入,将所述一级移动编码输出矢量序列作为所述当前解码并行交叉注意力模 块中键向量和值向量的输入,得到所述一级级别的当前解码并行交叉注意力模块输出的当前 解码矢量序列;
判断所述一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码并行交叉注 意力模块;
若所述当前解码并行交叉注意力模块为最后解码并行交叉注意力模块,则将所述当前解码矢 量序列复原为一级解码特征图,获取所述一级级别下一级别对应的所述其他级别中二级解码 图,将所述一级解码特征图与二级特征图进行concatenate链接操作得到一级链接特征图;
对所述一级链接特征图进行3D卷积操作和GELU激活,得到一级激活特征图,将所述一级 激活特征图进行1*1*1的3D卷积操作和GELU激活操作,使得解码器输出不同模态图像配 准的形变场;
若所述当前解码并行交叉注意力模块非最后解码并行交叉注意力模块,则将所述当前解码矢 量序列作为所述一级级别下一解码并行交叉注意力模块的键向量和值向量的输入,所述下一 解码并行交叉注意力模块的查询向量来源与所述当前解码并行交叉注意力模块的查询向量来 源一致,且同一级别中解码并行交叉注意力模块对应的查询向量来源均一致;
得到所述下一解码并行交叉注意力模块输出的一级解码矢量序列,将所述一级解码矢量序列 作为当前解码矢量序列,将所述下一解码并行交叉注意力模块作为当前解码并行交叉注意力 模块,并重复判断所述一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解 码并行交叉注意力模块的步骤。
通过采用上述技术方案,解码器解码过程的尺度级别总数与参考图像对应的尺度级 别总数、移动图像对应的尺度级别总数相同,i级参考编码输出矢量序列、i级移动编码输出 矢量序列分别作为解码过程i级中解码并行交叉注意力模块的输入。当编码网络的尺度级别 总数为多级时,解码网络的尺度级别总数也为多级,可以对不同尺度获取的信息进行融合。
可选的,所述获取所述一级级别下一级别对应的所述其他级别中二级解码图包括: 获取所述其他级别中各个最后解码并行交叉注意力模块输出的当前级解码矢量序列,将所述 当前级解码矢量序列分别复原为当前级解码特征图;
若当前级别为所述尺度级别总数中的最大级别且上一级别为一级级别,则将所述当前级解码 特征图上采样后得到的采样特征图即为所述二级解码图;
若当前级别为所述尺度级别总数中的最大级别且上一级别非一级级别,则将所述当前级解码 特征图上采样后与上一级中的解码特征图进行concatenate链接操作得到所述上一级链接特 征图,对所述上一级链接特征图进行3D卷积操作和GELU激活得到上一级激活特征图;
将所述上一级别作为当前级别,重复判断所述当前级别的上一级别是否为一级级别,若所述 当前级别的上一级别为一级级别,则所述上一级激活特征图上采样后得到的采样特征图即为 所述二级解码图,若所述当前级别的上一级别非一级级别,则对所述上一级激活特征图进行 上采样后重复所述与上一级别中的解码特征图进行concatenate链接操作得到上一级别链接 特征图的步骤。
可选的,所述将所述原始矢量序列和各向同性矢量序列输入编码器中的编码并行交 叉注意力模块,得到所述编码器输出的输出矢量序列、所述将所述一级参考编码输出矢量序 列作为所述解码器一级级别的当前解码并行交叉注意力模块中查询向量的输入,将所述一级 移动编码输出矢量序列作为所述当前解码并行交叉注意力模块中键向量和值向量的输入包括: 将待学习的线性变换矩阵Wq作用于提供查询向量的输入序列X中的所有矢量,获得查询向 量q:
q1=Wq·x1 q2=Wq·x2...qNx=Wq·xNx
将线性变换矩阵Wk作用于提供键向量和值向量的输入序列Y中的所有的矢量,获得键向量 k:
k1=Wk·y1 k2=Wk·y2...kNy=Wk·yNy
将变换矩阵Wv作用于提供键向量和值向量的输入序列Y中的所有的矢量,获得值向量v:
v1=Wv·y1 v2=Wk·y2...vNy=Wk·yNy
计算第i个查询向量q与所有键向量k的点积,得到注意力模块的注意力参数:
αi,j=qi·kj i=1,2,...,Nx;j=1,2,...,Ny;
将注意力参数利用Softmax进行归一化处理,得到注意力得分:
最后利用注意力得分作为权重,加权平均值向量v,获得输出矢量序列:
通过采用上述技术方案,完成了编码/解码过程中的交叉注意力计算。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,包括存储器和处理器,所述存储器上存储有能够被所述处理器加载并执行如 第二方面任一项所述图像配准网络模型建立方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如第二方面任一项所述方法的计 算机程序。
具体实施方式
以下结合附图对本申请作进一步详细说明。
本申请实施例提供一种图像配准网络模型,包括编码器和解码器,编码器包括用于 对参考图像进行处理的参考图像编码器和用于对移动图像进行处理的移动图像编码器,参考 图像编码器和移动图像编码器相互独立。本实施例中,考虑到不同模态图像的参考图像、移 动图像差异明显,参考图像编码器和移动图像编码器为网络结构相同的、相互独立的类 Transformer编码器。
参考图像编码器和移动图像编码器均包括编码并行交叉注意力模块、尺度统一模块 和归一化模块,编码并行交叉注意力模块用于对不同尺寸、不同分辨率的原始图像输入的矢 量序列进行计算,尺度统一模块用于通过前向传播将编码并行交叉注意力模块输出的特征矢 量的尺度进行统一,归一化模块用于对输出矢量进行叠加归一化处理,得到编码器的输出矢 量序列。
解码器包括解码并行交叉注意力模块,解码并行交叉注意力模块以参考图像编码器、 移动图像编码器不同尺度的编码获得的输出矢量序列作为输入,并输出不同模态图像配准过 程中与原始的参考图像尺寸相同的形变场信息。
本实施例中,编码器、解码器中并行交叉注意力模块的数量均可设置为一个或多个, 并行交叉注意力模块能够对不同尺寸、不同分辨率的图像输入的矢量序列进行计算。
参考图像和移动图像分别经过相互独立但是结构相似的编码器处理,获取对应的不 同尺度级别的输出矢量序列,然后将不同尺度级别的参考编码输出矢量序列和移动编码输出 矢量序列分别送入解码器处理,送入过程中,解码器同一级的输入中的参考编码输出矢量序 列和移动编码输出矢量序列对应的尺度级别相同。
参考图像编码器、移动图像编码器网络和解码器网络充分考虑了图像尺寸与分辨率 的差异,基于并行交叉注意力模块进行网络设计,并融合不同尺度级别的并行交叉注意力模 块获取的特征信息,使得不同尺寸、不同分辨率的多模态图像可直接进行配准,最终完成形 变场估计。
基于相同的技术构思,本申请实施例提供一种图像配准网络模型建立方法,该方法 可由设备执行,该设备可以为服务器也可以为终端设备,其中该服务器可以是独立的物理服 务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服 务的云服务器。终端设备可以是台式计算机等,但并不局限于此。
如图1所示,一种图像配准网络模型建立方法,其方法的主要流程描述如下(步骤S101~S105):
步骤S101:对不同模态图像的原始图像进行重采样,得到原始图像对应的各向同性3D图像, 原始图像包括参考图像和移动图像;
不同模态图像的原始图像即为不同时间、不同医学设备对相同的部位采集的图像,由于不同 的模态成像方式与原理的差异,相同解剖结构在不同模态图像中存在明显的差异,例如, CT图像分辨率高,成像范围大,可提供明显的解剖结构信息,但是无法精细区分不同类型 软组织;而MR图像序对软组织差异敏感,可以区分脑白质和脑灰质等不同的软组织列,而 且序列变化多,但每次采集的图像范围相对较小;PET图像分辨率低,但可呈现代谢功能情 况,对肿瘤诊断非常有帮助。
本实施例中,选用CT图像和MR图像两种不同模态的图像进行配准,其中,CT图 像作为参考图像,MR图像作为移动图像。
针对同一病人不同时间不同设备采集的多模态图像,除了图像明暗对比存在明显差 异外,图像检查的身体范围,图像分辨率以及图像尺寸都存在差异,因此,需要先对输入的 参考图像和移动图像进行统一分辨率处理。本实施例中,对不同模态图像的原始图像进行重 采样,得到原始图像对应的各向同性3D图像包括如下处理:将原始图像中的参考图像和移 动图像分别按照统一的采样间隔ps沿着相同病人坐标系方向重新采样,生成对应的各项同 性的3D图像。参考图像对应有各向同性3D图像Fiso,移动图像对应有各项同性图像Miso。 采样间隔ps设置可参考所需配准精度。使得带配准的参考图像和移动图像输入的尺寸可以 不相同,提高了模型配准的便利性与适应性。
参考图像通常是等间隔的一组2D图像,可以构成一个完整的体数据;经过各个方向 等间隔采样后,可得到由同样尺寸voxel(立体块)组成的体数据。
移动图像通常是等间隔的一组2D图像,可以构成一个完整的体数据;经过各个方向 等间隔采样后,可得到由同样尺寸voxel(立体块)组成的体数据。
步骤S102:分别对原始图像以及各向同性3D图像进行子块划分,并对划分后得到的子块进行位置编码;
本实施例中,对步骤S102进行展开说明:
对原始图像进行子块划分包括如下处理:
步骤S1021:在参考图像和移动图像的各个像素周围按照同一分辨率采样得到p*p*p的子块。
对各向同性3D图像进行子块划分包括如下处理:
步骤S1022:获取各向同性3D图像Fiso的尺寸WFiso×HFiso×NFiso、各项同性图像Miso的尺 寸WMiso×HMiso×NMiso,将各向同性3D图像Fiso、各项同性图像Miso分别取整划分为p*p*p的子块;
步骤S1023:若各向同性3D图像Fiso和或Miso中无法划分为整数个标准尺寸的子块且最边缘 的不完整子块不包含感兴趣区域,则舍去不完整子块并在各向同性3D图像中W方向和H 方向的划分进行向下取整;
步骤S1024:若各向同性3D图像Fiso和或Miso中无法划分为整数个标准尺寸的子块且最边缘 的不完整子块包含感兴趣区域,则在各向同性3D图像中N方向的划分通过复制最邻近位置 信息对不完整子块进行向上补齐。
对子块进行位置编码包括:
步骤S1025:获取中心点及中心点对应的中心位置编码;
步骤S1026:计算子块相较于中心位置编码的偏移矢量;
步骤S1027:对偏移矢量进行尺度统一处理,得到归一化偏移矢量,归一化偏移矢量为子块 对应的位置编码。
本实施例中,参考图像对应的各向同性3D图像Fiso的尺寸为WFiso×HFiso×NFiso,将其 中心点位置编码为(0,0,0),将每个子块patch左上角点的位置偏离中心点位置的偏移矢 量,以WFiso×ps长度视为单位1,归一化偏移矢量即为参考图像对应的各向同性3D图像中 子块的位置编码。按照此规则,对应Fiso最顶端左上角点子块patch的位置编码设置为(-0.5·NFiso/WFiso,-0.5·HFiso/WFiso,-0.5·HFiso/WFiso)。
对原始的参考图像上生成查询向量的子块patch进行位置编码,将原始的参考图像覆 盖体数据中心点的位置编码设置为(0,0,0),计算子块patch左上角点距离中心点的偏移 量,然后按照WFiso×ps长度视为单位1的方式,归一化偏移矢量,即获得原始的参考图像中 子块的位置编码。
移动图像对应的各向同性3D图像Miso的尺寸为WMiso×HMiso×NMiso,将其中心点位置编码为(0,0,0),将每个子块patch左上角点的位置偏离中心点位置的偏移矢量,以 WFiso×ps长度视为单位1,归一化偏移矢量即为移动图像对应的各向同性3D图像中子块的 位置编码。按照此规则,对应Miso最顶端左上角点子块patch的位置编码设置为 (-0.5·NMiso/WFiso,-0.5·HFiso/WMiso,-0.5·HFiso/WMiso)。
对原始的移动图像上生成键向量、值向量的子块patch进行位置编码,将原始的移动 图像覆盖体数据中心点的位置编码设置为(0,0,0),计算子块patch左上角点距离中心点 的偏移量,然后按照以WFiso×ps长度视为单位1的方式,归一化偏移矢量,即获得原始的移动图像中子块的位置编码。
本实施例中,考虑到不同模态图像尺寸、模态不相同,因此将参考图像和移动图像分别进行编码,虽然二者编码网络相同,但是网络参数不共享,分别用于获取各自图像的结构或者关联信息。
步骤S103:基于位置编码计算原始图像对应的原始矢量序列以及各向同性3D图像对应的各向同性矢量序列;
原始图像位置编码后通过矢量化线性变换得到原始矢量序列,容易理解的是,原始矢量序列 包括参考图像对应的原始矢量序列以及移动图像对应的原始矢量序列;各向同性3D图像位 置编码后通过矢量化线性变换得到各向同性矢量序列,各向同性矢量序列包括参考图像对应 的各向同性矢量序列以及移动图像对应的各向同性矢量序列。
步骤S104:将原始矢量序列和各向同性矢量序列输入编码器中的编码并行交叉注意 力模块,得到编码器输出的输出矢量序列,输出矢量序列包括参考编码输出矢量序列和移动 编码输出矢量序列,其中,原始矢量序列作为编码并行交叉注意力模块中查询向量输入,各 向同性矢量序列作为编码并行交叉注意力模块中键向量和值向量的输入;
原始矢量序列均包括一级原始矢量序列,一级原始矢量序列包括一级原始参考图像矢量序列 和一级原始移动图像矢量序列,各向同性矢量序列均包括一级各向同性矢量序列,如图2所 示,则步骤S104包括:
步骤S1041:将一级原始矢量序列作为一级级别的当前编码并行交叉注意力模块中查询向量 输入,将一级各向同性矢量序列作为当前编码并行交叉注意力模块中键向量和值向量的输入, 得到当前编码并行交叉注意力模块输出的当前编码矢量序列;
步骤S1042:判断当前编码并行交叉注意力模块是否为一级级别中的最后编码并行交叉注意 力模块,若是,则转入步骤S1043;
步骤S1043:当前编码矢量序列即为一级编码输出矢量序列,并获取编码器编码阶段的尺度 级别总数;
步骤S1044:判断一级级别是否为尺度级别总数中的最大级别,若是,则步骤S1045;
步骤S1045:一级编码输出矢量序列即为输出矢量序列;
步骤S1046:若当前编码并行交叉注意力模块非最后注意力模块,则将当前编码矢量序列作 为一级级别中下一编码并行交叉注意力模块的键向量和值向量的输入,下一编码并行交叉注 意力模块的查询向量来源与当前编码并行交叉注意力模块的查询向量来源一致,且同一级别 中编码并行交叉注意力模块的查询向量来源均一致;
步骤S1047:得到下一编码并行交叉注意力模块输出的一级编码矢量序列,将一级编码矢量 序列作为当前编码矢量序列,将下一编码并行交叉注意力模块作为当前编码并行交叉注意力 模块,并重复判断当前编码并行交叉注意力模块是否为尺度级别总数中的最大级别的步骤。
编码阶段多级别尺度上的特征提取,可以描述整体和全局特征以及信息,尺度级别 设置可以根据需求设定,因此,尺度级别总数往往设置为多级别。
若一级级别非尺度级别总数中的最大级别,则原始矢量序列还均包括其他级原始矢 量序列,各向同性矢量序列还均包括其他级各向同性矢量序列,输出矢量序列还包括其他级 编码输出矢量,为了获得不同尺度级别的信息,需要将上一级别的矢量序列复原为特征图, 即构成矢量的元素作为该位置的不同特征,按照原有排布方式生成特征图,因此步骤S104 包括:
步骤S1047:分别计算其他级别对应的其他级别输出矢量序列,每个其他级别均对应有一个 其他级别输出矢量序列,输出矢量序列包括一级输出矢量序列和至少一个其他级别输出矢量 序列;
如图3所示,分别计算其他级别对应的其他级别输出矢量序列包括:
步骤S10471:将上一级别中首个编码并行交叉注意力模块首次输入的一组矢量序列分别复 原为当前级编码特征图;
步骤S10472:将当前级编码特征图进行stride=2的3D卷积操作,得到当前级降采样编码特 征图,将当前级降采样编码特征图各个位置的特征矢量化,得到当前级别对应的当前级原始 矢量序列和当前级各向同性矢量序列;
以原始图像中的参考图像的原始矢量序列为例,当前级别为二级级别时,参考图像对应的一 级原始矢量序列的矢量长度为C+3,一级原始矢量序列可以复原为(C+3)×W×H×N的特 征。经过stride=2的3*3*3的3D卷积操作,获得
的特征后,将其矢量 化,构成
个矢量,每个矢量长度为(C+3)的矢量。
步骤S10473:将当前级原始矢量序列作为当前级别的当前编码并行交叉注意力模块 中查询向量输入,将当前级各向同性矢量序列作为当前级别的当前编码并行交叉注意力模块 中键向量和值向量的输入,得到当前级别的当前编码并行交叉注意力模块输出的其他级别当 前矢量序列;
步骤S10474:判断当前级别的当前编码并行交叉注意力模块是否为当前级别最后编码并行 交叉注意力模块,若是,则转入步骤S10475,若否,则转入步骤S10476;
步骤S10475:其他级别当前矢量序列即为其他级别输出矢量序列;
步骤S10476:将其他级别当前矢量序列作为当前级别中下一编码并行交叉注意力模块的键 向量和值向量的输入,当前级别的下一编码并行交叉注意力模块的查询向量来源与当前级别 的当前编码并行交叉注意力模块的查询向量来源一致;
步骤S10477:得到当前级别的下一编码并行交叉注意力模块输出的当前级矢量序列,将当 前级矢量序列作为其他级别当前矢量序列,将下一编码并行交叉注意力模块作为当前编码并 行交叉注意力模块,并重复判断当前级别的当前编码并行交叉注意力模块是否为当前级别最 后编码并行交叉注意力模块的步骤。
参考图像对应的尺度级别总数与移动图像对应的尺度级别总数相同,需要强调的是, 同一级别的参考编码输出矢量序列XFi与移动编码输出矢量序列MFi包含的矢量的个数可以是 不同的,这是由于输入的参考图像和移动图像尺寸是不一样的,但是输出矢量序列中每个矢 量的长度是一致的,长度均为C+3。
编码过程包括参考图像的编码和移动图像的编码,下面对参考图像的编码和移动图 像的编码进行展开说明,示例性地,尺度级别总数为三级,则三级级别为尺度级别总数中的 最大级别,同理,若尺度级别总数为n(n为不小于1的整数),则n级级别为尺度级别总数 中的最大级别。
如图4所示,参考图像输出矢量包括一级参考编码输出矢量序列XF1、二级参考编码 输出矢量序列XF2和三级参考编码输出矢量序列XF3。
如图5所示,移动图像输出矢量包括一级移动编码输出矢量序列XM1、二级移动编码 输出矢量序列XM2和三级移动编码输出矢量序列XM3
步骤S105:将输出矢量序列输入解码器的解码并行交叉注意力模块进行解码,获取解码器 的输出的不同模态图像配准的形变场。
解码器解码过程的尺度级别总数与参考图像对应的尺度级别总数、移动图像对应的 尺度级别总数相同,i级参考编码输出矢量序列、i级移动编码输出矢量序列分别作为解码过 程i级中解码并行交叉注意力模块的输入。
如图6所示,若一级级别为尺度级别总数中的最大级别,即尺度级别总数为一级,则步骤S105包括如下处理:
步骤S1051:将一级参考编码输出矢量序列作为解码器一级级别的当前解码并行交叉注意力 模块中查询向量的输入,将一级移动编码输出矢量序列作为当前解码并行交叉注意力模块中 键向量和值向量的输入,得到一级级别的当前解码并行交叉注意力模块输出的当前解码矢量 序列;
步骤S1052:判断一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码并 行交叉注意力模块,若是,则转入步骤S1053,若否,则转入步骤S1054;
步骤S1053:将当前解码矢量序列复原为一级解码特征图,对一级解码特征图进行1*1*1的 3D卷积操作和GELU激活,使得解码器输出不同模态图像配准的形变场;
步骤S1054:将当前解码矢量序列作为一级级别下一解码并行交叉注意力模块的键向量和值 向量的输入,下一解码并行交叉注意力模块的查询向量来源与当前解码并行交叉注意力模块 的查询向量来源一致,且同一级别中解码并行交叉注意力模块对应的查询向量来源均一致;
步骤S1055:得到下一解码并行交叉注意力模块输出的一级解码矢量序列,将一级解码矢量 序列作为当前解码矢量序列,将下一解码并行交叉注意力模块作为当前解码并行交叉注意力 模块,并重复判断一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码并 行交叉注意力模块的步骤。
若一级级别非尺度级别总数中的最大级别,则参考编码输出矢量序列包括其他级别 参考编码输出矢量序列,移动编码输出矢量序列包括其他级别移动编码输出矢量序列,如图 7所示,步骤S105还包括如下处理:
步骤S1056:将一级参考编码输出矢量序列作为解码器一级级别的当前解码并行交叉注意力 模块中查询向量的输入,将一级移动编码输出矢量序列作为当前解码并行交叉注意力模块中 键向量和值向量的输入,得到一级级别的当前解码并行交叉注意力模块输出的当前解码矢量 序列;
步骤S1057:判断一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码并 行交叉注意力模块,若是,则转入步骤S1058,若否,则转入步骤S10510;
步骤S1058:将当前解码矢量序列复原为一级解码特征图,获取下一级别对应的二级解码图, 将一级解码特征图与二级特征图进行concatenate链接操作得到一级链接特征图;
步骤S1059:对一级链接特征图进行3D卷积操作和GELU激活,得到一级激活特征图,将 一级激活特征图进行1*1*1的3D卷积操作和GELU激活操作,使得解码器输出不同模态图 像配准的形变场;
步骤S10510:将当前解码矢量序列作为一级级别下一解码并行交叉注意力模块的键向量和 值向量的输入,下一解码并行交叉注意力模块的查询向量来源与当前解码并行交叉注意力模 块的查询向量来源一致,且同一级别中解码并行交叉注意力模块对应的查询向量来源均一致;
步骤S10511:得到下一解码并行交叉注意力模块输出的一级解码矢量序列,将一级解码矢 量序列作为当前解码矢量序列,将下一解码并行交叉注意力模块作为当前解码并行交叉注意 力模块,并重复判断一级级别的当前解码并行交叉注意力模块是否为一级级别中的最后解码 并行交叉注意力模块的步骤。
本实施例中,步骤S1058包括如下处理:
步骤S10581:获取所其他级别中各个最后解码并行交叉注意力模块输出的当前级解码矢量 序列,将当前级解码矢量序列分别复原为当前级解码特征图;
步骤S10582:若当前级别为尺度级别总数中的最大级别且上一级别为一级级别,则将当前 级解码特征图上采样后得到的采样特征图即为二级解码图;
步骤S10583:若当前级别为所述尺度级别总数中的最大级别且上一级别非一级级别,则将 当前级解码特征图上采样后与上一级中的解码特征图进行concatenate链接操作得到所述上 一级链接特征图,对上一级链接特征图进行3D卷积操作和GELU激活得到上一级激活特征 图;
步骤S10584:将上一级别作为当前级别,重复判断当前级别的上一级别是否为一级级别, 若当前级别的上一级别为一级级别,则上一级激活特征图上采样后得到的采样特征图即为二 级解码图,若当前级别的上一级别非一级级别,则对上一级激活特征图进行上采样后重复与 上一级别中的解码特征图进行concatenate链接操作得到上一级别链接特征图。
本实施例中,由于位置编码过程将WFiso×ps视为1进行尺度统一处理,因此解码网络提供的3D形变场结果是归一化的形变场,需要乘以WFiso×ps生成真实形变场。
本实施例中,解码网络的尺度级别总数也可包括一级或多级,如图8所示,解码器的尺度级别总数设置为一级。如图9所示,解码器的尺度级别总数设置为三级,与上述参考图像三级编码、移动图像三级编码过程相对应。
如图10所示,本实施例中,编码网络以及解码网络中计算注意力模块的计算过程一 致,由于提供查询向量的矢量个数与提供键向量和值向量的矢量序列个数不一致,所以对原 有多头注意力机制进行了修改。其中,X序列为提供查询向量的输入序列,Y序列为键向量 和值向量的输入序列,采用了多个基本的交叉注意力模块并行处理,获取不同的特征,经过 合并各个交叉注意力模块的特征矢量后,通过前向传播的方式将特征矢量的尺度同一为C+3, 再经过前向传播与叠加归一化处理,获得了并行交叉注意力模块的输出矢量。
因此,图像配准网络模型建立方法中的并行交叉注意力模块的输入计算还包括:
将待学习的线性变换矩阵Wq作用于提供查询向量的输入序列X中的所有矢量,获得查询向 量q:
q1=Wq·x1 q2=Wq·x2...qNx=Wq·xNx
将线性变换矩阵Wk作用于提供键向量和值向量的输入序列Y中的所有的矢量,获得键向量 k:
k1=Wk·y1 k2=Wk·y2...kNy=Wk·yNy
将变换矩阵Wv作用于提供键向量和值向量的输入序列Y中的所有的矢量,获得值向量v:
v1=Wv·y1 v2=Wk·y2...vNy=Wk·yNy
计算第i个查询向量q与所有键向量k的点积,得到注意力模块的注意力参数:
αi,j=qi·kj i=1,2,...,Nx;j=1,2,...,Ny;
将注意力参数利用Softmax进行归一化处理,得到注意力得分:
最后利用注意力得分作为权重,加权平均值向量v,获得输出矢量序列:
参考图像和移动图像分别经过相互独立但是结构相似的编码器处理,获取对应的不 同尺度级别的输出矢量序列,然后将不同尺度级别的参考编码输出矢量序列和移动编码输出 矢量序列分别送入解码器处理,送入过程中,解码器同一级的输入中的参考编码输出矢量序 列和移动编码输出矢量序列对应的尺度级别相同。
参考图像编码器、移动图像编码器网络和解码器网络充分考虑了图像尺寸与分辨率 的差异,基于并行交叉注意力模块进行网络设计,并融合不同尺度级别的并行交叉注意力模 块获取的特征信息,使得不同尺寸、不同分辨率的多模态图像可直接进行配准,最终完成形 变场估计。
在编码器网络部分,主要利用原始矢量序列计算查询向量,利用各向同性矢量序列 计算键向量和值向量,完成编码过程中的交叉注意力计算。
在解码器网络部分,主要利用参考编码输出矢量序列计算查询向量,利用移动编码 输出矢量序列计算键向量和值向量,完成解码过程中的交叉注意力计算,解码部分主要挖掘 不同尺度的参考图像和移动图像的输出矢量之间的相关性,并获得与参考图像上各个体素匹 配的移动图像上的体素位置信息。
基于相同的技术构思,本申请还提供一种电子设备,电子设备包括处理器和存储器, 还可以进一步包括信息输入/信息输出(I/O)接口、通信组件中的一种或多种以及通信总线。
其中,处理器用于控制电子设备的整体操作,以完成上述的图像配准网络模型建立 方法中的全部或部分步骤;存储器用于存储各种类型的数据以支持在电子设备的操作,这些 数据例如可以包括用于在该电子设备上操作的任何应用程序或方法的指令,以及应用程序相 关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例 如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器 (Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储 器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储 器、磁盘或光盘中的一种或多种。
(I/O)接口为处理器和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠 标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件用于测试电子设备与其他设 备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该 通信组件可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
通信总线可包括一通路,在上述组件之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线可以分为地址总线、数据总线、控制总 线等。
电子设备可以被一个或多个应用专用集成电路(ApplicationSpecificIntegrated Circuit, 简称ASIC)、数字信号处理器(Digital SignalProcessor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device, 简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控 制器、微处理器或其他电子元件实现,用于执行上述实施例给出的图像配准网络模型建立方 法。
电子设备可以包括但不限于数字广播接收器、PDA(个人数字助理)、PMP(便携式多媒体播放器)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,还可以为服务器等。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,计算机可读 存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的图像配准网络模型建 立方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(R ead-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可 以存储程序代码的介质。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员 应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案, 同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合 而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特 征进行互相替换而形成的技术方案。