-
Multi-Conditioned Denoising Diffusion Probabilistic Model (mDDPM) for Medical Image Synthesis 논문 리뷰논문 후기와 구현 2024. 10. 8. 15:51
한 달 전(24년 9월)에 공개된 논문이다. 이 논문을 DDPM을 사용하되, 해부학적 가이드를 통한 샘플링을 적용한다. 조건 명세를 입력으로 받아 주석이 달린 합성 이미지를 생성하여 의료 AI의 학습데이터 부족 문제를 해결하는 데에 목적이 있다.
1. 이 논문은 DDPM을 이용한다.
아래는 이 논문에 나온 수식인데, 기본적인 DDPM 수식에서 크게 바뀐 부분이 없다.
DDPM은 한마디로, 노이즈로 가득한 x_T에서 x_{T-1}, x_{T-2}, ..., x_0까지 노이즈를 줄여가며 이미지를 생성하는 것이다.
2. Multi-Annotations Guidance
이 논문의 핵심(?)은 여기서부터이다. ILVR(서울대학교 최주영 등)의 Guidance 기법을 이용하여, 모든 HU windows(의학용어임)에서의 폐CT이미지 생성을 실행한다.
아래 그림에서 감을 잡을 수 있는데, x_T에서 x_0로 가는 과정에서, Lung CT Image Space가 condition으로 걸림과 동시에, 저주파 필터 Φ 또한 condtion으로 걸려있음을 눈치챌 수 있다. 저주파 필터
Φ는 각각의 condition image를 필터링하여 저주파(이미지의 큰 틀)만 걸러내고, x는 Φ의 교집합으로 수렴된다.
위 그림에서 Φ(Y1) 영역 주변에 점선이 있는 걸 볼 수 있는데, 저주파 필터 스케일을 조정하여 저 영역을 tuning할 수 있다는 것을 시각화한 것이다.
상세 알고리즘은 아래와 같다:
이 알고리즘과 위의 그림을 보면, x를 파란색 영역(즉, 폐로 보일 정도로 이끄는 것)은 10번 줄에서 일어나고, 그 이후에 저주파 필터 로 guide가 되는 부분이 눈에 띈다. 아마도 오타인 것 같기는 한데..., 14번 줄의 부등호 방향이 바뀐 것 같다. t < a_s가 되어야, 즉, 초기 노이즈 덩어리에서 노이즈가 좀 빠지고 적어도 폐처럼은 보인 다음에야 guidance image로 유도하는 것이 논리적으로나 실무적으로나 더 말이 되는 것 같다.
그리고, 논문에서 스스로 지적하듯이, 저주파 필터 Φ들 사이의 교집합이 없으면 제대로 생성이 되지 않는 문제가 있다. 그렇기 때문에 guidance 이미지가 지나치게 많아지면 필터 스케일을 조정하여 Φ 범위를 넓혀야 하는데, 이게 또 지나치게 넓어지면 원 이미지 속성이 제대로 반영되지 않는 문제점이 있다고 한다. 그래서 guidance 이미지는 3-4개가 적당하다고 한다.
3. 근데 주석 달린 이미지 생성은?
이 논문은 한계점이 명확하다. 일단 코드가 없다는 점, 저주파 필터 Φ에 들어갈 Guidance image가 3-4개가 한계라는 점, 그리고 실험 부분이 처음에 말한 목적과 조금 달라보인다는 점이다. 논문은 초반에 의학 데이터 부족 문제를 들어, 이를 ddpm을 활용해 "주석이 달린" 이미지를 생성하여 학습데이터를 늘릴 수 있을 것처럼 이야기한다. 근데 그 과정에서 multi-conditioning을 통해 label이 하나만 달리지 않는 의학 데이터의 속성을 반영하는 것처럼 보였다.
그러나 실험의 내용은 생성된 폐CT 이미지에 대해 시각 튜링 테스트를 적용한 결과 등만을 보여주어, 주석과 생성 이미지가 얼마나 매칭이 잘 되는지, guidance image에 얼마나 충실하게 생성이 되었는지는 미지수라는 아쉬움이 있다.
'논문 후기와 구현' 카테고리의 다른 글
Classifier-Free Diffusion Guidance 논문 요약 (1) 2024.10.15 CoLa-Diff: Conditional Latent Diffusion Model for Multi-Modal MRI Synthesis 논문 요약 (0) 2024.10.14 Spline-based Transformers 요약 (1) 2024.10.07 Coqui TTS (XTTS-v2) 한국어 Fine-Tuning (7) 2024.09.03 고등학생도 하는 GPT Fine-Tuning (AI-Hub 방언 데이터셋 활용해서 fine-tuning해보기) (9) 2024.09.02