석사 졸업 후, embedded 회사를 다니다가 딥러닝을 계속 연구하고 싶어 퇴사를 하게되었습니다. 그래서 딥러닝 관련 toy project를 꾸준히 진행하기 위해 고심하다. kaggle Competitions를 참여하게 되었습니다.
처음으로 kaggle Competitions에 참가하다보니 부족한 점이 많을것 이라고 예상됩니다. 조언은 댓글로 달아주신다면 적극 수용하겠습니다.
우선 UW-Madison GI Tract Image Segmentation이라는 competition에 참가해보려고 합니다.
오늘은 간단히 Competition의 Overview를 해석하고 확인하여 정리를 하겠습니다.
참가 이유
기존에 항공영상 내 포트홀 탐지와 같은 object detection과 instance segmentation 연구를 진행했기 때문에 이와 관련하여 다시 복습과 현재 state-of-art를 연구해보자는 마음에 참가하게되었습니다. 높은 등수보다는 kaggle Competition의 진행 과정과 경험을 쌓기위해 참가하게되었다고 생각하시면 될 것 같습니다.
* 제 생각을 적은 부분은 밑줄을 해놓았습니다.
Description
2019년에 전 세계적으로 약 500만명이 위장관 암(cancer of gastrointestinal track) 진단을 받았다. 이 환자들 중 약 절반이 방사선 치료를 받을 수 있으며 일반적으로 1~6주 동안 하루에 10~15분에 걸쳐 전달된다.
이때, X선 빔을 사용하여 종양을 치료한다. 이는 위와 내장을 피하기위해 위와 장의 위치를 수동으로 파악해야한다. 이는 시간이 많이 걸리고 노동 집약적인 프로세스이다. 그렇기 때문에 15분이 아닌 1시간으로 치료가 길어질 위험이 있다.
위와 장을 분할하여 파악할 수 있다면 더 많은 환자가 효과적인 치료를 받을 수 있다.
이 대회는 MRI 스캔에서 위와 내장을 자동으로 분할하는 모델을 만드는 것이 목적이다. MRI 스캔 데이터는 방사선 치료 중 별도의 날짜에 1~5회의 MRI 스캔을 받은 실제 암환자의 것이다. 암 환자가 더나은 치료를 받는 데 도움이 되는 창의적인 딥러닝 솔루션을 찾기위해 MRI 스캔데이터 세트를 제공한다.
*이 그림에서 종양(분홍색 굵은 선)은 위(발간색 굵은 선)에 가깝다. 높은 선량의 방사선은 위를 피하면서 종양으로 향하게 됩니다. 선량(X선) 수준은 무지개선으로 표시되며 더 높은 선량은 빨간색으로 표시되고 더 낮은 선량은 녹색으로 표시된다.
Evaluation
Dice coefficient와 3D Hausdorff distance를 사용하여 image segmentation 결과를 평가한다. 두개의 metrics를 combine한다.
이때 비율은 0.4 for the Dice metric and 0.6 for the Hausdorff distance
나의 생각엔 Dice coefficient를 통해 IOU를 파악하고 Hausdorff distance를 통해 prediction과 GT간의 거리를 파악할 수 있다.
Dice coefficient
prediction값과 Ground truth 사이의 overlap area에 2를 곱하고 prediction area와 gt area를 합한 것을 나누어 준다. IOU와 매우 유사합니다.
3D Hausdorff distance
matrix 공간의 두개의 부분 집합들 사이의 차이를 측정. 점으로 이루어진 두 집합 간의 거리를 결정하는 방식.(정확하지 않음)
scipy code를 분석해서 공부할 필요가 있다.
Submission File
제출 파일의 크기를 줄이기 위해 metric은 pixel 값에 실행 길이 encoding을 사용한다. 세분화에 대한 전체 index 목록이 아닌 시작위치와 실행 길이가 포함된 값 쌍을 제출한다.
ex) '1 3'은 픽셀 1에서 시작하여 총 3개의 픽셀(1, 2, 3)을 실행하는 것을 의미한다.
encoding시 mask는 binary여야 한다. 즉, 0은 마스크되지 않은 픽셀값, 1은 마스크된 픽셀을 나타냅니다.
아래의 형식을 따라야 한다.
id,class,predicted
1,large_bowel,1 1 5 1
1,small_bowel,1 1
1,stomach,1 1
2,large_bowel,1 5 2 17
etc.
위의 말을 간단히 정리하자면, mask가 시작위치와 실행길이가 포함된 값 쌍으로 encoding되어 제출되어야하며, encoding을 진행할 때, mask는 binary 형태이여야 한다는 의미로 파악된다.
Code Requirements
아래의 조건들이 충족되어야 제출 가능
- CPU Notebook <= 9 hours run-time
- GPU Notebook <= 9 hours run-time
- 인터넷 access 비활성화
- public한 외부 데이터와 사전 훈련된 모델 사용가능
- 제출 파일의 이름은 submit.csv여야 한다.