**“3D 세계를 2D 영상으로 투영하고, 그 안에서 의미 있는 특징을 안정적으로 추출·표현하여, 서로 다른 영상 간 대응과 인식을 가능하게 하는 것”**이야.
📘 2~6주차 전체 연결고리 정리
1. Geometric Camera Models (2주차)
- 시작점: 카메라 모델
- 3D 세계 → 2D 영상으로 투영하는 과정(투영 기하, Pinhole 모델, 렌즈)
- 투영의 본질: 거리/각도는 잃지만, **공선성(collinearity), 직선성(line preservation)**은 유지됨
- 목적: 영상을 이해하려면 투영된 좌표계와 기하학을 먼저 알아야 함.
👉 핵심 질문: “세계가 어떻게 이미지 평면에 맵핑되는가?”
2. Linear Filters (3주차)
- 영상은 노이즈가 있고, 우리가 보고 싶은 구조(에지, 패턴)를 흐리게 만듦.
- 이를 위해 필터링:
- Smoothing (Mean, Gaussian) → 노이즈 제거
- Edge Detection (Sobel, Prewitt, LoG) → 변화가 큰 경계 검출
- Convolution/Correlation → 영상 내 지역 특성을 수학적으로 다루는 기본 도구
👉 핵심 질문: “영상의 원시 픽셀에서 어떻게 의미 있는 신호(경계, 패턴)를 추출할까?”
3. Image Pyramids (4주차)
- 영상은 다양한 **스케일(scale)**에서 정보를 가짐.
- Gaussian Pyramid: 점점 블러링+축소 → 큰 구조만 남음
- Laplacian Pyramid: 손실(Residual)을 저장 → 원본 복원, 멀티스케일 특징 유지
- Wavelet 변환과 Interpolation까지 포함 → 영상의 다중 해상도 표현
👉 핵심 질문: “영상을 다양한 해상도에서 어떻게 안정적으로 표현할까?”
4. Local Feature Detection (5주차)
- 영상 속에서 안정적이고 반복 검출 가능한 점을 찾는 과정
- Edge, Line, Corner, Blob
- Harris Corner, LoG/DoG Blob Detector
- 불변성(Invariance): 회전, 이동, 부분적 조명 변화에도 robust해야 함
👉 핵심 질문: “영상에서 다른 시점·조건에도 동일하게 잡히는 관심점은 무엇인가?”
5. Feature Descriptors (6주차)
- 검출된 **관심점(Local Feature)**을 수치화된 벡터로 기술
- 다양한 방법:
- SIFT: 128D 벡터, 회전·스케일·조명 불변성
- SURF: 빠른 근사 버전
- HOG: 방향 히스토그램, 주로 객체 검출(사람)
- BRIEF/ORB: 이진 특징, 빠른 매칭
- 목표: 서로 다른 영상에서도 같은 물체/장면임을 매칭할 수 있게
👉 핵심 질문: “검출된 점을 어떻게 수치로 표현하여 서로 비교할 수 있을까?”
📌 전체 흐름 (2~6주차를 한 줄로 연결하면)
- 투영 기하: 세계가 어떻게 영상으로 맵핑되는가 (2주차)
- 필터링: 영상에서 원초적 구조를 추출하는 기본 도구 (3주차)
- 스케일 공간: 다양한 크기에서 영상 패턴을 분석하는 표현 (4주차)
- 특징 검출: 의미 있고 안정적인 지점 찾기 (5주차)
- 특징 기술자: 찾은 지점을 불변의 수치 벡터로 표현 (6주차)
즉,
👉 **“카메라 투영 모델로부터 시작해, 필터링과 멀티스케일 표현으로 영상을 정제하고, 그 안에서 강인한 특징을 검출·기술하여 영상 매칭과 인식을 가능하게 한다”**라는 하나의 큰 이야기를 하고 있는 거야.
📘 Geometric Camera Models 정리
1. 이미지 형성의 요소
- Geometry: 3D 세계 점과 영상 간의 기하학적 관계
- Radiometry: 표면에서 방출된 빛과 영상에 도달하는 빛의 관계
- Photometry: 인간 눈으로 감지 가능한 빛의 강도 측정
- Digitization: 연속 신호를 디지털 근사로 변환
2. Image Transformation (영상 변환)
- Image Warping: 좌표계 변환 → 도메인 변경g(x)=f(h(x))g(x) = f(h(x))
- 기하학적 기본요소: 점, 직선, 평면
- 2D 변환 종류:
- Rigid: 회전 + 이동 (거리/각도 보존)
- Similarity: 스케일 + 회전 + 이동
- Affine: 선형 변환 + 이동 (평행선 유지)
- Perspective (Projective): 일반적 호모그래피 (평행선 소실점으로 수렴)
3. Homogeneous Coordinates
- 2D 좌표 (x, y)를 (x, y, 1) 형태로 확장 → 행렬 곱으로 변환 가능
- 장점: 평행 이동, 투영 변환까지 행렬 곱으로 표현
4. Pinhole Camera Model
- 구조: 작은 구멍(투영 중심 COP) → 광선 하나만 투과 → 스크린에 상 형성
- 특징:
- 상하좌우 반전
- 구멍 크기 Trade-off: 크면 블러, 작으면 회절
- 어두움 → 렌즈 필요
투영 수식
(x,y,z)→(x′,y′)=(fxz,fyz)(x, y, z) \to (x', y') = \left( f \frac{x}{z}, f \frac{y}{z} \right)
5. Camera with Lens
- 렌즈 역할: 빛을 굴절시켜 초점(focal point)에 모음
- Thin Lens Equation:1f=1D+1D′\frac{1}{f} = \frac{1}{D} + \frac{1}{D'}
- D: 물체 거리
- D’: 상 거리
- 심도(Depth of Field): 작은 조리개 → 초점 범위 ↑, 하지만 빛 ↓
- 시야(Field of View, FOV):
- f ↑ → 좁아짐 (망원)
- f ↓ → 넓어짐 (광각)
6. Camera Parameters
- Extrinsic Parameters: 월드 좌표 → 카메라 좌표 (R, t)
- Intrinsic Parameters: 카메라 내부 속성 (focal length, skew, 중심점 등)

7. Projection Properties
- 점 → 점, 선 → 선 (공선성 유지)
- 평행선 → 소실점(Vanishing Point)으로 수렴
- 평행선이 이미지 평면과 평행하면 그대로 평행 유지
8. 카메라 왜곡 (Distortion)
- 원근 왜곡: 건축 사진에서 수직선이 모이는 현상 → 렌즈 쉬프트, 보정으로 해결
- 방사 왜곡(Radial Distortion): 렌즈 불완전성 → 배럴(Barrel) 또는 핀쿠션(Pincushion) 왜곡
9. 요약 비교
| Rigid | 거리, 각도 | 회전+이동 |
| Similarity | 비율, 각도 | 스케일+회전 |
| Affine | 평행선 | 스케일링, 시어 |
| Perspective | 공선성만 보존 | 투영, 소실점 |
👉 시험 대비 핵심
- Pinhole Camera Model 수식 암기 (x’, y’) = (f·x/z, f·y/z)
- Thin Lens Equation (1/f = 1/D + 1/D’)
- Intrinsic vs Extrinsic Parameter 구분
- 변환 4종류 특징(Rigid~Perspective)
- 왜곡 유형(원근 왜곡, 방사 왜곡)
📘 Linear Filters 정리
(Cross-correlation & Convolution)
1. 이미지의 정의
- 디지털 이미지: 2D 빛의 세기 함수 f(x,y)
- (x, y): 좌표
- f(x,y): 밝기 값 (0 = 검정, 255 = 흰색)
- 특징: 이산화(discretization)됨 (좌표·밝기 모두)
- 잡음 발생 원인: 센서 한계, 빛 변화, 양자화 오류
2. 이미지 필터링
- 목적: 유용한 정보 추출(에지, 코너 등), 잡음 제거, 화질 향상
- 종류:
- Point Operation: 픽셀 단위 독립 처리 (예: 밝기/대비 조정)
- Neighborhood Operation (Filters): 주변 픽셀 고려
3. 선형 필터 (Linear Filters)
- 정의: 각 픽셀을 주변 픽셀의 선형 결합으로 대체
- 특징: 선형성 + 시프트 불변성
- Linearity: f(h1+h2) = f(h1)+f(h2)
- Shift-invariance: 위치 이동해도 같은 동작 수행
- 예시:
- 평균 필터 (Mean, Box Filter): 블러링, 노이즈 감소
- 가우시안 필터: 중심에 큰 가중치, 주변은 작게 → 부드러운 블러링
4. 가우시안 필터
- 특징:
- 회전 대칭성
- σ(표준편차) 크기에 따라 스무딩 정도 조절
- Gaussian * Gaussian = Gaussian (자기 닫힘 성질)
- 분리 가능성 (Separability):
- 2D 필터링을 1D 두 번으로 분리 가능 → 연산량 감소
- 2D: O(n²m²) → Separable: O(n²m)
5. 비선형 필터 (Non-linear Filters)
- Median Filter
- 각 픽셀을 주변값의 중앙값으로 대체
- 장점: Spike Noise(Impulse, Salt & Pepper)에 강함
- 단점: 계산량 많음
6. Convolution vs Cross-Correlation
- Cross-correlation:g(i,j)=∑u,vh(u,v)f(i+u,j+v)g(i,j) = \sum_{u,v} h(u,v) f(i+u, j+v)→ 필터 그대로 사용
- Convolution:g(i,j)=∑u,vh(u,v)f(i−u,j−v)g(i,j) = \sum_{u,v} h(u,v) f(i-u, j-v)→ 필터를 좌우·상하 반전 후 적용
- 차이점: Convolution은 필터 뒤집기 필요, 하지만 실제 OpenCV 등에서는 두 연산을 동일하게 취급
7. 에지 검출 (Edge Detection)
- Prewitt 필터: 단순 경계 검출 (수평/수직 마스크)
- Sobel 필터: 중앙 픽셀에 더 큰 가중치 → 잡음에 강인
- DoG (Derivative of Gaussian):
- Gaussian Blur 후 미분
- 연산 단축 (LoG 근사)
- LoG (Laplacian of Gaussian): 2차 미분, 블롭 검출에도 활용
8. 요약 비교
| Box (Mean) | 단순 평균 | 쉬움, 빠름 | 에지 손실, 블러 심함 |
| Gaussian | 가중 평균 | 자연스러운 블러, σ 조절 | 세부 손실 |
| Median | 중앙값 | Salt & Pepper 제거 | 느림 |
| Prewitt | 단순 경계 검출 | 구현 쉬움 | 잡음 민감 |
| Sobel | 개선된 경계 검출 | 잡음 강인 | 고주파 민감 |
| LoG/DoG | 2차 미분 기반 | 블롭·에지 검출 | 계산량 큼 |
👉 시험 대비 핵심
- Convolution vs Correlation 차이 반드시 암기
- Gaussian 필터 → σ, 분리 가능성(Separable)
- Median 필터 → Salt & Pepper 제거, 비선형
- Prewitt vs Sobel → Sobel이 잡음에 강함
- DoG ≈ LoG 근사
📘 Image Pyramids 정리
1. Aliasing (에일리어싱)
- 정의: 샘플링 속도가 충분하지 않아 잘못된 신호/이미지가 생기는 현상
- 예시: Sine wave undersampling, Wagon-wheel effect
- 해결 방법:
- Oversampling → Nyquist rate(≥ 2 × 최대 주파수) 만족
- Filtering 후 Subsampling → Gaussian Blur로 고주파 제거 후 축소
2. Gaussian Pyramid
- 구성 방법: Blur(가우시안 필터) → Subsample (1/2 크기) 반복
- 특징:
- 레벨이 올라갈수록 세부 정보 사라지고 큰 영역만 남음
- 원본 이미지를 상위 레벨만으로 완전히 복원 불가 (정보 손실)
- 용도: 스케일 불변성 제공, 다양한 컴퓨터 비전 응용에 사용
3. Laplacian Pyramid
- 아이디어: Gaussian Pyramid의 손실(Residual)을 보관
- 구성:
- 원본 → Blur + Downsampling → 예측 이미지
- 원본 – 예측 = Residual (Loss Detail)
- Residual + Downsampling 이미지를 저장
- 특징:
- 각 레벨에서 잃어버린 디테일 보존
- Reconstruction(복원) 가능 → Residual + Upsampling 합성
- 용도: 노이즈 제거, 이미지 압축, 멀티스케일 표현
4. Wavelet Transform
- 개념: 라플라시안 피라미드의 확장 → 다중해상도 분석
- 1D 변환:
- 신호 x(n) → 필터링(φ, ψ) → 세부(Detail) + 근사(Approximation) 계수
- 2D 변환:
- 이미지를 4가지로 분해: LL(근사), LH(수직), HL(수평), HH(대각선)
- 레벨별 반복 (멀티스케일)
- 특징: DCT(블록 기반) 대비 효율적이고 계층적 부호화 가능
5. Image Interpolation (보간법)
- Nearest Neighbor: 가장 가까운 픽셀 값 복제 (단순, 계단 현상 발생)
- Bilinear: 주변 4픽셀 선형 보간 → 매끄러움 증가
- Bicubic: 주변 16픽셀 이용, 곡선 기반 보간 → 가장 부드럽고 고품질
- 응용: 이미지 확대/축소, 해상도 변환
6. 비교 요약
| Gaussian Pyramid | Blur + Subsample | 간단, 스케일 불변성 | 원본 복원 불가 |
| Laplacian Pyramid | Residual 저장 | 복원 가능, 세부 유지 | 계산량 증가 |
| Wavelet Transform | 다중해상도 + 계수 분해 | 압축, 잡음 제거 | 구현 복잡 |
| Interpolation | Nearest / Bilinear / Bicubic | 단순~고품질 선택 | 속도/품질 Trade-off |
👉 시험 대비 핵심
- Aliasing → Nyquist rate, Blur 후 Subsample
- Gaussian Pyramid: Blur + Subsample, 정보 손실
- Laplacian Pyramid: Residual 저장, 복원 가능
- Wavelet: LL, LH, HL, HH 분해
- Interpolation: Nearest(단순), Bilinear(보통), Bicubic(고품질)
📘 Local Feature Detection 정리
1. Local Feature의 필요성
- 활용: 이미지 매칭, 정합(alignment), 모자이크, 3D 재구성, 모션 추적(AR), 객체 인식, 이미지 검색, 로봇 내비게이션 등
- 장점:
- Locality → 부분 가려짐/잡음에도 강인
- Quantity → 한 장 이미지에서 수백~수천 개 가능
- Distinctiveness → 대규모 DB에서도 구별 가능
- Efficiency → 실시간 처리 가능
2. Local Feature Detection의 주요 단계
- Edge Detection (에지 검출)
- 픽셀 값이 급격히 변하는 위치
- 기법: Prewitt, Sobel, Roberts, Canny
- Canny 특징:
- Gaussian 미분 필터 → 잡음 억제
- 기울기 크기·방향 계산
- Non-maximum suppression (국소 극대점만 유지)
- Hysteresis Thresholding (이중 임계값으로 에지 연결)
- Line Detection (선 검출)
- Hough Transform 사용 → 직선, 원, 곡선 검출
- (ρ, θ) 파라미터 공간에서 직선 표현
- Corner Detection (코너 검출)
- Harris Corner Detector
- 원리: 작은 윈도우를 이동할 때 모든 방향으로 큰 변화 → 코너
- 수학적 표현:
- Second Moment Matrix (H) = ∑ [Ix², IxIy; IxIy, Iy²]
- 고유값 λ1, λ2 해석
- 둘 다 큼 → Corner
- 하나만 큼 → Edge
- 둘 다 작음 → Flat 영역
- 변환 불변성:
- Affine intensity 변화: 부분적 불변
- Translation: Covariant
- Rotation: Covariant (고유값 유지)
- Scaling: 불변하지 않음 (모든 점이 Edge로 분류됨)
- Blob Detection (블롭 검출)
- 특징적인 영역(Blob)을 크기와 위치에 따라 찾음
- 방법: Laplacian of Gaussian (LoG)
- Scale-space에서 여러 σ로 필터링 → 극대값 위치가 Blob
- 효율적 구현: Difference of Gaussians (DoG)
- Scale Normalization: σ² 곱해 스케일 불변성 확보
- Blob 검출은 회전·스케일 변화에 대해 Covariant/Invariance 성질 가짐
3. 주요 포인트 비교
| Edge | Sobel, Canny | 강한 픽셀 강도 변화 | 잡음 억제+정확한 위치 (Canny) |
| Line | Hough Transform | 파라미터 공간에서 직선 검출 | 잡음/부분 가려짐에도 강인 |
| Corner | Harris Detector | 작은 윈도우 이동 시 모든 방향 변화 | 회전·이동에 강함, 크기에는 약함 |
| Blob | LoG, DoG | 특정 스케일에서의 지역 극값 | 회전·스케일 불변성 확보 |
👉 시험 대비 핵심
- Canny Edge Detector 단계(4단계) 반드시 암기
- Harris Detector: 고유값 해석 (λ1, λ2) → 코너/에지/플랫 구분
- Blob Detection: LoG, DoG + σ² scale normalization → 스케일 불변성
- Edge/Line/Corner/Blob 차이를 명확히 구분
📘 Feature Descriptors 정리
1. 좋은 특징(Feature)의 조건
- Repeatability: 기하/조명 변환에도 동일하게 검출
- Saliency: 서로 구분 가능할 만큼 독특함
- Compactness/Efficiency: 픽셀 대비 적은 수의 특징으로 표현
- Locality: 작은 영역에 국한 → 가려짐(clutter/occlusion)에 강인
2. Feature Detection & Description 과정
- Detection: 관심점(Keypoint) 검출
- Description: 관심점을 벡터로 표현 (Descriptor 생성)
- Matching: 두 영상 간 유사한 Descriptor 매칭
3. 주요 Descriptor 기법
(1) SIFT (Scale-Invariant Feature Transform)
- 특징: 크기, 회전, 조명 변화에 불변
- 과정
- Keypoint Detection: DoG(LoG 근사)로 극값 검출
- Localization: 약한 점/엣지 제거, 정밀한 위치 추정
- Orientation Assignment: 지역 기울기 방향으로 회전 불변성 확보
- Descriptor 생성:
- 16×16 영역 → 4×4 셀 → 각 셀에 8-bin 방향 히스토그램
- 총 128차원 벡터
- 장점: 매우 강인, viewpoint 변화(최대 60°)와 조명 차이에도 안정적
(2) SURF (Speeded-Up Robust Features)
- 특징: SIFT보다 3~7배 빠름, 비슷한 성능
- 아이디어: Haar Wavelet + Integral Image 활용
- 검출: Hessian 행렬 근사(LoG → Box Filter)
- 기술자(Descriptor): 20s × 20s 영역 → 4×4 셀 → Haar 응답(dx, dy) 합산 → 정규화
- 장점: 속도 빠름, 회전·블러에 강함
- 단점: 조명/시점 변화에는 취약
(3) HOG (Histogram of Oriented Gradients)
- 주요 용도: 사람 검출
- 과정
- 기울기(gx, gy) 계산
- 8×8 셀마다 방향 히스토그램 계산
- 블록 정규화(대비 보정)
- 전체 연결 → 3780차원 벡터 (64×128 이미지 기준)
- 특징: 국소 기울기 패턴을 통계적으로 표현
(4) BRIEF (Binary Robust Independent Elementary Features)
- 특징: 간단·빠른 이진 디스크립터
- 방식: 패치 내 임의 픽셀 쌍 비교 → 이진 벡터 (128, 256, 512비트)
- 거리 측정: 해밍 거리(XOR)
- 장점: 계산 간단, 빠른 매칭
- 단점: 회전/스케일 변화에 취약
(5) ORB (Oriented FAST and Rotated BRIEF)
- 특징: SIFT/SURF 대체 오픈소스 (빠르고 특허 자유)
- 구성: FAST(코너 검출) + BRIEF(이진 기술자) → 회전 보정
- 샘플링 쌍 학습: 상관성↓, 분산↑ → 판별력 향상
- 장점: 회전에 강함, 실시간 성능
4. 비교 요약
| SIFT | 128D (실수 벡터) | 회전·스케일·조명 불변, 강력 | 느림 |
| SURF | 64D (실수 벡터) | 빠름, 강인함 | 조명/시점 변화 약함 |
| HOG | 수천 차원 (실수 벡터) | 객체(사람) 검출에 효과적 | 고차원 |
| BRIEF | 128~512비트 (이진) | 매우 빠름, 단순 | 회전/스케일 불변성 약함 |
| ORB | 256비트 (이진) | 빠름, 회전에 강함 | SIFT만큼 정밀하지 않음 |
👉 시험 대비 핵심:
- SIFT: 4단계 과정(검출–위치–방향–기술자) + 128D
- SURF: Haar + Integral Image, 빠름
- HOG: 8×8 셀, 3780D, 사람 검출
- BRIEF: 이진 매칭, 빠르지만 회전 취약
- ORB: FAST+BRIEF, 회전 보정
'개인 프로젝트 > 대학원 수업 정리' 카테고리의 다른 글
| [중간고사] Computer Vision (0) | 2025.10.16 |
|---|---|
| Computer Vision 개념정리 (0) | 2025.10.15 |
| 인공지능 수학 (0) | 2025.10.13 |
| [Python] (1) Computer Vision_과제 (0) | 2025.10.09 |
| [Python] Computer Vision_Gaussian Filter (0) | 2025.09.19 |
댓글