项目主页: html
https://eliasvansteenkiste.github.io/machine%20learning/lung-cancer-pred/ git
github主页: github
https://github.com/EliasVansteenkiste/dsb3 网络
阿里论坛翻译主页: ide
https://tianchi.aliyun.com/competition/new_articleDetail.html?raceId=231601&postsId=626&from=part post
1 扫描高维CT序列,获得一部分感兴趣区域,根据感兴趣区域检测肺癌 学习
2 具体流程: this
The chest scans are produced by a variety of CT scanners, this causes a difference in spacing between voxels of the original scan.? spa
结节检测 (Nodule Detection) .net
在U-net architecture https://arxiv.org/pdf/1505.04597.pdf 的基础上构建网络。
U-net是2D医学图像分割的经常使用网络,网络结构以下:
在U-net的结构上,扩展到3D进行分割,步骤为:
Step 1. 考虑到不一样scanner获得CT序列的尺寸有差别,先进行尺寸归一化,用每一个voxel体素表示1*1*1mm的cube
Step 2. 根据U-net,要对32*32大小的图像进行分割,则需引入上下文信息,输入网络的patch须要两倍大的尺寸,即64*64。
因此,在三维空间中,以32*32*32为stride,截取多个64*64*64大小的patch,做为网络的输入,
用来分割32*32*32大小的立方体,所以每一个patch对应的label为32*32*32的binary mask。
Step 3. 在U-net网络结构基础上,构建以下结节分割网络:
最后一层错了,输出应该是1*34*34*34大小
经过上一步,获得了每个体素属于结节的几率,要根据离散体素点的置信度,找到结节块(结节的中心和直径大小,相似于从将灰度几率图二值化提连通域)。
采用高斯差分(Difference of Gaussian, DoG)方法,在skimage package上实现。
经过此步骤,获得一系列的candidates,所以接下来要进行filter
根据分割网络获得的nodule candidate有不少位于肺结构的外部,所以能够根据肺部分割结果,移除部分false positives。
Kaggle Tutorial采用形态学进行分割,结构元素大小的选取对分割结果好坏和时间复杂度影响较大。
此外,当肺部包含空腔时,采用形态学方法的肺部分割结果也很差。
提出了3D肺部结构分割方法。采用convex hull方法。
过滤非结节块(False Positive Reduction)
http://blog.csdn.net/u010402786/article/details/52433324
那就是Asymmetric方式,即便用1×3和3×1两种来代替3×3的卷积核。这种结构在前几层效果不太好,但对特征图大小为12~20的中间层效果明显。
spatial reduction block,采用pooling和conv,feature map的大小变小
Feature reduction block,采用C1卷积核对feature map的维度(个数)进行减小
Residual convolutional block,将不一样感觉野神经元计算获得的feature融合,能检测多尺度Nodule