히비스서커스의 블로그

[Cocre] 병리 이미지 다루기 3 - Multi Resolution Model (feat. HookNet) 본문

Theory/Bio-Medical

[Cocre] 병리 이미지 다루기 3 - Multi Resolution Model (feat. HookNet)

HibisCircus 2022. 8. 29. 22:32
728x90

이 글은 병리 이미지 다루기 시리즈 글입니다. 병리 이미지 다루기 1 (feat. Stain Normalization), 병리 이미지 다루기 2 (feat. Microns Per Pixel), 병리 이미지 다루기 3 (feat. Multi Resolution Model) 총 3회에 걸쳐 제작 예정입니다. 이 시리즈는 모두의 연구소의 코크리 2기 회원으로서 작성한 글임을 밝힙니다. 코크리란 

 

 

 

 

저번 글 병리 이미지 다루기 2 (feat. Microns Per Pixels) 편에서는 병리 데이터를 다룰 때 알아두어야 할 개념인 MPP(Microns Per Pixels)라는 개념과 FoV(Field Of View)라는 개념을 살펴보았습니다. 이번 병리 이미지 다루기 3 (feat. HookNet) 편에서는 이 개념과 딥러닝 모델을 연관지어서 살펴보로독 하겠습니다.

 

 

먼저, 다시 한 번 MPP의 개념과 FoV의 개념을 한 눈에 살펴보기 위해 아래의 그림을 같이 살펴보겠습니다.

Feng Gu et al., (2018), Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images, Figure 1

4장의 패치들 중심점과 크기는 같으나 배율이 다른 패치들입니다. 오른쪽으로 갈수록 2배씩 배율이 줄어듭니다. MPP한 픽셀에 몇 Micro meter를 나타낼 수 있느냐를, FoV병리 데이터를 다룰 때 한 패치에 담기는 시야를 나타낸다고 했었죠.

 

MPP

이제 위의 4장의 패치의 각 크기가 한 픽셀이고 맨 왼쪽의 패치에 담긴 거리가 0.5 μm 이라고 가정해봅시다. 오른쪽으로 갈수록 배율이 2배씩 줄어드므로 담기는 거리가 각각 1 μm, 2 μm, 4 μm가 될 것입니다. 패치의 크기를 한 픽셀로 가정했으므로 mpp는 2배씩 증가하는 것을 나타내고 있습니다. 즉, 배율과 MPP는 반비례 관계입니다.

 

FoV

FoV는 오른쪽으로 갈수록 한 패치에 담기는 시야가 더 넓어지므로 더욱 커질 것입니다. 여기서, 한 패치가 아닌 각각의 패치의 노란박스를 패치로 가정하여서 본다면 FoV는 동일할 것입니다. 

 

 

Pooling Layer

 

그리고 딥러닝 모델에서 pooling layer를 지난 후에는 이전 입력값의 가로와 세로의 크기가 2배로 줄어들어 배율은 2배가 감소하고 MPP는 2배로 증가하며 FoV는 동일한 것을 확인했었습니다.

 

 

U-Net

이제 U-Net 모델을 한 번 살펴보겠습니다.

 

Olaf Ronneberger et at., (2015),  U-Net: Convolutional Networks for Biomedical Image Segmentation, Figure 1

U-NetBiomedical Image를 Segmentation할 때 가장 많이 사용되는 딥러닝 모델 중 하나이고 다들 많이 아실 것이라 생각합니다. U-Net은 크게 Contracting Path와 Expanding Path로 이루어져 있습는데요, Contracting Path에서는 입력의 사이즈가 절반으로 줄어드는 pooling layer을 거친다는 점Expanding Path에서는 입력의 사이즈가 2배로 커지는 up convolution layer를 거친다는 점에만 초점을 맞춰 살펴보겠습니다. 이번 주제에 맞춰 다른 개념보다도 FoV, 입력의 사이즈, 배율 그리고 MPP가 어떻게 되는지만 고려하겠습니다.

 

 

먼저, 입력과 출력에서의 크기가 동일하다는 가정하에 (valid padding이 아닌 same padding을 적용했다는 가정하에)U-Net 모델 안에서는 FoV 항상 일정합니다. 

 

Contracting Path에서는 pooling layer를 거칠 때마다 입력의 사이즈는 2배씩 감소하고 배율은 2배씩 감소하며 MPP는 2배씩 증가합니다.

 

반면, Expanding Path에서는 Up-Convolution layer를 거칠 때마다 입력의 사이즈는 2배씩 증가하고 배율은 2배씩 증가하며 MPP는 2배씩 감소합니다.

 

 

중심점과 크기가 같고 배율이 다른 패치

 

자 이제 중심점과 크기가 같고 MPP가 다른 패치 두 장을 각각 U-Net 모델에 입력해보겠습니다. 

 

먼저, 각각의 패치를 살펴보면 왼쪽의 패치MPP가 4이고 오른쪽의 패치MPP가 1입니다. 오른쪽 패치에 해당하는 FoV를 왼쪽 패치에 나타내면 네이비색 박스에 해당됩니다.

 

 

두 패치가 U-Net 모델을 거치며 MPP가 증가했다가 감소합니다. 두 패치가 분명 MPP는 다르지만 U-Net의 각기 다른 단계에서 동일해지는 단계가 발생합니다. 하나의 예시로 MPP가 8일 때를 살펴보겠습니다. 

 

 

왼쪽의 패치첫번째 pooling layer를 거친 후 그리고 마지막 up convolution layer를 거치기 전이 해당되겠군요. 오른쪽 패치마지막 pooling layer를 거치기 전 그리고 첫번째 up convolution layer를 거친 후에 해당되겠네요. 여기에 해당되는 패치의 크기는 위쪽에 보여지는 패치와 같이 원래보다는 크기가 줄어들었을 겁니다. 여기서 두 패치는 FoV와 사이즈만 다를 뿐 배율, MPP가 동일하죠.

 

 

HookNet

 

그렇다면 왼쪽 패치에서 오른쪽 패치에 해당하는 FoV만큼을 Crop한다면 (왼쪽 패치의 네이비색 박스에 해당) 오른쪽 패치와 FoV, 사이즈, 배율, MPP가 모두 동일하게 됩니다. 바로 이 둘을 연관지어서 활용한 딥러닝 모델이 존재합니다. 바로 HookNet이라는 모델입니다. HookNet은 다양한 resolution을 갖는 패치를 입력으로 받는 Multi Resolution Model 중 하나입니다.

 

 

Mart van Rijthoven et al., (2020), HookNet: multi-resolution convolutional neural networks for semantic segmentation in histopathology whole-slide images, Figure 3

 

 

HookNet은 중심점과 크기가 같으나 배율이 다른 두 패치를 입력으로 받습니다. 이후 위에서 설명드린 것과 같이 MPP가 동일한 부분에서 배율이 작은 패치에서 배율이 큰 패치로 FoV같도록 Crop하여 concatenate합니다. 배율이 큰 패치가 담지 못한 FoV의 정보를 배율이 작은 패치는 convolution layer를 거치며 얻어냈기에 이를 활용하는 것이지요. 저자는 Lung cancer의 다양한 Tissue에서 U-Net, 다른 Multi Resolution 그리고 HookNet의 성능을 비교해서 아래와 같이 나타났다고 밝혔습니다.

 

 

Mart van Rijthoven et al., (2020), HookNet: multi-resolution convolutional neural networks for semantic segmentation in histopathology whole-slide images

 

segmentation 평가지표는 F1-Score를 사용하였으며 자세히 살펴보면 U-Net과 MRN과 크게 차이가 나지 않으며 U-Net에서의 결과가 오히려 약간은 더 좋은것으로 보입니다. (Table 3에서 U-Net의 배율을 달리하였을 때 각 Tissue에서의 성능에서 가장 좋은 값이 Table4에서 HookNet 보다 좋은 것을 확인할 수 있습니다.)

 

실제로 MICCAI 2022 challenge 중 하나에서 prostate tumor tissue에서의 Segmentation Task에 사용해보았을 때 U-Net의 결과에 비해 F1-score 기준 0.1이상 정도가 차이날 만큼 처참하였는데요. (물론 주어진 데이터에 모든 객체에 대해서 annotation이 되어 있던 것이 아니었기에 넓은 FoV의 정보를 같이 학습하게 되는 HookNet에서 잘못된 학습이 이루어졌을 가능성이 큽니다.) 아직은 U-Net을 이길만큼은 아니라고 생각이 듭니다.  

 

하지만, 병리 이미지가 가진 특성을 이해하고 활용한 모델이라는 점이 매우 매력적이기에 소개를 하게 되었습니다. 병리 전문의가 병리 결과를 판단할 때 하나의 배율에서 고정해서 보는 것이 아니라 여러 배율에서 보고 종합적인 판단을 하듯이 딥러닝 모델에서도 다양한 배율에서의 정보를 학습하도록 한 것은 병리 전문의의 판단 과정을 모방한 것이라 할 수 있습니다. 아직은 성능이 좋지 않지만 이와 같은 Multi Resoltuion 정보를 이용한 다른 방법들이 연구된다면 병리 분야에서 큰 도약이 되지 않을까 싶습니다. 긴 글 읽어주셔서 감사합니다.

 

 

 

- 히비스서커스 -

728x90