본문 바로가기
개인 프로젝트/대학원 수업 정리

[CV] Classification, Segmentation

by 응_비 2025. 12. 2.

10

✅ 1. Classification 전체 흐름 요약

① 문제 정의

이미지 분류(Image Classification)는 입력 이미지가 어떤 클래스에 속하는지 결정하는 문제다.
→ 시험에서는 “Detection, Segmentation, Recognition과 분류” 차이를 쓰게 할 가능성 큼(페이지 3~8,  ).

② 과거 vs 현재 접근법
• Before Deep Learning: Raw pixel → Hand-crafted features → Classifier (SVM, kNN, Naive Bayes)  
• After Deep Learning: CNN이 feature extraction + classification을 end-to-end로 수행

👉 서술형 유형

“이미지 분류 방법의 변화 과정을 간단히 설명하시오.”



✅ 2. Bag of Words(BoW) 핵심 정리

📌 시험 빈출 이유: 교수님 PPT 30페이지 넘게 BoW 설명함 → 거의 반드시 출제됨  

개념

이미지를 local feature들의 빈도(histogram) 로 표현하여 분류하는 모델
• 공간 정보를 무시하고 “특징이 얼마나 등장했는가”에 집중

Pipeline (무조건 암기)
1. Dictionary Learning
• SIFT, HOG 같은 로컬 특징 추출
• K-means로 clustering → codebook(visual words) 생성  
2. Encoding
• 이미지 patch를 최적 단어에 매칭 (nearest cluster center)
• histogram 만들기
3. Classification
• SVM, kNN, Naive Bayes로 분류

시험 답안 예시 문장

BoW는 이미지를 로컬 특징들의 히스토그램으로 표현하는 모델이며,
(1) 특징 추출 → (2) dictionary 학습 → (3) histogram encoding → (4) classifier 적용의 4단계를 거친다.



✅ 3. k-Nearest Neighbors (kNN)

핵심 개념
• 훈련 단계를 거의 하지 않음 (lazy learning)
• 거리 기반 분류 (유클리드, 맨해튼)

중요 포인트
• k값 선택 중요:
• k가 작으면 noise 민감
• k가 크면 다른 클래스 포함 가능  
• normalization 필요 (차원이 다를 수 있음)

👉 서술형 유형

“kNN에서 k를 너무 작게/크게 설정했을 때 문제점을 설명하시오.”



✅ 4. Naive Bayes

핵심 개념
• 조건부 독립 가정을 사용하는 확률 기반 분류
• posterior = likelihood × prior / evidence (Bayes Rule)
• log 확률 사용하는 이유 = underflow 방지  

👉 서술형 유형

“Naive Bayes 분류기의 가정과 계산 과정을 설명하시오.”



✅ 5. Support Vector Machine (SVM)

핵심 개념
• margin을 최대화하는 결정 경계
• support vector = 결정 경계에 가장 가까운 데이터
• soft margin = 오분류를 허용하며 더 일반화 성능 확보  
• kernel trick = 비선형 데이터 처리

시험 포커스
• 최대 마진(maximum margin) 개념 정의
• soft margin 을 왜 사용하는가?
• kernel trick 설명

👉 서술형 유형

“SVM에서 soft margin이 필요한 이유를 설명하시오.”



✅ 6. CNN(Convolutional Neural Networks)

📌 기말 핵심 주제: Conv layer, Pooling, Activation, Fully-connected 서술 가능해야 함  

핵심 개념

이미지의 공간적 구조를 유지하면서 학습하는 신경망



6-1) Convolution Layer

정의
• 필터(커널)를 사용하여 로컬 특징 추출
• stride, padding 고려하여 output size 계산  

공식 암기

output = (W + 2P – K) / S + 1

👉 시험에서 종종 나옴(계산 문제)



6-2) Activation Function

종류
• ReLU, Leaky ReLU, Sigmoid, Tanh  

중요 개념
• ReLU: gradient vanishing 해결, 계산 빠름

👉 기말 문제 예측

“ReLU가 sigmoid/tanh 대비 가지는 장점 2가지를 서술하시오.”



6-3) Pooling
• Max pooling / Average pooling
• Shift Invariance 제공 (이동에 강함)  
• 차원 축소 + 연산량 감소

👉 서술형

“Pooling이 왜 필요한지 기술하시오.”



6-4) Dropout
• 학습에서 일부 노드를 무작위 제거
• overfitting 방지  



✅ 7. AlexNet 특징 정리
• 첫 번째 딥러닝 이미지 분류 대회 우승 모델 (ILSVRC 2012)
• 소개 핵심 4개만 외우기  

반드시 암기해야 할 4가지 특징
1. ReLU 사용
2. Overlapping pooling
3. Dropout
4. Data augmentation

👉 서술형 유형

“AlexNet에서 적용된 정규화/규제 기법을 3가지 이상 설명하시오.”



✅ 8. ResNet 핵심
• Deep network의 degradation problem 해결
• skip connection, residual block 구조  

👉 서술형 유형

“Residual Learning 개념을 설명하고 왜 필요한지 기술하시오.”



✅ 9. Vision Transformer (ViT)

📌 여기는 고득점 논술형 필수

핵심 문장 3개만 외우기
1. 이미지를 patch 단위로 자른 후 linear projection → token 생성
2. Self-Attention 기반 Transformer Encoder 로 학습
3. CNN보다 global context 처리에 강함  

중요 개념
• class token
• positional embedding
• multi-head self-attention (Q, K, V)

👉 서술형 유형

“Vision Transformer의 입력 과정(1~4단계)을 순서대로 설명하시오.”



🔥 기말고사 실전 작성 팁

(1) 교수님이 좋아하는 서술 구조

개념 → 특징 → 장점(단점) → 대표 예시 → 수식

(2) 5줄 구성 예시
• 정의
• 왜 필요한가(문제점 해결)
• 핵심 메커니즘
• 수식/그림 언급
• 결과/효과



📌 마지막으로 추천하는 시험 대비
• BoW Pipeline 4단계 통암기
• SVM에서 soft margin vs kernel trick 차이
• CNN에서 stride/padding 공식
• AlexNet 4가지 개선 요소
• ResNet skip connection 이유
• ViT 입력 토큰화 과정 4단계


13.

🚀 Detection & Segmentation 기말 완성 정리




1️⃣ 컴퓨터 비전 과제 개요

📌 page 4  
• Image Classification: 이미지 전체에 하나의 레이블 부여(예: 고양이)
• Object Detection: 무엇이 + 어디 있는지 (Bounding Box)
• Image Segmentation: 픽셀 단위로 객체 영역을 구분

➡ Detection = Classification + Localization(Regression) (page 5)  



2️⃣ Object Detection 개념 핵심

✔ Two-stage vs One-stage Detector

📌 page 7~8  
• Two-stage
1. Region Proposal
2. Classification + Bounding Box Regression
👉 정확도 높으나 느림
👉 R-CNN / Fast / Faster / Mask R-CNN
• One-stage
• Proposal 없이 바로 예측
👉 매우 빠름(실시간 가능)
👉 YOLO, SSD





3️⃣ Two-Stage 모델 상세 정리



🔥 3-1. R-CNN (Regions with CNN)

📌 page 15  

개념
• Selective Search로 약 2000개 ROI 생성
• 각 ROI를 CNN에 별도 입력
• SVM 분류 + Bounding box regression

키워드
• Region Proposal (Selective Search)
• Independent CNN per ROI
• 세 단계 분리 학습(비효율)



🔥 3-2. Fast R-CNN

📌 page 17~18  

개념
• 이미지 전체를 한 번만 CNN
• Feature map에서 ROI 영역을 RoI Pooling으로 고정 크기 변환

핵심 기술

RoI Pooling = “Snap to grid + Max pooling” (page 18)  

문제점
• 정렬 문제(Pixel misalignment 발생)



🔥 3-3. Faster R-CNN

📌 page 19~21  

개념
• Fast R-CNN + RPN(Region Proposal Network)
• Proposal을 딥러닝 자체로 수행

핵심 구성
• Backbone CNN
• RPN (Anchor Box 사용) (page 20)
• RoI Pool/Align
• Classification + BBox Regression

장점
• Test time: 50초 → 0.2초 (page 21)

분류

✔ Two-stage (정확도 높음)





4️⃣ One-stage 모델 상세 정리



🔥 4-1. YOLO (You Only Look Once)

📌 page 22~27  

개념
• 이미지 → S×S Grid
• 각 Grid에서 BBox + Confidence + Class 동시에 예측
• 한 번의 forward-pass로 detection 수행

구성
• Loss = Localization + Confidence + Classification (page 24)
• IoU threshold = 0.5 (page 25)
• NMS 필수 (page 26)

장점
• Real-time 가능

단점
• 작은 객체 탐지 약함



🔥 4-2. SSD (Single Shot MultiBox Detector)

📌 page 28~30  

개념
• Multi-scale Feature Map + Default Box(Anchor Box) 기반 탐지
• 다양한 크기의 물체 탐지 가능

핵심
• Feature pyramid
• 각 feature map 좌표마다 여러 default box 생성
• Class score + BBox regression 동시 수행

장점
• YOLO보다 작은 객체 더 잘 잡음





5️⃣ Segmentation 개념 정리



✔ Segmentation 유형

📌 page 9  
• Semantic Segmentation: 픽셀 → 클래스(개별 객체 구분 없음)
• Instance Segmentation: 픽셀 → 객체 단위 구분
• Panoptic Segmentation: 둘을 결합





6️⃣ Segmentation 모델 상세



🔥 6-1. FCN (Fully Convolutional Network)

📌 page 34~38  

개념
• Fully connected layer 없이 Conv-only로 픽셀 단위 예측
• Encoder(Downsampling) + Decoder(Upsampling) 형태

업샘플링 방식
• Unpooling (page 36)
• Transpose Convolution(=Deconvolution) (page 37)



🔥 6-2. U-Net

📌 page 38  

개념
• Encoder-Decoder 구조에 Skip-Connection 추가
• 다운샘플링에서 잃은 공간정보 복구

장점
• 의료 영상 등 적은 데이터로도 높은 정확도



🔥 6-3. Mask R-CNN

📌 page 39~41  

개념
• Faster R-CNN + Mask Branch(FCN)
• Instance Segmentation 수행

핵심 기술
• RoI Pool → RoI Align 변경 (page 41)
• Bilinear interpolation
• misalignment 제거

출력
• C × 28 × 28 mask (page 40)

Loss
• Multi-task Loss
(Classification + BBox Regression + Mask)

10.

🟦 1. Optical Flow(광학 흐름)

1) Optical Flow 기본 가정

(출처: Motion Tracking.pdf p.12–16 )

Brightness Constancy(밝기 불변 가정)

한 점이 시간에 따라 움직이더라도 해당 점의 밝기는 변하지 않는다는 가정.
수식:

I(x,y,t)=I(x+u, y+v, t+1)I(x, y, t) = I(x+u,\, y+v,\, t+1)

팁: “밝기 불변 → 픽셀 자체를 추적 가능”이라고 서술형에서 연결 지으면 점수↑.

Small Motion(소규모 이동 가정)

프레임 간 이동이 작기 때문에 Taylor 1차 전개가 가능함.
→ Optical Flow 기본 방정식 도출:

Ixu+Iyv+It=0I_x u + I_y v + I_t = 0

팁: Optical Flow 유도과정 서술형 나오면 Brightness Constancy → Taylor Expansion → OF Equation 순으로 적기.


2) Aperture Problem(개구문제)

(출처: p.26–28 )

작은 창(패치)로 보면 경계(edge) 방향의 움직임만 관측되어 실제 이동 방향을 모르게 됨.
즉, 한 픽셀 식은 미지수 2개(u,v)을 유일하게 결정 못함 → 추가 제약 필요.

팁: “단일 픽셀은 1개의 방정식만 제공 → 해가 직선 상에 무한히 존재”라고 적으면 좋음.


3) Lucas–Kanade Optical Flow (Local, Sparse)

(출처: p.22–30 )

● 핵심 아이디어

작은 패치(예: 5×5) 내에서는 flow가 일정하다(constant flow) 가정
→ 같은 식 25개를 얻어 Least Squares로 u, v 계산.

● Normal Equation

ATA[uv]=−ATbA^T A \begin{bmatrix} u \\ v \end{bmatrix} = - A^T b

여기서 A는 [Ix,Iy][I_x, I_y], b는 ItI_t.

● 잘 작동하려면? (KLT와 연결됨)

ATAA^T Ainvertible, eigenvalue 두 개 모두 큼 → 코너가 좋은 feature.

팁: LK와 KLT, Harris Corner Detector는 반드시 연결해서 설명. 시험 단골.


4) Horn–Schunck Optical Flow (Global, Dense)

(출처: p.32–39 )

● 아이디어

밝기 불변 + Flow는 전역적으로 매끄럽다(smoothness prior)
→ 에너지 최소화 문제:

E=∬(Ixu+Iyv+It)2+α2(∥∇u∥2+∥∇v∥2)dxdyE = \iint (I_x u + I_y v + I_t)^2 + \alpha^2(\|\nabla u\|^2+\|\nabla v\|^2) dxdy

● 특징

  • 전역 방식 → dense flow 생성
  • α → smoothness 조절

팁: HS는 “전역 + 에너지 최소화 + smoothness term”, LK는 “지역 패치 + LSQ”로 구분 강조.


🟦 2. Visual Tracking(시각 추적)

1) KLT Tracker (Kanade–Lucas–Tomasi)

(출처: p.46–52 )

● 핵심

Lucas–Kanade를 feature 점들에 적용하여 프레임 간 이동 추적.

● Good Features to Track 조건(Tomasi-Shi)

Corner가 좋은 이유:

λ1, λ2>threshold\lambda_1,\ \lambda_2 > \text{threshold}

두 eigenvalue가 모두 크면 2D gradient가 풍부 → 안정적 추적.

팁: “코너 = 두 방향 모두 gradient 큰 지점”, “edge는 λ1≫λ2”, “flat은 both small”.


2) Mean-Shift Tracking

(출처: p.53–60 )

● 원리

  • 대상의 특징 분포(예: 색상 histogram)를 모델로 저장
  • 현재 프레임에서 likelihood map 생성
  • 밀도 최댓값 방향으로 mean shift 이동

● Mean-shift update

Δx=∑w(x)(x−xold)K(x−xold)∑w(x)K(x−xold)\Delta x = \frac{\sum w(x)(x-x_{\text{old}})K(x-x_{\text{old}})}{\sum w(x) K(x-x_{\text{old}})}

● 단점

크기(scale) 변화 대응 불가.


3) CAM-Shift (Continuously Adaptive Mean-Shift)

(출처: p.62–64 )

Mean-Shift의 윈도우 크기를 자동으로 조절하여 scale 변화에 대응.

팁: Mean-Shift vs CamShift 차이 한 줄 정리

  • Mean-shift: 위치만 갱신
  • CamShift: 위치 + 윈도우 크기 업데이트

9.

🟦 3. Stereo Vision(스테레오 비전)

1) Epipolar Geometry

(출처: p.4–17 )

● 핵심 용어

  • Baseline: 두 카메라 중심 연결선
  • Epipole: baseline이 이미지 평면을 만나는 점
  • Epipolar plane: baseline + 3D point 포함 평면
  • Epipolar line: epipolar plane과 이미지 평면의 교선

● Epipolar Constraint

3D 점의 대응점은 반대 이미지의 epipolar line 위에 존재.
→ 2D 검색 → 1D 검색으로 축소.


2) Essential Matrix E

(출처: p.18–23 )

● 역할

정규화된(camera coordinate) 점 x를 대응 epipolar line l′로 변환:

l′=Exl' = E x

● 대칭식

x′TEx=0x'^T E x = 0

● 특징

  • calibrated camera 전제
  • 점→직선으로 매핑

3) Fundamental Matrix F

(출처: p.24–27 )

Essential matrix의 일반화 (intrinsic 미고려).

x′TFx=0x'^T F x = 0

● 특징

  • 모든 카메라(uncalibrated)에서 사용
  • pixel 좌표에서 바로 적용 가능

4) 8-Point Algorithm (F 추정)

(출처: p.28–32 )

● 절차 요약

  1. 점 8개 이상 선택
  2. 각 대응쌍이 1개의 선형 방정식 제공
  3. Ax=0 형태의 최소자승
  4. SVD로 F 추정
  5. Rank-2 constraint 적용
  6. Normalization / Un-normalization

팁: “Normalization → 성능 향상” 언급해야 완벽한 답안.


5) Stereo Rectification

(출처: p.48–62 )

● 목적

epipolar line을 수평(horizontal) 으로 정렬 → disparity 계산 용이.

● 과정 핵심

  • E에서 R 추출
  • 두 이미지 평면을 회전/스케일 조정
  • 두 이미지를 공통 평면으로 재투영

6) Stereo Matching & Disparity → Depth

(출처: p.63–79 )

● Disparity

정의:

d=xL−xRd = x_L - x_R

● Depth 복원

Z=fBdZ = \frac{fB}{d}

● Similarity Measures

  • SAD
  • SSD
  • NCC
    등 (p.77)

팁: “거리 Z는 disparity와 반비례” 반드시 적기.

 

14.

Generative Model 기말 정리(연결형)


① Supervised vs. Unsupervised Learning (슬라이드 p.4)

Generative Models 전체를 이해하기 위한 첫 단계로,
**“Discriminative냐, Generative냐”**의 큰 틀을 구분함.

  • Supervised: 정답(label)이 있음 → 분류, 회귀
  • Unsupervised: 정답 없음 → 패턴/구조 찾기, 데이터 생성

→ 생성 모델은 대부분 Unsupervised 계열.

팁: “생성 모델은 데이터의 분포 자체를 학습한다” 강조하면 서술형 OK.


② Discriminative vs Generative Model (슬라이드 p.5–6)

● Discriminative Model

P(y|x)
= 입력이 주어졌을 때 정답이 무엇인지 분류하는 모델
예) SVM, Logistic Regression, CNN분류기

● Generative Model

P(x) 또는 P(x|z)
= 데이터가 어떻게 생성되는지를 학습

핵심 목표

  1. p_model(x) ≈ p_data(x)
  2. 그 분포에서 새로운 데이터 샘플 생성

→ 생성 모델의 “위치”가 명확해짐.


③ Generative Models 전체 지도(슬라이드 p.7)

여기가 시험 핵심 구조!

Explicit Density(명시적 확률모델)

  • Tractable: PixelRNN, PixelCNN
  • Approximate: VAE, Diffusion

Implicit Density(암시적 모델)

  • GAN 계열

PixelCNN → VAE → GAN → Diffusion 순으로 난이도가 올라가며
학계의 발전 흐름과 실제 모델 성능 향상이 연결됨.


④ PixelCNN (Autoregressive Model) (슬라이드 p.8–11)

● 목표

이미지의 pixel joint distribution p(x)를 모델링.

● 핵심

chain rule을 사용해

p(x)=∏ip(xi∣x1...xi−1)p(x)=\prod_i p(x_i|x_1...x_{i-1})

→ “앞의 픽셀들을 조건으로 다음 픽셀 생성”.

● Mask A, Mask B 구조 (p.10 그림 매우 중요)

  • Mask A: 첫 레이어 → 현재 pixel과 미래 pixel 차단
  • Mask B: 이후 레이어 → 같은 채널 자기 자신까지 허용

● 장단점

  • 장점: likelihood 계산 가능 (명시적)
  • 단점: 한 픽셀씩 생성 → 매우 느림

팁: PixelCNN은 “정확하지만 느린 모델”이라고 한 줄 요약.


⑤ Autoencoder → VAE로 연결 (슬라이드 p.13–19)

일반 **Autoencoder(AE)**는 입력을 압축(z)했다가 복원하는 모델.
하지만 AE는 z 공간에서 새로운 샘플을 생성할 방법이 없음 → Generative Model X

그래서 VAE(Variational Autoencoder) 탄생.


⑥ Variational Autoencoder (VAE) (슬라이드 p.20–26)

● VAE 핵심 개념

기존 AE에 **확률적 latent 공간 p(z)**를 부여해
“z를 샘플링 → 디코더로 이미지 생성” 가능하게 만든 모델.

● 문제

likelihood p(x) 계산 불가능 → 근사 필요

● 해결책: ELBO(Evidence Lower Bound)

log⁡p(x)≥ELBO=reconstruction error+regularization(KL)\log p(x) \ge ELBO = \text{reconstruction error} + \text{regularization(KL)}

● 특징

  • Latent space가 “연속적”이고 “해석 가능”
  • 하지만 결과 이미지가 blurry (GAN에 비해 약함)

⑦ GAN(Generative Adversarial Network) (슬라이드 p.27–35)

PixelCNN은 느림, VAE는 흐림 → GAN 등장.

● GAN 핵심 구조 (p.30 그림 중요)

  • Generator (G): 랜덤 z → 가짜 이미지
  • Discriminator (D): 실제/가짜 판별

둘이 minimax 게임을 하며 G가 점점 더 실제 같은 이미지를 생성.

● 장점

  • 매우 현실적인 이미지 생성

● 단점

  • 학습 어려움 (불안정)
  • Likelihood 계산 불가능

● GAN 발전 (p.35)

Vanilla → CGAN → DCGAN → CycleGAN → StyleGAN → SRGAN


⑧ Diffusion Model (슬라이드 p.36–43)

현 시점 최강의 이미지 생성 모델.

● 핵심 아이디어

  1. Forward diffusion
    → 이미지에 Gaussian noise를 점진적으로 추가
  2. Reverse diffusion
    → noise 제거 과정을 학습하여 이미지 복원
  3. 학습 후에는 pure noise → 이미지 생성

● 장점

  • 고품질 이미지
  • 안정적 학습
  • 다양한 조건부 생성 가능 (텍스트, 이미지 등)

● 대표 모델

Stable Diffusion, DALL-E 2, Imagen 등


🎯 Generative Model 흐름 전체 요약(기말 암기용)

  1. PixelCNN
    → 가장 원시적, 정확하지만 느림
  2. Autoencoder
    → 생성 불가, 차원축소용
  3. VAE
    → 확률 잠재공간으로 생성 가능하지만 blurry
  4. GAN
    → 매우 선명한 이미지 생성, 경쟁 구조
  5. Diffusion
    → 최신 기술, 가장 고품질 이미지 생성

🟦 기말 서술형에서 가장 나올만한 6–7개 문제(Natural Flow 버전)

  1. Generative Model과 Discriminative Model의 차이 설명
  2. PixelCNN의 구조와 Mask A/B의 역할 설명
  3. Autoencoder와 VAE의 차이점 설명
  4. VAE의 ELBO 공식 의미와 두 항의 역할
  5. GAN의 최소–최대(minimax) 학습 구조 설명
  6. GAN이 해결한 문제 & 동시에 갖는 한계
  7. Diffusion Model의 Forward/Reverse process 설명

→ 이 7개만 완벽히 쓰면 기말 통과 수준이 아니라 “상위권 확정” 수준임.

'개인 프로젝트 > 대학원 수업 정리' 카테고리의 다른 글

기계학습특론 2주차 정리  (0) 2026.03.12
[CV] 기말고사 정리  (0) 2025.12.03
[CV] 과제3_3번  (0) 2025.11.20
[CV] 과제3_문제2  (0) 2025.11.20
[논문리뷰] CharGrid OCR 중요 원리  (0) 2025.11.19

댓글