CV ‐ 1. Introduction - waegari/waegari.github.io GitHub Wiki
Introduction
1. 컴퓨터 비전의 기본 개념
컴퓨터 비전의 정의
- Computer Vision: 이미지 입력을 받아 장면에 대한 지식을 출력하는 분야 (객체, 사람, 활동 인식, 카메라로부터의 거리 등)
- Image Processing: 이미지 입력을 받아 이미지를 출력하는 분야 (장면에 대한 지식 제공 없음)
- 차이점: Computer Vision은 이미지에서 의미(meaning) 추출에 중점, Image Processing은 이미지 변환에 중점
역사적 발전
- 1970년대: 인공지능의 시각적 인식 구성 요소로 발전, 3D 구조 복구 시도
- 1980년대: 정량적 이미지 및 장면 분석을 위한 수학적 기법 발전 (scale-space processing, shape-from-X, 스테레오그래피 등)
- 1990년대: 3D 모델링 기술, structure from motion, projective reconstructions 발전
- 2000년대: 비전과 그래픽 분야의 상호작용 심화, 데이터 기반 및 기계학습 접근법 발전
- 2010년대: 대규모 레이블 데이터셋(ImageNet, MS COCO), 신경망 기반 학습 알고리즘 도입
- 2020년대: 텍스트-이미지 생성, 비디오 생성, 이미지 편집 기술 발전
중요 연구 사례
- Hubel & Wiesel (1981년 노벨의학상): 시각 시스템에서의 정보 처리 발견
- Thorpe et al. (1996): 인간의 동물/비동물 이미지 분류가 단 150ms 내에 이루어짐을 증명
2. 이미지의 수학적 표현
이미지를 함수로 표현
- 이미지는 2D 공간에서 정의된 함수: f: [a,b] × [c,d] → [0,255] (grayscale)
- 픽셀(pixel): 이미지의 최소 단위, 이산적 값 (보통 0-255 범위)
- 그레이스케일 이미지: 각 픽셀이 하나의 강도 값(intensity value)
- 컬러 이미지: 각 픽셀이 다중 채널 값 (RGB, Lab, HSV 등)
이미지의 행렬 표현
- 그레이스케일 이미지: m × n 행렬로 표현
- 컬러 이미지: m × n × 3 행렬로 표현 (RGB 각 채널별)
- OpenCV에서는 이미지의 좌상단 코너가 (0,0) 좌표
3. 선형대수와 벡터 표현
벡터와 행렬 연산
- 벡터는 2D, 3D, ND 공간에서의 오프셋을 표현 가능
- 점은 원점으로부터의 벡터로 간주 가능
- 데이터(픽셀, 그래디언트 등)도 벡터로 취급 가능
동차좌표계(Homogeneous Coordinates)
- 기존 좌표계에 1을 추가: (x, y) → (x, y, 1)
- 이점: 회전, 스케일링, 전단변형(skew)과 함께 이동(translation)도 표현 가능
- 2D 이동 변환 행렬:
[1 0 tx] [0 1 ty] [0 0 1 ]
- 2D 회전 변환 행렬:
[cosθ -sinθ 0] [sinθ cosθ 0] [0 0 1]
4. 컴퓨터 비전의 응용 분야
산업 응용
- OCR(Optical Character Recognition): 우편물 주소 읽기, 번호판 인식(ANPR)
- 기계 검사: 품질 보증을 위한 부품 검사(스테레오 비전 활용)
- 소매업: 자동 계산대, 완전 자동화 상점
- 창고 물류: 자율 패키지 배달, 로봇 매니퓰레이터
- 의료 영상: 수술 전/중 영상 정합, 뇌 형태학 장기 연구
- 자율주행 차량: 도시간 자율주행, 자율 비행
- 3D 모델 구축: 항공 및 드론 사진에서 3D 모델 자동 구축
소비자 응용
- 이미지 스티칭(Stitching): 여러 사진을 하나의 파노라마로 합성
- 노출 브라케팅(Exposure Bracketing): 다양한 노출의 사진 병합
- 모핑(Morphing): 한 이미지를 다른 이미지로 변형
- 3D 모델링: 사진을 3D 모델로 변환
- 비디오 안정화: 흔들림 제거
- 얼굴 검출: 카메라 초점 개선 및 관련 이미지 검색
바이오메트릭스
- 얼굴 인식: 보안 및 신원 확인
- 지문 인식: 신원 확인 및 법의학 응용
- 홍채 인식: 고유한 홍채 패턴을 통한 신원 확인
기타 응용
- 모바일 비주얼 검색: Google Lens, Snapell
- 자동차 안전: Mobileye의 비전 시스템 (보행자 충돌 방지)
- 로봇공학: 자율 탐사, 장애물 회피
- 증강 현실: 실시간 깊이 occlusion 효과
- 특수효과: 형태 및 모션 캡처 (영화 산업)
5. 주요 컴퓨터 비전 알고리즘
객체 검출 및 인식
- Face Detection: 여러 디지털 카메라에 내장
- Smile Detection: 적절한 순간 자동 셔터 작동
- Object Instance Segmentation: 복잡한 장면에서 각 개체 및 객체 윤곽 그리기
3D 복원 및 모델링
- Structure from Motion: 부분적으로 겹치는 수백 장의 사진에서 3D 포인트 모델 복원
- Stereo Matching: 다양한 노출의 수백 장 사진에서 건물 외관 3D 모델 구축
- Photogrammetry: 항공 및 드론 사진에서 3D 모델 구축
기타 중요 알고리즘
- Image Stitching: 다중 이미지 파노라마 생성
- Motion Capture: 컴퓨터 애니메이션을 위한 배우 동작 캡처
- Match Move: 실사 영상에 CGI 합성 (3D 카메라 움직임 추정)
6. 시각적 인식의 작동 방식
인간 시각 시스템
- 뇌의 병렬 인식 및 통합 경로를 통해 작동
- 주요 착시 현상: Muller-Lyer 착시, 밝기 항상성, Hermann grid 착시, Pop-out 효과
- 이러한 착시는 시각 시스템의 작동에 대한 단서 제공
컴퓨터 비전 알고리즘의 기본 원리
- 이미지 픽셀에서 의미로의 연결: 컴퓨터 비전의 핵심 목표
- 픽셀 표현: 컴퓨터는 픽셀을 숫자 행렬로 인식
- 특징 추출: 이미지에서 유용한 특징 추출 (엣지, 코너 등)
- 패턴 인식: 추출된 특징에서 패턴 인식
시험 대비 핵심 포인트
- 컴퓨터 비전과 이미지 처리의 차이점 명확히 이해 (입력과 출력의 차이)
- 역사적 발전 단계와 각 시대별 주요 기술 암기
- 이미지의 수학적 표현 방식 이해 (함수, 행렬, 픽셀 개념)
- 동차좌표계의 개념과 장점 이해 (회전, 이동 등 표현 가능)
- 주요 비전 알고리즘의 용도와 적용 사례 숙지
- 산업 및 소비자 응용 분야 사례 파악
- 인간 시각 시스템과 컴퓨터 비전의 작동 원리 비교 이해