Hello Computer Vision

비전공생의 Medical Image Segmentation Using deep learning: Survey(2021) 논문 리뷰 본문

Self,Semi-supervised learning

비전공생의 Medical Image Segmentation Using deep learning: Survey(2021) 논문 리뷰

지웅쓰 2023. 6. 6. 14:07

https://arxiv.org/abs/2009.13120

 

Medical Image Segmentation Using Deep Learning: A Survey

Deep learning has been widely used for medical image segmentation and a large number of papers has been presented recording the success of deep learning in the field. In this paper, we present a comprehensive thematic survey on medical image segmentation u

arxiv.org

 

이번에 medical semantic segmentation 관련 공부를 하면서 어떻게 공부를 할지 조금 막막한 감이 있는데 그럴 때는 일단 서베이 페이퍼를 보는게 낫다고 생각해 보려고 한다!

 

Introduction

image segmentation은 의료 분야에서  효율성과 정확도에서 중요한 역할을 맡고 있다고 한다. 내가 하나 궁금했던게 몸 안에 여러 신체 조직에 대하여 같은 모델을 써도 될까 or 같은 기법을 써도 될까라는 물음이 있었는데 여기서는 brain tumor , optic disc, cell etc .. 많은 조직에 대하여 segmentation하는 방법이 있다고 한다.

 

지금까지 많은 발전을 이루었지만 여전히 challenging 한 문제라고 한다. 이유에 대해서는 이미지들이 항상 blur, noise, low contrast 등의 문제를 겪고 있기 때문이라고 한다.

 

segmentation하는 종류는 2가지가 있다. instance segmentation VS semantic segmentation

semantic segmentation은 픽셀별로 어떤 클래스에 속하는지(ex. 사람, 뼈, 배경) 구분하면 되지만 instance segmentation은 specific category에 대해서 분류해야 한다고  한다. 예를 들어 semantic segmentation은 사람들과 배경만 구분하면 되지만, instance segmentation은 사람-사람 각각의 개체를 추가로 분리해야 되는 것을 알 수 있다.

해당 논문에서 분류하는 부분은 다음과 같다. unsupervised learning에 대해서는 다른 서베이 논문에서 많이 다루어졌고, 아직은 많이 유명하지 않아서(아마 성능이 크게 좋지는 않은 거 같다) 다루지는 않는다고 한다.

 

Supervised learning

조금 더 세부분류를 해보면 위와 같다. 이 장에서는 네트워크 구조에 대해서 설명해보려고 한다.

backbone network

encoder-decoder로 이루어진 end-to-end 구조는 segmentation 효율적이고 실용적이지만 모델의 interpretability가 떨어진다고 한다(이 부분은 무엇을 의미하는지는 모르겠다). UNet 은 skip connection으로 이루어진 완벽한 대칭 구조를 가지고 있다. 기존 방법으로는 noise가 많은 이미지에 대해서 low level feature만으로 task를 수행하는 것이 어려웠지만 UNet은 이러한 문제를 제거하고자 high, low resolution을 합쳤다고 한다 여전히 지금까지도 benchmark model이라고 소개한다.

UNet 구조

 

많은 의료 데이터들은 3D 로 이루어져있다고 한다. 그렇기 때문에 3D convolution kerenl이 사용되는데, 이는 굉장히 많은 연산량을 요구한다. 그렇기 때문에 3D UNet은 기존의 UNet처럼 깊게 구조를 생성하지 못했고 정확도가 떨어진다고 한다. 

 

이러한 낮은 정확도에 개선한 구조가 VNet이다. 이 외에도 ResUNet등 다른 방법들도 많지만 여전히 높은 파라미터 양으로 으로 문제가 많다고 한다. 

 

RNN은 기존에 sequence problem(time dependency)을 대처하기 위해 나온 구조이며 대표적으로는 LSTM이 있다. 

https://arxiv.org/abs/1808.00273

 

Recurrent neural networks for aortic image sequence segmentation with sparse annotations

Segmentation of image sequences is an important task in medical image analysis, which enables clinicians to assess the anatomy and function of moving organs. However, direct application of a segmentation algorithm to each time frame of a sequence may ignor

arxiv.org

위 논문에서는 FCN과 RNN을 합쳐 만든 구조이다. RNN은 이미지에 대해 local, global spatial 구조를 얻을 수 있다고 하지만 전제는 이미지가 아주 깔끔해야한다는 전제가 있다. 그렇기 때문에 medical image는 노이즈가 많기 때문에 잘 쓰이는 방법은 아니라고 말한다(그러나 의료기기의 발달로 깔끔해진다면 다시 나올수도..?).

RNN + CNN

 

 

UNet 은 skip connection을 통해서 high, low resolution을 합쳤는데 이러한 과정의 문제점은 semantic gap이 생기고 이것은 feature map이 blurred되는 결과를 낳게 된다고 한다. 따라서 이러한 문제점에 대해서 MultiResNet은 skip connection을 통해 넘어가는 feature map에 대해서 추가적인 CNN을 거치는 과정을 거친다.

https://arxiv.org/abs/1902.04049

 

MultiResUNet : Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation

In recent years Deep Learning has brought about a breakthrough in Medical Image Segmentation. U-Net is the most prominent deep network in this regard, which has been the most popular architecture in the medical imaging community. Despite outstanding overal

arxiv.org

 

Cascade network는 이 논문을 보면서 처음 안 network인데, 머신러닝의 AdaBoost 와 비슷하다고 한다. 이 네트워크는 3가지 framework를 가지는데, coarse-fine segmentation, detection segmentation, mixed segmentation 이렇게 3가지이다. 그러나 위에서도 말했다시피 의료 데이터는 3D 가 많은데 단순히 1개의 모델도 힘들었는데 이렇게 3가지 단계로 분류되면 연산량이 많다고 한다.그렇기 때문에 3D 이미지만 다루는 것이 아니라 2D 정보를 뽑아내고 이 정보들을 이용해 3D 정보들을 추출하는 H-Denseunet 등이 있다.

https://arxiv.org/abs/1709.07330

 

H-DenseUNet: Hybrid Densely Connected UNet for Liver and Tumor Segmentation from CT Volumes

Liver cancer is one of the leading causes of cancer death. To assist doctors in hepatocellular carcinoma diagnosis and treatment planning, an accurate and automatic liver and tumor segmentation method is highly demanded in the clinical practice. Recently,

arxiv.org

추가로 KiuNet은 기존의 UNet이 작은 부분은 잘 캐치해지 못하는 구조적인 단점을 말하면서 나온 구조인데, cascade 구조를 활용해서 좋은 성과를 냈다고 한다.

 

그 외에도 GAN을 이용한 연구도 소개하였는데, GAN을 데이터증강으로 사용하는 방법을 소개한다. 의료 이미지들은 낮은 대비들을 보여주기 때문에, UNet을 이용한 pixel loss로는 충분하지 못하다고 지적하며, GAN을 classifier 로 훈련시킨다고 말한다. 

https://arxiv.org/abs/1611.08408

 

Semantic Segmentation using Adversarial Networks

Adversarial training has been shown to produce state of the art results for generative image modeling. In this paper we propose an adversarial training approach to train semantic segmentation models. We train a convolutional semantic segmentation network a

arxiv.org

 

 

추가로 의료 데이터를 다룰 때 사전지식은 굉장히 중요하다고 한다. 

https://arxiv.org/abs/1705.08302

 

Anatomically Constrained Neural Networks (ACNN): Application to Cardiac Image Enhancement and Segmentation

Incorporation of prior knowledge about organ shape and location is key to improve performance of image analysis approaches. In particular, priors can be useful in cases where images are corrupted and contain artefacts due to limitations in image acquisitio

arxiv.org

해당 모델은 사전지식을 활용하여 neural network를 설계했다고 한다.

 

Network function block

 

Dense connection은 CNN을 설계할 때 자주 사용된다고 한다.

https://arxiv.org/abs/1808.10848

 

Fully Dense UNet for 2D Sparse Photoacoustic Tomography Artifact Removal

Photoacoustic imaging is an emerging imaging modality that is based upon the photoacoustic effect. In photoacoustic tomography (PAT), the induced acoustic pressure waves are measured by an array of detectors and used to reconstruct an image of the initial

arxiv.org

이러한 구조는 풍부한 image feature를 얻을 수 있지만 많은 파라미터수로 인해 모델이 강건하지 않다고 한다(기본적으로 파라미터가 많으면 오버피팅이 일어나기 쉽다).

추가적으로 UNet++에서는 모든 layer들을 합쳐 각 레이어가 어느 정도의 중요도를 가지고 있는지 학습한다고 한다. 구조는 다음과 같다.

단점이라고 하면 파라미터의 수인데 이를 방지하기위해 pruning method를 모델 최적화 할 때 사용해 파라미터 수를 줄인다고 한다. 

 

딥러닝 네트워크는 일반적으로 깊어지면 깊어질수록 성능이 잘나오는데 이 또한 gradient vanishing문제가 생긴다고 한다. 따라서 초기 CNN 모델에서는 GoogleNet이 이를 보완했었는데 이러한 구조를 따라서 CE-Net은 비슷한 구조를 택했다고 한다.

https://arxiv.org/pdf/1903.02740.pdf

그러나 이러한 구조의 단점은 복잡하기 때문에 model modification하는 과정에서 어려움을 느낀다고 한다.

 

 

CNN 모델의 경량화를 위해 만들어진 네트워크가 depth seperability 를 활용한 MobileNet인데 이는 성능은 다른 SOTA 모델과 비슷하지만 파라미터수가 적은 장점을 보여주었다. 따라서 Light V-Net은 이를 활용하다.

https://ieeexplore.ieee.org/document/9053454

 

Lightweight V-Net for Liver Segmentation

The V-Net based 3D fully convolutional neural networks have been widely used in liver volumetric data segmentation. However, due to the large number of parameters of these networks, 3D FCNs suffer from high computational cost and GPU memory usage. To addre

ieeexplore.ieee.org

 

 

요즘 neural network 모델들은 Attention block을 포함하는 경우가 많은데 이는 모델이 어느 곳에 더 집중해야 할지 알려준다(이에 대한 내용은 많이 나오지 않는데 아마 시기가 2021년이라 vision분야에 많이 적용이 되지 않아서 그런가 싶다).

 

Local spatial attention 은  spatial 한 정보를 이미지에서 추출할 수 있다고 한다. 

 

https://arxiv.org/abs/1811.01549 

 

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition

Despite the success of deep learning for static image understanding, it remains unclear what are the most effective network architectures for the spatial-temporal modeling in videos. In this paper, in contrast to the existing CNN+RNN or pure 3D convolution

arxiv.org

 

이 외에도 attention과 비슷하게 CNN을 활용해서 channel attention을 활용한 SE-Net이 있는데 이를 segmentation에 활용한 FED-Net이 있다.

https://arxiv.org/abs/1903.11834 

 

Feature Fusion Encoder Decoder Network For Automatic Liver Lesion Segmentation

Liver lesion segmentation is a difficult yet critical task for medical image analysis. Recently, deep learning based image segmentation methods have achieved promising performance, which can be divided into three categories: 2D, 2.5D and 3D, based on the d

arxiv.org

 

 

위에 나온 spatial attention과 channel attention의 장점들만을 합쳐 만든 구조가 focusNet이다.

https://arxiv.org/abs/1902.03091

 

FocusNet: An attention-based Fully Convolutional Network for Medical Image Segmentation

We propose a novel technique to incorporate attention within convolutional neural networks using feature maps generated by a separate convolutional autoencoder. Our attention architecture is well suited for incorporation with deep convolutional networks. W

arxiv.org

이 외에도 연구를 해보았을 때 channel attention은 image segmentation performance에 좋은 영향을 미친다고 한다. 우ㅏ에서 attention에 대한 많은 연구가 이루어졌지만 global information에 대한 정보를 놓치고 있다는 지적이 있다. 추가로 down sampling을 하는 과정에서 spatial한 정보도 소실된다고 하며 이러한 해결책은 layer를 깊게 쌓는 것이지만 이는 높은 연산량이 수반된다고 한다.

 

이러한 local convolutional의 단점을 극복하기 위해 제기된 논문이 non local UNet이며 self attention과 global aggregation block을 사용했으며 구조는 밑과 같다.

https://arxiv.org/abs/1812.04103

 

Non-local U-Net for Biomedical Image Segmentation

Deep learning has shown its great promise in various biomedical image segmentation tasks. Existing models are typically based on U-Net and rely on an encoder-decoder architecture with stacked local operators to aggregate long-range information gradually. H

arxiv.org

 

지금까지 많은 attention 기법들이 나왔지만 spatial attention은 target region을 잘 찾고 channel attention 은 interesting features들을 잘 찾는다고 한다. 그러나 이러한 attention들은 non local attention에 비해 조금 떨어진다고 하며 CNN을 사용하여 segmentation을 수행할 때는 non local attention기법을 사용하는 것이 좋다고 한다.

 

 

이미지를 다룰 때 여러 scale의 이미지를 다루는 것 또한 중요하다고 한다. tumor이미지는 middle, late stage 크기가 early stage의 크기보다 크다고 한다(여기서 stage는 얼마나 병이 진전되었는지를 보는 거 같다). 따라서 이미지크기를 맞춰주는 pooling layer가 중요하다고 한다.

 

초기에 제안되었던 것이 spatial pyramid pooling 과 이를 조금 보완한 residual multi kernel pooling이다.

https://arxiv.org/abs/1406.4729

 

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

Existing deep convolutional neural networks (CNNs) require a fixed-size (e.g., 224x224) input image. This requirement is "artificial" and may reduce the recognition accuracy for the images or sub-images of an arbitrary size/scale. In this work, we equip th

arxiv.org

그러나 이러한 pooling의 단점이라고 하면은 upsampling 에 대한 loss를 저장하지 않는 단점이 있다고 한다.

 

 

이를 보완하기 위해 Atrous spatial pyramid pooling이 등장한다.

https://arxiv.org/abs/1606.00915

 

DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs

In this work we address the task of semantic image segmentation with Deep Learning and make three main contributions that are experimentally shown to have substantial practical merit. First, we highlight convolution with upsampled filters, or 'atrous convo

arxiv.org

효과적으로 receptive field 를 늘릴 수 있다고 한다. 그러나 단점이라고 하면 아래 그림처럼 hole 에 대한 정보손실이라고 할 수 있다.

위에서 말한 ASPP에 대한 단점을 극복하기 위해 non local과 ASPP를 합친 구조가 있다.

https://arxiv.org/abs/1811.12596

 

Parsing R-CNN for Instance-Level Human Analysis

Instance-level human analysis is common in real-life scenarios and has multiple manifestations, such as human part segmentation, dense pose estimation, human-object interactions, etc. Models need to distinguish different human instances in the image panel

arxiv.org

Atrous CNN으로 인해 손실된 정보를 줄이기 위해 각각 scale이 다른 ASPP를 적용하고 이를 합치는 과정이다.

 

 

Loss function

더 좋은 정확도와 속도를 위해서는 새로운 loss function을 정의하는 것은 좋은 결과를 이끈다고 한다.

 

Cross Entropy는 image segmentation에서 가장 유명한 손실함수이다. 이 함수는 각 픽셀마다 category에 대해 real값과 비교를 하고 손실값을 낸다.

 

그러나 클래스 불균형이 일어났는데 클래스마다 같은 비중을 두는 CE를 사용하면 안좋은 결과를 낼 수 있는데 Weighted Cross Entropy를 사용하면 이를 완화할 수 있다고 한다.

 

Dice loss또한 medical image segmentation을 평가하는 지표 중 널리 잘 알려져있다고 한다. 이 지표는 GT값과 실제로 매칭한 값이 얼마나 overlap되었는지를 평가하는 지표이다. 

3D에 대해서는 아래처럼 또 다른 Dice loss를 사용한다고 한다.

Dice loss는 uneven sample(class imbalance)에 대해 적합하다고 한다. 그러나 dice loss는 training을 어렵게 만들며 강건하지 않는다 한다. 

 

Tversky loss는 dice loss의 정규화된 버전이라고 하며, false positive 와 false negative를 조절한다고 한다.

 

Dice loss가 class imbalance를 잘 풀 수는 있지만 serious class imbalance에 대해서는 잘 작동하지 않는다고 한다(이 부분은 잘 이해 못하겠지만 강건하게 작동하지 않는다와 같은 의미같다). 따라서 Generalized Dice loss는 이보다 더 뛰어나며, 더 안정적이고 robust한 training process를 진행한다고 한다.

 

Boundary loss의 경우 class imbalance 문제를 해결할 수 있는데 segmented boundary 와 labeled boundary를 줄이는데 집중을 한다고 한다. 연구자들은 Dice loss 와 같이 썼을 때 가장 극대화된다고 말한다.

 

exponential logarithm loss 는 focal loss와 dice loss를 합친 것이다. 

 

 

 

많은 medical image segmentation task는 1,2개의 target 이 있으며 pixel ratio는 굉장히 적다고 한다. 따라서 성능을 올리기 기 위해서는 구조를 바꾸는 것보다는 손실함수를 바꾸는 것이 중요하다고 한다. 그러나 loss function을 디자인하는 것은 매우 task specific 하므로 분석할 때 주의를 기울여야한다고 말한다. 

 

 

이 외에도 네트워크의 구조를 깊게 쌓는다면 feature representation을 향상시킬 수 있지만, 동시에 vanishing gradient 혹은 gradient explosion문제를 가지게 된다. 따라서 auxiliary branching classifier를 추가하여 만든 구조가 DSNs이다. 이러한 deep supervision은 constrain the discrimination을 향상시킬 뿐만 아니라 efficiency, robustness를 향상시킨다고 한다.

https://arxiv.org/abs/1409.5185

 

Deeply-Supervised Nets

Our proposed deeply-supervised nets (DSN) method simultaneously minimizes classification error while making the learning process of hidden layers direct and transparent. We make an attempt to boost the classification performance by studying a new formulati

arxiv.org

 

Weekly supervised learning

segmentation에서 성능을 내려면 high quality labels 이 필요한데이는 비용이 많이 든다. 따라서 이에 대한 연구가 많이 이루어졌다.

 

Data augmentation

라벨들이 부족할 때는 데이터 증강을 일반적으로 사용하며 효율이 좋다. 데이터와 task가 어떤 것이냐에 따라 효율적인 데이터 증강방법이 갈리는데, colon tissue image를 segmentation할 때는 gaussian blur를 사용하기도 하고 tumor segmentation할 때는 random brightness를 사용하기도 한다. 그러나 기존의 방법들은 original images들과 연관성이 높다. 따라서 이를 보완하기 위해 GAN을 통한 이미지 증강을 활용하는 방법이 있다.

 

GAN같은 경우 데이터의 분포를 학습하기는 하지만 generator는 unguided state들을 생성한다. 그러나 cGAN을 통해서 결과를 어느 정도 control 할 수 있다. 밑은 cGAN의 framework이다.

https://arxiv.org/pdf/1806.05473.pdf

 

Transfer learning

저자들은 일반적인 이미지(ImageNet)로 pre-trained 해도 medical segmentation의 성능이 향상될 수 있다고 말한다. 기존 연구들이 VGG, ResNet encoder류 로 학습을 하고 U-Net구조를 취한다면 성능 향상이 있었다고 말한다. 이러한 이유에 대해서는 pre-trained 된 모델이 common underlying features를 학습했기 때문이라고 결론을 내린다. 

 

그러나 이렇게 domain 이 다른 것을 적용할 경우 문제가 생길 수 있다고 한다(앞에서는 성능향상이 일어났다고 하는데 여기서는 문제가 생길 수 있다고 한다. 향상이 일어날 수도 있지만 robust하지 않다는 말 같다). 특히 medical쪽은 이미지들이 3D인데 pre-trained이미지들은 2D라서 문제가 생길 수 있다고 한다. 따라서 이러한 domain adaption을 수행할 때는 CycleGAN을 사용하기도 한다. 

https://arxiv.org/ftp/arxiv/papers/1712/1712.07695.pdf

 

Interactive segmentation

medical image를 segmentation하는 것은 굉장히 time consuming한데 따라서 interactive segmentation방법을 소개한다. 이는 처음 들어본 방법인데 model 이 coarse sementation을 제시한다면 의사가 이를 조금 더 개선한 후 다시 모델에 제시하는 방법인 거 같다.

https://arxiv.org/abs/1710.04043

 

 

논문 뒷 내용에는 추가적으로 metric 방법과 구조들이 있다.