Various Image Processing Applications based on Deep Learning Techniques

hyeony·2025년 6월 22일

VISION

목록 보기
6/6

1. Auto-Encoder

가. Introduction

  • 입력과 출력의 형태가 같은 네트워크

  • 인코더(encoder) 파트와 디코더(decoder) 파트로 구성

  • 입력 이미지를 그대로 복원하도록 학습(self-supervised/unsupervised)

  • latent space에 입력보다 낮은 차원의 표현을 학습함

나. 구조 및 학습 (입력=출력, latent 공간)

  • 인코더: 입력 xRnx\in\mathbb{R}^n을 낮은 차원의 잠재 벡터 zRkz\in\mathbb{R}^k로 매핑

  • 디코더: zz를 다시 원래 차원 nn의 재구성 x^\hat{x}으로 복원

  • 손실 함수: 재구성 오차 L(x,x^)=xx^2\mathcal{L}(x,\hat{x}) = \|x - \hat{x}\|^2 등을 최소화하여 학습

  • 예시: 배치 크기 BSBS인 경우 [BS,784][BS,latent][BS,784][BS,\,784]\to[BS,\,latent]\to[BS,\,784] 형태로 흐름

다. CNN 버전

① Convolution Encoder
Conv2d 계층 여러 개로 입력 이미지에서 feature map 추출

② Upsampling Decoder

  • 고정된 업샘플링: nearest-neighbor, bilinear, bicubic interpolation

  • 학습 가능한 업샘플링: transposed convolution (fractional-strided conv)

③ 용어 정리

  • convolution: 일반적인 feature 추출용 합성곱

  • de-convolution / transposed convolution: upsampling을 학습하는 합성곱

④ 흐름 예시
ⓐ 입력 이미지 → convolution layers → 저차원 latent feature

ⓑ latent feature → (fixed or learned) upsampling → 재구성 이미지

라. Auto-Encoder 응용

① De-noising Auto-Encoder
원본 영상에 노이즈를 추가하여 Auto-Encoder에 인가하고, noisy 이미지를 복원하는 대신 노이즈가 없는 원본 영상을 복원하는 방식으로 학습시킨다.

2. Segmentation

가. 개념

  • semantic segmentation: 픽셀 단위로 클래스 레이블 예측

  • instance segmentation: 객체별로 픽셀 마스크를 예측

  • panoptic segmentation: semantic segmentation과 instance segmentation을 통합한 과제

나. Semantic Segmentation

1) 기본 아키텍처(UNet)

  • U-Net: encoder–decoder 대칭 구조

  • encoder에서 feature를 추출하고, decoder에서 skip connection을 통해 세부 정보를 복원

2) Metrics(IoU, Dice)

  • IoU (Intersection over Union)
    IoU=PGPG\mathrm{IoU} = \frac{\lvert P \cap G \rvert}{\lvert P \cup G \rvert}
  • DSC (Dice Sorensen Coefficient)
    DSC=2PGP+G\mathrm{DSC} = \frac{2\,\lvert P \cap G \rvert}{\lvert P \rvert + \lvert G \rvert}

다. Instance/Panoptic Segmentation

  • Instance Segmentation: 각 객체별로 분리된 마스크를 생성

  • Panoptic Segmentation: 모든 픽셀에 대해 semantic과 instance 정보를 동시에 예측

3. Object Detection

가. Classification vs. Detection

  • 분류(Classification): 이미지 전체를 하나의 클래스 레이블로 예측

  • 분류 + 국소화(Classification with Localization): 클래스와 바운딩 박스 예측

  • 객체 검출(Object Detection): 영상 內 여러 객체에 대해 클래스와 바운딩 박스를 동시에 예측

나. YOLO (You Only Look Once)

1) Overall Flow

  • 입력 영상을 S×SS×S 그리드로 분할

  • 각 그리드에서 BB개의 바운딩 박스 및 객체 유무(confidence) 예측

  • 각 바운딩 박스에 대해 클래스 확률 예측

  • confidence thresholding으로 낮은 신뢰도 박스 제거

  • Non-Maximum Suppression으로 중복 박스 제거

2) Non-Maximum Suppression (NMS)

  • 서로 겹치는 바운딩 박스 중 confidence score가 가장 높은 박스만 남김

  • IoU 기준 임계값을 설정하여 박스 필터링

  • 클래스별로 독립적으로 수행 (서로 다른 클래스의 박스는 함께 제거하면 안 됨)

다. Two-stage Detector (Faster R-CNN)

① Stage 1: Region Proposal Network (RPN)
영상에서 다양한 크기의 앵커 박스(anchor)를 기반으로 후보영역(region)을 생성

② Stage 2: RoI Pooling & Head

  • 제안된 영역을 RoI Pooling으로 고정 크기(feature map)로 변환

  • 분류 헤드(classifier)와 바운딩 박스 회귀 헤드(bb regressor)로 최종 예측

라. Evaluation Metrics (TP, FP, precision, recall, AP, mAP)

  • TP (True Positive), FP (False Positive), TN (True Negative), FN (False Negative)

  • Precision = TP / (TP + FP)

  • Recall = TP / (TP + FN)

  • AP (Average Precision): 다양한 recall 지점에서의 precision 평균 (IoU 임계값 0.5~0.95, 10개 구간)

  • mAP (mean AP): 클래스별 AP의 평균 (최근에는 단순히 AP로 표현하기도 함)

4. Transformer 기반 영상처리

가. 개념 및 토큰 임베딩

  • Transformer: 원래 NLP 분야에서 개발된 알고리즘으로, 영상을 포함한 다양한 분야로 확장
  • 토큰화(Tokenization): 입력 이미지를 패치 단위(토큰)로 분할하여 처리
  • 토큰 임베딩(Token Embedding): 각 토큰을 고정 차원 벡터로 변환한 후, 위치 정보를 더해 모델에 입력

나. Self-Attention 예제 (single/multi-head)

① Single-Head Self-Attention

  • Query QQ, Key KK, Value VV 생성:
    Q=XWQ,  K=XWK,  V=XWVQ=XW^Q,\;K=XW^K,\;V=XW^V
  • Attention 가중치:
    softmax(QKdk)V\mathrm{softmax}\bigl(\frac{QK^\top}{\sqrt{d_k}}\bigr)V
  • 계산 복잡도:
    O(n2d)O(n^2d)
    (토큰 수 nn, 임베딩 차원 dd )

② Multi-Head Self-Attention

  • 여러 개의 헤드 hh로 분할: 각 헤드가 독립적인 Qi,Ki,ViQ_i,K_i,V_i 계산

  • 병렬 계산 후 결합: Concat(head1,,headh)WO\mathrm{Concat}(\mathrm{head}_1,\dots,\mathrm{head}_h)W^O

  • 장점: 다양한 표현(subspace)을 동시에 학습 가능

다. Detection Transformer (DETR)

① 목표: object detection을 end-to-end로 처리

② 구조

  • 백본(CNN)으로 feature map 추출

  • Transformer 인코더: 전체 이미지의 전역 관계(global context)를 self-attention으로 분석하여 동일 객체 간 경계 분리 강화

  • Transformer 디코더: learnable object queries를 cross-attention하여 각 객체의 클래스 및 바운딩 박스 예측

③ 특징: Non-Maximum Suppression 없이도 직접 중복 제거 및 탐지 결과 출력

라. Unified 아키텍처 (MaskFormer, Mask DINO)

① MaskFormer

  • semantic segmentation, instance segmentation, panoptic segmentation을 하나의 프레임워크에서 일관되게 처리

  • 클래스-agnostic mask와 각 mask의 클래스 예측을 decoupled 방식으로 학습

② Mask DINO

  • DETR 기반 구조에 DINO 기법(self-distillation)을 결합하여 성능 향상

  • 다양한 segmentation task(semantic, instance, panoptic)를 통합 학습 및 추론 가능

5. Point Cloud

가. 정의 및 특징(LiDAR)

  • 3차원 점들의 집합
  • 부가 속성: color, intensity 등
  • 주로 LiDAR (Light Detection And Ranging)를 이용하여 데이터를 수집함

나. 3D Semantic Segmentation

GT 레이블이 3차원 형태로 주어지며, Conv2d 대신 Conv3d를 사용하여 피처맵을 생성

6. Generative 모델

가. GAN 개요 (Generator / Discriminator)

① Generator

  • 입력: random vector zz

  • 출력: 생성 이미지 G(z)G(z)

② Discriminator

  • 입력: real 이미지 xx 또는 생성 이미지 G(z)G(z)

  • 출력: 확률값 [0,1][0,1] (진짜일 확률)

③ 손실 함수

  • Dloss=criterion(D(x))+criterion(D(G(z)))D_{loss} = \mathrm{criterion}(D(x)) + \mathrm{criterion}(D(G(z)))

  • Gloss=criterion(D(G(z)))G_{loss} = \mathrm{criterion}(D(G(z)))

나. Conditional GAN (cGAN)

① 목적: 입력 조건 cc에 따라 특정 속성의 이미지를 생성

② Generator: G(c,z)G(c, z)

③ Discriminator: D(c,x)D(c, x)

④특징:

  • 조건 cc와 노이즈 zz를 함께 입력으로 사용

  • 클래스 레이블, 문장 설명 등 다양한 조건 활용 가능

다. CycleGAN (Object Transfiguration, Style Transfer)

① 목적: 페어링되지 않은 두 도메인 간 이미지 변환
예시: 여름↔겨울, 말↔얼룩말 등 Object Transfiguration & Style Transfer

② 구조 및 손실

  • GAN loss: 각 도메인간 생성기와 판별기의 경쟁

  • Cycle consistency loss: xGAB(x)GBA()xx \rightarrow G_{A\to B}(x) \rightarrow G_{B\to A}(\cdot) \approx x 보장

  • 전체 손실 = GAN loss + cycle consistency loss

라. SRGAN (Super Resolution)

① 목적: 낮은 해상도 이미지를 고해상도 이미지로 복원

② 주요 구성

  • Residual-in-Residual Dense Blocks를 포함한 Generator 네트워크
  • Perceptual loss(VGG 기반 feature loss)
  • Adversarial loss를 통해 더 선명하고 사실적인 결과 생성

7. Diffusion Model

가. 기본 원리 (Forward/Reverse Process)

  • 최근에는 GAN, VAE 외에도 diffusion model이 주요 생성 모델로 연구되고 있음

  • Forward process: 원본 이미지에 점진적으로 노이즈를 추가하여 데이터(image → data)를 생성

  • Reverse process: 노이즈가 섞인 데이터를 역으로 정제해 원본 이미지를 복원(data → image)

나. Latent Diffusion Models

  • 고차원 픽셀 공간이 아닌 저차원 latent 공간에서 diffusion 과정을 수행

  • 낮은 차원에서 연산함으로써 모델의 계산 복잡도 및 메모리 비용을 크게 절감

<참고 자료>
유성욱 교수님, 지능형 영상처리, 중앙대학교 전자전기공학부, 2024

profile
Chung-Ang Univ. EEE.

0개의 댓글