本期推文主要介绍U-Net结构,这是一种包含多重卷积层和升采样层的深度卷积网络,它的特点在于:对数据量要求小,高效,精准,不含有全连接层。
本文作者: Masonic@NAIS
论文题目:
U-Net: Convolutional Networks for Biomedical Image Segmentation
论文作者:
Olaf Ronneberger, Philipp Fischer, and Thomas Brox
发表时间:2015.05.18
- 概论 ABSTRACT
大多数的深度神经网络需要数以千计的标记数据图像来训练,而本篇论文提出的U-Net模型和相关训练算法,利用了扩大数据集(Data Augmentation)的核心思想,最大限度的利用有限的数据集去训练模型。
U-Net在2015年的ISBI比赛上以大幅度的领先赢得了生物细胞定位项目的冠军。到目前为止,U-Net的各种变种模型3D U-Net, V-Net, TernausNet, Res-UNet等等在图像分割领域仍保持着相当的活力。
![241b1b50dee94a9402423155a5cf8898.png](https://i-blog.csdnimg.cn/blog_migrate/af12f0170ed667dc1534409c910f3e78.jpeg)
![ae475c4af826963ca92c68b8b3161186.png](https://i-blog.csdnimg.cn/blog_migrate/4a5dc2aab2d2207b34bb478ae02ddde9.jpeg)
![396a9b57bdd738423f710c082bf817be.png](https://i-blog.csdnimg.cn/blog_migrate/fd15089ad137a371b677c39537cf24b0.jpeg)
- 模型结构 Structure
U-Net本质上是不含全连接层的全卷积网络,标准的U-Net由左右两条路径构成,U型网络由此得名,两条路径分别是
左侧的降采样/编码路径(contracting network/encoder)
最左侧输入
在这里,降采样操作的意义在于,它能够降低图像平移,旋转等操作带来的扰动,降低过拟合的风险。同时多层降采样产生的大量特征通道(1024层),能够很好的将像素周围的相关信息(context information)传递到接下来的网络中,换句话说就是能够感知局部像素(localization)而不是单一像素。
![8d628ac8e53ef9ea52f410dc58b34cc2.png](https://i-blog.csdnimg.cn/blog_migrate/c1f664bb52f4936f055fabe1087208c3.jpeg)
右侧的升采样/解码路径(expansive network/decoder)
右侧升采样路径同样由四层升采样层构成,不过这里的池化层改为了2x2的升卷积层。每个升卷积层将特征通道减半,并将图像的尺寸加倍(长宽x2=面积x4)。
U-Net结构的左右侧结构是对称的,每次升采样后都将结果和左侧的降采样层的特征通道拼合起来,这里使用的是concat而不是sum。由于右侧的结果尺寸较小,因此将左侧的特征通道进行裁剪(蓝色虚线框)。这样做可以使模型合成出更精准的输入图像。
![716680a06e2911d919f7be72fccc2459.png](https://i-blog.csdnimg.cn/blog_migrate/127a29c98cdc2422c97484a770972919.jpeg)
最终使用了1x1的卷积核将64个特征通道映射到2个映射通道,输出结果是
![ea21cf9cda2869178e7364cd2cf6bec8.png](https://i-blog.csdnimg.cn/blog_migrate/6d9260568a99a6a1758bf8a225231458.jpeg)
- 关键技术 Tricks
数据集扩充策略(Data Augmentation)
本篇论文的核心思想之一是数据集扩充(Data Augmentation),对于样本量小的医学图像分割问题,核心的解决思路是使用变形模型(Deformation Model)对图像进行空间变形,以获取更多的原始数据。这样可以使模型对同一个图像学到更多的变量。这一点已经在Dosovitskiy等人关于无监督学习特征的论文中讨论过。
本文在3x3的网格上,使用符合高斯分布的10像素变形向量来进行变形(deformation),使用双三次插值(bicubic interpolation)来填充变形造成的分辨率降低的问题。在下采样路径的最后加入了Drop-Out方法,进一步地扩充数据集。
无缝分割策略(Overlap-Tile)
输入的原始图像是
那么多出来的那块像素是从哪来的呢? 答案很简单,针对边缘进行镜像。
![03f26ecd4ebe472e233a28bad53787d8.png](https://i-blog.csdnimg.cn/blog_migrate/95e64708cade9eaeda29e5f92d521d60.jpeg)
通过对图像进行overlap-tile处理,可以将图像分块输入模型,这有利于降低内存占用。而现有的其他方法有一定的缺陷:resize会导致图像分辨率降低,而滑窗分割(sliding-window)会产生过多的重叠边缘。
预计算权重矩阵策略(Pre-compute weight map/ weight initialization)
随着神经网络层数的增加,训练过程中会出现梯度消失的问题,这导致深层的网络参数无法被有效地训练。此外,某些卷积层可能会有过多的激活函数。因此,权值的初始化好坏程度会影响模型的效果以及训练时间。理想的权值初始化是使得网络中的每一个特征图方差都接近1。
在U-Net中,可以通过高斯分布随机生成权值,高斯分布的均方差为
- 训练 Training
本文使用了Caffe自带的随机梯度下降方法(stochastic gradient descent implementation)进行训练。输入数据为原始图像,输出数据为分割好的图像。
输出结果时使用针对像素的soft-max算法,将特征通道映射为2个
U-Net特别关注(细胞/脑图像)边缘的像素,为损失函数增加了边缘像素点权重。
![64b78efcab6d904798851c1443bb5fc1.png](https://i-blog.csdnimg.cn/blog_migrate/f7ef51f4576d161d6a82401fcc656108.jpeg)
在海拉细胞分割任务中的表现
由于卷积层使用了 unpadded 的卷积方法,导致输出的图像略小于输入的图像。为了节约成本,最大化地利用显存,我们使用大的Tile而不是Batch Size,因此每个Batch只包含一张图像。
![61f072303d64af022d1c5b3e41d5707f.png](https://i-blog.csdnimg.cn/blog_migrate/7e504939854d43df9e055102abd04ecf.jpeg)
- 总结 Conclusion
U-Net及其变种模型自提出起一直活跃在医学图像分割领域,目前大部分的图像分割顶尖模型都或多或少地采用了U-Net的设计思路,它可以说是图像分割问题的基石之一。
U-Net及其变种模型的实例代码github.com![d78fec3e06390811b114bcb3fb1f700a.png](https://i-blog.csdnimg.cn/blog_migrate/f0e9c0856072c5b08f9ce99480829633.jpeg)
![f5a05277c84a42033bf05c77a3eacecd.png](https://i-blog.csdnimg.cn/blog_migrate/468e45e8f726e37deee1047918f6e3f0.png)
关于NAIS
人工智能逐渐地从前沿科研领域迈入了日常社会应用和大众生活。作为高中生的我们,应该充分利用人工智能时代的优势来丰富个人经历,提高学术水平。
然而,在高中阶段自学AI对于初学者来时是很有挑战的。所以,我们的团队吸纳了多名精通以上领域的高中生们,成立了NAIS学生AI联盟这个非盈利性学生组织,立志为想学习AI的高中生们提供免费的学习资源与指导。
我们通过专家讲座平台、学习合作小组、学生研究团队的方法系统性地科普和学习人工智能。以合作、分享为基础,一起探索未来的人工智能发展!
更多关于NAIS的信息,请扫码关注我们的公众号哦~~
![883717a8396374481207d26f19471e62.png](https://i-blog.csdnimg.cn/blog_migrate/404a5258e48f6cffdc48817723869517.jpeg)