(2020)Deep Learning-Based Identification of Ischemic Regions in Native Head CT Scans

Gyuha Park·2021년 8월 13일
1

Paper Review

목록 보기
6/33
post-thumbnail

0. Abstract

뇌졸중은 빠른 진단이 매우 중요하다. 본 논문에서는 image-to-image 방식으로 NCCT를 이용해 infarct core를 예측하려 한다. 이 방법은 141개의 데이터로 cross validation 방식으로 학습이 된다. 검증 방법으로는 예측한 값과 ground truth mask의 overlap과 localisation 성능을 측정하였다. 그리고 수동으로 평가하거나 affected된 ASPECTS region을 자동으로 평가였다.

1. Introduction

Neuroimaging 방법을 사용하면 뇌졸중의 종류와 정도를 파악할 수 있다. 출혈성 뇌졸중은 뇌 내 출혈에 의해 발생한다. 혈액의 축적 결과는 NCCT 영상에서 쉽게 확인할 수 있다. 하지만 DW-MRI에서는 허혈성 뇌졸중을 잘 감지하지만 NCCT 영상에서는 잘 감지하기 힘들다. 하지만 NCCT가 DW-MRI보다 더 용이하고 작은 병원에서의 뇌졸중 진단을 개선할 수 있다. 본 연구는 NCCT 영상에서 허혈성 뇌졸중을 식별하고 구분하는 것이 목적이다. 이를 위해 딥러닝 방법을 사용하였다.

2. Background

1) The Stroke Disease

허혈성 뇌졸중은 thrombotic이나 embolic 증상으로 인해 뇌로 혈류가 공급되지 않아 발생한다.

위 그림은 허혈성 뇌를 나타낸다. (1)은 unaffected tissue, (2)는 oligemic region으로 약간 hypoperfused이지만 malfunction의 위험은 없다. (3)은 penumbra 부위로 치료가 없으면 괴사를 겪을 수 있는 위험한 상태이다. (4)는 infarct core로 회복이 불가능할 정도로 손상이 된다.

2) Stroke Diagnosis and Treatment

허혈성 뇌졸중 직후 영향을 받는 부위는 penumbra에 속한다. 하지만 시간이 지날 수록 괴사되는 부위가 퍼지게 된다. 뇌졸중 infarct core의 정도를 인식하는 것이 중요하다. 허혈성 뇌졸중이 심각해 질 시 thrombolysis로 치료를 하면 뇌 혈관이 파열될 수도 있기 때문이다.

"Time is Brain"이라는 말이 있다. thrombolysis와 thrombectomy는 시간에 따라 결과가 달라지기 때문에 빠른 뇌 영상 촬영이 필요하다. NCCT 스캔을 사용하는 주된 이유는 비용과 가용성 측면에서 효율적이기 때문이다. 그러나 NCCT 스캔은 증생 발생 후 첫날, 특히 thrombolytic 치료가 가능한 시간 내에서 낮은 sensitivity를 보인다. 이를 위해 ASPECTS라는 진단을 보조하는 도구가 개발되었다.

3) Preprocessing Techniques

Preprocessing에는 몇 가지 요인들이 있다. 먼저 Refined perfusion volume에서 inpainting 작업을 먼저 수행한다. 그리고 CT 영상의 windowing을 수행해준다. window의 level과 width를 적절하게 설정해 주어야 tisuue의 contrast를 높일 수 있다. 세번째로 slice thickness를 적절하게 설정해 주어야 한다. 이는 영상의 quality에 영향을 준다. 보통 processing 시간과 noise를 고려해서 5mm ~ 10mm 정도로 설정한다.

Registration 알고리즘은 각기 다른 환자들의 의료 영상을 동일하게 맞춰주는 역할을 한다. 본 연구에서는 deformable registration만 적용되었다. NCCT, CTP는 atals에 registration 되었다.

3. Methods

1) Stroke CT Dataset

총 141명의 환자 데이터로 학습을 진행하였다. 그리고 제안된 딥러닝 알고리즘의 결과를 NCCT 전문가의 해석, perfusion map에 대한 해석, 자동 ASPECTS의 결과와 비교하여 알고리즘의 성능을 평가하였다.

Perfusion CT volume CBF, CBV, TMAX perfusion map은 NeuroPerfusion 도구를 사용하여 계산되었다.

NeuroPerfusion 도구는 뇌 외부와 혈관 및 심실 영역 내의 모든 값을 0으로 설정한다. 이로 인해 영상에 sharp edge가 생긴다. 미묘한 hypoattenuation의 변화로 ischemic region을 찾는 것은 sharp edge로 인해 더욱 어려워진다. 왜냐하면 환자마다 혈관의 위치가 다르기 때문이다.

2) Preprocessing

NCCT 스캔은 먼저 brain reference atlas에 deformably하게 registration 된다. 이 과정에서 skull과 non-brain objects는 위 그림과 같이 상에서 제거된다. CBF, CBV, TMAX는 atlas에 registration 되기 전에 두가지 preprocessing 과정이 추가적으로 수행된다. 첫 번째 과정은 large gradients를 제거하는 과정이다.

X^=min(max(0,X1024),100)\hat{X}=min(max(0,X-1024),100)

위 수식을 통해 0 이하의 값은 0으로 설정되고 100 이상의 값은 100으로 설정되어 0에서 100사이의 값으로 바뀌게 된다.

Atlas 등록시 위쪽 35개의 slice는 절단되고 95개의 slice만 포함한다. 그리고 slice의 두께를 높이고 noise를 줄이기 위해 인접한 slice의 정보를 조합해 60개의 slice로 down sampling된다. 또한 atlas에 등록되지 않는 slice는 제거된다. 그 결과 환자마다 사용할 수 있는 slice의 개수가 다르다.

이 연구의 목적은 허혈성 뇌졸중의 위치와 정도를 파악하는 것이다. Prototype의 빠른 연산을 위해서 slice resolution은 줄어들었다. 첫 번째로 원래 resolution은 512x512이나 atlas에 registration되면서 188x230으로 바뀌고 두 번째로 down sample되면서 128x128이 되었다.

3) Convolutional Neural Network Architectures

딥러닝 알고리즘의 input은 NCCT 영상이다. input 영상은 2개의 channel로 구성되어 있다. 첫 번째 channel은 original NCCT 영상이며 두 번째 channel은 window center 1074, window width 100인 영상이다. Preprocessing이 완료되면 데이터셋은 한 item당 NCCT, CBF, CBV, TMAX, CM 가지 묶음이 된다. 딥러닝 알고리즘은 regression으로 CBF, CBV, TMAX를 예측하고 pixel by pixel로 CM을 예측한다.

경쟁력있는 baseline을 개발하기 위해 가장 biomedical imaing 분야에서 많이 쓰이는 architecture인 U-Net을 채택하였다. 그리고 DenseNet의 residual connection을 적용한 성능이 업그레이드 된 U-Net을 사용하였다.

실험 measure인 ASPECTS는 좌뇌와 우뇌를 비교하여 결정하기 때문에 딥러닝 알고리즘의 baseline에서 이를 반영하였다. 첫 번째 시도는 input 영상을 좌우로 나누고 오른쪽 부분을 flip해서 왼쪽과 대응되도록 맞추어 주었다.

두 번째 시도는 각각 좌우 영상이 나누어 져서 딥러닝 알고리즘에 들어가게 된다. 그리고 weight-sharing을 해주었다.

4) Performance Measures

Loss function은 세가지 종류를 사용하였다. Pixel-wise 방법인 MSE(Mean squared error),

L(y,y^)=ij(yi,jy^i,j)2L(y,\hat{y})=\sum_{i}\sum_{j}(y_{i,j}-\hat{y}_{i,j})^{2}

outlier에 덜 민감한 MAE(Mean absolute error)이 있다.

L(y,y^)=ijyi,jy^i,jL(y,\hat{y})=\sum_{i}\sum_{j}|y_{i,j}-\hat{y}_{i,j}|

두 loss function은 pixel들은 서로 독립적이라는 가정 아래에 계산이 되며 structure를 고려하지 않았다.

SSIM(Structural similarity)는 mean, standard deviation, cross-correlation 정보를 포함하는 loss function이다.

L(y,y^)=(2μ^μ+c1)(2σyy^+c2)(mu^2+μ2+c1)(σ^2+σ2+c2)L(y,\hat{y})=\frac{(2\hat{\mu}\mu+c_{1})(2\sigma_{y\hat{y}}+c_{2})}{(\hat{mu}^{2}+\mu^{2}+c_{1})(\hat{\sigma}^{2}+\sigma^{2}+c_{2})}

constant는 c1=0.001c_1=0.001, c2=0.0009c_2=0.0009로 설정되었다.

Loss function을 정하는 것 뿐만 아니라 결과를 판단하는 measure를 정하는 것도 중요하다. 예측한 ischemic region과 ground truth의 overlap을 측정하기 위해서 Dice score를 채택하였다.

L(y,y^)=2iyiy^iiyi+iy^iL(y,\hat{y})=\frac{2\sum_{i}y_i\hat{y}_i}{\sum_{i}y_i+\sum_{i}\hat{y}_i}

이 measure의 장점은 class imbalance에 robust 하다는 것 이다.

또 다른 measure는 ASPECTS region과 비교하는 것 이다. 본 연구는 전문가가 NCCT를 참고하여 매긴 ASPECTS와 perfusion CT를 참고하여 매긴 ASPECTS와 ASPECTS 도구를 사용하여 얻은 결과를 사용하였다. 그리고 딥러닝 알고리즘의 예측 결과와의 similarity를 계산함으로 perfusion map을 학습 중 예측하는 것이 이득이 있는지 여부를 판단하였다.

Similarity는 F1 Score로 계산된다.

F1=2tp2tp+fp+fnF1=\frac{2\cdot tp}{2\cdot tp+fp+fn}

5) Experiments

모든 실험은 5-fold cross-validataion으로 100 epoch 학습하였다. 이 때 3 fold는 학습에 사용되고 나머지는 test와 validation에 사용되었다. 학습 데이터는 141명의 환자로 부터 얻었으며 각각 60개 이하의 slice를 사용하였다. 10 epoch동안 validation loss가 감소하지 않으면 학습을 중지 시키고 training loss가 30 epoch동안 감소하지 않으면 learning rate를 20% 줄였다. Batch size는 32로 고정했다. Optimizer로는 SGD, RAdam 두 가지를 사용하였다.

4. Results

1) Stroke Location Distribution

실험 데이터로 뇌에서 뇌졸중의 case가 어떻게 분포 하는지 그렸다. 위 그림은 ventricle의 주변의 중심 region이 뇌졸중의 영향을 받는다는 것을 보여준다. 위쪽 infarct core의 빈도를 나타내며 아래 그림은 ASPECTS의 영역을 색깔로 표시하였다. 오른쪽은 upper region으로 M4(red), M5(green), M6(blue)를 나타낸다. 왼쪽은 outer region으로 M1(orange), M2(pink), M3(yellow), C(white), IC(blue), INS(red), L(green)을 나타낸다. M3, M6 영역의 빈도가 적기 때문에 이 영역을 딥러닝 알고리즘이 예측하는 것은 다른 영역에 비해 어려울 것으로 보인다.

위 그림은 atlas의 여러 level에서 뇌졸중 infarct core의 양을 보여준다. 데이터의 대부분이 뇌의 중앙의 region에서 infarct core를 발견할 수 있음을 보여준다.

2) U-Net Variations

두 가지 딥러닝 알고리즘 구조가 평가되었다. 첫 번째 구조는 classic U-Net이며 두 번째 구조는 state-of-the-art인 residual connection과 batch normalization layer을 적용한 baseline U-Net이다.

학습 및 검증 그래프를 확인하면 baseline U-Net이 mse loss가 낮게 나오는 것을 보아 성능이 뛰어남을 알 수 있다.

3) Variations of Network Complexity

Depth는 U-Net architecture의 down sampling 및 up sampling block의 수를 나타낸다. Depth가 깊어질 수록 parameter의 수는 급격하게 증가한다.

Depth에 다른 loss curve이다.

profile
Live on mission ✞

0개의 댓글