시멘틱 세그멘테이션 , FCN , GAN, Diffusion 모델 개념 정리

JJang-404·2025년 12월 1일

이미지세그멘테이션

목록 보기
12/14

1. Semantic Segmentation vs. Image Classification

구분정의출력 형태손실·평가 지표주요 활용 분야
Image Classification이미지 전체가 어느 클래스에 속하는지를 판별1 × C (C = 클래스 수)Cross‑Entropy, Top‑k accuracy이미지 검색, 라벨링 자동화
Semantic Segmentation이미지 각 픽셀이 어떤 클래스에 속하는지를 구분H × W × C (H,W = 입력 해상도)Pixel‑wise Cross‑Entropy, mIoU, Dice coefficient자율주행 차선·물체 인식, 의료 영상 해부구역 구분, AR/VR 배경 분리

핵심 차이

항목ClassificationSegmentation
예측 단위전체 이미지 (전역)픽셀 단위 (국부)
라벨 개수이미지당 1개이미지당 H·W 개
네트워크 구조Conv → FC → SoftmaxConv → 전역 up‑sampling → Pixel‑softmax
데이터 요구라벨 파일 1줄라벨 마스크 이미지(H × W)
학습 난이도상대적으로 낮음메모리·연산량↑, 클래스 불균형 처리 필요

2. Fully Convolutional Networks (FCN)

2‑1. 기본 아이디어

  • 전통적인 이미지 분류 CNN은 마지막에 Fully‑Connected(FC) 레이어를 두어 고정 차원의 벡터를 만든다.
  • FCNFC 레이어를 모두 제거하고 Convolution 연산만으로 구성한다.
    • 1×1 Conv 로 채널을 압축 → 전역적인 dense prediction 가능.
    • deconvolution(transpose‑conv)·bilinear up‑sampling·sub‑pixel conv 등을 사용해 입력 해상도로 복원.
    • Skip connection (저해상도·고해상도 특징 융합) 으로 경계 복원 성능을 높인다.

2‑2. 전형적인 FCN 흐름 (텍스트 형태)

Input (H×W×3)
 │
 ├─ Conv‑block‑1 → feature‑map‑1 (↓2)
 ├─ Conv‑block‑2 → feature‑map‑2 (↓4)
 ├─ Conv‑block‑3 → feature‑map‑3 (↓8)   ← deepest latent
 │
 └─ 1×1 Conv (채널 축소) → score‑map (↓8)
      │
      ├─ Upsample ×2 + skip(feature‑map‑2)
      ├─ Upsample ×2 + skip(feature‑map‑1)
      └─ Upsample ×2 → final H×W×C logits
  • Logits: (B, C, H, W) → softmax 를 픽셀마다 적용 → 예측 마스크.
  • Loss: CrossEntropyLoss 를 픽셀 레벨로 계산.

2‑3. FCN vs. 전통 CNN (분류)

항목전통 CNN (분류)FCN (분할)
최종 레이어Linear → Softmax (1‑D)1×1 Conv → Upsample → Pixel‑softmax (2‑D)
파라미터 수고정 (이미지당)비슷하지만 메모리 사용량은 해상도에 비례
출력 형태(B, C)(B, C, H, W)
라벨 종류이미지 라벨 1개픽셀 라벨 전체 (dense)
장점빠른 학습, 간단공간 정보 보존, 경계 복원에 강함

3. GAN (Generative Adversarial Network)

3‑1. 구성 요소와 역할

구성 요소역할기본 손실식
Generator (G)임의의 노이즈 z(또는 조건 y) 를 받아 가짜 이미지 x̂ = G(z, y) 를 생성한다.L_G = - E_z[ log D(G(z)) ] – 판별자를 속이도록 학습
Discriminator (D)입력 이미지가 실제인지 가짜인지 판단한다.L_D = - E_x[ log D(x) ] - E_z[ log(1 - D(G(z))) ] – 실제는 1, 가짜는 0에 가깝게 학습

3‑2. 주요 변형

변형특징사용 목적
Conditional GAN (cGAN)라벨 y 를 입력에 연결( concat / embedding )조건부 이미지 생성 (예: “숫자 3” 이미지)
StyleGAN스타일 매핑 네트워크와 AdaIN 으로 고해상도·고품질 이미지 생성인물·풍경 등 고품질 합성
BigGAN대규모 클래스 수와 높은 차원의 라벨 임베딩대규모 데이터셋(예: ImageNet)에서 향상된 다양성
VAE‑GANVAE 의 인코더‑디코더 구조에 GAN 판별자를 결합VAE 의 모드‑콜랩스 완화 + 고품질 샘플
Diffusion‑GAN확산 과정에 GAN 손실을 추가해 샘플링 속도 향상빠른 추론 + 확산 모델의 안정성

3‑3. 학습 흐름 (간단히)

  1. Discriminator 업데이트
    • 실제 이미지와 G 가 만든 가짜 이미지를 입력 → 손실 L_D 최소화.
  2. Generator 업데이트
    • G 로 만든 가짜 이미지를 D 에 입력 → D 가 “진짜”라고 판단하도록 손실 L_G 최소화.

이 과정을 교대로 여러 번 반복한다.


4. Diffusion 모델 (DDPM / DDIM)

4‑1. 기본 아이디어

  1. Forward (Noise) Process

    • 원본 이미지 x₀가우시안 노이즈를 단계별(t = 1 … T)로 점진적으로 섞는다.

    • 각 단계는
      [
      q(xt|x{t-1}) = \mathcal N\bigl(xt;\; \sqrt{\alpha_t}\,x{t-1},\;(1-\alpha_t)I\bigr)
      ]
      여기서 α_t = 1‑β_t , β_t 는 사전 정의된 노이즈 스케줄.

    • 한 단계만 사용해도
      [
      q(xt|x_0)=\mathcal N\bigl(x_t;\;\sqrt{\bar\alpha_t}\,x_0,\;(1-\bar\alpha_t)I\bigr)
      ]
      (`\bar\alpha_t = ∏
      {s=1}^{t}\alpha_s`).

  2. Reverse (Denoising) Process

    • 학습된 노이즈 예측 네트워크 ε_θ(x_t, t) 가 현재 단계의 노이즈를 추정한다.
    • 역방향 전이 확률은
      [
      p\theta(x{t-1}|xt) = \mathcal N\bigl(x{t-1};\; \mu\theta(x_t,t),\;\sigma_t^2 I\bigr)
      ]
      where
      [
      \mu
      \theta(xt,t)=\frac{1}{\sqrt{\alpha_t}}\Bigl(x_t-\frac{\beta_t}{\sqrt{1-\bar\alpha_t}}\,ε\theta(x_t,t)\Bigr)
      ]
  3. 학습 목표

    • 실제 노이즈 ε 와 네트워크가 추정한 ε_θ 사이의 L2 손실을 최소화한다.
      [
      \mathcal L(\theta)=\mathbb{E}{x_0,\,t,\,ε}\Bigl[\lVert ε-ε\theta\bigl(\sqrt{\bar\alpha_t}x_0+\sqrt{1-\bar\alpha_t}ε,\;t\bigr)\rVert^2\Bigr]
      ]

4‑2. DDPM vs. DDIM

구분DDPM (Stochastic)DDIM (Deterministic)
샘플링 단계T 단계 (보통 1000)S 단계 (보통 50~200)
확산 역전 방식μ + σ·z 로 무작위성 유지μ 만 사용 → deterministic
품질/속도높은 품질, 느림빠른 속도, 품질 약간 감소(하지만 충분히 우수)
적용 사례Stable Diffusion (텍스트‑조건)Imagen, DDIM‑variant Stable Diffusion

4‑3. Diffusion 모델의 장점

  • 학습 안정성 – KL‑역전 손실이 명시적이어서 모드 콜랩스가 거의 없음.
  • 다양한 조건화 – 텍스트 (CLIP), 라벨, 깊이 지도 등 다양한 컨텍스트를 t 와 별도 인코더를 통해 쉽게 결합할 수 있다.
  • 고해상도 생성 – U‑Net 기반 네트워크가 이미지 전체를 동시에 처리하므로 세밀한 디테일 복원이 가능.
  • 잠재 공간 확장 – VAE‑style latent diffusion (이미지를 저차원 latent에 압축 후 diffusion 수행) 으로 메모리·연산 효율을 크게 개선한다.

5. Q&A 정리

Q1. Semantic Segmentation이란 무엇이며, 이미지 분류(Classification)와 어떤 차이가 있나요?

  • Semantic Segmentation 은 이미지의 각 픽셀에 의미(클래스) 라벨을 할당하는 작업이며, 결과는 동일 클래스가 모든 픽셀에 같은 색상·라벨로 표시된 마스크이다.
  • 이미지 분류 는 이미지 전체에 하나의 클래스 라벨만 부여한다. 따라서 분류는 전역적인 답변을, 세그멘테이션은 국부적인 답변을 제공한다.
  • 메모리·연산 요구량, 라벨 형식, 손실·평가 지표 등 여러 면에서 차이가 존재한다(표 1 참고).

Q2. Fully Convolutional Networks(FCN)의 주요 특징과 기존 CNN 기반 분류 모델과의 차이점은 무엇인가요?

  • FCN 은 전부 Convolution 으로만 구성해 1×1 Conv 로 채널을 압축하고 Upsampling 으로 입력 해상도로 복원한다.
  • 기존 CNN은 마지막에 Fully‑Connected 레이어를 두어 고정 차원의 벡터를 만든 뒤 softmax 로 클래스 확률을 출력한다.
  • FCN 은 skip connection 으로 저해상도·고해상도 특징을 결합해 경계 복원 능력을 높이며, 출력이 (B, C, H, W) 형태인 픽셀‑단위 확률 맵이다.

Q3. GAN에서 생성자(Generator)와 판별자(Discriminator)의 역할은 각각 무엇인가요?

  • Generator : 임의의 노이즈(또는 조건) z 를 받아 가짜 이미지 x̂ = G(z) 를 만든다. 목표는 판별자를 속여 “실제”라고 판단하게 하는 것이다.
  • Discriminator : 입력 이미지가 실제인지 가짜인지를 구분한다. 목표는 실제 이미지는 1, 가짜 이미지는 0에 가깝게 예측하도록 학습한다.
  • 두 네트워크는 zero‑sum 게임 형태로 교대로 업데이트되며, 이 과정을 통해 생성자는 점점 더 사실적인 이미지를 만들어낸다.

Q4. Diffusion 모델이 이미지 생성에서 어떻게 활용되며, 어떤 장점이 있나요?

  • 활용 : 원본 이미지에 단계별 가우시안 노이즈를 더해 forward diffusion 과정을 만들고, 학습된 노이즈 예측 네트워크를 이용해 reverse diffusion 로 순차적으로 노이즈를 제거하며 이미지를 복원한다. 텍스트‑조건(CLIP), 라벨‑조건 등 다양한 컨텍스트와 결합할 수 있다.
  • 장점
    1. 학습 안정성 – 명시적인 확률 손실을 사용해 모드 콜랩스가 적다.
    2. 다양한 조건화 – 텍스트, 레이블, 깊이 지도 등 여러 형태의 조건을 손쉽게 포함할 수 있다.
    3. 고품질·다양성 – 여러 단계에 걸쳐 세밀한 디테일을 복원하므로 사진‑같은 고해상도 이미지 생성에 강점이 있다.
    4. 잠재 확산(Latent Diffusion) – VAE 로 이미지를 저차원 잠재 공간에 압축하고 그곳에서 diffusion을 수행해 메모리·연산 비용을 크게 절감한다.

6. 참고 자료·연구 논문

분야핵심 논문·리소스URL
Semantic Segmentation“Fully Convolutional Networks for Semantic Segmentation” (Long et al., 2015)https://arxiv.org/abs/1411.4038
FCN 변형DeepLab‑v3+, PSPNet, U‑Net 등다양한 구현이 GitHub에 공개
GAN“Generative Adversarial Networks” (Goodfellow et al., 2014)https://arxiv.org/abs/1406.2661
Conditional GAN“Conditional Generative Adversarial Nets” (Mirza & Osindero, 2014)https://arxiv.org/abs/1411.1784
Diffusion“Denoising Diffusion Probabilistic Models” (Ho et al., 2020)https://arxiv.org/abs/2006.11239
DDIM“Denoising Diffusion Implicit Models” (Song et al., 2020)https://arxiv.org/abs/2010.02502
Latent Diffusion“Latent Diffusion Models” (Rombach et al., 2022)https://arxiv.org/abs/2112.10752
Stable Diffusion“Stable Diffusion” (Rombach et al., 2022) – HuggingFace diffusershttps://github.com/huggingface/diffusers

마무리

  • Semantic Segmentation 은 픽셀‑단위 라벨링, FCN 은 그 목적을 위한 핵심 아키텍처이며, GAN 은 생성‑판별 경쟁을 통해 사실적인 이미지를 만든다.
  • Diffusion 모델 은 노이즈를 점진적으로 더하고 빼는 과정에서 확률적 학습을 수행해 고품질 이미지를 생성한다.
  • 최신 Stable Diffusion 은 latent diffusion + text‑condition (CLIP) 을 결합한 대표적 실용 모델이며, VAE‑GAN‑Diffusion의 장점을 서로 보완한다.

다음 단계에서 구체적인 코드(예: U‑Net 기반 FCN, VAE‑latent diffusion, 혹은 Stable Diffusion 파인‑튜닝 등)를 원하시면 언제든 알려 주세요.

profile
V I S I O N _ E N G I N E E R

0개의 댓글