[Paper Review] DIAGNOSTIC CLASSIFICATION OF LUNG NODULES USING 3D NEURAL NETWORKS

Gerbon·2024년 3월 28일
1

Paper Review

목록 보기
7/8

논문 링크

Lung nodule(폐 결절) classification 관련 논문이다.

본 연구에서는 basic 3D CNN, novel multi-output network, 3D DenseNet, augmented 3D DenseNet with multi-outputs 를 포함한 네 가지의 two-pathway CNN을 제안한다.
특히 MoDenseNet은 state-of-the-art(SoTA)를 달성했다.


🍞 1. Introduction

폐암은 암으로 인한 사망의 가장 큰 원인이며, 2015년에 전 세계적으로 백만 건 이상의 사망이 있었고, 미국에서만 수십만건의 사망이 예상된다고 한다.
저용량(저선량) CT를 사용한 선별 검사가 폐암 사망률을 줄일 수 있지만, 양성(Benign)과 악성(malignant) 폐 결절의 미묘한 차이를 포착하여 진단하는 것은 전문가에게도 꽤 어려운 과제라고 한다.
CAD(Computer-Aided Diagnosis)은 non-invasive한 솔루션을제공하여 전문의의 폐 결절 진단을 보조하는 객관적인 예측을제공할 수 있는데, 기존 CAD 방식은 수동으로 만들어진 feature에 기반한 분류 모델 / 자동 feature 추출을 수행하는 DNN으로 나눌 수 있다.
본 연구에서는 end-to-end 폐 결절 진단을 위한 4개의 3D neural network를 제안한다.
공개 데이터셋인 LIDC-IDRI와 자체 데이터셋에서 모두 우수한 성능을 보였으며, 전이학습을 통해 더 작은 데이터셋에서도 적용될 수 있음을 보여준다. 이를 통해 제한된 데이터를 가진 상황에서도 모델의 활용도를 높일 수 있음을 시사한다.

기존 방식의 한계: 3D 정보의 일부가 소실되는 경향이 있음


🍞 2. Methods

🌿 2.1 Network Architectures

✨ Basic 3D CNN

Input: 두 가지의 다른 scale에서 3D 이미지 patch가 입력(nodule이 주로 차지하는 50x50x5 크기 / 결절 + 주변 조직 100x100x10 크기)
Convolution layer: 10개의 conv layers, 3x3x3 크기의 kernel, feature map 크기: 32, 32, 64, 64, 128,128, 256, 256, 512, 512
Pooling layer: conv layer 사이에는 2x2x1 크기의 필터를 사용하는 4개의 maxpool layer
Output: 마지막 단계에서 두 경로의 feature map이 합쳐지며, classification output layer로 연결

✨ 3D Multi-Output CNN

Basic 3D CNN 구조와 유사하지만, Multi-output(여러 개의 중간 출력)을 추가하여 초기 평가에서부터 피드백 계속 ~~
중간 출력?: 각 pooling layer 다음에 intermediate output이 추가되어 네트워크가 더 빠른 학습 + 최적화 가능

✨ 3D DenseNet

Dense Block: basic conv layer 대신 DenseBlock 사용 -> 모든 레이어가 직접적으로 연결되어 있는 구조로, 각 레이어의 출력이 다음 레이어의 입력으로 사용됨
첫 3개의 DenseBlock은 각각 4, 10, 20개의 conv layer를 포함, 각 레이어는 12개의 feature map 생성,
마지막 두 DenseBlockd는 각각 20개의 layer, 24개, 48개의 feature map 생성

✨ 3D Multi-Output DenseNet(MoDenseNet)

3D DenseNet + Multi-output Network -> 네트워크가 깊어짐에 따라 발생하는 vanishing gradient 문제 완화, 더 나은 최적화

🌿 2.2 Transfer Learning

대규모 데이터셋(LIDC-IDRI)와 자체 데이터셋 사용
-> 상대적으로 작은 자체 데이터셋에 대해 네트워크 성능을 향상시키기 위해 transfer learning 적용
pre-trained된 네트워크의 conv layer 고정, 각 네트워크의 마지막 레이어를 자체 데이터셋에 대해 재훈련


🍞 3. Experiments

🌿 3.1 Dataset and Preprocessing

✨ LIDC-IDRI dataset

  • 1,010개의 CT 스캔, 4명의 방사선 전문의에 의해 주석이 달린 공개 데이터셋
  • 각 이미지는 하나 이상의 lung nodule 포함, 결절의 위치(좌표, 슬라이스 번호)를 사용하여 네트워크 입력을 위한 3D image patch 생성
  • 양성 ~ 악성까지 1~5 등급, 3명 이상의 전문의에 의해 진단된 nodule만 고려

✨ Our dataset(자체 데이터셋)

  • 147개의 CT scans
  • 양성/악성 nodule 간 미묘한 차이

🌿 3.2 Experiment Settings

  • Keras / Tensorflow 사용, Loss function: weighted binary cross entropy
  • LIDC-IDRI 는 5-fold cross validation 사용하여 평가, 자체 데이터셋에는 transfer learning 적용

🌿 3.3. Experimental Results

  • MoDenseNet이 LIDC-IDRI 데이터셋에서 가장 높은 정확도와 AUC 달성, 자체 데이터셋에서도 가장 우수한 성능
  • 자체 데이터셋에서도 개선



🍞 4. Discussion

3D volume에서 직접 작업하는 것이 2D 슬라이스 사용 등보다 더 나은 결과!

  • 공간적 맥락 정보 활용 가능
  • 정확한 진단 및 분류 가능
  • 데이터 손실 최소화
  • 자동화된 feature 추출

아쉬운건 자체 분류 데이터셋은 얻을 수 없다는점?

모델 코드는
코드 깃허브
참고

profile
Miscellaneous DL

2개의 댓글

comment-user-thumbnail
2024년 3월 29일

ReLU 활성화 함수와 최대 풀링 하고 최종 출력 계층은 선형 변환을 사용하여 두 클래스(양성 또는 악성)에 대한 예측을 생성하는 멋-진 논문... 당신 참개발자야.

1개의 답글

관련 채용 정보