賽題背景
腦部MRI(Magnetic Resonance Imaging )全稱為腦部磁共振顯像,是反映腦部病變組織結構的顯像,它根據有磁距的原子核在磁場作用下,能産生能級間的躍遷的原理進而為臨床提供疾病的生物腦部結構資訊。
現代醫學臨床實踐表明使用MRI可極大的提高确診精度,進而為腦癫痫病、腦惡性良性腫瘤、帕金森病、阿爾茨海默綜合症等患病初期不明顯的腦疾病提供了有效的早期檢測手段。進而延緩發病,對後續患者康複治療有着積極的意義。
比賽位址:http://challenge.xfyun.cn/topic/info?type=NADP&ch=ds22-dw-gzh01
代碼位址:https://github.com/datawhalechina/competition-baseline
賽事任務
為研究基于腦部MRI的疾病預測,本次大賽提供了腦部MRI資料集訓練樣本,記錄了老年人受試志願者的腦部MRI資料,其中包括确診為輕度認知障礙(MCI)患者的腦部影像資料、阿爾茨海默綜合症(AD)患者的腦部影像資料和健康人(NC)的腦部影像資料。
被試按醫學診斷分為三類:
- NC:健康
- MCI:輕度認知障礙
- AD:阿爾茨海默綜合症
參賽者需根據提供的樣本構模組化型,對阿爾茨海默綜合症進行分析和預測。
資料介紹
此次比賽分為初賽和複賽兩個階段,兩個階段的差別是所提供樣本的量級有所不同,并且分類任務不同:
- 初賽進行AD與NC二分類
- 複賽進行MCI與NC二分類
本模型依據送出的結果檔案,采用F1-score進行評價。
賽題模組化
賽題是一個非常經典的圖像分類模型,在模組化型中使用已有的MRI資料搭模組化型即可。本文賽題需要注意以下幾點:
- 資料讀取,需要讀取NII格式
- 通道選擇,原始通道大于3
- 模型與資料擴增
細節1:讀取NII格式
import nibabel as nib
from nibabel.viewers import OrthoSlicer3D
img = nib.load(path)
細節2:随機通道選擇
idx = np.random.choice(range(img.shape[0]), 130)
idx.sort()
img = img[idx, :, :]
img = img.astype(np.float32)
細節3:模型網絡結構
model = models.resnet18(True)
model.conv1 = torch.nn.Conv2d(130, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
model.avgpool = nn.AdaptiveAvgPool2d(1)
model.fc = nn.Linear(512, 2)
細節4:資料擴增方法
A.Compose([
A.RandomRotate90(),
A.RandomCrop(128, 128),
A.HorizontalFlip(p=0.5),
A.RandomContrast(p=0.5),
A.RandomBrightnessContrast(p=0.5),
])