gusdlf93 / Paper_Survey

4 stars 1 forks source link

[Deep Bio ppt] Stain Normalization Survey #12

Open gusdlf93 opened 2 years ago

gusdlf93 commented 2 years ago

Stain이란, 의사들이 특정 장기의 조직을 볼 때, 시각적 도움을 얻기 위해서 염색하는 것을 의미합니다. 가장 많이 사용되는 Stain 중 하나는 H&E. Hematoxylin은 세포의 핵, 핵 내의 염색질, 핵막, Eosin은 대조염색제로서, H이 염색하지 않는 것들을 붉은색으로 염색함.

Stain을 진행하는 과정에 있어서, 국가별로 기관별로 색상의 차이가 나며, 이는 인공지능이 학습을 하는데에 있어서 큰 방해꾼으로서 작용하는데, 이는 주로 염색의 원료나, 실험실별로 염색 프로토콜의 차이가 나거나, 스캐너의 차이로 인해서도 발생이 될 수 있습니다.

그러므로, Stain을 Normalization 하는 이유는 다양한 국가나 기관의 슬라이드들로부터 염색과정에서 발생하는 차이들을 극복하고자 함입니다.

염색 과정에서 발생하는 문제들을 해결하기 위한 방법은 주로 2가지가 있습니다.

Stain Augmentation Stain Augmentation은 주로 학습 과정에서 데이터에 Augmentation을 주는 방법인데, 최근에는 이미지로부터 H, E 채널을 유추하고, 이들이 속한 채널에 Noise를 더한 이미지를 생성하는 방법입니다.

Stain Normalization Stain Normalization은 3가지 방법들을 주로 사용합니다. 2.1 Pixel Based Normalization 픽셀 단위로 Normalization을 진행합니다, 주로 픽셀 단위로 RGB의 평균과 분산을 구한 뒤 이들의 분포를 옮기는 방식입니다. 2.2 Optical Density Based Normalization 광학 밀도를 사용해서 H나 E가 나타낼수 있는 값을 추론한 후, RGB영역에서 이들의 양이 얼마나 있을지를 예측하는 방법입니다. 2.3 Deep Learning Based Normalization 네트워크를 사용해서 데이터의 분포를 학습하는 방법입니다. Pixel Based나 Optical Density 방법들은 주로 '의사 선생님들이 특정 기관이나 데이터셋을 대표한다고 주장하는 Reference Image 한 장'을 사용해서 input image patch들의 분포를 Reference Image의 분포와 유사하게 옮기는데, 이는 매우 불안정학 성능을 나타내게 됩니다. 하지만, 딥러닝을 이용해서 데이터셋의 분포를 학습하게 되면, Reference Image를 사용함으로써 발생하는 이러한 단점들을 극복할 수 있으며, 성능 또한 안정적으로 나타나게 됩니다.

다음은 각 논문들에서 주장하는 방법과 요약 내용입니다. (자세한건 아래 첨부된 ppt의 링크를 통해서 보시면 좋습니다.) [1] Color transfer between images(IEEE Computer graphics and applications 2001) 이미지들 간 색상의 톤을 변경하는 가장 기초적인 방법입니다. Original Image의 픽셀들의 분포를 Target Image의 픽셀들의 분포로 이동을 시킵니다.

[2]Quantification of histochemical staining by color deconvolution (Analytical and quantitative cytology and histology 2001) 제가 알기로는 최초로 RGB영역에서 stain된 이미지의 H, E 채널들 분리하고자 한 논문입니다. Hematoxylin, Eosin, DAB(Digital Separation of diaminoBenzidine)을 이미지 채널에서 광학 밀도를 기반으로 분리하는 방법을 제안합니다. Hematoxylin과 Eosin, DAB 염색시, 각각의 염색 기법이 가진 광학 밀도를 기반으로 R,G,B 영역으로부터 염색된 정도를 추론 할 수 있습니다. 조금 더 간단히 말씀드리자면, 염색된 조직은 빛을 받았을 때, 특정된 RGB 값을 나타내게 되므로, 반대로 RGB값을 안다면, 각각의 조직들의 양을 파악할 수 있다는 의미입니다. 다음 그림에서는, 각각의 염색이 RGB 영역에서 나타내는 값을 의미합니다. y = CM으로 나타낼 수 있습니다. y는 픽셀의 RGB값이며, C는 H,E,D가 한 픽셀에 얼마나 있는지, M은 Normalized Optical Density를 의미합니다. y=CM의 수식을 이용해서, C = M-1y으로 나타낼 수 있습니다. 즉, 픽셀에 Inverse된 Normalized Optical Density를 곱해주면 Hematoxylin과 Eosin과 DAB채널을 추론할 수 있습니다. 논문이나 구현된 코드들마다 Optical Density의 수치가 다 다르고, 또한 이 값이 성능에 많은 영향을 미치게 됩니다.

[3] A method for normalizing histology slides for quantitative analysis(IEEE international symposium on biomedical imaging 2009) [2]의 논문에서 SVD를 사용했다고 보시면 좋을 거 같습니다. RGB값으로부터 Optical Density를 구하고, SVD를 통해서 평균과 분산을 가장 잘 유지하는 2개의 채널을 찾은 뒤, 이들 각각에 대해서 H & E를 추출 해당하는 필터를 씌웁니다.

[4] Whole-Slide Mitosis Detection in H&E Breast Histology Using PHH3 as a Reference to Train Distilled Stain-Invariant Convolutional Networks(IEEE transactions on medical imaging 2018) 유방암의 조직 중 비정형 유사분열상(mitotic figure)를 찾기 위한 연구입니다. 모델 학습시 다양한 Augmentation을 적용하였으며, 특히 Augmentation 과정에서 Ruifrok의 Color Decomposition을 진행한 후, H, E, D 각 Channel별로 Variance를 줘서 Augmentation하면 Stain의 변화에 Invariant하다고 주장합니다. 또한, KD 성능도 잘 나와서, 연산량을 1/10까지 줄일 수 있다고 합니다. 해당 논문 부터는 성능 측정이 좀 자세하게 되었있는데, TNBC 데이터셋에서 학습을 진행하고, TUPAC 데이터셋에서 Evaluation을 진행합니다. TNBC 학습에는 18장의 WSI가 사용이 되고(11, 3, 4), TUPAC 데이터셋 내 84장의 WSI 중 50 장에서 fine tune을, 34장에서 evaluation으로 사용하였습니다.

[5] Neural Stain-Style Transfer Learning using GAN for Histopathological Images (ACML 2017) 우선 이 논문은, 여러 기관의 이미지들을 흑백 이미지로 만든 다음에, 목표로 하는 기관의 Style을 배우도록 학습해서, 들어온 이미지에 대해서 원하는 기관의 Style을 씌우는 것을 목표로 합니다. Camelyon 16 Dataset에서 FusionNet(Unet + ResNet)로 Tumor Classification성능을 측정하였습니다. Camelyon 16 Dataset은 400개의 슬라이드, 34만장의 patch로 이루어져 있습니다. 성능 구현에 있어서 Issue가 있는 것으로 알고 있습니다...

[6] StainGAN: Stain Style Transfer for Digital Histological Images (IEEE International Symposium on Biomedical Imaging 2018) 기존의 대부분의 솔루션들은 Normalization 과정에서 참조해야 하는 이미지에 따라 성능이 많이 바뀌었습니다. 이 논문에서는 CycleGAN을 사용해서 참조해야할 데이터들의 분포를 학습하므로 참조용 이미지를 사용 하지 않고도 좋은 성능을 보여줍니다. 데이터는 284장의 슬라이드로 이루어진 MITOS-ATYPIA 14 Challenge 데이터를 사용합니다. 성능 측정에는 이미지 품질 측정시 사용되는 SSIM(Structural Similarity index), FSIM(Feature Similarity Index for Image Quality Assessment), Peak Signal-to-Noise Ratio(PSNR), Pearson correlation coefficient similarity 4가지 수치가 사용되었습니다.

[7] Impact of stain normalization and patch selection on the performance of convolutional neural networks in histological breast and prostate cancer classification (Elsevier CMPBU2021)

이 논문은 간단하게 보면 Stain Normalization + Localization이 결합된 논문입니다.

이탈리아 토리노에 있는 종양학과 병리과에서 전립선 WSI를 100장 수집하였으며, 각 이미지별로 5개의 패치를 생성하였으므로 총 500개의 패치가 만들어졌습니다. 추가적으로, 유방암 데이터의 경우에는 BACH Challenge에서 확보하였으며, 이 또한 500개의 패치들로 이루어져 있습니다. Stain Normalize를 진행 후, 배경이 있는 영역을 찾는 것은 Gabor filter를 사용하고, Nuclei를 찾는 것은 MANA 라는 알고리즘을 사용합니다. MANA는 간단히 말씀드리자면, 고전 머신러닝 기법으로, color distribution에서 셀을 검출하는 것입니다. 학습해야 할 패치와, 학습에서 제거해야 할 패치를 나누는 기준입니다. 학습에 포함되기 위해서는 두가지 조건이 필요한데

핵은 이미지 내에 15% 이상 존재하는 패치들이어야 하며 흰색 영역은 40%미만인 패치들만 학습에 사용한다는 겁니다. 좋은 방법인지는 좀 의문이 있습니다. 2018년 당시 SOTA가 Resnet-101로 아무런 Normalization이나, 추가데이터 없이 87%의 Accuray를 얻었는데, 여기서는 네트워크를 뭘 썼는지는 기억이 안 나지만.. 3년 늦게 나온 논문인데 5등 안에 아슬아슬하게 들어가는 성능입니다. 또한 검증 과정에서 dataset별로 성능차이가 꽤 큽니다.

[8] Quantifying the effects of data augmentation and stain color normalization in convolutional neural networks for computational pathology (Medical image analysis 2019) 9개의 병리학 실험실별로 4개의 장기를 H&E로 염색하였으며, 해당 이미지들을 사용해서 실험을 진행합니다, 기관이랑 장기별로 다양한 Augmentation 기법들을 사용해서 실험을 진행하고, Normalization과 Augmentation에 따른 성능 측정을 진행하였습니다. 실험 후 결론은 간단한데, Normalization은 아무것도 사용하지 않고, Augmentation에서는 HED 채널에 대해서 noise를 주고 학습한게, 기관이나 장기에 상관없이 대체적으로 좋은 성능을 보여주게 됩니다. 대부분의 Preprocessing은 많은 시간을 소모하게 되는데, 네트워크를 사용하지 않은 방법들도 십수 분이 걸리며, 네트워크 기반 방법들은 50000x50000pixel WSI 기준으로 평균 20분이상의 시간이 걸리고, 그 중 가장 긴 건 217분까지도 소요가 됩니다. 즉, 이 논문에서는 그러한 Normalization technique을 쓰지 않아도 된다는 것을 보여준 논문입니다.

결론 : Normalization을 할거면 딥러닝을 써야합니다. 이미 학습된 네트워크라면 모르겠지만, 네트워크의 학습이 되지 않았다면, 단순히 Augmentation을 통해서 성능을 올리는게 가장 좋다고 봅니다.

gusdlf93 commented 2 years ago

ppt 링크 : https://docs.google.com/presentation/d/1SR5xTKa0x5CpZckJayaA_BmRpTAqdvp6svjj7_zsQFc/edit?usp=sharing