
입력과 출력의 형태가 같은 네트워크
인코더(encoder) 파트와 디코더(decoder) 파트로 구성
입력 이미지를 그대로 복원하도록 학습(self-supervised/unsupervised)
latent space에 입력보다 낮은 차원의 표현을 학습함
인코더: 입력 을 낮은 차원의 잠재 벡터 로 매핑
디코더: 를 다시 원래 차원 의 재구성 으로 복원
손실 함수: 재구성 오차 등을 최소화하여 학습
예시: 배치 크기 인 경우 형태로 흐름
① 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 → 재구성 이미지
① De-noising Auto-Encoder
원본 영상에 노이즈를 추가하여 Auto-Encoder에 인가하고, noisy 이미지를 복원하는 대신 노이즈가 없는 원본 영상을 복원하는 방식으로 학습시킨다.
semantic segmentation: 픽셀 단위로 클래스 레이블 예측
instance segmentation: 객체별로 픽셀 마스크를 예측
panoptic segmentation: semantic segmentation과 instance segmentation을 통합한 과제
U-Net: encoder–decoder 대칭 구조
encoder에서 feature를 추출하고, decoder에서 skip connection을 통해 세부 정보를 복원
Instance Segmentation: 각 객체별로 분리된 마스크를 생성
Panoptic Segmentation: 모든 픽셀에 대해 semantic과 instance 정보를 동시에 예측
분류(Classification): 이미지 전체를 하나의 클래스 레이블로 예측
분류 + 국소화(Classification with Localization): 클래스와 바운딩 박스 예측
객체 검출(Object Detection): 영상 內 여러 객체에 대해 클래스와 바운딩 박스를 동시에 예측
입력 영상을 그리드로 분할
각 그리드에서 개의 바운딩 박스 및 객체 유무(confidence) 예측
각 바운딩 박스에 대해 클래스 확률 예측
confidence thresholding으로 낮은 신뢰도 박스 제거
Non-Maximum Suppression으로 중복 박스 제거
서로 겹치는 바운딩 박스 중 confidence score가 가장 높은 박스만 남김
IoU 기준 임계값을 설정하여 박스 필터링
클래스별로 독립적으로 수행 (서로 다른 클래스의 박스는 함께 제거하면 안 됨)
① Stage 1: Region Proposal Network (RPN)
영상에서 다양한 크기의 앵커 박스(anchor)를 기반으로 후보영역(region)을 생성
② Stage 2: RoI Pooling & Head
제안된 영역을 RoI Pooling으로 고정 크기(feature map)로 변환
분류 헤드(classifier)와 바운딩 박스 회귀 헤드(bb regressor)로 최종 예측
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로 표현하기도 함)
① Single-Head Self-Attention
② Multi-Head Self-Attention
여러 개의 헤드 로 분할: 각 헤드가 독립적인 계산
병렬 계산 후 결합:
장점: 다양한 표현(subspace)을 동시에 학습 가능
① 목표: object detection을 end-to-end로 처리
② 구조
백본(CNN)으로 feature map 추출
Transformer 인코더: 전체 이미지의 전역 관계(global context)를 self-attention으로 분석하여 동일 객체 간 경계 분리 강화
Transformer 디코더: learnable object queries를 cross-attention하여 각 객체의 클래스 및 바운딩 박스 예측
③ 특징: Non-Maximum Suppression 없이도 직접 중복 제거 및 탐지 결과 출력
① MaskFormer
semantic segmentation, instance segmentation, panoptic segmentation을 하나의 프레임워크에서 일관되게 처리
클래스-agnostic mask와 각 mask의 클래스 예측을 decoupled 방식으로 학습
② Mask DINO
DETR 기반 구조에 DINO 기법(self-distillation)을 결합하여 성능 향상
다양한 segmentation task(semantic, instance, panoptic)를 통합 학습 및 추론 가능
GT 레이블이 3차원 형태로 주어지며, Conv2d 대신 Conv3d를 사용하여 피처맵을 생성
① Generator
입력: random vector
출력: 생성 이미지
② Discriminator
입력: real 이미지 또는 생성 이미지
출력: 확률값 (진짜일 확률)
③ 손실 함수
① 목적: 입력 조건 에 따라 특정 속성의 이미지를 생성
② Generator:
③ Discriminator:
④특징:
조건 와 노이즈 를 함께 입력으로 사용
클래스 레이블, 문장 설명 등 다양한 조건 활용 가능
① 목적: 페어링되지 않은 두 도메인 간 이미지 변환
예시: 여름↔겨울, 말↔얼룩말 등 Object Transfiguration & Style Transfer
② 구조 및 손실
GAN loss: 각 도메인간 생성기와 판별기의 경쟁
Cycle consistency loss: 보장
전체 손실 = GAN loss + cycle consistency loss
① 목적: 낮은 해상도 이미지를 고해상도 이미지로 복원
② 주요 구성
최근에는 GAN, VAE 외에도 diffusion model이 주요 생성 모델로 연구되고 있음
Forward process: 원본 이미지에 점진적으로 노이즈를 추가하여 데이터(image → data)를 생성
Reverse process: 노이즈가 섞인 데이터를 역으로 정제해 원본 이미지를 복원(data → image)
고차원 픽셀 공간이 아닌 저차원 latent 공간에서 diffusion 과정을 수행
낮은 차원에서 연산함으로써 모델의 계산 복잡도 및 메모리 비용을 크게 절감
<참고 자료>
유성욱 교수님, 지능형 영상처리, 중앙대학교 전자전기공학부, 2024