1. 서론
딥러닝 기술의 발달로 인해 의료분야에서 딥러닝을 활용한 연구가 활발히 진행되고 있다[1,2]. 특히 X-ray, Computed Tomography (CT), Magnetic Resonance Imaging (MRI) 등 의료데이터에서 딥러닝 모델을 사용해 질병 존재 유무를 판단하거나 병변을 확인하려는 시도가 활발하다. 특히, 코로나 19 팬데믹 이후 원격진료 및 흉부 CT 촬영에 대한 수요가 증가하며 높은 정확도를 제공하는 지도 학습 기반 딥러닝 모델에 대한 의존성이 높아졌다. 해당 딥러닝 모델 학습에는 다량의 이미지-레이블 쌍 데이터가 필요하다. 그러나 의사와 방사선사를 통해 획득할 수 있는 이미지-레이블 쌍은 한정적이며, 추가적인 데이터 수집은 개인정보 및 금전적·시간적 비용 관련 문제가 발생한다.
소량의 데이터에 대해 레이블링을 진행하고, 다양한 데이터 변형 기법을 사용한 데이터 증강으로 데이터셋 구축 부담을 덜 수 있다. 데이터 증강 기법에는 스케일링, 회전, 반전 등의 기하학적 변환, 자르기, 노이즈 삽입 등이 있다[3,4]. Generative Adversarial Networks (GAN)와 Variational Autoencoders (VAE)를 통해 변형 데이터를 생성하고 활용하는 방법도 있다. 의료 영상에서는 작은 변화나 노이즈도 중요한 정보를 포함할 수 있으므로, GAN이나 VAE로 생성한 변형 데이터는 의료진의 추가 확인 작업을 필요로 한다. 이러한 생성 모델 기반의 데이터 증강은 전문가 의존성을 줄이기 위한 본 연구 방향성과 어긋나므로 제외한다.
본 연구는 5가지 데이터 변형 기법을 사용하여 흉부 CT 공개 데이터셋을 증강한다. 원본 데이터셋과 증강한 5개 데이터셋을 활용해 갈비뼈 골절 세그멘테이션 모델을 학습하고, 모델 성능을 향상시키는 변형 기법을 확인한다.
좌우 반전이나 회전과 같은 단순 변형을 통해 증강한 데이터셋으로 딥러닝 모델을 학습해 Dice와 Intersection over Union (IoU)을 최대 3% 향상할 수 있음을 확인했다. 또한, 가용 데이터가 제한적인 의료영상처리 분야에서 데이터 획득 문제를 해결하는 방안을 제시한다.
논문의 구성은 다음과 같다. 2장에서 관련된 연구들을 소개한 후 3장에서 실험에 사용한 데이터셋과 모델을 설명한다. 4장과 5장에서는 실험 결과를 토대로 정량적, 정성적 평가를 진행하고 결론을 맺는다.
2. 관련 연구
데이터 증강을 위해 널리 쓰이는 이미지 데이터 변형 기법으로 9가지가 존재한다[5]. 이미지 반전은 구현하기 쉬운 기법 중 하나이며, CIFAR-10[6] 혹은 ImageNet[7] 데이터셋을 변형시켜 모델을 학습해 본 결과 성능 향상을 입증했다. 디지털 이미지 데이터의 RGB 각 채널의 픽셀값을 조정해 색상을 변경하는 방법도 있다. 데이터 셋의 개별 이미지 크기가 상이한 경우, 중심 좌표를 기준으로 특정 픽셀만큼 잘라내는 방법을 사용할 수 있다. 이미지를 좌, 우로 회전시키는 방법은 데이터 변형 후에도 레이블이 보존되는지 확인하며 각도를 조절해야 한다. 모델이 이미지 중앙 부분의 특징만을 학습하는 것을 방지하기 위해, 이미지를 상하좌우로 이동시키고 남은 공간을 패딩으로 채울 수 있다. 이미지에 가우스 분포를 가진 노이즈 행렬을 삽입하면 딥러닝 모델이 강건한 특징을 학습하도록 할 수 있다. 커널 필터를 이용해 이미지를 선명하거나 흐리게 만들거나, 여러 이미지를 섞어 새로운 이미지를 만드는 방법도 있다. 이미지의 특정 부분을 삭제해 모델이 전체 이미지에 집중하도록 할 수 있다.
의료영상데이터에서 쓰이는 데이터 증강 기법은 크게 네 분류로 나뉜다[8]. 기본적인 변형으로는 앞서 언급한 반전, 회전, 자르기, 노이즈 삽입, 필터링, 삭제 등에 더해 이미지 밝기 조절이 있다. 감마 보정, 선형 대비, 히스토그램 균등화 등은 이미지의 밝기와 대비를 조절하여 특정 부위의 가시성을 향상한다. Deformable technique으로는 무작위 변위장이 대표적이다. 무작위로 변위 벡터를 생성해 이미지 각 픽셀에 할당하여 무작위 변형 이미지를 생성한다. 다항함수를 사용해 기존 데이터 포인트 사이의 새로운 값을 추정하여 보정하는 스플라인 보간법 또한 사용 가능하다. 동일 환자가 촬영한 CT와 MRI 두개의 서로 다른 이미지 모달리티를 비교하기 위해 이미지를 정합하는 방법도 있다.
갈비뼈 골절은 인간 흉곽에서 발생하는 가장 일반적인 부상 중 하나이다. 특히, 미세골절은 수백 장의 수평면을 확인하는 흉부 CT 판독 절차상 놓치기 쉽다. Zhang et al.[9]은 3D cascade U-Net을 사용하여 갈비뼈 골절 세그멘테이션을 진행한 뒤 3D DenseNet으로 골절 분류 작업을 다시 진행하여 False Positive(FP)를 줄였다. Cao et al.[10]은 대조학습 기반의 골절 형태 인식 모델을 제안하며 Dice 75.46%를 보였다. Haitaamar와 Abdulaziz[11]는 CT 볼륨 사이즈를 축소한 뒤 3D Attention U-Net을 사용한 갈비뼈 골절 세그멘테이션으로 Dice 77.46%, IoU 63.21%의 결과를 보였다. Gao et al.[12]은 3차원 CT 볼륨을 2차원 다각도 정사영으로 변환한 후 어텐션 매커니즘을 활용한 다공간적 특징의 결합으로 Dice 85.41%, IoU 80.37%를 보였다.
일반적인 이미지 데이터와 의료영상데이터는 다양한 변형 기법들을 통해 증강할 수 있다. 언급한 갈비뼈 골절 세그멘테이션 관련 연구들은 태스크를 수행하기 위한 모델에 초점을 두었으며, 성능 향상 측면에서 데이터 증강의 효과를 보이기 충분하지 않다.
3. 데이터셋 및 모델
3.1 데이터셋 및 전처리
실험에 사용한 RibFrac 데이터셋[13]은 660개의 흉부 CT 볼륨과 500개의 갈비뼈 골절 세그멘테이션 마스크를 포함한다. 세그멘테이션 마스크가 없는 160개의 볼륨은 제외하고 500쌍의 CT 볼륨과 세그멘테이션 마스크로 데이터셋을 재구성했다. 그림 1의 좌측 이미지는 흉부 CT 볼륨이며, 중앙은 골절 세그멘테이션 마스크이다. 우측은 임의의 수평면에 세그멘테이션 마스크를 덧씌운 것이다. 모델 학습에 420개 볼륨, 검증 및 테스트는 80개 볼륨으로 진행했다. 각 CT 스캔과 세그멘테이션 마스크는 512⨯512 픽셀의 2차원 수평면 N개로 구성되며, N은 300에서 450사이 값을 가진다. CT 파일 포맷은 Neuroimaging Informatics Technology Initiative (NIfTI)다.
(그림 1) RibFrac 데이터셋 구성과 오버레이
(Figure 1) RibFrac dataset and overlay of axial slices
데이터 전처리는 Bone windowing과 정규화를 진행한다. Bone windowing은 CT 선감약계수인 Window Level (WL)과 대조도인 Window Width (WW)를 조정해 원하는 신체조직의 가시성을 향상하는 과정이다. 본 연구에서는 WL 450, WW 1100으로 흉부 CT의 흉곽을 선명하게 강조한다. 이후 복셀값을 [-1, 1]의 범위로 정규화한다. 이는 모델이 특정한 골절 특징에 과도하게 의존하는 것을 방지하며 수렴 속도를 개선한다. 그림 2는 흉부 CT 볼륨 전처리 전후의 수평면을 비교한 것으로, 전처리 후 뼈의 가시성이 확연히 높다.
(그림 2) 원본 CT 수평면과 전처리 후 수평면
(Figure 2) Axial CT slice W/o and W/ preprocessing
3.2 데이터셋 재구성
500쌍의 CT 볼륨 및 세그멘테이션 마스크 중, 모델 학습에 사용한 420쌍에 5개의 데이터 변형 기법을 적용했다. 원본 420쌍과 특정 변형 기법을 적용한 420쌍을 묶어 총 6개의 데이터셋을 만들었다. 적용한 기법과 데이터셋 구성은 표 1과 같으며, 회전의 경우 X, Y, Z축 전부 적용했다. 그림 3은 원본 볼륨과 변형한 볼륨에서 임의로 추출한 수평면들이다.
(그림 3) 원본 CT 볼륨과 전처리 후 CT 볼륨 수평면들
(Figure 3) Original CT volume and axial CT slices after preprocessing
(표 1) 6개의 서로 다른 데이터셋 구성
(Table 1) Original dataset and augmented datasets
3.3 모델
갈비뼈 골절 세그멘테이션을 위해 RibFrac 데이터셋과 함께 제안된 FracNet 모델을 사용한다. 해당 태스크의 베이스라인 모델로 많이 쓰이는 FracNet은 3D U-Net[14]을 이용한 슬라이딩-윈도우 예측 단계와 후처리 단계로 나뉜다.
3D U-Net은 3차원 데이터를 처리하기 위한 합성곱 신경망으로, 다운샘플링 경로와 업샘플링 경로의 구성이다. 다운샘플링 경로는 4개 층이며, 각 층은 3차원 합성곱 레이어 2개와 최대 풀링 레이어로 구성된다. 이를 통해 특징을 추출하고 고차원의 특징 공간을 형성해 복잡한 패턴을 표현한다. 업샘플링 경로는 3개 층이며, 역합성곱 레이어와 3차원 합성곱 레이어 2개로 구성된다. 각 업샘플링 단계는 skip-connection을 통해 동일 레벨 다운샘플링 단계를 거친 특징을 결합한다. 이는 이미지 내 국소적인 특징과 전역적인 특징을 모두 사용하며 이미지를 원래 공간 차원으로 복원한다.
슬라이딩-윈도우 예측 단계에서 512⨯512⨯N 복셀의 CT 볼륨을 64⨯64⨯64 복셀의 패치로 나눈다. 패치 간격은 48복셀이며, 좌상단 패치부터 순차적으로 3D U-Net 모델에 투입한다. 3차원 데이터인 CT 볼륨을 한 번에 딥러닝 모델에 투입하면 메모리 부하가 크기 때문이다. 모델이 출력한 패치들을 순차적으로 결합해 초기 세그멘테이션 마스크를 획득한다. 겹치는 영역 내 복셀 값은 해당 영역 내 복셀 값들 중 최댓값으로 결정한다. 각 복셀 값은 해당 복셀에 골절이 존재할 확률을 나타낸다.
후처리 단계는 출력값 이진화, 사이즈 임계처리, 척추 영역 False Positive (FP) 제거를 거친다. 원 출력값이 0.1의 임계값 초과 시 1, 이하 시 0으로 이진화한다. 복셀 값이 1인 영역은 갈비뼈 골절이 존재함을 의미한다. 이 후 골절이 존재하는 영역들 중 200 복셀보다 작은 크기의 영역은 노이즈로 간주해 제거한다. 마지막으로, 척추 부위에 골절 존재를 예측한 영역을 제거해 최종 세그멘테이션 마스크를 출력한다.
모델 학습 간 특정 CT 볼륨 내 수백 개의 패치를 전부 사용하지 않는다. 골절 부위가 포함된 양성 패치와 포함되지 않은 음성 패치 수가 불균형해, 양성 패치 12개와 음성 패치 12개로 미니배치를 구성해 모델을 학습한다. 손실함수는 Binary Cross Entropy (BCE) loss에 0.5, Dice loss에 1.0의 가중치를 곱한 후, 그 결과끼리 더한 Mixed loss를 사용한다. 최적화 알고리즘은 Adam[15]을 사용한다.
4. 실험 결과
각 데이터셋을 FracNet 모델에 투입하고 산출한 갈비뼈 골절 세그멘테이션 마스크를 레이블과 비교해 Dice와 IoU를 확인했다. Dice와 IoU는 이미지 세그멘테이션 태스크의 정량적 평가지표로, 0과 1 사이의 값을 가진다. 1은 레이블과 예측 세그멘테이션 마스크의 완벽한 일치를, 0은 일치하지 않음을 나타낸다. Dice는 두 데이터의 형태적 유사성을 측정하는 데 초점을 맞춘다. 작은 오차를 더 엄격하게 판단하므로 작은 영역을 세그멘테이션하는 경우에 중요하다. IoU는 두 데이터 내 분절 영역들이 얼마나 겹치는가에 중점을 둔다. 큰 오차를 더 엄격하게 판단하므로 큰 영역을 세그멘테이션하는 경우에 중요하다. 두 지표는 서로 다른 특성을 가지므로 모델 성능평가시 함께 고려하는 것이 일반적이다.
Dice와 IoU 측정 방식은 다음과 같다.
Dice(A, B) = 2 × |A ∩ B| / (|A| + |B|)
IoU(A, B) = |A ∩ B| / |A ∪ B|
A는 레이블 복셀 집합이며, B는 모델이 예측한 세그멘테이션 마스크가 후처리 과정을 거친 복셀 집합이다.
표 2는 6개 데이터셋으로 학습한 FracNet 모델의 성능평가 결과이다. 원본 데이터셋만 학습한 모델은 Dice 0.5360, IoU 0.3661의 성능을 보인다. 좌우 반전, 30° 회전, 60° 회전으로 증강한 데이터셋을 학습한 모델은 원본 데이터셋만 학습한 모델에 비해 높은 성능을 나타낸다. 60° 회전으로 증강한 데이터셋을 학습한 모델은 Dice 0.5612, IoU 0.3901로 가장 우수한 결과를 보인다. 반전 및 회전으로 변형한 증강 데이터는 갈비뼈 골절 세그멘테이션에 효과적이다.
(표 2) 6개 데이터셋을 이용한 FracNet 모델의 성능 평가
(Table 2) Performance of FracNet with 6 datasets
90° 회전과 ⨯0.5 스케일링으로 증강한 데이터셋을 학습한 모델은 원본 데이터셋만 학습한 모델보다 성능이 떨어지는 결과를 보인다. 본 연구에서 사용한 RibFrac 데이터셋의 경우, 수평면 간격이 조금씩 다르다. 이로 인해 90° 회전으로 데이터를 변형하는 경우, 이미지의 일부 영역에서 선명도가 저하되는 등의 왜곡이 발생한다. 이는 이미지의 해석을 어렵게 만들며, 모델 성능에 부정적인 영향을 미친다. 또한, 골절 세그멘테이션 마스크에 크기가 작은 미세골절이 포함되어 있다. 미세골절은 그 자체로 모델 학습에 어려움을 주는 요소이다. ⨯0.5 스케일링을 통한 데이터 변형은 미세골절의 크기를 더욱 줄여 모델이 이를 인식하고 학습하기 어렵게 한다. 이러한 데이터셋 특성들은 90° 회전과 ⨯0.5 스케일링으로 변형한 데이터로 데이터셋을 증강할 필요가 없음을 나타낸다.
그림 4는 60° 회전으로 증강한 데이터셋을 학습한 모델에 투입한 일부 볼륨들의 수평면(a), 레이블과 (a)의 오버레이(b), 예측 세그멘테이션 마스크와 (a)의 오버레이(c)다. (c)는 표 2에서 높지 않은 Dice와 IoU를 보임에도 갈비뼈 골절의 위치를 (b)와 유사하게 나타낸다. RibFrac 데이터셋의 레이블링을 수작업으로 진행한 점을 감안하면, 모델이 갈비뼈 골절의 특징 자체는 잡아냈다고 평가할 수 있다. 또한, 증강한 데이터셋으로 학습한 모델은 RibFrac 데이터셋이 제공하는 Buckle, Non-displaced, Displaced, Segmental의 4가지 골절 종류에 구애받지 않고 강건함을 보인다.
(그림 4) 흉부 CT 수평면과 오버레이들; (a) 원본 수평면, (b) 레이블과의 오버레이, (c) 예측 세그멘테이션 마스크와의 오버레이
(Figure 4) Chest CT axial slices and overlays; (a) Original slices, (b) Overlaid slices with label, (c) Overlaid slices with predicted segmentation mask
그림 5는 FracNet 모델이 특정 CT 볼륨을 입력받고 산출한 갈비뼈 골절 세그멘테이션 마스크와 실제 골절 존재 영역을 나타내는 레이블의 오버레이다. 좌측 그림은 60° 회전으로 증강한 데이터셋을 학습한 모델의 예측이 성공적인 경우이다. 청색의 모델 산출 마스크와 흰색 레이블 영역이 거의 유사함을 보인다. 우측 그림은 ⨯0.5 스케일링으로 증강한 데이터셋을 학습한 모델이 예측에 실패한 경우이다. 적색의 모델 산출 마스크는 흰색 레이블 영역과 큰 차이를 보인다. 그림 좌측에 4개의 실제 골절 영역이 존재하지만, 모델은 중앙 및 우상단에 2개의 골절 영역이 존재한다고 잘못 예측하며 미세골절에 대한 학습이 미진함을 나타낸다.
(그림 5) 산출된 골절 세그멘테이션 마스크와 레이블 오버레이
(Figure 5) Overlay of fracture segmentation mask and label
5. 결론
흉부 CT 데이터셋을 사용한 갈비뼈 골절 세그멘테이션 모델 학습으로 다양한 데이터 변형 기법을 통한 데이터 증강 효과를 검증했다. 특히, 좌우 반전과 30°, 60° 회전으로 증강한 데이터셋이 갈비뼈 골절 세그멘테이션 성능 향상에 긍정적인 영향을 미쳤다. 딥러닝 모델이 다양한 각도와 방향에서의 골절 패턴을 학습하는 것은 모델 강건성을 향상하는 데 기여한다. 반면, 90° 회전과 ⨯0.5 스케일링을 적용한 데이터 증강 기법은 세그멘테이션 성능을 저하한다. 90° 회전은 이미지 왜곡을 유발하고, ⨯0.5 스케일링은 미세골절 인식을 어렵게 해 골절 세그멘테이션 태스크에는 부적합한 데이터 변형이기 때문이다. 이러한 결과는 데이터 증강 기법의 선택과 적용이 문제 및 데이터셋의 특성에 따라 달라야 함을 강조한다. 이러한 결과는 의료 영상 분석에 딥러닝을 적용하는 연구자들에게 데이터 변형을 통한 데이터 증강의 중요성과 적절한 기법 선택의 필요성을 나타낸다. 이를 통해 모델 아키텍처 변경 없이 갈비뼈 골절 세그멘테이션의 성능을 향상할 수 있음을 보이며, 데이터가 제한적인 의료 영상처리 분야에서 데이터 증강의 필요성을 입증한다.
향후 연구에서는 다른 종류의 데이터 변형 기법을 사용해 증강한 데이터로 모델을 학습해 갈비뼈 골절 세그멘테이션 성능 변화를 분석할 예정이다. 데이터 양이 많아지는 만큼 모델 복잡성 또한 증가시킬 필요가 있다. 추후 3D U-Net의 레이어를 더 쌓거나, 어텐션 매커니즘을 적용하는 등 모델을 변형할 것이다.
참고문헌
- H. Kim and J. Chun, "A Method for Region-Specific Anomaly Detection on Patch-wise Segmented PA Chest Radiograph," Journal of Internet Computing and Services, vol. 24, no. 1, pp. 49-59, 2023. https://doi.org/10.7472/jksii.2023.24.1.49
- H. Kim and J. Chun, "Lesion Detection in Chest X-ray Images based on Coreset of Patch Feature," Journal of Internet Computing and Services, Vol. 23, no. 3, pp. 35-45, 2022. https://doi.org/10.7472/jksii.2022.23.3.35
- H. Chen and C. Peng, "Deep learning based data augmentation and classification for limited medical data learning," 2019 IEEE international conference on power, intelligent computing and systems (ICPICS), IEEE, 2019. https://doi.org/10.1109/ICPICS47731.2019.8942411
- A. Madani, M. Moradi, A. Karagyris, and T. Syeda-Mahmood, "Chest x-ray generation and data augmentation for cardiovascular abnormality classification," Medical imaging 2018: Image processing, vol. 10574, pp. 415-420, 2018. https://doi.org/10.1117/12.2293971
- C. Shorten and T. M. Khoshgoftaar, "A survey on image data augmentation for deep learning," Journal of big data, vol. 6, no. 1, pp. 1-48, 2019. https://doi.org/10.1186/s40537-019-0197-0
- A. Krizhevsky and G. Hinton, "Learning multiple layers of features from tiny images," 2019. https://www.cs.toronto.edu/~kriz/cifar.html
- J. Deng, W. Dong, R. Socher, L. J. Li, K. Li, and L. Fei-Fei, "Imagenet: A large-scale hierarchical image database," 2009 IEEE conference on computer vision and pattern recognition, IEEE, 2009. https://doi.org/10.1109/CVPR.2009.5206848
- P. Chlap, H. Min, N. Vandenberg, J. Dowling, L. Holloway, and A. Haworth, "A review of medical image data augmentation techniques for deep learning applications," Journal of Medical Imaging and Radiation Oncology, vol. 65, no. 5, pp. 545-563, 2021. https://doi.org/10.1111/1754-9485.13261
- J. Zhang, Z. Li, S. Yan, H. Cao, J. Liu, and D. Wei, "An Algorithm for Automatic Rib Fracture Recognition Combined with nnU-Net and DenseNet," Evidence-Based Complementary and Alternative Medicine 2022, 2022. https://doi.org/10.1155/2022/5841451
- Z. Cao, L. Xu, D. Z. Chen, H. Gao, and J. Wu, "A Robust Shape-Aware Rib Fracture Detection and Segmentation Framework With Contrastive Learning," IEEE Transactions on Multimedia, vol. 25, pp. 1584-1591, 2023. https://doi.org/10.1109/TMM.2023.3263074
- Z. N. Haitaamar and N. Abdulaziz, "Detection and Semantic Segmentation of Rib Fractures using a Convolutional Neural Network Approach," 2021 IEEE Region 10 Symposium (TENSYMP), pp. 1-4, 2021. https://doi.org/10.1109/TENSYMP52854.2021.9550883
- Y. Gao, H. Chen, R. Ge, Z. Wu, H. Tang, D. Gao, X. Mai, L. Zhang, B. Yang, Y. Chen, J. L. Coatrieux, "Deep learning-based framework for segmentation of multiclass rib fractures in CT utilizing a multi-angle projection network," International Journal of Computer Assisted Radiology and Surgery, vol. 17, no. 6, pp. 1115-1124, 2022. https://doi.org/10.1007/s11548-022-02607-1
- L. Jin, J. Yang, K. Kuang, B. Ni, Y. Gao, Y. Sun, P. Gao, W. Ma, M. Tan, H. Kang, and J. Chen, "Deep-learning-assisted detection and segmentation of rib fractures from CT scans: Development and validation of FracNet," EBioMedicine, vol. 62, 2020. https://doi.org/10.1016/j.ebiom.2020.103106
- O. Cicek, A. Abdulkadir, S. S. Lienkamp, T. Brox, and O. Ronneberger, "3D U-Net: learning dense volumetric segmentation from sparse annotation," Medical Image Computing and Computer-Assisted Intervention-MICCAI 2016: 19th International Conference, Athens, Greece, October 17-21, 2016, Proceedings, Part II 19, pp. 424-432, Springer International Publishing, 2016. https://doi.org/10.1007/978-3-319-46723-8_49
- D. P. Kingma and J. Ba, "Adam: A method for stochastic optimization," arXiv preprint arXiv:1412.6980, 2014. https://doi.org/10.48550/arXiv.1412.6980