本文跟那些长篇大论教你入门的文章大大不同!!
你读了这些文章,对于小白来讲,原理既难又枯燥,读了等于没读,一样不会用。
这里没有枯燥的理论,没有看不懂的术语,因为这些我也不懂!
我能提供的,就是一个入门路线!
Tina姐妙招:先实践,尝到甜头再回过头来看理论
因此,本文分为两个部分,先给大家一些实践案例,跑通之后,再学习我给的理论课程。
实践
本实践教程只需要你有深度学习基础,了解 MOANI 和 pytorch。
-
使用 Tansformer 分割三维腹部多器官--UNETR架构
网络架构如图所示,不关注中间细节,跟传统的 encoder-decoder(如 UNET)很相似。模型的输入输出跟原来一样,训练方式跟原来一样。
可以简单理解为:只是model换了。不关注model细节,直接盘它。
【使用Tansformer分割三维腹部多器官--UNETR实战】
-
使用 nnFormer 在三个数据集上进行分割:ACDC数据集,Synapse 多器官 CT 数据集, Brain_tumor数据集
这个方法封装的很好,可以先试着跑通,再去研究模型结构。亲测能复现,但是要改一些bug,具体实践参考下面的文章。
【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer
-
使用 Swin Transformers 做CT腹部器官分割。
这是monai0.9版本新更新的架构,展示了使用这种最先进模型的多器官分割示例,使用对来自公开数据集的 5050 次 CT 扫描的 Swin UNETR 编码器(3D Swin Transformer)的自我监督
实现细节在 MOANI swin UNETR
这是医学领域三个经典的架构,如果还不够,可以查看一下综述论文,里面列举了很多不同方向的论文和算法。
4.GitHub上经典总结仓库
awesome-transformers-in-medical-imaging
Awesome_Transformer_for_medical_image_analysis
这两个仓库里面列举了 Survey papers,Medical Image Segmentation,Classification,Reconstruction, Registration,Synthesis, Detection,Clinical Report Generation,and Others
理论
上述实验虽然没有 transformer 基础也可以跑,但是做科研,还是要掌握一些理论基础,才知道如何调参。
理论的讲解我推荐一个免费course
这个我也才学到第三节,已经可以让我看懂transformer代码了,这种的老师不会太过专业化,会用一些让人人都能听懂的比喻来辅助理解。最重要的是,理论完了之后,会手把手带你将理论转成代码。
比如,多头注意力机制,听起来很高大上,什么 q, k, v。但实际就是一个相同维度的向量,互相之间的有一些加减乘除的关系。用代码实现很简单。 再比如 MLP,实际就是几个全连接。 再比如patch emdding,把一个图像切成几个patch, 用一个卷积层就可以做到。
学之后的感悟就是,也不过如此。
course直接百度:飞桨 AI studio 从零开始学视觉Transformer