核心概念
본 논문에서는 엑스레이 및 CT 스캔에서 팔꿈치, 손가락, 어깨, 손목 관절을 포함한 인체 상지의 여러 뼈 관절을 자동으로 위치를 파악하는 데 YOLOv3, YOLOv7, EfficientDet, CenterNet과 같은 다양한 딥러닝 모델의 성능을 비교 분석하여 의료 영상 작업의 효율성을 향상시키는 방법을 제시합니다.
要約
인체 상지 뼈 관절의 효율적인 위치 파악을 위한 다중 딥러닝 알고리즘 비교 연구
연구 배경 및 목적
의료 영상 분석은 골관절염, 류마티스 관절염과 같은 다양한 뼈 관련 질환을 진단하고 치료 계획을 수립하는 데 필수적인 과정입니다. 하지만, 전문의가 직접 수동으로 이미지를 분석하는 것은 시간이 많이 소요되고, 피로도가 높으며, 주관적인 판단이 개입될 여지가 있습니다. 이러한 문제점을 해결하기 위해 최근 딥러닝 기반 객체 감지 모델을 활용한 의료 영상 분석 자동화 연구가 활발히 진행되고 있습니다.
본 연구에서는 엑스레이 및 CT 스캔에서 팔꿈치, 손가락, 어깨, 손목 관절을 포함한 인체 상지의 여러 뼈 관절을 자동으로 위치를 파악하는 데 YOLOv3, YOLOv7, EfficientDet, CenterNet과 같은 다양한 딥러닝 모델의 성능을 비교 분석하고자 합니다.
연구의 필요성 및 의의
기존 연구에서는 다양한 딥러닝 기반 객체 감지 모델이 제안되었지만, 뼈 관절 감지에 어떤 알고리즘이 적합한지, 그리고 언제 사용해야 하는지에 대한 명확한 답을 제시하지 못했습니다. 본 연구는 다양한 딥러닝 모델의 성능을 비교 분석함으로써 의료 영상 분야에서 뼈 관절 감지를 위한 최적의 알고리즘 선택 가이드라인을 제시하고자 합니다.
데이터셋
본 연구에서는 Stanford ML 그룹에서 수집한 공개적으로 사용 가능한 근골격계 방사선 사진 데이터셋인 MURA (musculoskeletal radiographs) 데이터셋을 사용했습니다. MURA 데이터셋은 팔꿈치, 손가락, 어깨, 손목 관절의 이미지를 포함하며, 뼈 골절 유무에 따라 분류됩니다.
전처리 과정
MURA 데이터셋에는 연구에 필요한 관절 이외의 다른 뼈 관절 이미지도 포함되어 있기 때문에, 이미지 전처리 과정을 통해 필요한 이미지만 선별하고 데이터셋의 균형을 맞추는 작업을 수행했습니다.
중복 이미지 제거: AllDup 소프트웨어를 사용하여 중복 이미지를 제거했습니다.
노이즈 이미지 제거: 해상도가 낮거나, 대비가 좋지 않거나, 육안으로 구분하기 어려운 특징을 가진 이미지를 수동으로 제거했습니다.
이미지 보강: 상대적으로 적은 수의 어깨 관절 이미지를 보완하기 위해 무작위 뒤집기 및 무작위 회전과 같은 기본적인 이미지 처리 기술을 통해 이미지 수를 늘렸습니다.
데이터셋 분할: 최종적으로 4,929개의 이미지로 구성된 균형 잡힌 데이터셋을 70:30 비율로 학습 및 테스트 세트로 분할했습니다.
이미지 주석: LabelImg 소프트웨어를 사용하여 수동으로 경계 상자를 그려 이미지에 주석을 달았습니다.
하드웨어 및 라이브러리
모델 학습 및 추론을 위한 코드는 Google Colaboratory에서 제공하는 가상 머신에서 실행되는 Jupyter Notebook에서 Python으로 작성되었습니다. Google Colab의 무료 등급 GPU 런타임은 사용 제한이 없는 단일 Tesla T4 (2560 CUDA 코어 및 16GB VRAM) GPU를 제공합니다.
딥러닝 모델
본 연구에서는 YOLOv3, YOLOv7, EfficientDet, CenterNet의 4가지 딥러닝 모델을 사용하여 뼈 관절 위치를 파악했습니다. 각 모델의 구조, 학습 방법, 손실 함수 및 최적화 방법은 다음과 같습니다.
YOLOv3
네트워크 구조: Darknet-53 백본 기반
모델 학습: 입력 이미지 크기 416x416 픽셀, 최대 8,000회 반복 학습, 배치 크기 8, 학습률 1e-3
손실 함수 및 최적화: 경계 상자 예측에는 SSE (Sum of Squared Error Loss) 사용, 클래스 예측에는 다중 클래스 교차 엔트로피 손실 (Categorical Cross-Entropy Loss) 사용, SGD (Stochastic Gradient Descent) 최적화 사용
YOLOv7
네트워크 구조: 확장된 ELAN (E-ELAN) 백본 기반
모델 학습: 입력 이미지 크기 640x640 픽셀, 최대 8,000회 반복 학습, 배치 크기 8, 초기 학습률 1e-2, 최종 학습률 1e-1, One Cycle Policy 학습률 스케줄링 사용
손실 함수 및 최적화: YOLOv3와 동일하게 SSE 및 다중 클래스 교차 엔트로피 손실 사용, SGD 최적화 사용
EfficientDet
네트워크 구조: EfficientNet 백본, BiFPN (Bidirectional Feature Pyramid Network), 복합 스케일링 사용
모델 학습: 입력 이미지 크기 640x640 픽셀, 최대 13,000회 반복 학습 (8,000회 + 5,000회), 배치 크기 8, 코사인 감쇠 규칙 (Cosine Annealing) 학습률 스케줄링 사용
손실 함수 및 최적화: 분류 손실, 지역화 손실, 정규화 손실 사용, Focal Loss 손실 함수 사용, Adam 최적화 사용
CenterNet
네트워크 구조: ResNet-v1-101 백본, FPN (Feature Pyramid Network), 키포인트 예측 사용
모델 학습: 입력 이미지 크기 512x512 픽셀, 최대 26,000회 반복 학습, 배치 크기 8, 다양한 학습률 적용
손실 함수 및 최적화: 히트맵에는 페널티 감소 Focal Loss, 클래스 오프셋에는 L1 손실, 경계 상자 회귀에는 L1 손실 사용, 최종 손실 함수는 세 가지 손실의 가중 합으로 계산