ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Image to Image Translation] 얼렁뚱땅 Image-to-Images Translation for Multi-Task Organ Segmentation and Bone Suppression in Chest X-Ray Radiography 리뷰
    얼렁뚱땅 논문리뷰 2022. 2. 14. 18:06

    하이 방가방가 - !

     

    오늘 정리할 논문은 IEEE Transactions on medical imaging 저널의 논문이다

    논문을 쓰기 위해서 저널을 찾아보고 있었는데, 내 논문의 가장 큰 기반이 되는 것이 Pix2Pix이다보니

    "Pix2Pix 모델을 살짝 고쳐서 낸 논문" 혹은 "Pix2Pix 모델을 적용한 논문"이 뭐가 있나 찾아보고 있었다

     

    그러다 발견한 논문인데, 기존 Pix2Pix를 변형하여 Multitask에 적합하게 바꾸었다고 한다

     

     

     

    Introduction

    가슴 방사선촬영(가슴 X-ray 혹은 CXR)이라고 불리는 이 친구는 장기 및 뼈 구조를 진단하기 위해서 많이 사용된다.

    이를 이용하여, 폐렴, 결핵, 폐암, 심부전 등을 진단할 수 있다

    그리고 폐질환을 위해 굉장히 많이 사용되고 있다.

     

    그러나, CXR을 보았을 때, 중첩된 장기 그리고 낮은 해상도, 세밀한 모양 및 크기 등의 이유로 

    CXR을 보고 해석하는 것은 현재 도전으로 남겨져 있으며, 이것을 잘 판단할 수 있는 Staff가 필요하다

    이것을 사람이 직접 맨날 보는 것은 엄청난 많은 사진을 보기 때문에 업무피로가 증가하며,

    대부분의 질병판단에 있어서 CXR을 Screening 하는 단계에서 주로 오판단이 존재한다.

    따라서, 이것을 더 객관적이고 피로없이 수행할 수 있는 컴퓨터 기반 판단이 필요하다

     

    CXR을 이용한 기존 연구들에서 비정상적인 조짐을 Detection하거나, 폐의 결절을 탐지 및 진단 등을 주로 수행하였다.

     

    본 논문의 목표는 "Organ segmentation(장기 세그멘테이션)"과 "bone suppression(뼈 억제 : 뼈 있는 것을 제거하고 장기(이 논문에서는 특히 폐)만 남도록)" 하는 두가지 Multitask가 가능한 deep learning framework를 개발하는 것이다.

     

    Organ segmentation은 컴퓨터가 장기를 감지하고 진단하기 위해서 주로 사용되고,

    Bone suppression은 질병이 보이는 결과(질병으로 나타나는 결과)의 가시성을 향상시킨다. 특히 폐의 결절

     

    Multitask Learning은 둘 이상의 작업이 서로 본질적으로 관련이 있을 때 적용가능한 방법이다.

    Multitask Learning를 하면 여러개의 task에 대한 관계를 파악하고 통합된 학습 프로세스로 이어지며, 한가지 Architecture에서 Multitasking이 가능한 장점이 존재하며, 일반화에 대한 더 좋은 결과를 산출한다.

     

    본 논문에서 하려고 하는 Organ segmenation과 bone supression은 공간적으로 일맥상통한다.

    왜냐면 bone supression을 하기 위해서는 장기를 판별하고 뼈도 판별한다음에 뼈가 잘 안보이게 해야하는 그런 일련의 과정이 필요하기 때문이다.

    그리고 organ segmentation을 수행하기 위해서는 갈비뼈가 어디있는지 보고 그걸 배제한 나머지 공간 내의 장기들을 segmentation 해야하기 때문에 두개의 Task는 서로 연관성이 있다고 한다.

     

    따라서 본 논문에서는 Multitask가 가능한 image to image translation 알고리즘을 개발하고자 한다.

    이는 기존 Paired한 데이터에 대해 Image to Image translation 및 image segmentation을 잘 수행한다고 알려진 Pix2Pix의 아키텍처를 차용하여 사용한다. 

    Pix2Pix 아키텍처를 수정하여 Multitask가 가능한 아키텍처로 만들고자 하며 그래서 이 논문에서 제안한 아키텍처의 이름은 Pix2PixMT....(모야 진짜 못지었어)

     

    또한, 기존에 pix2pix가 기본 Convolution을 이용하였는데, 본 논문에서는 결과를 더욱 향상시키는 것으로 알려진 Dilated Convolution을 사용하였다.

    그래서 이 향상된 모델의 이름은 Pix2PixMTdG.......(모야 진짜)

     

    정리해보자면, 본 논문에서 제안한 Pix2PixMTdG는 Input 데이터로 CXR로 사용하며,

    Output은 뼈의 형태가 안보이고 오직 폐만 보이게 하는 사진 하나와 심장과 폐를 Segmentation한 사진 

    이렇게 두개를 동시에 출력한다.

     

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    본 연구의 contribution을 간단 정리하자면

    1. 기존 Pix2Pix 아키텍처를 바꿔서 Multitask가 가능한 모델을 제안

    2. Multitask가 가능하도록 설계해서 서로 다른 2개의 Task에 대해 매개변수 등을 공유하는데, 이렇게 해보니 더 성능이 좋은 결과가 나옴

    3. 뇌 MRI 등과 같은 다른 데이터를 이용해서도 확장된 적용 가능

     

    Related Works

    사실 본 논문의 related works는 총 4가지 챕터로 나눠져 있는데

    Organ Segmentation, Bone and Rib Suppression, Joint Tasks via multitask learning, Image to Image Translation(Application and Method) 이렇게 구성되어있다.

    근데 앞의 2개의 경우 기존 연구들이 어떻게 수행했는지인데, 기존 연구들이 주르륵 나와있고

    나는 그닥 궁금하지 않기 때문에 읽지 않겠다.

     

    Joint Tasks via Multitask Learning

    여러 Task 들을 각각 단일 작업하는 것보다 한번에 작업하는 Multitask Learning을 이용해서 몇가지 개선을 이끌어 낼 수 있다.

    첫 번째는, 각자 수행하는 것에 비해 정확도가 더 높아진다

    한 연구에서는 Multitask learning을 facial landmark detection에 수행하였는데, 이와 함께 수행한 추가적인 Task로써 head pose estimation, gender classification 등을 수행하였다.

    그랬더니 각각 수행했던 것 보다 더 성능이 개선된 것을 확인 가능하였다.

    Ranjan, Rajeev, Vishal M. Patel, and Rama Chellappa. "Hyperface: A deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition."  IEEE transactions on pattern analysis and machine intelligence  41.1 (2017): 121-135.

    두 번째는, 파라미터를 optimization 하는데 효율성이 좋다는 것이다.

    각각 학습 시켰을 때는 각각에 대한 파라미터를 최적화해야하지만, Multitask learning의 경우 한번에 수행하기 때문에, 조절해야하는 파라미터의 수가 보다 적다.

    따라서 핸드폰이나 그런 모바일 기기에서 적용이 가능하다.

     

    즉 시스템 효율성있으며 결과의 향상을 보여준다

    뭐를 통해 ? 하나의 네트워크로 두 가지 작업을 공동을 수행함으로써

     

    Image to Image Translation : Applications and Method

    Image to Image Translation이 의미하는 것은 Input image x에 대해 이에 상응하는 image y를 도출하는 task이다

    대표적으로 low-resolution -> high-resolution, grayscale -> color 등 등.. 등 ..!

    Medical imaging을 segmentation, denosing, super-resolution 등을 수행할 때에도 많이 사용된다.

    (Image to Image Translation에 대한 자세한 것은 그 뭐지 Pix2Pix 논문 리뷰에서 자세하게 하겠다)

    (근데 언제할지는 나도 모른다)

     

    본 논문에서의 취지와 맞는것은 Paired한 Data를 이용한 Image to Image Translation 이다.

    Pix2Pix, BicycleGAN 등 다양한 모델이 있는데,

     

    BicycleGAN의 경우, 주어진 이미지와 Noise z를 이용해 다양한 image를 생성하는 모델로 본 논문의 취지와 맞지 않아서 Pix2Pix가 유일한.. 방법론..이다 ..? ㅎㅎ

    (이 친구 내 초록 같당 >< 나도 Pix2Pix 사용하는 이유 설명하려고 구구절절 설명했는뎅 ㅎㅎㅎ)

     

    Materials & Method

    Methodology

    Pix2Pix 모델을 차용하였다.

    기존의 Pix2Pix는 하나의 Task에 대한 Image to Image Translation만 가능하다.

    아래 그림과 같이 Generator Network를 통해 나오는 결과물의 Filter를 6으로 줌으로써 두개의 이미지를 출력하겠다는 거다

    기존에는 Filter를 3으로 줌으로써 (RGB) 한개의 사진만 예측했었다.

     

    따라서 Output은 y1과 y2 두개를 출력한다.

    y1은 organ segmentation이며, y2는 bone suppression이다.

     

    그리고 Discriminator에 입력이미지 그리고 y1, y2 세개를 필터차원으로 합쳐서 Input으로 넣어줌으로써

    이것들이 정말 Paired한 관계인가를 Discriminator가 판별한다

     

    기존 Pix2Pix가 PatchGAN을 Discriminator 사용하여 좀 더 디테일한 정보를 파악했듯이

    본 논문에서도 그대로 차용하여 PatchGAN을 Discriminator에 적용했다

     

    (근뒑 삻싧 깆존 픽슽튜핔슷와 넘똙꽈톾서 볅롴 핢맑리옶둭)

    (얽륜 핔슺튜피슷 립븅핽얅게뙄)

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    그리고, Loss Function도 기존 Pix2Pix에서 사용한 cGAN Loss와 Pixel 사이의 Loss를 판별하는 L1 Loss를 함께 사용하는 형태를 사용했다.

    여기서 람다는 하이퍼파라미터적 성격을 보이는 가중치를 의미한다.

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    본 논문에서 살짝 다르게 적용한게 있는데 그것은 바로 ! 

    기존에 downsampling을 위해 Convolution을 이용하였는데, 본 논문에서는 Dilated Convolution을 이용하였다.

    Dilated Convolution의 장점은 더 넓은 범위에 대해 이미지를 수용할 수 있다는 장점이 존재한다.

     

    왼쪽이 Convolution이고 오른쪽이 Dilated Convolution이다

    Dilated Convolution은 아래 그림과 같이 픽세 사이에 간격을 두어 수용하는 형태를 보인다.

    https://eehoeskrap.tistory.com/431

     

    Data

    Japaness Society of Radiological Technology(JSRT)에서 제공한 데이터 셋을 이용하였다.

    JSRT에서 제공한 데이터는 CXR 이미지가 있으며, 공개적으로 사용가능하다.

    폐와 심장 Segmentation된 Mask의 경우 2006년도에 데이터베이스가 추가적으로 공개되었다.

     

    JSRT의 데이터는 247개의 CXR 이미지로 구성되어있으며 모든 해상도는 2048x2048 grayscale, depth는 12 bits이다

    Bone Suppression에 대한 결과 또한 추루 연구에서 수행하였으며, 해당 결과를 공개적으로 이용가능하기 때문에 이를 이용하였다.

     

    기존 연구들의 결과에 따라 512x512 정도의 해상도면 질병을 분류하고 결절을 찾는데에 충분하므로 전처리를 통해 이미지를 512x512로 조절하여 사용하였다.

    현재 데이터셋이 247개로 매우 적은 편에 속하므로, 이미지를 rotation, coordinate translation와 같은

    고전적인 Data Augmentation을 통해 데이터를 5배 증가하여 1,235개의 데이터를 이용하였다.

     

    또한 다른 데이터셋에서도 적용가능한 일반화를 보여주기 위하여 LDCT 데이터 셋을 추가적으로 이용했다.

    이는, 복부의 CT 사진이 있는 50명의 피실험자 데이터이며 13개의 organ으로 segmentation labeling 이 되어있다.

    추가적으로는 MRBrainS18 챌린지 데이터셋을 이용하여 뇌에도 적용해보았다..

     

    Results & Discussion

    Organ Segmentation

    Mask labeling은 심장, 왼쪽 폐, 오른쪽 폐 이렇게 진행하였으며

    아래 네가지 평가지표를 이용해 모델과 생성한 것의 정확도를 평가하였다.

     

    여기서 사용한 평가지표중 Dice라는 것을 갠 적으로 처음 보았는데, ㅎㅎㅎ 부끄럽넹

    Dice는 축약된 말이 아니라 사람 이름이라고 한다.

    주로 medical image analysis에서 많이 사용되는 것이다.

    만약, Dice가 binary segmentation map에 적용될 때는 F1 Score와 동일하다.

     

    본 논문에서는 아래 표에 보면 알 수 있 듯, 각 부위별로 Segmentation 결과 값 또한 제공하므로 이를 수행할 때에는 F1 Score처럼 수행하였다.

     

    Jaccard는 아 ? 하이 IoU를 의미한다

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    기존에, UNet이 CXR Segmentation에 좋다고 알려져있기 때문에, UNet과 비교를 해보겠다.

    모두 본 논문에서 제안한 Pix2Pix MTdG가 더 좋은 성능을 나타낸 것을 확인 가능하다

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    아래 사진에서 윗 줄은 Pix2Pix MTdG가 잘 생성한 대표적인 예시이며, 밑에 줄은 잘 생성하지 못한 대표적인 예시이다

    2번째와 4번째가 본 논문에서 생성한 것이고 3번째와 5번째이가 GT 데이터이다.

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

    JSRT 데이터셋을 이용한 기존 연구들에 비해 성능이 높은편으로 나타난 것을 확인가능하다

    그리고 Image size에 따른 실험도 진행하였는데 당연하지만 본 논문에서 제안한거 끼리 비교하여도

    Image size가 큰 것이 성능이 더 좋으며, augmentation을 할 수록 더 좋다...

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    Bone Suppression

    이것을 평가하기 위해서는 2개의 평가지표를 사용하였다.

    먼저, SSIM(Structural Similarity Index Metrix) 를 이용하여, 수치적인 에러에 집중하는 것이 아닌 인간이 보았을 때 시각적 화질차이를 평가하고자한다.

    SSIM은 두개의 이미지가 주어졌을 때, 휘도, 대비, 구조를 이용해 두 이미지 사이의 비슷함 정도를 평가하며

    1에 가까울 수록 비슷한 이미지를 의미한다.

     

    그다음 평가지표로 사용한 것은 RMSE 이다. 

    RMSE의 경우 두 이미지의 Pixel 간의 거리를 계산하는 것으로 Pixel 단위의 유사도를 평가하는 것이다.

    식은 아래 사진과 같다.

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    위의 Task에서는 UNet과 비교를 하였는데, Bone suppression에서는 AutoEncoder와 비교를 하였다

     

    수치적으로 Autoencoder에 비해 우수한 결과를 보였다.

    또한 아래 사진의 1행은 잘 된 경우 2행은 잘 되지 않은 경우를 보여준 것이며

    2, 4열이 Predict한 것 3, 5열이 GroundTruth다

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    Discussion

    Performance analysis

    아래 표는 위의 결과를 종합적으로 정리한 것이다

    pix2pix ST는 Pix2Pix를 이용하여 Single Task만 적용한 것을 의미하며

    pix2pix STdG는 Single Task에 적용과 dilation convolution을 사용한 것을 의미한다.

     

    실험을 통해 알 수 있었던 점을 간단하게 정리해보자면

    1) pix2pix MTdG가 가장 좋은 성능을 보임

    2) pix2pix MT만으로는 기존 Pix2PixST에 비해 큰 성능향상을 이끌어내지 못함

    3) ST로 수행하는 것보다 파라미터적으로도 적으며 수행 시간도 적게 걸림

    4) 다른 모델들에 비해 Pix2PixMTdG는 더 많은 학습이 필요함 아래 보면 딴 것들에 비해 더 많이 학습한 것을 볼 수 있음

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    Ablation Study

    pix2pixST(Segmentation, Bone), pix2pixSTdG(segmentation, Bone), Pix2Pix MT, Pix2Pix MTdG 총 여섯가지의 모델의 loss curve 결과와 위의 표를 보면

    Loss curve의 경우 비슷하게 보이는 것을 확인 가능하다. 

    즉, Training data를 이용하였을 때는 비슷한 loss를 보이는데 실제 Test 해보았을 때에는 위의 표처럼 다른 model의 경우 Pix2Pix MTdG에 비해 성능이 좋지 않음을 확인 가능하다.

     

    Pix2Pix STdG와 Pix2Pix MTdG의 결과를 보았을 때, Multitask를 적용 하여 weight들을 공유한 것이

    더 좋은 성능을 이끌어 낸 것을 확인 가능하다

    또한, dG를 함께 사용한 것이 더 좋은 성능향상을 이끌어 냈다.

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    Quanlitative Analysis

     

    왼쪽부터 Input, GT, pix2pixST, unet, pix2pixMT, pix2pixMTdG의 결과이다

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

    (내가 생각해서 쓴 거 아니다 ㅜ 쓰다보니 내생각이 다분하게 들어간 것 같지만 정말 이렇게 써있었다)

    (억울해서 올리는 논문 ㅜ_ㅜ)

     

    1. 첫번째 줄을 보았을 때 Pix2Pix MTdG가 우수하다

    2. 두번째 줄을 보았을 때는 다른 Method와 비슷하다..

    3. 세번째 줄을 보았을 때, mulitask Pix2Pix(dilation을 사용하지 않은것)이 가장 우수한 결과를 보인다.

    이것을 보았을 때, dilation이 모든 경우에 가장 우수한 결과를 낸다고 할 수는 없다는 것을 볼 수 있다.

    4. 네번째 줄을 보면, false-positive segment들이 보인다 (마치 혼자있는 섬처럼 보이는 그런 친구들).

    네번째 줄에선 Pix2Pix 기반이 아닌 UNet이 가장 우수한 결과를 보이는 것을 볼 수 있다.

    이것은 Loss function과 관련이 있을 것이라고 생각한다.

    Unet의 Loss Function의 경우 Class에 대해서 제약을 걸어주는 것이 존재하는데 Pix2Pix의 경우 Loss function에 Pixel 단위의 Loss 만 보기 때문에 뭉쳐있지 않고 저렇게 섬처럼 생긴것이 생겼을 것이라는 것이다

    이는 후처리 단게에 쉽게 쇽 하고 지우면 되기는 하지만 이것이 Future Work에서 해결해야하는 문제이다.

    Dice와 같은 Segmentation Loss를 추가적으로 사용하면 더 좋은 개선이 있을 것이라고 생각한다.

     Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    Generalization of Method and Future Work

    본 논문에서는 앞선 논문들이 512x512 정도면 충분한 결과를 나타낸다는 것에 따라 주된 분석을 512x512로 수행하였다.

    하지만, 사실 데이터셋이 2048x2048 데이터이므로 이를 충분히 다 이용하면 더 좋은 결과가 나올 것이라고 기대할 수 있다.

    근데 실행을 하려면, 메모리적으로 한계가 존재하기 때문에

    더 큰 해상도를 이용하면 더 좋은 성능을 보일 수 있다는 것에 대한 가능성을 보여주기 위해서 여기서 512보다 저차원을 이용해본 것이다

    보면 아까도 말했지만, 256에 비해 512이 더 좋은 성능을 보인다.

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

     

    또한, 본 연구에서는 가슴 엑스레이 사진을 이용하였는데, 다른 Task를 잘 수행할 수 있을지에 대해 

    다른 데이터셋을 이용하여 실험한 것이다.

     

    첫번째 저 복부 CT를 사용한 것은 정확히 뭘 탐지하는지 까지 자세히 안봤는데 ㅎ

    무튼, Multitask를 수행하는데 첫번째는 전에 비해 조금 더 고화질로 만드는 것이고, 2번째는 뭔지 모르는 두 부위 segmentation을 수행한 것이다

    옹 근데 첫번째 테스크는 ST가 더 좋은 성능을 보이고 Segmentationd은 옹 Pix2Pix MTdG가 더 성능 좋넹

     

    두 번째 뇌 사진 이용한 것은 아 사실 제대로 찾아봐야하는데 귀찮ㄴ아서 그냥 논문에 있는대로만 쓰자면

    MRI에 T1, T2뭐 그런게 있는거 같은데

    두번째 사진의 첫번째 Task는 T1을 inverse시키는 것이고 2번째 Task는 T2를 보는 것이다

     

    아 배고파아아아 아아러ㅏ이러;미ㅏㅇ러미ㅏㅇ러 ㅏㅣ얼미;아럼이라ㅓㅁ이;라ㅓㅁㅇㄹ

    무튼 다른 Task에도 잘 된다 그럼 안녕 

    Eslami, Mohammad, et al. "Image-to-images translation for multi-task organ segmentation and bone suppression in chest x-ray radiography."  IEEE transactions on medical imaging  39.7 (2020): 2553-2565.

    댓글

Designed by Tistory.