안저 이미지 분류를 통한 당뇨병성 망막병증 예측 모델
초록
본 연구에서는 당뇨병성 망막병증(Diabetic retinopathy)을 조기에 예측하기 위해 경량화된 MobileNetV2 기반 딥러닝 모델을 설계하였다. 이 모델은 높은 연산 효율성과 우수한 분류 성능을 제공하며, 두 가지 옵티마이저(Adam과 SGD)를 사용하여 모델의 성능을 비교하였다. 제안한 방법에서는 최적의 옵티마이저 선택을 통해 모델의 예측 성능을 극대화하는 방법을 제시함으로써, 의료 영상 분석 분야에서 경량화된 딥러닝 기술의 실용적 가능성을 확인하였으며, 이를 통해 당뇨병성 망막병증 조기 진단 시스템 구축에 기여할 수 있을 것으로 기대된다.
Abstract
This study designed a deep learning model based on MobileNetV2, optimized for early prediction of Diabetic Retinopathy. The proposed model offers high computational efficiency and excellent classification performance, and two optimizers, Adam and SGD, were used to compare the model's performance. By demonstrating methods to maximize model prediction performance through optimal optimizer selection, this study confirms the practical potential of lightweight deep learning technologies in medical image analysis. The research provides a foundation for the development of early diagnostic systems for Diabetic Retinopathy.
Keywords:
diabetic retinopathy, mobileNetV2, fundus image, deep learning, optimizerⅠ. 서 론
당뇨병은 전 세계적으로 급속히 증가하고 있는 만성 질환으로, 심혈관계 질환, 뇌혈관 질환, 신병증, 망막병증 등 다양한 혈관 질환을 유발한다[1]. 그 중, 당뇨병성 망막병증(Diabetic retinopathy)은 망막혈관의 손상으로 인해 시력 손실과 실명을 초래할 수 있는 중대한 합병증으로, 실명 및 저시력의 주요 원인으로 알려져 있다[2]. 당뇨병성 망막병증의 병인은 확실히 규명되어 있지 않지만, 당뇨병 환자에게만 나타나며, 혈당 조절이 불량하거나 당뇨병의 유병 기간이 길수록 발생률이 증가한다[3].
당뇨병성 망막병증으로 인한 실명은 대부분 예방이 가능하며, 망막병증의 진행을 막기 위해서는 조기 발견과 적절한 치료가 필수적이다. 그러나 당뇨병 및 당뇨병성 망막병증을 판독하고 진단하는 의료 전문가의 수는 증가하는 환자 수를 감당하기에 부족한 실정이다[4]. 또한, 안저 이미지 분류는 촬영 환경에 따라 차이가 있어 당뇨병성 망막병증 진단의 객관성을 유지하기 어렵다. 따라서, 안저 이미지를 분석하고 당뇨병성 망막병증의 발병 가능성을 예측하는 기술의 중요성이 커지고 있다. Y. Jung and D. Kim[4]은 딥러닝 기법의 하나인 Mask R-CNN과 랜덤포레스트 분류기를 이용해 당뇨병성 망막병증의 병리학적인 특징을 검출하고 분석하여 자동 진단하는 시스템을 연구하였고, Y. Jung et al.[5]은 Faster R-CNN 기술을 적용하여 당뇨병성 망막병증 특징 추출 및 심각도 등급을 분류하는 시스템을 제안하였다. 또한, ResNet50을 활용하거나 CLAHE 기법을 적용하여 당뇨병성 망막증 분류를 수행한 연구도 진행되었다[6].
딥러닝 기술은 대량의 데이터를 효율적으로 학습하여 의미 있는 정보를 추출하는 능력으로, 최근 의료 영상 분석을 포함한 다양한 분야에서 뛰어난 성과를 보이고 있다[7]. 이미지 데이터 학습에 최적화된 CNN(Convolutional Neural Network)은 합성곱 계층을 통해 이미지의 공간적 계층 구조를 학습하고, 풀링 계층을 통해 계산 효율성을 높이며 불필요한 세부 정보를 줄여 특성 맵의 크기를 감소시킨다. MobileNetV2는 기존 CNN에 비해 파라미터 수를 줄인 효율적인 신경망 모델로, 이전 MobileNetV1에서 ReLU 유닛으로 인한 정보 손실 문제를 해결하여 정확도와 시간 및 공간적 성능을 크게 개선하였다[8]. MobileNetV2와 같은 경량화된 딥러닝 모델은 효율적인 모델 크기와 빠른 추론 속도를 제공하면서도 높은 분류 성능을 보이며, 제한된 자원에서도 우수한 성능을 발휘하여 의료 현장에서의 실시간 진단에 유리하다.
본 연구는 MobileNetV2의 구조와 특징을 바탕으로 안저 이미지를 효과적으로 분석하고, 이를 통해 당뇨병성 망막병증의 발병 가능성을 예측하는 경량화된 모델을 제안한다. 학습 과정에서 다양한 옵티마이저를 적용하여 모델의 성능을 비교하고, 최적의 학습 알고리즘을 도출한다. 또한, 실제 데이터셋을 사용한 실험을 통해 제안된 모델의 유효성을 검증한다.
Ⅱ. 당뇨병성 망막병증
2.1 당뇨병성 망막병증의 정의
당뇨병성 망막병증은 당뇨병 환자에게서 망막의 순환장애로 발생하는 특징적인 망막 질환으로, 당뇨병성 신경병증, 당뇨병성 신증과 함께 당뇨병의 3대 미세혈관합병증 중 하나이다. 당뇨병성 망막병증은 시력 저하를 일으키며, 심각한 경우 실명에 이를 수 있는 중대한 합병증이다. 초기 단계에서는 혈관이 약해져 출혈이 발생하거나 혈관벽이 늘어나 미세동맥류가 형성될 수 있다. 혈관벽이 약해지면 혈액 속 성분이 망막에 쌓이고, 특히 황반 부위에 쌓이면 당뇨황반부종이 발생하여 시력이 저하된다. 또한, 신생혈관과 함께 자라나는 섬유화 증식이 망막조직을 당기면 견인망막박리가 발생할 수 있다. 당뇨병성 망막병증의 발생은 당뇨병 유병 기간과 밀접한 연관이 있어, 당뇨병을 오래 앓을수록 당뇨병성 망막병증 발생 확률이 높아지고, 심각한 시력 저하나 실명을 초래할 수 있다. 특히, 당뇨황반부종이 발생하면 시력이 급격히 저하될 수 있으며, 신생혈관 형성 시 유리체출혈이나 견인망막박리 등의 합병증이 발생할 수 있다[3].
2.2 단계별 안저 이미지 및 증상
당뇨병성 망막병증은 망막의 혈관에 특정한 변화가 있는 여러 단계를 거쳐 진행되며, 표 1과 같이 각 단계는 그에 따른 임상적 특징을 나타낸다[9].
초기 단계는 망막의 혈관에 작은 영역이 약해지고 팽창되는 미세동맥류(Microaneurysms)가 발생하는 경증 비증식성 당뇨망막병증이다. 일부 혈관이 체액이나 혈액을 누출하여 작은 출혈이나 점 모양의 삼출물이 생길 수 있다. 이로 인해 망막에 경미한 부종이 발생할 수 있으며, 특히 황반 부종은 중심 시야의 흐림을 유발할 수 있다.
두 번째는 중증도 비증식성 당뇨망막병증이며, 미세동맥류와 망막 출혈이 증가한다. 이때 혈관 이상으로 인해 망막이 허혈 상태에 이를 수 있다. 이는 혈류 장애로 인해 일부 영역이 산소 공급이 부족한 상태가 되는 것이다.
중증 비증식성 당뇨망막병증은 더 많은 수의 혈관이 막히면서 넓은 범위로 망막 허혈이 발생하는 현상이다. 산소 공급의 부족으로 인해 성장 인자가 방출되며, 이는 망막 내 비정상적인 혈관 형성을 촉진시킨다.
마지막으로 증식성 당뇨망막병증은 비정상적인 신생 혈관이 특징인 진행 단계로, 취약한 혈관이 유리체액으로 혈액을 유출시켜 비문증과 유리체 출혈을 일으킬 수 있다.
임상적 특징에 따른 안저 이미지의 Level 별 분류는 표 2와 같이 구분된다.
2.3 진단 및 치료 방법
안저검사는 망막의 이상을 확인하기 위해 산동 후 세극등현미경과 도상검안경을 사용한다. 형광안저혈관조영은 혈관의 누출과 폐쇄를 확인하며, 빛간섭단층촬영은 황반부종의 정도를 측정하고 치료 효과를 평가하는 데 사용된다. 또한, 초음파검사는 유리체 출혈과 견인성 망막 박리를 진단하는 데 유용하다. 추가로, 망막전위도검사, 색각검사, 대비감도검사 등을 통해 망막 기능을 평가할 수 있다.
당뇨병성 망막병증의 치료는 혈당, 혈청 지질, 고혈압의 조절과 같은 전신적인 위험 인자 관리를 포함하며 부종과 신생혈관에 대한 치료를 통해 망막 두께 감소와 시력 저하 위험을 줄일 수 있다[3].
Ⅲ. 당뇨병성 망막병증 예측 모델
이 연구에서는 당뇨병성 망막병증 예측을 위해 MobileNetV2 기반의 딥러닝 모델을 설계하였다. MobileNetV2는 경량화된 구조로, 모바일 및 임베디드 장치에서의 높은 연산 효율성과 우수한 성능을 제공한다. 본 모델은 마지막 층을 당뇨병성 망막병증의 클래스 수에 맞춰 조정하여 최종 분류를 수행한다.
3.1 옵티마이저(Optimizer) 비교
옵티마이저는 딥러닝 모델의 최적화 기법을 의미한다. 딥러닝 모델의 학습 과정에서 옵티마이저는 모델의 가중치를 업데이트하여 손실 함수(Loss function)의 값을 최소화한다. 이를 통해 모델은 주어진 데이터에 대해 더 나은 성능을 보이도록 학습을 진행할 수 있다.
본 연구에서는 학습을 진행하기 위해 모델 학습에서 가장 대표적으로 사용되는 Adam과 SGD를 선택하였다. SGD는 현재의 기울기만을 고려하지만, Adam은 과거 기울기를 이용해 수렴한다는 점에서 더 발전된 옵티마이저로 볼 수 있고, 성능도 더 좋을 것이라 예측할 수 있다. 하지만 실제로는 데이터셋과 모델의 구조 등에 따라서 요구되는 옵티마이저의 종류가 달라진다[12]. 따라서 안저 이미지 분류를 위한 MobileNetV2 모델 환경을 구축하기 위해 두 가지 옵티마이저를 비교하였다.
Adam은 학습률을 자동으로 조정하여 학습의 수렴 속도를 빠르게 하고, 높은 정확도를 목표로 한다. Adam은 과거의 기울기와 분산을 분석하여 각 파라미터에 대한 적절한 학습률을 결정하고, 이러한 적응적 학습률 조정 기능 때문에 빠르고 안정적인 학습이 가능하다. Adam은 RMSProp과 Momentum을 사용하는 경사 하강법과 유사한 파라미터 업데이트 방법을 사용한다[13].
(1) |
(2) |
(3) |
(4) |
식 (1)(2)(3)(4)와 같이 Adam은 제곱된 기울기의 지수 이동 평균 (vt)을 사용하고, 기울기의 지수 이동 평균(mt)도 함께 사용한다. 또한 β1은 지수 감쇠율이며, 와 는 각각 mt와 vt에 대한 보정된 편향을 나타낸다.
SGD는 확률적 경사 하강법을 이용하여 학습을 수행한다. SGD는 전체 훈련 데이터 샘플을 고려하는 대신 단일 샘플에 대해서만 계산하기 때문에 메모리 부족 문제를 피할 수 있다. 파라미터 업데이트를 위해 SGD는 (5)와 같은 식을 사용한다[13].
(5) |
여기서 η는 학습률이며, ∇θJ(θt)는 손실함수 J(θt)에 대한 파라미터 θt의 그래디언트이다. 또한, x(i)와 y(i)는 입력-출력 쌍으로 구성된 훈련 데이터이다. SGD 전통적인 옵티마이저 방법으로, 학습이 안정적이고 일반화 성능이 뛰어난 경우가 많다.
3.2 학습 및 평가
모델 컴파일 후 학습 데이터로 모델을 학습시키고, 검증 데이터로 성능을 평가하였다. 학습 과정에서 손실과 정확도 변화를 시각적으로 기록하였으며, 최적의 학습 알고리즘을 결정하기 위해 두 모델의 성능을 비교하였다. 손실 함수로는 sparse_categorical_crossentropy를 사용하였다.
Sparse_categorical_crossentropy는 주로 분류해야 할 클래스가 2가지 이상이며 클래스 레이블이 정수 형태로 제공되는 경우에 사용되는 함수이며, 딥러닝 프레임워크에서 모델을 컴파일할 때 사용된다. sparse_categorical_crossentropy의 식은 (6)과 같다[14].
(6) |
식 (6)은 특정 클래스 j에 대해 데이터 샘플 i에 대한 정의이다. N은 데이터 샘플의 개수을 의미한다. tij는 샘플 i의 실제 값을 의미하고 는 예측값을 의미한다.
Accuracy(A)는 딥러닝 모델을 평가할 때 정확도를 측정하는 데 사용되는 매트릭스를 지정하는 옵션이다. 정확도는 분류 문제에서 모델의 성능을 평가하는 가장 기본적인 지표 중 하나이며, 식 (7)과 같이 전체 샘플 중에서 모델이 올바르게 분류한 샘플을 비율을 나타낸다.
(7) |
Ⅳ. 안저 이미지 분석 및 실험결과 분석
4.1 분석 및 실험 방법
안저 이미지의 분석 및 실험 방법에 관한 수행절차는 그림 1과 같다. 본 연구에서는 Kaggle에서 제공하는 안저 이미지 데이터셋을 사용하여 당뇨병성 망막병증 예측 모델을 개발하였다. 다양한 등급의 망막병증을 포함한 이 데이터셋은 안저 이미지와 해당 라벨로 구성되어 있으며, 이미지는 DataFrame에서 Numpy 배열로 변환하여 딥러닝 모델 입력 형식이 맞추었다. 데이터 불균형 문제를 해결하기 위해 소수 클래스를 기준으로 under-sampling을 적용하고, 데이터를 7:3의 비율로 학습용과 검증용으로 분할하였다.
모델은 MobileNetV2를 기반으로 구축하였고, MobileNetV2는 Depthwise Separable Convolution과 Inverted Residual개념을 도입하여 경량화된 구조로 효율적인 연산과 높은 분류 성능을 제공한다. 모델의 마지막 층은 당뇨병성 망막병증의 클래스에 맞게 조정하였다. 모델 학습에는 두 가지 옵티마이저, 즉 Adam과 SGD를 사용하여 각각의 성능을 비교하였다. Adam 옵티마이저는 적응적 학습률을 통해 빠르고 효율적인 학습을 지원하며, SGD 옵티마이저는 전통적인 확률적 경사 하강법을 사용하여 학습을 진행한다.
모델 컴파일 후, 학습 데이터로 모델을 학습시키고 검증 데이터로 성능을 평가하였다. 손실률과 정확도 값을 통해 두 옵티마이저의 성능을 비교하였고, 최적의 학습 알고리즘을 도출하였다. 본 연구는 데이터 불균형 문제를 해결하고 이미지 증강을 통해 학습 데이터의 다양성을 확보하였으며, MobileNetV2 기반의 모델을 통해 높은 예측 성능을 달성하고자 하였다.
4.2 데이터 수집 및 전처리
본 연구에서는 당뇨병성 망막병증 예측 모델을 개발하기 위해 Kaggle에서 제공하는 안저 이미지 데이터셋을 활용하였다. 해당 데이터셋은 다양한 등급의 당뇨병성 망막병증을 포함하고 있으며, 각 등급은 이미지와 해당 라벨로 구성되어 있다. 데이터셋의 이미지는 환자의 눈을 촬영한 안저 이미지로 이루어져 있으며, 이는 당뇨병성 망막병증의 진단에 필요한 주요 시각적 정보를 포함하고 있다.
Kaggle API를 이용하여 안저 이미지 데이터셋을 다운로드하였다. 총 3,500여 장의 데이터셋을 DataFrame 형식으로 불러왔다. 이 과정에서 이미지 파일의 경로와 해당 라벨을 포함한 정보를 DataFrame에 저장하였다. 이후 딥러닝 모델의 입력 형식에 맞추기 위해 DataFrame 내의 데이터를 Numpy 배열로 변환하였다. 이를 통해 이미지 데이터와 라벨 데이터를 모델에 효과적으로 입력할 수 있도록 준비하였다.
데이터셋의 클래스 불균형 문제를 해결하기 위해 under-sampling 기법을 적용하여 소수 클래스의 샘플 수에 맞춰 각 클래스의 샘플 수를 708장으로 조정했다. 이를 통해 모델이 특정 클래스에 치우치지 않고, 모든 클래스에 대해 균형 잡힌 학습을 진행할 수 있게 하였다. 또한, 다수 클래스 데이터를 줄여 데이터 분석에 필요한 시간과 비용을 절감하는 효과를 얻었다.
전처리된 데이터를 무작위로 분할하여 70%는 학습 데이터, 30%는 검증 데이터로 사용했다. 학습 데이터는 모델 훈련에, 검증 데이터는 성능 평가와 일반화 성능 확인에 활용된다.
Ⅴ. 결 론
본 연구는 MobileNetV2를 활용하여 당뇨병성 망막병증의 발병 가능성을 예측하는 모델을 개발하고자 하였다. 이를 위해 Kaggle에서 제공하는 안저 이미지 데이터셋을 활용하여 데이터 전처리 및 불균형 문제를 해결하고, 다양한 옵티마이저를 적용하여 모델의 성능을 비교 분석하였다.
연구 결과, MobileNetV2 기반 모델은 경량화된 구조와 효율적인 연산을 통해 높은 분류 성능을 제공하였으며, 특히 Adam 옵티마이저를 사용했을 때 더 높은 정확도와 효율적인 학습 성능을 보였다.
Adam 옵티마이저의 우수한 성능은 적응적 학습률과 모멘텀이라는 두 가지 주요 특징에서 비롯된다.
Adam 옵티마이저는 각 파라미터에 대해 개별적인 학습률을 적용함으로써, 초기 학습 단계에서 빠르게 수렴하고 최적의 해에 가까워질수록 학습률을 줄여 더 정밀한 조정이 가능하게 한다. 또한, 모멘텀 기능을 통해 기울기 방향의 진동을 줄이고, 빠른 수렴을 도와 복잡한 이미지 패턴을 보다 효과적으로 학습할 수 있다. 이러한 특성은 당뇨병성 망막병증 예측 모델이 다양한 안저 이미지로부터 중요한 특징을 학습하는데 기여하였다.
본 연구를 통해 MobileNetV2와 같은 경량화된 딥러닝 모델이 안저 이미지 분석을 통해 당뇨병성 망막병증의 조기 진단에 효과적으로 활용될 수 있음을 확인하였다. 이는 당뇨병 환자의 시력 손실을 예방하고 삶의 질을 향상시키는 데 중요한 기여를 할 수 있을 것으로 기대된다.
결론적으로, 본 연구는 딥러닝 기술을 활용한 당뇨병성 망막병증 예측 모델의 가능성을 보여주었으며, 향후 조기 진단 시스템 구축에 기여할 수 있는 기반을 마련하였다. 더불어, 최적의 옵티마이저 선택을 통해 모델의 예측 성능을 극대화하는 방법을 제시함으로써, 다양한 의료 영상 분석 분야에서의 적용 가능성을 확인하였다.
Acknowledgments
이 논문은 2024년도 정부(산업통상자원부)의 재원으로 한국산업기술진흥원의 지원을 받아 수행된 연구입니다(P0024164, 2024년 지역혁신클러스터육성)
References
- American Diabetes Association, "Standards of Medical Care in Diabetes-2014", Diabetes Care, Vol. 37, No. Supplement_1, pp. S14-S80, Jan. 2014. [https://doi.org/10.2337/dc14-S014]
- S. haudhary, J. Zaveri, and N. Becker, "Proliferative Diabetic Retinopathy (PDR)", Disease-a-Month, Vol. 67, No. 5, May 2021. [https://doi.org/10.1016/j.disamonth.2021.101140]
- Korea Disease Control and Prevention Agency, https://health.kdca.go.kr/healthinfo/biz/health/gnrlzHealthInfo/gnrlzHealthInfo/gnrlzHealthInfoView.do?cntnts_sn=5221, [accessed: Aug. 08, 2024]
- Y. Jung and D. Kim, "Classification of Diabetic Retinopathy using Mask R-CNN and Random Forest Method", Journal of The Korea Society of Computer and Information, Vol. 27, No. 12, pp. 29-40, Dec. 2022. [https://doi.org/10.9708/jksci.2022.27.12.029]
- Y. Jung, K. Cho, and D. Kim, "CNN based Diabetic Retinopathy Feature Extraction and Grade Classification", Journal of The Institute of Electronics and Information Engineers, Vol. 56, No. 11, Nov. 2019. [https://doi.org/10.5573/ieie.2019.56.11.61]
- D. Mok, G. Byun, J. Kim, and H. Choo, "Diabetic Retinopathy Clasification with ResNet50 Model Based Multi-Preprocessing", Proceedings of the Korea Information Processing Society Conference, Vol. 30, No. 2, pp. 621-623, Nov. 2023. [https://doi.org/10.3745/PKIPS.y2023m11a.621]
- Y. J. Kim and K. G. Kim, "Development of an Optimized Deep Learning Model for Medical Imaging", Journal of the Korean Society of Radiology, Vol. 81, No. 6, pp. 1274-1289, Nov. 2020. [https://doi.org/10.3348/jksr.2020.0171]
- S. M. Jeong, S. G. Lee and E. C. Lee, "MobileNetV2-based Binary Classification of Dermatoscopic Images of Melanocytic Nevi and Malignant Melanoma", Proceedings of the Korea Information Processing Society Conference, Vol. 28, No. 2, pp. 670-672, Nov. 2021. [https://doi.org/10.3745/PKIPS.y2021m11a.670]
- European Eye Center, https://europeaneyecenter.com/, [accessed: Aug. 08, 2024]
- H.-C. Kang, K. Kim, W.-V. Oh, and J.-M. Hwang, "Detection of Retinal Vessels of Fundus Photograph Using Hessian Algorithm", Journal of Korea Multimedia Society, Vol. 12, No. 8, pp. 1082-1088, Aug. 2009.
- J. Y. Park and S. T. Kim, "Exploring Data Augmentation for Efficient Vessel Segmentation on Fundus Images", Korean Institute of Information Scientists and Engineers, Vol. 49, No. 2, pp. 1595-1597, Dec. 2022.
- K. Y. Shin and S.-M. Moon, "Comparison of SGD, Adam and Intermediary Optimizer", Korean Institute of Information Scientists and Engineers, pp. 737-739, 2022.
- M. Reyad, A. M. Sarhan, and M. Arafa, "A modified Adam algorithm for deep neural network optimization", Neural Computing and Applications, Vol. 35, pp. 17095-17112, Apr. 2023. [https://doi.org/10.1007/s00521-023-08568-z]
- S.-Y. Lee and Y. J. Huh, "A Comparative Study on Deep Learning Models for Scaffold Defect Detection", Journal of the semiconductor and display technology, Vol. 20, No. 2, pp. 109-114, Jun. 2021.
2023년 2월 : 충북대학교 생명과학부 미생물학과(이학사)
2024년 3월 ~ 현재 : 목원대학교 IT공학과 석사과정
관심분야 : 머신러닝, 딥러닝, 빅데이터
2014년 8월 : 목원대학교 대학원 IT공학과(공학박사)
2015년 4월 ~ 현재 : 목원대학교 컴퓨터공학과 조교수
관심분야 : 무선통신시스템, 지능형재난시스템, 사회안전, 재난관리, 통신재난, 멀티미디어통신, IoT, 디지털콘텐츠
2012년 1월 ~ 2014년 12월 : 사회안전학회 회장
2017년 1월 ~ 2018년 12월 : 한국정보기술학회 회장
2021년 1월 ~ 2022년 12월 : 한국디저털콘텐츠학회 회장
1992년 6월 ~ 현재 : 목원대학교 컴퓨터공학과 교수 (전) 목원대학교 공과대학장, 교학부총장
2008년 1월 ~ 현재 : ISO/TC 292 Korea Delegate
관심분야 : Image Processing, Computer Vision, 퍼지응용, IT 기반 재난안전망 설계