項目主頁: 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