파이토치 딥러닝 마스터_9장

코넬·2023년 5월 30일
0

ComputerVision_Pytorch

목록 보기
9/10
post-thumbnail

암과 싸워 이기기 위한 파이토치의 활용

9장에서는...

  • 드디어 큰 문제 풀이 ! 커다란 문제를 잘게 쪼개서 해결하는 방법을 알아봐요!
  • 난해한 딥러닝 문제의 제약사항을 살펴보고, 구조와 접근 방법을 결정하자.
  • 훈련 데이터를 다운로드한다.

9장에서의 핵심은, 앞으로 배울 다음 장에서의 필요한 내용을 잘 준비하기 위해 프로젝트가 동작할 주변 환경에 대해 파악하고, 데이터 포맷, 데이터 소스, 문제영역의 제약 사항을 파악하면 된다.

9장 이후에서의 큰 목표 틀을 설명하자면,

환자의 흉부 CT 스캔을 입력으로 받아 그것만으로 악성 종양을 자동으로 탐지하는 과정과 그 위치를 출력하는 것이 목표이다.

여기서 CT스캔 이란?
단일 채널의 3차원 배열로 표현되는 3차원 엑스레이라 할 수 있다.
마치 흑백 PNG 이미지를 차곡차곡 쌓아 놓은 것으로 보인다 .
CT 스캔 내 각 복셀 (2차원 픽셀의 3차원 버전, 면적이 아닌 공간 용적을 담고 있음) 은 해당 위치에 있는 물체의 평균 질량 밀도를 나타내는 숫자 값을 가진다.
CT 스캔과 엑스레이의 근본적인 차이점엑스레이의 경우 3차원적인 강도를 2차원의 평면에 투영한 것이지만 CT 스캔은 데이터의 3차원 형태를 보존한다는 점이다.

이것을 명확하게 알아야하는 이유는, 이러한 특징을 통해서

관심 없는 조직을 숨겨서 대상의 내부를 들여다 볼 수 있다는 것 !

프로젝트 구성 : end-to-end 폐암 진단기

우리의 목표를 이루기 위해서는 흉부 CT 스캔 조사부터 환자에게 폐암 진단을 내리기까지 총 5가지의 주요 단계를 거친다.

end-to-end solution 은 CT 데이터 파일을 읽어서 CT 인스턴스를 만든 후,
전체 3차원 스캔 데이터를 담고 segmentation을 수행하는 모듈과 결합한 후,
추려진 복셀을 작은 덩어리로 나누어 결절로 간주될 만한 것을 찾는다.

여기서 결절의 위치 정보는 CT 복셀 데이터 뒤에 붙어 후보가 되고, 이 후보들은 결절을 분류하는 모델에 의해 실제 결절인지, 최종적으로 악성이 될지 여부를 조사한다.

폐암 진단기 작업 세부적으로 뜯어보기

작업을 상세하게 확인해볼까?

1. 데이터 읽기

원본 CT 스캔 데이터를 파이토치로 사용할 수 있는 형태로 읽어들인다.

2. 복셀 찾기

파이토치를 활용하여 폐의 잠재적 결절에 해당하는 복셀을 찾는다. (segmentation을 활용하기 위해서다.) CV 에서는 heatmap을 찾는 방식과 유사하다고 볼 수 있다. 필요한 부분만 걷어내는 작업이라고 볼 수 있다.

3. 데이터 전처리

관심있는 복셀들을 후보 덩어리로 묶는다. (이것을 후보 결절이라고 한다)
각각의 결절은 인덱스가 부여되며, 중심부에서 시작하는 행과 열로 위치를 알 수 있다.

4. 분류 진행

3차원 conv를 활용하여 각 후보 결절에 대해 실제 결절인지 아닌지로 분류를 진행한다.
여기서 분류를 할 범위를 제한하여 작업 단위를 줄이는 과정까지 진행해본다 !

5. 환자 진단

각 결절별로 분류한 결과를 종합하여 환자를 진단한다.
결절이 양성인지 악성인지를 영상 데이터에만 의존하여 판단을 진행해본다.

다음과 같이 각각의 과정에 포커스해서 분석을 진행하면, 이 안에서 요구하는 기술에만 집중할 수 있어 훨씬 더 최적화시키는 방식으로 프로젝트 전체를 돌릴 수 있다.

10장에서부터는 데이터셋으로, 본격적으로 뜯어보는 시간을 가져보자 !

profile
어서오세요.

0개의 댓글