3D Dense U-Net++을 이용한 다발성 경화증 병변 자동 검출
초록
다양한 의료 분야에 인공지능이 활용되는 사례가 증가하고 있다. 그러나 뇌의 다발성 경화증과 같은 진단이 어려운 질병은 높고 신뢰할 수 있는 전문적인 기술이 필요하다. 최근에는 딥러닝을 접목하여 효율성 및 정확성을 높이는 연구가 이루어지고 있다. 본 논문에서는 다발성 경화증 병변 검출을 위하여 U-Net++ 아키텍처와 인코더에 Dense Block을 결합한 3D Dense U-Net++ 아키텍처를 제안하였다. 제안하는 방법의 성능 검증은 2008 MICCAI MS Lesion Segmentation Challenge 데이터셋을 사용하였고, 데이터 개수가 부족한 문제를 보완하기 위해 증강 기법을 적용하였다. 제안하는 방법을 Residual 3D U-Net 모델 및 3D Dense U-Net 모델과 정확도를 비교하였고, 평균적으로 4.1%, 5.6% 및 3.5%, 4.1%의 향상된 DSC와 mean IoU 정확도를 보였다.
Abstract
Artificial intelligence is being used in various medical fields and its use is increasing. However, diseases that are difficult to diagnose, such as brain multiple sclerosis, require high and reliable expertise. Recently, research has been conducted to increase efficiency and accuracy by applying deep learning. In this paper, we propose a 3D Dense U-Net++ architecture for multiple sclerosis lesion detection that combines a U-Net++ architecture with a dense block within the encoder. To verify the performance of the proposed method, the 2008 MICCAI MS Lesion Segmentation Challenge dataset was used and the augmentation technique was applied to compensate for the lack of data counts. The accuracy of the proposed method was compared with the Residual 3D U-Net model and the 3D Dense U-Net model, and showed improved DSC and mean IOU accuracy of 4.1%, 5.6% and 3.5%, 4.1% on average.
Keywords:
multiple sclerosis lesion detection, U-Net++, dense block, brain MRI, deep learningⅠ. 서 론
최근 인공지능 기술이 발전하면서 질병 진단, 헬스케어 등 다양한 의료 분야에 인공지능을 활용하는 사례가 증가하고 있다. 그러나 암, 뇌 질환 같은 질병에는 숙련된 전문가 혹은 의료진에 의한 직접적인 진단이 필요해 많은 인적 및 시간적 자원이 소요된다.
뇌 질환 중 다발성 경화증(MS, Multiple Sclerosis)은 원인이 불명확하고 중추신경계에 직접 영향을 끼치는 면역계 비이상적 반응으로 알려져 있다[1]. 다발성 경화증은 동서양인에게 나타나는 형태가 다르고 전 연령층에서 발병될 수 있고 완치는 불가능한 것으로 알려져 있다. 다발성 경화증을 진단하기 위해서는 환자병력, 뇌 자기공명영상(MRI) 촬영, 뇌척수액검사, 유발전위검사, 혈액검사 등 데이터들이 사용되고 뇌 MRI 검사에서 가장 잘 관측된다.
최근에는 다발성 경화증 진단의 효율성 및 정확성을 위해 딥러닝을 접목하는 연구가 이루어지고 있다. 그러나 MRI 영상 데이터를 사용하기 위해서는 높은 하드웨어 자원 요구가 필요하며 많은 경우에 계산 복잡도를 증가시키는 문제가 있다. 따라서, 자원을 효율적으로 사용하기 위해 모델 구조를 변화시키거나 모델 학습 및 추론 과정에서 사용되는 연산량을 경량화시키는 연구도 진행되고 있다.
본 논문에서는 뇌 MRI 영상 데이터에서 다발성 경화증 병변을 자동 검출하기 위해 U-Net++ 아키텍처와 인코더에 Dense Block을 결합한 3D Dense U-Net++ 아키텍처를 제안한다. 모델 학습에 필요한 연산량의 경량화를 위한 기법을 적용하고 두 가지 구조를 결합한 모델을 사용하여 검출을 수행하였다.
본 논문의 2절에서는 다발성 경화증 병변 검출과 관련한 연구들을 제시하고, 3절에서 제안하는 자동 검출 방법을 설명한다. 4절에서 실험 결과를 제시하고 5절에서 논문을 결론짓는다.
Ⅱ. 관련 연구
의료 진단, 질병 검출 등 의학적 응용 분야에서 다양한 영상 분할 연구가 진행되었다. 기존 연구들은 임계값 필터링, 영역 확장 등 정해진 절차에 따른 연산을 실행해서 영상을 분할하는 기법을 사용했으나, 최근에는 FCN(Fully Convolutional Network), U-Net 등 딥러닝 아키텍처를 사용하는 연구가 이루어지고 있다.
영상 분할을 위해 Shelhamer et al.은 FC(Fully Convolutional) 레이어로 일반적인 Convolutional 레이어를 대체한 변형된 모델 아키텍처와 end-to-end, pixel-to-pixel 방법을 이용하여 깊고 거친 계층의 의미 정보와 얕고 미세한 계층의 정보를 결합하여 정확하고 세분화하는 아키텍처를 제안하였고, 물체 클래스 분류를 위한 Pascal VOC 데이터셋에서 62.2% mean IoU(Intersection over Union)를 달성했다[2].
Ronneberger et al.은 ISBI(International Symposium on Biomedical Imaging) 세포 추적 영상 분할을 위해서 컨텍스트를 캡쳐하기 위한 축소 경로와 정확한 위치 파악을 가능하게 하는 대칭 확장 경로로 구성된 아키텍처를 제안하였고 PhC-U373, DIC-Hela 데이터셋에서 92.03%, 77.56% IoU를 달성했다[3].
Zhou et al.은 Ronneberger et al.의 방법에서 인코더 및 디코더 하위 네트워크가 일련의 중첩된 조밀한 연결 경로를 사용하는 아키텍처를 제안하였고 Cell nuclei, Colon polyp, Liver, Lung nodule 데이터셋에서 U-Net 및 Wide U-Net보다 3.9%, 3.4% 향상된 mean IoU를 달성했다[4].
Huang et al.은 스킵 연결과 심층 감독을 활용하여 Zhou et al.의 방법을 개선한 아키텍처와 계산 효율성 향상 및 하이브리드 손실 함수를 제안하였고 Liver, Spleen 데이터셋에서 96.75%, 96.20% Dice를 달성했다[5].
Valverde et al.은 두 개의 3D 패치 방식 CNN에 대한 캐스케이드를 기반으로 하는 아키텍처를 제안하였고 MICCAI 2008 MS Lesion Segmentation Challenge 데이터셋에서 87.12 score를 달성했다[6].
Zhang et al.은 3D MRI 영상을 슬라이스 시퀀스로 모델링하고 반복적인 방식을 통해 장거리 종속성을 캡쳐하여 다발성 경화증 병변의 상황 정보를 활용하는 RSANet 아키텍처를 제안하였고 GE 3T 스캐너로 촬영한 다발성 경화증 MRI 데이터셋에서 평균 66.01% Dice, 50.92% IoU를 달성했다[7].
Safarov and Whangbo는 결장암 병변 검출을 위해 다중 스케일 인코딩 정보를 디코더 측의 다른 레벨과 공유하고 다양한 atrous rate를 갖는 다중 dilated 컨볼루션을 사용하는 Dense UNet 아키텍쳐를 제안하였고 Kvasir-SEG, CVC-612 데이터셋에서 90%, 91% Dice를 달성했다[8].
Ⅲ. Dense U-Net++ 기반 다발성 경화증 병변 자동 검출 알고리즘
본 논문에서 제안하는 다발성 경화증 병변을 자동 검출하기 위한 모델의 전반적인 구조를 그림 1에 도시하였다.
입력 데이터를 다루는 과정은 크게 학습하는 과정과 평가하는 과정으로 구분된다. 학습하는 과정에서는 의료 데이터 특성상 기본적으로 데이터 개수가 부족한 문제로 인해 증강 기법을 적용하였다. 이때, 밝기값 및 공간적 변형의 순서로 하나의 입력 데이터에 대해 10번의 패치를 반복하여 랜덤하게 증강하였고, 그 후에 데이터를 제안하는 3D Dense U-Net++ 모델의 학습에 사용하였다.
3.1 3D Dense U-Net++ 모델
3D MRI 영상 데이터를 입력으로 학습하는 경우 2D 영상 데이터보다 많은 파라미터를 요구하는 문제가 있다. 따라서, 차원을 줄여서 적은 메모리로 컨볼루션을 진행하도록 그림 2와 같은 보틀넥 레이어를 사용해 인코더의 수축 경로와 최종 특징맵에서 입력 데이터와 같은 해상도를 얻기 위해 업샘플링을 수행하는 디코더의 확장 경로를 구성하였다.
인코더와 디코더 사이는 직접적으로 연결하지 않고 각 경로 간의 의미론적 유사도를 높이는 이점을 얻기 위해 같은 레벨의 특징맵과 디코더 하위 레벨의 특징맵을 결합하면서 서로 조밀하게 연결하였다.
3.2 인코더 설계
인코더는 컨볼루션 블록과 4개의 Dense 블록[9] 및 3개의 Transition 블록으로 구성된다. Dense 블록과 Transition 블록을 통해 레이어 간 정보 흐름을 높이고 기울기 소실 문제를 완화하도록 구성하였다.
블록 내부 구조는 그림 3에 도시하였다. Dense 블록에서는 이전 레이어를 모든 다음 레이어에 직접적으로 연결하기 때문에 정보 흐름이 향상되는 이점을 얻을 수 있지만, 출력하는 특징맵의 채널 수가 증가하게 된다. 이때 Growth rate는 48, 각 Dense 블록별 반복되는 컨볼루션 연산은 [5, 10, 30, 20]의 횟수로 진행하였다. Dense 블록에서 증가한 채널 수는 Transition 블록을 통해 특징맵의 크기와 채널 수를 조절하는데 연산량의 효율성을 위해 각 블록에서는 그림 2와 같이 커널 크기가 1인 컨볼루션 레이어를 먼저 사용하는 구조로 구성하였다.
3.3 디코더 설계
디코더는 5개의 블록으로 구성되고 각 블록을 구성하는 구조를 그림 4에 도시하였다. 디코더에서도 연산량의 효율성을 얻기 위해 그림 2와 유사한 구조를 사용하는데 Transpose 컨볼루션 연산을 사용하여 수축 경로를 거친 특징맵에 대해 업샘플링을 진행한다. 이때 모델 훈련 과정에서 Optimizer가 더 잘 최적화할 수 있도록 Zhou et al.의 방법[4]과 같이 디코더 블록에 대칭되는 인코더 블록 및 중간에 조밀하게 연결된 컨볼루션 블록들과 Dense 컨볼루션 블록을 구성하였다.
3.4 데이터 전처리 및 증강
3D MRI 영상 데이터를 모델에 입력으로 사용하는데 데이터 개수가 부족한 문제로 인해 TorchIO를 사용하여 다양한 증강 기법을 적용하였다. 데이터는 208x224x208 크기의 패치가 되도록 전처리를 수행했으며 하나의 영상에 대해 다발성 경화증 병변 영역이 포함되는 10개의 패치를 생성하였다.
증강 기법은 MRI 영상 데이터와 레이블맵에 공간 변형을 모두 적용하였고, 추가로 MRI 영상 데이터에는 밝기 변형도 적용하였다. 공간 변형 기법은 Flip, Affine, Elastic Deformation을 사용하였고, 밝기 변형은 Z-Normalization, Motion, Bias Field, Noise를 사용하였다[10]. 먼저 Z-Normalization을 적용한 후에 밝기 변형 및 공간 변형을 순차적으로 적용하였다.
Ⅳ. 실험 결과 및 분석
제안한 알고리즘의 성능 분석은 Intel i9-11900(8C 16T) CPU 및 64GB RAM, nVidia RTX 3090 GPU 환경에서 진행하였고 Residual 3D U-Net[11] 및 3D Dense U-Net[12]과 성능을 비교 분석하였다.
4.1 실험 데이터셋
실험 데이터셋으로 2008 MICCAI MS Lesion Segmentation Challenge 데이터셋[13]을 사용하였다. 데이터셋은 FLAIR, MPRAGE, PDW, T2W, Ground Truth로 총 5개의 채널을 포함한다. 각 채널별 영상을 그림 5에 도시하였다.
데이터셋은 다발성 경화증 병변을 가진 환자의 데이터로 훈련용으로 5명, 평가용은 14명으로 이루어졌다. 각 데이터는 181x217x181의 크기로 전처리가 이루어진 데이터로 TorchIO에 CropOrPad를 사용하여 208x224x208의 크기로 조정하여 사용하였다.
실험 데이터셋에 대하여 학습 및 검증 과정의 비율은 0.8 : 0.2로 데이터를 증강 기법을 적용해 사용하였다. 평가 과정은 따로 제공된 데이터셋을 사용하였고 증강 기법은 적용하지 않고 CropOrPad와 Z-Normalization만 적용하여 사용하였다.
제안하는 모델은 PyTorch와 관련 API를 이용해 구현하였고, 학습 과정에서 지연 로딩 방식을 사용해 학습에 필요한 데이터만 GPU 메모리에 로딩해 메모리 공간 여유를 확보하도록 하였다.
모델 학습 파라미터로 학습률은 10-3, 이전 가중치를 일정 비율 감소시키기 위한 가중치 감쇠는 10-10로 다수의 실험을 통하여 최적으로 설정하였다.
손실 함수는 일반적인 이중 클래스 분류 모델에 사용되는 이진 크로스 엔트로피와 영상 분할에 주로 사용되는 Dice 손실 함수를 결합하여 사용하고, 최적화 함수는 Adam Optimizer를 사용하였다.
다발성 경화증 병변 검출 결과의 성능 지표는 영상 분할 결과 X, Y에 대해 정확도 비교를 위하여 범용적으로 사용되는 유사도 메트릭인 DSC(Dice Similarity Coefficient)와 mean IoU를 이용하였다. DSC와 mean IoU는 다음 식과 같이 정의된다.
모델 훈련을 위한 배치 사이즈는 1을 사용하였고 최대 100 epoch로 진행했다.
4.2 실험 결과 및 성능 분석
그림 6에는 제안하는 모델에 대해 학습 및 검증 데이터를 사용해 훈련을 진행하는 과정에서 채널별 영상에 대한 DSC 학습 추세를 epoch 단위로 나타낸 그래프를 도시하였다.
그림 6(a)에서 확인할 수 있듯이 훈련 과정에서는 PDW 영상 이외에 FLAIR, MPRAGE, T2W 영상은 비슷한 DSC 추세를 보인다. 그림 6(b)의 검증 추세와 같이 FLAIR 영상에 대해 가장 높은 DSC 정확도를 보이지만 학습 초기 및 구간별로 안정적이지 않은 추세를 보이는 문제점이 있다. 상대적으로 높은 정확도를 보이는 FLAIR 영상은 뇌척수액과 병변이 인접한 대뇌 반구의 변두리, 뇌조 주위, 뇌간, 뇌실 주위의 병변을 진단하는데 유용한 특징[14]을 가지고 있어 다른 채널 영상들보다 높은 정확도를 보인다.
그림 7에는 제안하는 알고리즘을 사용하여 FLAIR 영상에서 병변 검출 결과를 도시하였다. 또한, 표 1에는 제안하는 알고리즘과 Residual 3D U-Net 및 3D Dense U-Net을 사용하여 MRI 채널별 다발성 경화증 병변을 예측한 결과의 DSC, mean IoU 정확도를 비교하였다.
제안하는 모델이 DSC 정확도 및 mean IoU 정확도를 기준으로는 Residual 3D U-Net과 비교하여 모든 영상에 대해서 높은 정확도를 보였고, 3D Dense U-Net과 비교해서 FLAIR 채널 영상은 유사하지만, 그 외의 채널 영상들에서는 높은 정확도를 보였다.
이전 레이어의 특징맵과 다음 레이어의 특징맵을 더하는 잔차를 이용한 방법이 아닌 Concatenation 연산을 이용하기 때문에 각 레이어의 특징맵이 보존되는 부분과 인코더와 디코더 사이에 조밀한 연결 경로를 사용한 부분이 전체적으로 높은 정확도를 위한 이점으로 작용한 것으로 보인다.
Ⅴ. 결론 및 향후 과제
인공지능이 발전하면서 다양한 분야 중 의료 분야에서 활용도가 점점 높아지고 있다. 그러나 다발성 경화증과 같이 검출이 어려운 질병은 전문가에 의해 수작업으로 이루어진 경우가 대부분으로 인적 및 시간적 자원이 많이 소요된다.
본 논문에서는 다양한 데이터 증강 기법과 정규화 방법을 적용하고 3D Dense U-Net++ 모델을 설계하여 3D MRI 영상에 대해 다발성 경화증 병변을 검출하는 방법을 제안하였다. 또한, 보틀넥 블록을 사용하여 모델 학습 시 필요한 연산량의 효율성을 높이고 Dense Block을 사용하여 레이어 사이의 정보 전달에 이점을 얻고자 하였다. 제안한 방법의 모델 구조로 영상 분할 문제에서 좋은 성능을 보이는 U-Net 아키텍처의 인코더와 디코더 사이에 조밀한 컨볼루션 블록을 사용한 방법을 적용했다.
제안한 방법은 Residual 3D U-Net 모델과 비교해 FLAIR, MPRAGE, PDW, T2W 영상에 대해서 DSC와 mean IoU 정확도가 평균적으로 4.1%, 5.6% 향상된 정확도를 얻었다. 또한, 3D Dense U-Net 모델과 비교해서는 FLAIR 영상에서 DSC와 mean IoU 정확도가 0.4%, 0.7% 감소하였지만, MPRAGE, PDW, T2W 영상에 대해서 많이 증가하여, 평균적으로 3.5%, 4.1% 향상된 정확도를 얻었다.
다만, 제안한 방법은 모델 검증 과정에서 안정적으로 학습이 이루어지는 추세를 보이지는 못해서 보완이 필요할 것으로 판단된다.
추후 연구로 Growth Rate 및 Dense 블록 내에 레이어 수를 조정하고 입력 데이터를 분할 사용하여 메모리 효율을 높이고 모델 구조를 더욱 최적화시킬 계획이다. 또한, FLAIR 채널 영상 이외에 다양한 채널 영상에 대해서도 성능을 향상시킬 수 있는 방안을 모색할 계획이며 각 블록별 내부 레이어를 조정하여 모델 학습 시 검증 과정에서도 추세가 점진적으로 향상하는 방법을 연구할 계획이다.
Acknowledgments
This work was supported by the Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(2020R1F1A1057742)
“2022년도 한국정보기술학회 하계종합학술대회에서 발표한 논문(3D Dense U-Net 기반의 다발성 경화증 병변 분할)[12]을 확장한 것임”
References
- Seoul National University Hospital, "Multiple Sclerosis in N Medical Information", http://www.snuh.org/health/nMedInfo/nView.do?category=DIS&medid=AA000105, [accessed: Sep. 12, 2022]
- J. Long, E. Shelhamer, and T. Darrell, "Fully convolutional networks for semantic segmentation", Proc. of the IEEE Int. Conf. on Computer Vision and Pattern Recognition, pp. 3431-3440, 2015. [https://doi.org/10.1109/CVPR.2015.7298965]
- O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation", Proc. of the Int. Conf. on Medical Image Computing and Computer-Assisted Intervention, LNCS, Springer, Vol. 9351, pp. 234-241, Nov. 2015. [https://doi.org/10.1007/978-3-319-24574-4_28]
- Z. Zhou, M.. M.. R. Siddiquee, N. Tajbakhsh, and J. Liang, "UNet++: A Nested U-Net Architecture for Medical Image Segmentation", Proc of the Int. Workshop on Deep Learning in Medical Image Analysis, LNCS, Springer, Vol. 11045, pp. 3-11, Sep. 2018. [https://doi.org/10.1007/978-3-030-00889-5_1]
- H. Huang, L. Lin, R. Tong, H. Hu, Q. Zhang, Y. Iwamoto, X. Han, Y. W. Chen, and J. Wu, "UNet 3+: A Full-Scale Connected UNet for Medical Image Segmentation", Proc. of the IEEE Int. Conf. on Acoustics, Speech and Signal Processing, Barcelona, Spain, pp. 1055-1059, May 2020. [https://doi.org/10.1109/ICASSP40776.2020.9053405]
- S. Valverde, et. al., "Improving automated multiple sclerosis lesion segmentation with a cascaded 3D convolutional neural network approach", NeuroImage, Vol. 155, No. 15, pp. 159-168, Jul. 2017. [https://doi.org/10.1016/j.neuroimage.2017.04.034]
- H. Zhang, J. Zhang, Q. Zhang, J. Kim, S. Zhang, S. A. Gauthier, P. Spincemaille, T. D. Nguyen, M. Sabuncu, and Y. Wang, "RSANet: Recurrent Slice-Wise Attention Network for Multiple Sclerosis Lesion Segmentation", Proc. of the Int. Conf. on Medical Image Computing and Computer Assisted Intervention, LNCS, Springer, Vol. 11766, pp. 411-419, Oct. 2019. [https://doi.org/10.1007/978-3-030-32248-9_46]
- S. Safarov and T. K. Whangbo, "A-DenseUNet: Adaptive Densely Connected UNet for Polyp Segmentation in Colonoscopy Images with Atrous Convolution", Sensors, Vol. 21, No. 4, pp. 1441, Feb. 2021. [https://doi.org/10.3390/s21041441]
- G. Huang, Z. Liu, L. V. D. Maaten, and K. Q. Weinberger, "Densely Connected Convolutional Networks", Proc. of the IEEE Int. Conf. on Computer Vision and Pattern Recognition, pp. 2261-2269, 2017. [https://doi.org/10.1109/CVPR.2017.243]
- F. P. Garcia, R. Sparks, and S. Ourselin, "TorchIO: A Python library for efficient loading, preprocessing, augmentation and patch-based sampling of medical images in deep learning", Computer Methods and Programs in Biomedicine, Vol. 208, Sep. 2021. [https://doi.org/10.1016/j.cmpb.2021.106236]
- B. H. Choi, J. J. Lee, Y. U. Choi, H. T. Han, and H. Y. Lee, "Semantic Segmentation of Multiple Sclerosis Lesion using Residual 3D", Journal of the Korean Institute of Information Technology, Vol. 19, No. 11, pp. 81-90, Nov. 2021. [https://doi.org/10.14801/jkiit.2021.19.11.81]
- J. J. Lee and H. Y. Lee, "Multiple Sclerosis Lesion Segmentation Based on 3D Dense U-Net", Proc. of KIIT Conf., Korea, Jeju, pp. 468-470, Jun. 2022.
- A. Carass, et. al., "Longitudinal multiple sclerosis lesion segmentation data resource", Data in Brief, Vol. 12, pp. 346-350, Jun. 2017. [https://doi.org/10.1016/j.dib.2017.04.004]
2017년 2월 ~ 현재 : 금오공과대학교 컴퓨터소프트웨어공학과 학사과정
관심분야 : 영상/자연어 처리, 딥러닝
1997년 : 성균관대학교 정보공학과(학사)
1999년 : KAIST 전산학과(공학석사)
2006년 : KAIST 전자전산학과(공학박사)
2008년 ~ 현재 : 금오공과대학교 컴퓨터소프트웨어공학과 교수
관심분야 : Digital Forensics, Image Processing, IoT