염증이 나타난 폐 병리조직 슬라이드를 찾아낼 수 있을까?
클릭 >> Hello, world !! (from ShadowEgo)
Introduction
인포리언스는 현재 연구개발특구진흥재단[1]에서 발주한 AI 역량강화사업에 기술 공급기관으로 참여하고 있다. 2019년에 시작되어 현재에도 진행 중인 이 사업에서 인포리언스는 인공지능 기술을 필요로 하는 기술 수요업체들을 대상으로 pilot 프로젝트를 진행하고 있다. 인포리언스가 담당한 수요업체들은 각각 이미지 데이터, 텍스트 데이터, 그리고 복합 데이터에 대한 분석과정을 필요로 하고 있으며, 그 중에서 이미지 데이터 분석 프로젝트는 (주)몰팩바이오[2]의 의뢰를 받은 것으로, 뇌종양 병리조직 슬라이드를 대상으로 한다.
본 포스트에서는 병리조직 슬라이드를 분석하는 과정에 대한 아주 기초적인 연습 결과로서, (pilot 프로젝트를 위한 pilot 프로젝트…) 학술연구용으로 잘 정제된 소량의 공개 데이터에 대해 1차적으로 실험해 본 기본적인 결과를 소개한다.
데이터 출처와 설명
병리조직 슬라이드는 의료 데이터로서, 쉽게 구해서 활용할 수 없다. 그러나 연구자들을 위해 공개된 슬라이드 데이터들을 구할 수는 있는데, 이번 실험에서는 펜실베니아 주립대의 Information Processing & Algorithm Laboratory [3][4]에서 공개한 데이터를 활용해 보기로 한다.
데이터는 Hematoxylin-Eosin (H&E) 염색을 거친 신장, 폐, 비장의 병리조직 슬라이드들로 구성되어 있는데, 병증이 나타난 것들과 정상인 것들이 고르게 포함되어 있다. 폐 슬라이드의 경우, 병증이 나타난 슬라이드와 정상인 슬라이드는 각각 150여 개이다. (신장과 비장 슬라이드들도 비슷한 구성이다.)
Classification Task
레이블링이 잘 된 슬라이드 데이터를 활용할 수 있는 상황이고, 이미지를 분류하는데 활용할 수 있는 좋은 딥러닝 모델들이 많이 소개되고 있으니, 일단 이번 포스트에서는 Inception_v3[5] 모델을 써서 정상 슬라이드와 병증이 나타난 슬라이드를 구분하는 classifier를 만들 수 있는 지 확인하는 기본적인 작업을 해보자.
그림 2는 fine-tuning 과정없이 폐 병리조직 슬라이드를 모두 pre-trained 된 Inception_v3 모델에 입력했을 때의 classification performace를 보여준다. 당연한 결과겠지만, 성능이 매우 좋지 못하다.
그림 3은 폐 병리조직 슬라이드의 70%를 써서 fine-tuning한 Inception_v3 모델에 나머지 30%의 데이터를 입력했을 때의 classification performance를 보여준다. 그림에서 확인할 수 있는 바와 같이 fine-tunning 과정을 거친 모델은 아주 좋은 성능을 보인다.
잠정적인 결론
기초 실험임에도 불구하고 좋은 classification 결과를 얻기는 했지만, 병리조직 슬라이드의 분석과 관련된 실제 문제는 이렇게 간단하지 않다. 일반적으로 슬라이드의 크기와 해상도가 매우 크고, 병증이 작은 면적에 소량만 나타나는 경우도 많아 전문가가 모든 슬라이드에 대해 빠짐없이 레이블링 작업을 하는 것도 불가능하기 때문이다. 과거의 연구들을 보면, 슬라이드를 작은 크기의 패치로 나누어 각 패치의 병증 포함 여부를 분석하고 이를 바탕으로 전체 슬라이드에 포함된 병증의 분포를 파악하는 시도를 하는 경우가 많다. 사실 이번 실험은 적절한 전처리 과정과 전문가에 의한 정확한 레이블링 과정을 거친 패치 이미지들을 활용한 것이라 실제 현장의 문제에 비해 문제의 난이도가 많이 낮다고 볼 수 있다.
인포리언스는 병리조직 슬라이드에 대한 다양한 분석과 탐색 방법론을 연구하고 있는데, 실제 현장에서 쓰일 수 있는 방법론을 개발하는데 꼭 필요한 프로세스와 노하우를 찾아가고 있다.
1개의 댓글
염증이 나타난 폐 병리조직 슬라이드를 찾아낼 수 있을까? – ShadowEgo · 2024-08-25 12:51 오후
[…] https://inforience.net/2020/05/24/histopathological-1/ […]
댓글이 닫혔습니다.