Theory/DL & Medical AI

[딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part2-4. Medical image segmentation

YeonJuJeon 2025. 1. 8. 20:14

1. Introduction

  • Medical image classification
  • Image Segmentation
    • Classification의 확장 형태
    • Pixel level로 image classification을 수행
    • 물체(혹은 병변)의 경계를 분할하는 방식

2. Medical image Segmentation

Previous Segmentation (고전적 방식)

  • Image의 feature 활용
    • 다양한 위치의 다중 필터를 통해 feature 추출
    • Edge detection(에지 검출)을 통해 영상 분할
    • Pixel 간 gradient 활용
  • 고전적인 Graph 이론 활용
    • Interactive segmentation (label을 통한 GraphCut 등)
    • GrabCut 등 iterated graph cuts 기법으로 전경/배경 분리

Image segmentation problem (Localization 문제)

  • 기존 ML 모델(분류용)은 위치 정보가 소실됨
  • 의미 있는 영역(병변 등)의 특징 추출이 어려움
  • 1×1 conv만으로 input=output 형태를 만들면 파라미터 수가 방대

Image Segmentation Challenge

  • Image level Classification 구조로는 위치·채널 정보가 사라짐
  • Fully Connected Layer를 거치면 공간적 정보 손실
  • 예: ResNet에서 avg pooling + FCL로 인해 위치가 소멸

3. Medical image Segmentation (의료 영상 세그멘테이션)

  • 병변(lesion)이나 ROI(Region of interest)를 분할하여:
    • Tumor size, 병변 위치 정확 측정
    • 특정 조직의 구조 분석
    • 진단 효율성·정확성 향상

Medical Image Segmentation Problem

  • 다양한 영상 획득 방식 + 생물학적 변이 → Noise 많음
  • 완벽한 annotation 어려움, 전문 Annotator 부족
  • 사람마다 다른 주관으로 인해 Label 불일치
  • 일반 이미지(Cat, Dog)에 비해 훨씬 난이도 높음

Medical Image Segmentation Solution (고전방법)

  • Thresholding segmentation
    • Histogram 기반 영역 분할
  • Edge base Segmentation
    • edge 검출 기반 분할

Edge base Segmentation

  • Interactive/Manual 성격이 강해 자동화가 어렵거나 많은 보조 필요

4. Modern Medical Image Segmentation

전처리(Preprocessing), 다양한 아키텍처, Inference

  • Preprocessing
    • Pretrained model, Patching, Resampling
    • Augmentation (기하학 변환 등)
  • Architecture
    • UNet, DeepLabv3, UNETR 등
  • Inference
    • Test time Augmentation (TTA)

Pretrained model 활용

  • 적은 데이터 문제를 해결
  • 일반적인 Natural image로 학습된 대규모 모델(예: ImageNet)
  • 또는 Self-supervised로 학습된 시각 표현(Representation)을 전이(Transfer Learning)

Patching & Oversampling

  • 특정 영역을 Random Patch로 잘라내 학습
  • 3D 의료 영상이 매우 클 경우, Patch 단위로 나누어 학습
  • 크기가 큰 스캔의 경우 전체를 한 번에 GPU 메모리에 올리기 어렵기 때문에 Patch 방식 사용

Augmentation

  • Overfitting 방지 위해 Flip, Crop, Rotate, Color Jitter 등 활용

Hard Augmentation

  • Cutout: 영상 일부를 Masking
  • Mixup: 두 영상 합성
  • Cutmix: 특정 부위를 다른 영상으로 교체

5. 대표 Segmentation 아키텍처

1) U-Net

  • Encoder + Decoder + Skip connection 구조
  • Encoder(Contracting Path): 이미지에서 context 추출
  • Decoder(Expansive Path): Upsample 후, Encoder feature와 concatenate
  • Skip connection: Localization 정보 손실 방지
  • 간단·효율적 구조로 의료영상 분야에 널리 사용

2) DeepLab

  • Atrous convolution(또는 dilated convolution) 사용
    • Receptive field 확장 → 한 픽셀이 넓은 영역을 볼 수 있음
  • ASPP(Atrous Spatial Pyramid Pooling) 통해 Multi-scale feature 획득
  • 공간적 정보를 풍부하게 유지하며 세그멘테이션 성능 향상

3) UNETR

  • Transformer를 Encoder에 도입한 3D 세그멘테이션 기법
  • Long-range spatial dependency를 Transformer로 처리
  • 3D 의료 영상에서 U-Net + Transformer 조합으로 강력한 성능 가능

6. 추가 Trick

Test Time Augmentation (TTA)

  • Inference 시, 이미지를 Augmentation(Flip, Scale 등)한 뒤 모델 예측들을 앙상블
  • 예측 결과를 평균 또는 다수결 등으로 합쳐서 좀 더 안정적 결과 획득

Post Processing

  • Edge Enhancement: Boundary 영역 보정, Noise 제거
  • 생긴 구멍(hole)을 동일한 mask로 채우기
  • 예: Morphological 연산, OpenCV-based hole filling 등

Edge Enhancement


7. Segmentation Loss & Evaluation

Segmentation Loss

  1. Cross Entropy(CE) Loss
    • Pixel-wise로 class 분류
    • Class imbalance 시 weight 적용 가능
  2. Dice coefficient Loss
    • 세트 A(예측)와 B(정답)의 겹치는 정도를 직접 측정
    • Dice = 2|A∩B| / (|A|+|B|)
    • Dice Loss = 1 - Dice
  3. Jaccard/Intersection over Union(IoU) Loss
    • IOU = |A∩B| / |A∪B|
    • Jaccard Loss = 1 - IOU
    • Dice와 유사한 면이 많으나 계산 방식 약간 다름

확장된 IoU 기반 Loss(GIoU, DIoU)

  • 기존 IoU $$\text{IoU} = \frac{|A \cap B|}{|A \cup B|}$$   
  • 두 영역(또는 박스)이 거의 겹치지 않을 때 $\text{IoU} \approx 0$이 되어 학습에 어려움이 생김

GIoU (Generalized IoU)

  • 추가 개념: 두 박스를 모두 감싸는 최소 외접 박스 C를 정의
  • $$\text{GIoU} = \text{IoU} \;-\; \frac{|\,C \setminus (A \cup B)\,|}{|\,C\,|}$$
  • 겹치지 않더라도, 외부 박스와 실제 영역 차이를 고려해 벌점 부여 → 학습 수렴 가속

DIoU (Distance IoU)

  • 추가 개념: 박스(또는 마스크)의 중심점 거리 반영
  • $$\text{IoU} \;-\; \frac{d^2(\text{center}(A), \text{center}(B))}{D^2_\text{max}}$$
    • $d$: 두 중심점 사이의 거리
    • $D_\text{max}$: 감싸는 범위 내 최대 거리
  • 영역 겹침이 적어도 중심점이 서로 가까워지도록 학습 → 좀 더 빠르게 두 박스가 유효하게 겹침

기타 평가 지표

  • Precision / Recall / F1 score / Specificity / Accuracy
    • Pixel 단위의 TP, FP, FN, TN을 계산 가능
    • F1 = 2 × (Precision×Recall)/(Precision+Recall)

Mak에 대한 학습전략을 새롭게 할 수 있음

  • Hausdorff Distance
    • 예측된 경계와 실제 경계가 얼마나 떨어져 있는지(양 방향) 측정
    • 꼭짓점(match) 관점에서 가장 최악 거리 측정

전반적 평가 방법

  • 세그멘테이션 결과 마스크와 정답 마스크 간 차이
  • Mean-Intersection Over Union (mIOU) 등으로 평균 측정
  • Annotator마다 편차가 큰 의료 영역이므로 정확한 기준 선정이 중요

8. 요약

  • 의료 영상 세그멘테이션은 Pixel 단위 분류로써, 정확한 병변 분할에 큰 역할을 함
  • 적은 데이터 해결을 위해 Pretrained 또는 Self-supervised 활용, Patch 분할, Augmentation 기법을 활발히 사용
  • 대표 모델: U-Net, DeepLab(Atrous Conv), UNETR(Transformer) 등
  • Inference 시 TTA, 후처리(Edge/Hole 보정)
  • 평가 시 Dice/IoU/F1/Hausdorff 등 다양한 지표 적용
  • 의료 영상 특수성(Noise, Annotator 편차 등)으로 정확한 전처리·후처리·평가 전략이 필수

9. 논문: Resource Optimized Neural Architecture Search for 3D Medical Image Segmentation

논문 리뷰 링크: [딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part 2-4. Resource Optimized Neural Architecture Search for 3D Medical Image Segmentation

 

[딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part 2-4. Resource Optimized Neural Architecture Search for 3D Med

논문 링크: https://arxiv.org/pdf/1909.005481909.005481. Introduction & AbstractNetwork Architecture Search(NAS)Neural Networks의 최적 구조를 자동으로 탐색하는 방법론Natural image 분야에서 활발히 사용연구 배경3D Medical Ima

ahxlzjt.tistory.com


10. Medical image 3d segmentation 실습

실습1 리뷰 링크: [딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part2-4. Brain tumor Semantic segmentation(Brats 2020) EDA(탐색적 데이터 분석) 및 전처리 과정 실습

 

[딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part2-4. Brain tumor Semantic segmentation(Brats 2020) EDA(탐색

코드 링크: https://drive.google.com/file/d/1BWygf40czY9c2FkDnP0tmHiE3eMJO0c-/view?usp=sharing ch05-05-3d-brain-tumor-segmentation-eda.ipynbColab notebookdrive.google.com0. 설치 및 라이브러리 로드!pip install monai, !pip install natsort로

ahxlzjt.tistory.com

 

실습2 리뷰 링크: [딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part2-4. Brain tumor Semantic segmentation(Brats 2020)을 SegResNet 이용한 학습 실습

 

[딥러닝을 활용한 의료 영상 처리 & 모델 개발] Part2-4. Brain tumor Semantic segmentation(Brats 2020)을 SegResNe

코드 링크:https://github.com/ahxlzjt/MedImagingDL/blob/55edfd5ed184027a708c9aa1fdf732680390de3f/ch05_06_3d_brain_tumor_segmentation_infe.ipynb MedImagingDL/ch05_06_3d_brain_tumor_segmentation_infe.ipynb at 55edfd5ed184027a708c9aa1fdf732680390de3f · a

ahxlzjt.tistory.com


11. 결론

이번 학습을 통해 의료 영상 세그멘테이션의 이론과 다양한 최신 기법들을 심도 있게 배울 수 있었다. 특히, 의료 영상 처리에서 Pixel 단위의 정밀한 분할이 진단 정확도를 향상시키고 병변 분석에 중요한 역할을 한다는 점을 이해하게 되었다.

1. 세그멘테이션의 중요성:

  • 의료 영상 세그멘테이션은 병변의 정확한 위치와 크기를 파악할 수 있도록 하여 진단과 치료 계획 수립에 필수적인 도구임을 확인했다.
  • 고전적인 방식의 한계를 극복하고 딥러닝 기반의 모델들이 어떻게 세그멘테이션 문제를 해결하는지 알게 되었다.

2. 데이터 준비와 전처리:

  • Pretrained 모델 활용, Patch 기반 학습, Augmentation 기법 등 데이터의 품질을 높이고 효율적으로 학습하는 전략을 배웠다.
  • 특히, 3D 데이터에서의 Patch 분할은 GPU 메모리의 효율적 사용과 모델 학습 최적화를 동시에 가능하게 한다는 점을 체감할 수 있었다.

3. 대표 모델 이해:

  • U-Net, DeepLab, UNETR 등의 주요 세그멘테이션 모델 구조와 작동 원리를 학습하며, 각 모델의 장단점과 적합한 사용 사례를 파악했다.
  • Transformer 기반의 UNETR처럼 최신 아키텍처들이 3D 의료 영상에 강력한 성능을 발휘한다는 점이 인상 깊었다.

4. 평가와 후처리:

  • Dice Loss, IoU Loss 등 세그멘테이션에서 사용되는 다양한 손실 함수와 평가 지표를 이해하며, 성능 평가와 모델 개선의 중요성을 느꼈다.
  • Test Time Augmentation(TTA), Edge Enhancement 등 후처리 기법들이 결과의 정밀도를 어떻게 높이는지 실습을 통해 확인했다.

5. 의료 영상의 특수성:

  • 의료 영상에서 발생하는 Noise, Annotation 편차 등 특수성을 반영한 전처리 및 후처리 과정이 필수적임을 배웠다.
  • 이를 통해 실제 데이터에서 발생할 수 있는 문제를 예측하고 대응하는 법을 익혔다.

주요 포인트:

  • 의료 영상 세그멘테이션의 필요성: 병변 분할을 통해 진단 효율성과 정확도를 높이는 핵심 기술.
  • Pretrained 모델과 데이터 증강: 적은 데이터 문제를 해결하며 모델 성능을 극대화할 수 있는 방법.
  • Patch 기반 학습: 3D 영상 처리에서 GPU 메모리 효율성을 극대화.
  • 주요 아키텍처의 활용: U-Net, DeepLab, UNETR 등 모델을 적합한 데이터와 문제에 맞게 활용.
  • 평가와 후처리: 다양한 손실 함수와 후처리 기법으로 모델 성능을 정밀히 개선.

이번 학습을 통해 의료 영상 세그멘테이션의 기초부터 최신 기술까지 폭넓게 경험했다. 앞으로도 더 다양한 데이터셋과 기법을 탐구하여 의료 AI 분야에서의 전문성을 지속적으로 발전시킬 계획이다.