Python社区  »  机器学习算法

基于深度学习的2D和3D仿射变换配准

计算机视觉life • 9 月前 • 129 次点击  

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

以下文章来源于AI公园 作者ronghuaiyang章仅用于学术分享

作者:Sarath Chandra

编译:ronghuaiyang

导读

将配准从2D场景扩展到3D场景。

上周我开发了一个基于深度学习的2D可变形图像配准的基本框架,并演示了如何从MNIST数据集中配准手写数字图像。除了损失函数和架构上的细微差别外,该框架本质上与VoxelMorph框架相同。

本周,我的任务是将该实现扩展到3D,并在一个包含150个T1-weighted扫描的小数据集上进行试验。通过对现有代码进行一些细微的更改,我能够实现原始的VoxelMorph模型。我使用一个扫描作为静态图像,其余的作为移动图像(125用于训练,25用于测试)。

样本输出

配准效果不佳的原因是这些volumes没有去掉头骨。会议上有人向我指出,脑提取是配准的一个重要预处理步骤,即去除颅骨和眼睛等非脑组织。

基于深度学习的仿射配准

我想看看像刚性变换和仿射变换这样的简单变换是否有效。所以我很快修改了代码来做无监督的2D仿射配准。这个想法是空间变压器网络的一个简单推论。

2D仿射变换配准的Colab notebook:https://colab.research.google.com/drive/1drp2ny2t-nxddkt4pezn6mtjehnfccw

方法

卷积神经网络以移动图像和静态图像为输入,计算使移动图像弯曲和对齐到静态图像所需的仿射变换参数。在二维配准的情况下,这些参数有6个,控制旋转、缩放、平移和剪切。

训练卷积神经网络输出两幅输入图像之间的仿射变换参数T,空间变压器网络利用这些参数对运动图像进行变换。

空间变压器block取仿射参数和运动图像,执行两项任务:

  • 计算采样网格
  • 使用采样网格重新采样移动图像

在规则网格上应用仿射变换得到新的采样网格,即运动图像的采样点集。将输出中的每个位置映射到输入中的一个位置,使用如下公式:

由于新的采样位置可以是非积分的,双线性插值用于可微的采样,并允许梯度流回卷积神经网络,使整个框架端到端可微。

训练

MNIST数据集经过筛选,只保留一类图像,而静态图像是从筛选后数据集的测试集中随机选择的。使用归一化交叉相关(NCC)训练网络。数学上是:

S和M分别代表静态图像和运动图像。下标mea和std分别表示图像的均值和标准差。图像中所有像素的求和。该训练在Tesla K80 GPU上大约需要5分钟,在CPU (i5-8250U)上大约需要10分钟。

2D的结果

扩展到3D

我修改了2D配准的代码,使其适用于3D volumes,并在T1-weighted扫描上进行了尝试。AIRNet的工作,与此相似。但与AIRnet不同的是,它是在监督的方式下训练的,并且需要ground-truth仿射变换参数,这是在无监督的方式下训练的,就像VoxelMorph。

3D的结果

独家重磅课程官网:cvlife.net

1、SLAM社区:一个人啃SLAM,难受到自闭,硬顶还是放弃?

2、C++实战:为啥SLAM代码都用C++不用Python?

3、多传感器融合SLAM 激光雷达-视觉-IMU多传感器融合方案!

4、VIO灭霸:VIO天花板ORB-SLAM3第2期上线!(单/双目/RGBD+鱼眼+IMU+多地图+闭环)

5、视觉SLAM基础:刚看完《视觉SLAM十四讲》,下一步该硬扛哪个SLAM框架 ?

6、机器人导航运动规划: 机器人核心技术运动规划:让机器人想去哪就去哪!

7、详解Cartographer:谷歌开源的激光SLAM算法Cartographer为什么这么牛X?

8、深度学习三维重建 总共60讲全部上线!详解深度学习三维重建网络

9、三维视觉基础 详解视觉深度估计算法(单/双目/RGB-D+特征匹配+极线矫正+代码实战)

10、 VINS:Mono+Fusion SLAM面试官:看你简历上写精通VINS,麻烦现场手推一下预积分!

11、图像三维重建课程:视觉几何三维重建教程(第2期):稠密重建,曲面重建,点云融合,纹理贴图

12、系统全面的相机标定课程:单目/鱼眼/双目/阵列 相机标定:原理与实战



全国最棒的SLAM、三维视觉学习社区↓


技术交流微信群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群,请添加微信号 chichui502 或扫描下方加群,备注:”名字/昵称+学校/公司+研究方向“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com


—   版权声明  —

本公众号原创内容版权属计算机视觉life所有;从公开渠道收集、整理及授权转载的非原创文字、图片和音视频资料,版权属原作者。如果侵权,请联系我们,会及时删除。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/136126
 
129 次点击