문제점

파이썬 바인딩 오픈슬라이드(python-openslide)는 OpenSlide을 필요로합니다. 파이썬 바인딩 오픈슬라이드(python-openslide) 설치되었는데, OpenSlide가 설치되지 않아서 발생하는 에러입니다.

 

해결방법

아래와 같은 명령어로 openslide을 운영체제 내에 설치해줍니다.

sudo apt-get install openslide-tools

 

 

 

추가 버그

ImportError: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version LIBFFI_BASE_7.0

해결방법

conda install openslide -c conda-forge

 

https://github.com/elerac/EasyPySpin/issues/12

반응형
 

Method

- 모델아키텍처

VLM (Vision Lanuage Model)으로 슬라이드 이미지를 입력으로 레포트를 생성하는 것을 의미합니다 (Figure 2A). 컴포넌트는 2가지입니다. 비젼모델과 언어모델입니다.

  1. VFM(Vision Foundation model): visual features을 생성합니다. 모델은 CTransPath: Swin transformer로 TCGA, PAIP데이터셋을 SSL로 학습한 모델입니다.
  2. Lanuage model: Vision feature와 프롬프트을 언어모델에 전달한 결과를 cross-attention을 이용하여 최종 레포트를 내는 모델입니다. model: BioGPT(Auto-regressive generative model의 Transformer중 디코더 파트만)을 사용했습니다.
  3. Resampler: : 이미지의 일부만 사용하기 위한 장치입니다.
  4. Cross Attention block: 언어모델의 특징, 프롬프트의 특징을 통합하기 위한 블록입니다.
 
이미지 전처리
1. 100X 확대에서의 tiling (mpp1) + non overlapping
2. normalization (pytorch preprocessing 하듯)
 
모델의 학습
1. CTransPath라는 사전학습모델을다시 MIL을 이용해서 재학습시켰다고합니다.
2. CTransPath의 파라미터는 프리징시키고, 언어모델만 파인튜닝합니다.
3. 학습 시 text augmentation을 시킵니다. text augmentation은 GPT-4을 이용해서 paraphrases 시킵니다.
 

 

추론

0. 이미지와 프롬프트의 짝을 VLM에 전달합니다.
1. 이미지를 타일링합니다(tessellation)
2. 비전모델(CTransPath)에 포워딩합니다
3. 이미지 피쳐중에서 일부만 샘플링합니다(Perceiver resampler)
4. 프롬프트는 토큰화되서 언어모델에 전달됩니다.
5. 언어모델의크로스 어텐션블록에서 통합합니다.
Perceiver resampler라는 샘플링 방법을 썼다고합니다.
6. Ensemble refinemnet: 여러개의 pathology report을 생성하게하고, GPT4 모듈을 이용하여 합치도록 합니다.

 

실험

  • 데이터셋: 13,000 WSI을 학습(출간시 데이터 공개, 10TB)
  • 벤치마크모델: BioGPT-1B(Text only), GPT-4V(Vision only), Lower baseline(랜덤으로 선택된 병리보고서), Upper baseline(같은 진단명을 가진 두 병리 보고서선택)
  • Metrics:
    1) 중요한 단어의 매칭
    2) 중요한 텀의 매칭(키워드 추출임. ScispCy, NER tool임)
    3) BioBERT에서 유사도 확인: cosine similarity
    4) GPT-3-ADA을 이용한 유사도 확인
 

 

결과

Figure 4: 유사도도 꽤나 성능 좋음
A. 프롬프트 및 이미지를 이용한 포워딩 방법 예시
B. 기존방법론과의 비교: 텍스트 전체를 예측하는 것이어서 좀 어려운 것 같음
C. 프롬프트로만 예측한 분류성능
D. 내부 데이터셋의 데이터분포
E. Accuacy 상에서(회색) MIL이 더 잘맞추긴하지만 HistoGPT1B도 잘맞춤. (GPT-3B은의외로 언더퍼폼)
F. 유사도는 전반적으로 ER모델이 잘맞춤.
 
Figure 5: Zeroshot으로 tickness도 잘맞춤
A. 예측된 tumor tickness랑 regression했을때도 상관있게 나옴.
B. 예측된 tumor tickness랑 regression했을때도 상관있게 나옴. 몇몇 셋은 좀 틀렸는데 알고보니 단위가 달랐음
C. Figure 5B의 플롯팅(attention map)
D. External validatrion set에서의 예측. 슬라이드레벨은 잘맞추는데, 패치수준에서는 못맞추는듯.
E. 암종의 침윤에 따라, Gradient attention map확인
 
 
반응형
조직병리학(Histopathology)은 종양의 형태(morphology)와 표현형(phenotype)등 진단을 위한 부가적인 정보를 연구하는 학문입니다. 대부분 조직병리학에서는 H&E(Hematoxylin & Eosin)으로 조직을 염색합니다. 이때, 표현형의 정보를 부가적으로 더 얻기위해서, 유전학정보를 추가하기도합니다. 유전학 관련 정보에서는 환자의 생존율, 항암제 반응등을 추가로 더 연계합니다. 2021년기준으로 FDA에 243종의 항암제가 승인되어서, 관련 연구는 더 활발해지고 있습니다. 최근에는 AI을 이용한 연구로 DP을 접목시키고자하는데 관련 연구들이 어떤 것들이 있는지 개괄적으로 살펴보겠습니다.
 

딥러닝을 이용한 조직병리학

- 조직병리학에서는 고형암을 병리학(pathology)이나 세포학(Cytology)을 이용하여 검사합니다. 이 때 슬라이드이미지(Whole slide image)을 얻게되는데요. 이 슬라이드 이미지 내에, label에 해당하는 조직이 포함되어있는지를 Slide level label로 사용합니다. 예를들어, 슬라이드이미지 내에 종양이 있는지가 이에 해당합니다. 그렇기에 전체 슬라이드 중에 하나의 종양이라도 있으면 positive로 분류하는 weakly supervised learning형태로 주로 연구가되고있습니다.
 

 

시대적으로 주요했던 연구는 아래와 같습니다.
 

Fundamental task

- 2015 (Erosun and Rubin) : Brain tumor에서의 histologycal grading.
- 2017 (Cruz-Roa et al): Breast Ca tumor dectection. 타일링(Tesselating)도 진행. Accurate and reproducible invasive breast cancer detection in whole-slide images: A Deep Learning approach for quantifying tumor extent. Sci Rep(https://doi.org/10.1038/srep46450.)
- 2019 (Campanella G et al): weakly supervised learnig. Clinical-grade computational pathology using weakly supervised deep learning on whole slide images
- 2020 : 고형암의 subtyping 을 예측 (Gleason grade 예측 및 segmentation). Artificial intelligence for diagnosis and grading of prostate cancer in biopsies: a population-based, diagnostic study. Automated deep-learning system for Gleason grading of prostate cancer using biopsies: a diagnostic study.
- 2021: Breast ca 에서의 HER2 enriched, luminal A, luminal B, normal, basal 등의 분자진단에 사용되는 서브타입 예측.A deep learning image-based intrinsic molecular subtype classifier of breast tumors reveals tumor heterogeneity that may affect survival
 
 

Advanced task

1. Biomarker prediction (or genetic mutation)

- 2020: TCGA 17,000 WSI을 모두 학습한 딥러닝모델 연구. 높은 분류성능. 분자진단에 활용가능한 바이오마커(TP53, BRAF, TIL)도 예측이 가능. 2) MSI(Microsatellite instability)의 바이오 마커도 예측
A deep learning image-based intrinsic molecular subtype classifier of breast tumors reveals tumor heterogeneity that may affect survival
Pan-cancer computational histopathology reveals mutations, tumor composition and prognosis
 

2. Clinical outcome 예측

2.1 Response 예측
- biomarker은 환자의 outcome을 예측할 수 있는 간접적지표(proxy)임.
- 2020: CTx 반응을 예측 (Nasopharygeal Ca)[48]. Neuadjuvant CTx후에 CR(Complete response)예측[49]. 면역항암제 예측 반응 예측[50]
[48] Deep learning pathological microscopic features in endemic nasopharyngeal cancer: Prognostic value and protentional role for individual induction chemotherapy
[49] Deep learning-based predictive biomarker of pathological complete response to neoadjuvant chemotherapy from histological images in breast cancer
[50] Using Machine Learning Algorithms to Predict Immunotherapy Response in Patients with Advanced Melanoma. Clin Cancer Res
 
2.2. Prognosis 예측
- Survival 등의 예측입니다.
- 2019: Tissue proportion [52]와 모양형태가 환자 survival에 연관있을 수 있음을 예측[51]
[51] Comprehensive analysis of lung cancer pathology images to discover tumor shape and boundary features that predict survival outcome
[52] Predicting survival from colorectal cancer histology slides using deep learning: A retrospective multicenter study
 

3 Clinical genomics

- 암의 고유한 특징은 유전체 정보에 녹아있습니다. 그렇기에 인간유전체에 대한 해석을 연구하는 것이 암의 임상유전학에서 매우 중요합니다.
3.1 Subtyping
- 2022: Molecular subtyping (Non negative matrix factorization)을 이용한 unspervised ML로 클러스터링
3.2. Discover novel variants
- 2018: Cancer driver mutation 찾기.
3.2. Drug efficacy
- 2018: Cancer cell line에서 drug efficiacy 예측
 
 

4. Multimodality

- 임상적으로 환자의 치료과정을 이해할 때, 한 데이터만 분석하는게 아니라 다른 데이터도 분석합니다. 마찬가지로 최근 연구는 여러 데이터를 혼합(multi-modality)하여 분석하는 것을 연구합니다.
 
- 2018: Surival prediction. WSI와 IDH mutation, 1p/19q 데이터를 혼합하여 gliomas 환자의 survival을 예측 [99]
[99] Predicting cancer outcomes from histology and genomics using convolutional networks. PNAS
- 2019: WSI와 RNA expression data을 혼합하여 survival prediction을 예측 [100]
- 2021: Gliomas의 Grading 예측 [103]
- 2022: WSI, genomic data, radiology image 합친 연구
[100] Deep learning with multimodal representation for pancancer prognosis prediction. Bioinformatics
[103] Deep Neural Network Analysis of Pathology Images With Integrated Molecular Data for Enhanced Glioma Classification and Grading. Front Oncology
 
 

Outlook

- 데이터 많이 필요: Cacncer은 너무 heterogenous하기에 작은 사이즈의 데이터로는 편향이 있을 수밖에 없습니다.
- Internal bias: 성, 인종, 사회경제적 특징들에 따라 제한적
- Regulatory approval: 마켓에 나가기까지는 QC팀, 재무팀등의 지원이 필요
- Explainablity가 필요: Black box모델이라는 한계
반응형

요약


Breast cancer관련 병리이미지의 분류문제에서, SSL을 활용할 때, 전체 데이터셋을 다활용하지 않고 50%정도 활용해도 전체를 사용한 것과 비등한 결과를 냈음. 또한, 인코더 전체를 다 사용하지 않고 일부레이어만 사용해도 큰 퍼포먼스의 저하가가 발생하지 않고, 오히려 오르는 경우도 관찰됨

 

Introduction


의료인공지능은 그 목적성이 강해, 대게는 지도학습으로 학습됩니다. 지도학습시에는 라벨이 있는 데이터를 많이 필요로하는데, 이 데이터를 만들기위한 비용이 매우 큽니다. 하지만 최근에, 라벨 없는 데이터에서 그 특징을 사전학습하는 자기지도학습(Self-supervised learning)으로 획기적인 성능향상을 많이 보였습니다.

 문제는 이런 SSL을 할 때, 많은 데이터로 활용하다보니, 컴퓨팅 자원, 시간등이 많이 들어갑니다. 본 연구는 SSL할 때, 정말 이런 많은양의 데이터를 넣어 성능이 나오는가? 1) 더 적은 양을 SSL해도 성능이 유지되는 경우는 없는가2) SSL시 사용되는 인코더를 다 쓸필요는 있는가? 3) SSL에 사용되는 Contrastive learning시 샘플링 작업에 따라 성능 개선이 있는가?를 알아보기위한 논문입니다.

 

Methods


  • SSL method for contrastive learning: MoCo v3  
  • Architecture: tiny Swin Transformer

 

MoCo: MoCo을 알기전에, 대조적학습(contrastive learning)을 이해해야합니다. 대조적학습은 인코딩된 샘플 $\{ k_{0}, k_{1},...,k_{N}\}$ 가 있을 때, 각각을 딕셔너리의 키(key)로 고려합니다. 즉, 쿼리(q)에 대해 하나의 positive key가 있고, 그 외에 다른 키들은 negative key로 고려합니다. 이 때, 손실함수는 아래의 손실함수를 사용합니다.

$L_{q}=-log(\frac{\psi(q,k^{+})}{\psi(q,k^{+} + \sum_{i=1}^{K}{\psi(q,k_{i})}})$

용어설명

  • $\psi(q,k^{+})$: q은 이미지(x)로부터 augmentation 1번에 의해 생성된 벡터, $k^{+}$은 같은 이미지(x)로부터 augmetnation 2번에 의해 생성된 벡터를 의미합니다. 둘 다 같은 origin(원본이미지)으로부터 만들어진 vector입니다.
  • $\sum_{i=1}^{K}{\psi(q, k_{i})}$: K은 negative sample을 의미하고 N-1과 동일합니다. 위에서 사용되었던 이미지(x)의 그 외 이미지들을 의미합니다.
  • $N$: 배치사이즈 또는 memory queue의 길이를 의미합니다.

유사도

  • 유사도함수($\psi (x_{1}, x_{2})$): $exp(sim(x_{1},x_{2})/\tau)$ 입니다. sim은 cosine similarity도 가능합니다.여기서 타우($\tau$)은 "temperature scale"이라고 부르며, 클수록 평활해지는 분포의 값을 가집니다(URL)

해석

  유사도 함수($\psi$)은 항상 양의 값을 갖습니다. 따라서, log 내부 값의 값은 항상 0보다 크고 1보다 작은 값을 가집니다. 즉 log값이 (-inf, 0)을 갖기에, 음수(-)을 곱하여 (0, inf)로 손실함수 값을 계산합니다. (query, positive)의 유사도가 클수록(query, negtaive) 유사도가 작을수록 0으로, (query, positive)의 유사도가 작고, (query, negtaive) 유사도가 클수록 inf의 손실함수 값을 갖습니다.

아키텍처

 MoCo에서는 feature collapse을 방지하기위해서, 서로 다른 encoder 2개를 사용하여, query, key을 생성합니다. query을 생성한 인코더의 가중치(파라미터)를 $\theta_{q}$라 하고, k로부터 얻은 $theta_{k}$라고하면, 가중합을하여 파라미터를 업데이트 합니다. m은 모멘텀계수(momentum coefficient)라고 합니다.

$\theta_{k} <- m \theta_{k} + (1-m) \theta_{q} $

 

샘플링방법


1. Semnatically-relevant contrastive learning (SRCL): 추가적인 positive sample을 구하기위한 샘플링 방법

 SRCL와 MoCo의 가장 큰차이는 positive smapling수의 차이가 있습니다. 배치당 positive sample을 1개씩만 얻는 MoCo와 달리, SRCL을 더 많은 수를 뽑습니다. 주요 가정은 같은 슬라이드 이미지에서 나온 패치들은 더 유사성이 높을 테니, negative로 취급하면 안된다라는 것입니다.

SRCL의 positive sampling 방법은 슬라이드 내의 위치정보를 사용하지는 않고, 유사도 기반으로 샘플링하는 방법입니다. 배치 또는 메모리큐에서 코사인유사도가 가장 큰 5개의 패치를 골라, positive sample로 정의하고, 그외를 negative로 정해서 contrastive learning을 합니다. 이 논문에서는 Poistive sample이 5개를 고르려면, 인코더가 충분히 학습되어야한다는 가정하에, 파라미터가 잘 학습된 구간이라고 생각할만한 5에폭 이전까지는 일반적인 contrastive learning을 돌리고, 이후로 SRCL로 학습했습니다.

$L_{q}=-log(\frac{\sum_{j=1}^{S+1}\psi(q,k^{+})}{\sum_{j=1}^{S+1}\psi(q,k^{+}) + \sum_{i=1}^{K}{\psi(q,k_{i})}})$

  • S: 추가적인 positive samples의 수
  • K: negative 샘플의수. (N-S-1). N 배치 또는 매모리 큐의 수, 1은 자기자신 (query), S은 positive sample 수  

 

2. Negative smaplign (N-Sam)

3. Dynamic sampling (DS)

 

실험 및 평가


 

  • 행1-2: tiny Swin Transformer의 스크래치모델로부터 50에폭을 돌리고, AdamW 옵티마이저를 사용했때, 약 에폭은 25회이상돌리고, 데이터는 4%정도만 돌렸음에도 SOTA인 CTransPath와 유사한 성능이 보였습니다. 심지어 일부 테스크에서는 좀 더 좋은 성능을 보였습니다. 카멜레온데이터셋에서는 오히려 성능이 감소하는것을 보였습니다. 저자들은 이 이유는 CTransPath모델이 TCGA로 다장기로 SSL했을 때, Camelyon16 데이터셋이 섞여들어가서, 잘나올수 밖에없다고 합니다.
  • 행1,행3-5: SSL시 사용하는 데이터를 몇프로 까지 줄여도 성능이 유지되는가를 확인했을 떄, 50%정도 까지 사용해도 전체 데이터셋을 사용했던 MoCo-v3와 유사했다고 합니다. 50%면 충분하다는 실험적인 증거로 제시합니다.
  • 행1,행6-10: 인코더를 전체 사용하는게 아니라 몇번쨰 중간레이어을 사용하는 경우에 따라 성능을 비교했습니다. 1, 2번째 레이어에서 가져오는 경우 성능이 저하되었지만, 끝에서 두번쨰(last 2)의 차원을 가져오는 경우는 오히려 성능이 증가함을 보였습니다.
  • 행1, 행11,12,13: 이 실험에서는 Negative sampling(N-Sam)과 Dynamic sampling(DS)가 상대적으로 더 좋은 결과를 냈습니다.

 

결론


유방암의 WSI encoder을 학습을 SSL로 학습할 때, 요구되는 자원을 좀 더 적게 쓸수 있다는 분석을 얻었습니다. 특히, 데이터를 전체 다 사용하지 않더라도 downstream task에서 전체 사용하는 것과 비등한 성능을 보였다는게 놀랍습니다. 또한, 인코더 전체를 굳이사용할필요는 없고, 마지막인코더를  제이하는 경우가 오히려 weakly supervised learning에서 더 나은 성능일 보였습니다.

반응형

요약

소화기(GI track)를 내시경(EGD, Colonoscopy)으로 검사할 때, 대장내시경과 위내시경을 진행합니다. 대장내시경과 위내시경시에 용종 등이 있으면 생검(bx)을 진행하고, 이를 병리검사합니다. 본 논문에서는 생검이후에 병리검사에서의 오류가 있을 수 있는 내용들을 QC하기위해 인공지능을 사용합니다. 매일 분석을 진행하고 분석결과중 인공지능이 예측한 결과랑 판독의가 제시한결과가 다를 경우 리뷰를 다시 진행합니다, 이 논문은 이 방법론을 적용하고 약 3개월간의 내용입니다. 약 7-10배로 슬라이드 조직 판독리뷰가 빨라졌으며, AI로 더블체크를 진행했습니다. 그리고, 인공지능을 도입한 이후 종전대비 휴면에러는 1.2일당 17배의 휴먼에러가 더 많이 검출되었다고 합니다. 

 

Preliminary


- Reference laboratory(위탁검사 실험실): 타 기관으로부터 검사를 받는 위탁 검사실을 의미합니다. 여기서 Reference 은 "참조"가 아닌 수탁/위탁 등을 의미합니다, 예, 전원오거나 가는것도 refer라합니다.

- 씨잰의료재단은 수술로 절제한 검체를 받는 것이 아닌, 내시경 검사등으로 얻어낸 생검(biopsy)을 주로 위탁받습니다. 이런 위탁은 검사실이 없는 1,2차의료병원으로부터 받습니다.

 

Introduction


한국에서는 모든 종류의 암으로 사망하는 사람들 중, 대장암으로 인한 사망이 3위(11.0%), 위암으로 인한 사망이 4위(9.8%)정도 됩니다. 한국에서 이를 위한 스크리닝 검사로 위내시경, 대장내시경을 진행합니다(이를 통틀어 GI endoscopy라고 부름). 그리고, 대장내시경 할때 대부분 용종등이 발견되면, 생검(biopsy, bx)을 하게됩니다. 생검결과는 실험실이 있는 경우 직접이 시행하게되고, 실험실이 없는 경우는 위탁을 하게됩니다. 문제는 위탁을 보낸후, 수탁을 받는 쪽에서서 Human error가 발생할 수 있다는 점입니다. 이런 생검결과는 조직검사(Histopathology)을 하게되는데 이 검사 특성상, 확증적인 진단의 수단이됩니다. 혹시나 발생하는 False negative가 환자의 치료를 놓치는 큰 비용이될 수 있다는 것입니다. 

 

 보통 이런 휴먼에러를 줄이기위해서, 실험실에서는 QC(Quality control)을 자체적으로 진행하는데요. 병리과 선생님당 랜덤으로 몇명씩 샘플을 랜덤으로 뽑아서 리뷰한다거나 하는 식입니다. 근데 이 마저도 꽤 부담이됩니다. 그래서 AI을 이용한 QC을 이용하고자합니다. AI을 이용한 QC방법은 3가지 제한사항이 있는데요.

  1. 첫 째는, 이러한 AI driven QC은 실제로 한다 하더라도, 완전히 병리과정을 대체할 수 없긴합니다. 예를 들어, 위암의 리스크라고 여겨지는 Helicobacter pylori등도 캡쳐가 되어야하는데, 이런건 잡기는 어렵습니다. 또는 위암의 분류는 USS(Updated sydney system)등의 기준에 따라 분류해서 레포트해줘야하는데 이런 검출/분류도 생각보다 쉽지않습니다.
  2. 둘 째는 조직병리 판독 프로세스를 변경해야하는 비용입니다. 대부분에 실험실에서는 조직병리 판독(interpretation)이후에 슬라이드를 스캔하는 형식입니다. 슬라이드를 스캔해야 어찌되었든 이미지를 디지털로 뜰 수 있기에, 이런 프로세스는 병원에서 변경하기가 꽤 비용이 됩니다. 마지막인 세번째는, AI을 이용한 판독자체가 판독자에게 편향을 줄 수 있기 때문입니다. 

그래서, 이 연구는 실증적으로 위의사항을 고려하여 AI driven QC방법론이 실제로 휴먼에러를 더 줄 수 있는지에 대한 연구입니다. 

 

방법론: AI Pipeline


이 연구는 기존에 진단된 조직병리 검사결과를 다시 라벨링하는것부터 시작합니다. 인공지능의 개발과정을 포함해서 총 1,762의 위암생검, 1,509의 대장암생성의 WSI을 가져와서 Training/Validation/Test로 나누었습니다. 그리고나서, 5명의 병리학자들이 기존 진단결과를 리뷰하고 다시 라벨링하는 과정을 거쳤습니다. 그리고 각 슬라이드를 Malignant, Dysplasia, negative for dysplaisa, Uncategorized(그외)로 4가지로 분류했습니다. 실제로는 U은 실무적으로 의미가 없기에 U을 제외한 3종의 분류기를 만들었습니다.

 

그리고 아래의 이미지에 따라 데이터를 처리합니다.

  1. 데이터 파이프라인: MRSX format으로 저장하고, Openlibary으로 핸들링. Openlibary을 이용해서 패치단위(256x256)으로 나눔.**
  2. Annotation: WSI에서 negative 이미지는 따로 Annotation할게 없으니까 그냥 패치로 만들고, Dysplasia랑 malignant만 병변위치까지 Annotation합니다.
  3. 패치 분류기(patch classifier) 학습: DenseNet201로 학습. M, D, N의 분류. WSI classifier의 일부 요소로 사용. + UI제공 목적
  4. WSI 분류기 학습: Patch classifier의 결과를 다시 pooling하는 MIL을 진행한듯(patch classifier의 결과를 사용) + 위치정보를 인댁싱하여 MIL진행하고 결과를 UI에 뿌림. 이 결과도 DenseNet201로 만듬.
  5. 뷰어 개발(SeeDP): Openslide libary OpenSeadragon 3.0.0. 히트맵과 예측결과를 알려줌. (히트맵은 gradient based XAI방법 중 하나를 사용한것같내요)

*MRXS format: multi-file with very complicated proprietary metadata and indexes (https://openslide.org/formats/mirax/

** 패치크기를 키우면 성능엔 도움이 될 수 있지만, UI상으로 그래도 꽤 큰 이미지이게 병변을 확인하긴 어려울 수 있음.

 

데이터 플로우 및 히트맵 예시

 

방법론: QC방법


  1. 단계1: 병리학자가 조직병리를 판독합니다. 이 과정에서는 이 병리이미지가 어느 장기의 검체인지는 모르고, 접수번호만부여받습니다.
  2. 단계2: 3D HISTECH Scanner로  WSI을 스캔하고, MRXS파일을 생성하여 특정 디렉토리에 저장합니다. (아마 메시징 큐역할로) Auto File Watcher 가 MRXS의 생성을 감지하고 복본을 따로 저장합니다. 그리고 SeeDP가 이를 병리번호를 부여하고 저장합니다. 그리고, 레포트의 검체정보의 해더에 있는 키워드에 따라서 인공지능 모델에 요청을 보냅니다(예, GC은 stomach, esopga~, gastro~, CRC은: leum, illeocecal, Cecum같은 해부학적명칭). 요청받은 인공지능 모델은 WSI file을 읽어서 패치 수준, 슬라이드 수준으로 예측하고 이 결과를 DB에 저장합니다. 
  3. 단계3: SeeDP 프로그램에서 판독결과와 예측결과가 일치하는지를 체크하고 다음날에 볼 수 있도록 준비합니다.

 

결과: Daily QC전의 검증, daily QC의 검증


QC운영전의 검증테스트: 실험수준의 결과로는 위암과 대장암에서의 약 96.0%와 95.8% Validation결과를 얻었습니다. 한편. 실제로 도입하기전에 Inhouse dataset으로도 검증도 했습니다. 사전검사(Pre-test)셋을 따로 구축해서 319셋의 대장암, 419셋의 위암데이터셋을 구축했습니다. 이 데이터셋 비율은 임상에서 실무적으로 얻어지는 비율과 동일하게 셋팅했습니다. 이 데이터셋에서도 93.08%, 95.30%의 정확도를 보였습니다. 

 

Daily QC의 검증: 서두에서 얘기했듯이 약 3개월간의 기간동안 전향적으로 연구한 결과를 제시했습니다. 3개월동안에 WSI 분류 성능(정확도)은 약 90.29%로 보였습니다. 이런 인공지능을 이용한 진단보조에서는 False negative가 상당히 중요한데 이 언급도 있습니다. NPV(Negative predictive value, negative로 예측했던 결과중에 실제 negative비율)은 97.20%을 보였습니다. 아마 Threshold을 느슨하게 잡았어도 이 정도 오차를 보일 수 있는데 개선여지가 아직 남은듯합니다. 특히 진짜 FN인경우 CRC에서 한 케이스를 보였습니다. 

 

실제 이 인공지능 모델로 QC을 세달간진행하고, 인공지능QC전 약 33개월의 결과를 함께보여주었습니다. 33개월동안 GC은 5,789의 슬라이드를 봤고, 이는 랜덤샘플한 결과입니다 (약 160.8슬라이드/한달 정도겠구요). 이 경우는 병리판독의의 18개의 불일치를 결과를 보였구요. 이중 16개 케이스는 약간차이나는정도, 2건은 중간정도 판독차이가 있었습니다. 아마 계속 QC해왔던 기관이라 에러율은 딱히없어보였습니다. 한편, 3개월동안의 SeeDP을 용한 QC을 진행한 경우, 3arm 으로 1) 랜덤리뷰, 2)AI +병리과전문의 3) AI only로 각각 평가했습니다. AI +병리과전문의로 오류케이스를 잡는 경우는 1.2일정도 걸렸고, 이를 교정하는데 3.4일내에 끝났습니다. 한편, 원래 프로세스에서는 40.2일이 걸렸습니다. 이는 상당한 생산성향상을 보여줍니다. 더 많은 오류검출과 빠른 엑션이 가능함을 결과로 제시했습니다.

 

결론


1. 실제 임상프로세스에 도입하기 위해서는 임상프로세스의 과정을 크게 바꾸지 않으면서 도입이 필요한데, 큰 변경사항없이 이 과정을 수행했습니다.

2. 연구에서 보여준 것처럼 AI driven QC프로세스는 오검사로 일어날 위협으로 환자안전에 도움을 줄 수 있습니다. 특히, QC 방법으로 인공지능결과와 불일치결과를 확인하면서, 1-2달 걸리던 오진을 빠르게 교정하고 의뢰인(의사)에게 오류없이 알려줄 수 있습니다.

반응형

요약


CNN의 overconfidence 문제를 해결하기위해서, MixPatch라는 방법론을 고안했습니다. 디지털병리 문제 중 WSI을 패치단위로 분석하다기에 종종 과하게 예측되는 경우가 생기기 때문입니다. 저자들은 MixPatch라는 방법론으로 soft label역할을 통해 불확실한 이미지를 추가하는 augmentation 방법론을 제시합니다. 이런 이미지를 추가하여 학습하면서 uncertainty problem을 개선했습니다.

 

Introduction


조직병리진단시에 병리학자들이 많은 시간을 써야함에 따라서 약 3~9%의 휴먼에러가 발생합니다. 이 에러율을 줄이기위해서 딥러닝으로 QC역할로서 진행합니다. CNN기반으로 WSI을 분석하다보면, 사이즈가 너무 큰데 화소수를 줄이자니 성능이 나빠져, 작은 이미지인 패치단위로 잘라서 분석하고 집계하는 방식을 취합니다. 그러다보니 결국 패치를 분류하는 분류기의 성능에 직결되게 됩니다. 따라서, 패치 분류기를 훈련시켜야 좋을지 고민이 되는 부분입니다.

패치에서 암인지 아닌지를 분류하는 것과 같이 패치만 보고 예측하는 것을 패치수준(Patch level)분류라고하는데요. 패치수준(patch level)의 분류기를 잘 학습시키위해 여러 방법론이 있었는데, data augmentation(color,distortion, stain normalizaion)등이 주로있었습니다. 패치에 사용되는 CNN이 좀더 다양한 현실의 문제를 학습하기를 바라는 것이죠. 하지만, 이런 과정을 거쳐도 결국 실제로 사용하려면 예측점수가 중요한데, uncertainity prediction은 아직 안다뤄졌습니다.

이 문제가 중요한 이유는 병리이미지의 양성패치(abnormal, 병리적소견이 있는) 양성의 조직영상으로만 채워지지 않습니다. 즉, 일부는 양성, 일부는 음성으로 채워져있습니다. 하지만, 실제로 학습할 때는 병리학자 선생님들께서 5%의 양성, 95%의 음성이 섞인 패치를 주시기보다는 엄청 심각한, 예를 들어 95%가 비정상 세포인 이미지를 주시기 마련입니다. 그러다보니, 자연스럽게 모델은 매우 심각한 케이스만 양성으로 분류하게되며, 실제 있을만한 양성+음성의 세포조합인 패치는 학습이 안되어있게됩니다. 즉, 한 패치에서도 양성/음성비율이 다른 문제 Mixed-regision variation 특성을 가지게 됩니다. 그 결과, 양성이 매우적은 경우에도 마치 학습해서 봤던 것처럼 강하게 예측(over confidence)로 예측하게됩니다. 이런 상황은 딥러닝을 이용한 디지털병리에서 실제 사용하기에 매우 까다로운 문제가 됩니다.

이 논문에서는 실제로 이렇게 있을만한 mixed-variation property을 만들어내 soft-label dataset으로 활용하기 위함입니다

 

방법론: Mixed-Patch


이 방법론은 미니배치로 사용하는 패치를 Augmetnation하고 label도 augmented label(soft label)을 사용하는 것이 핵심입니다. 논문에서는 x_mixed, y_mixed라고 표현했습니다. 이 Augmentation된 이미지를 mini-patch라고 일컫습니다. 미니 패치는 원래 패치이미지를 다시 작은이미지로 split하고, 랜덤으로 섞고, 선택해서 조합(concat)하여 패치사이즈와 같게 학습되는 형식입니다.  예를들어, 패치이미지가 128x128이었다면, 이 논문에서는 64x64의 미니패치들을 만들고, 이를 4개를 접합(concat)하여 또다른 하나의 패치를 만드는 형식으로 진행한 것입니다. 이를 x_mixed라고합니다.

한편, 라벨은 소프트라벨을 주려고 했기에, 양성(비정상)으로부터 만들어진 미니패치가 있다면 0.5~1.0사이의 라벨을 주려고했습니다. 0.5~1.0사이의 수치중 mini 패치의 비율을 사용했습니다.

 

학습과정에서는 손실함수를 2가지로 나눕니다. 원래이미지와 Augmentation이미지에 적용할 각각의 손실함수입니다. 식 (1)은 원래 이미지에서 KL divergence입니다. (2)식은 Augmented된 이미지(Mixed-patch)에 대한 KL divergence입니다. 식 (3)은 (1)과 (2)의 가중합입니다. (1)과 (2)의 데이터셋 비중이 다르기에 이를 적절한 r로 처리하구요. (1)식은 BCE가아닌 (2)과 같은 KL로 학습했습니다.

결과: 동일한 네트워크로 Mixed Patch의 성능이 유리함.


이 논문에서는 MixedPatch의 효과를 평가하기위해 베이스라인, LS(label smoothing), cut, cut mix, mix patch을 보여줍니다. 앞의 4개의 방법론은 밴치마크로 사용됩니다.

베이스라인은 그냥학습하는 방법론을; LS은 학습시 confidence에대한 정규화를 하는방법론(https://analytics4everything.tistory.com/263, 포스팅참고하세요), cut, cut mix은 각각 다른 부분은 잘라내어 덛대거나 덛대지않거나하는 차이입니다. 추가로 cutmix은 mislabel을 줍니다. 예를 들어, 정상이미지에 비정상일부이미지를 잘라붙이는 방법론입니다.

분류성능상에서는 MixPatch가 가장좋았고, calibration plot을 그려봐도 cutmix와 유사하게 비슷한 성능을 보입니다.

 

종합적으로 정확도, 민/특, AUROC, ECE가 가장 우수한것이 MixedPatch였내요.

 

결론


요약하면, 실제 WSI이미지에서 Ground truth로 annotation케이스와 real-case을 줄이기위해서 data augmentation전략(MixedPatch)을 사용하고, 이에 맞게 손실함수를 각각 원본데아터+증강데이터를 혼합하여 학습한 방법입니다. 

반응형

+ Recent posts