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 효과
  • 이러한 착시는 시각 시스템의 작동에 대한 단서 제공

컴퓨터 비전 알고리즘의 기본 원리

  • 이미지 픽셀에서 의미로의 연결: 컴퓨터 비전의 핵심 목표
  • 픽셀 표현: 컴퓨터는 픽셀을 숫자 행렬로 인식
  • 특징 추출: 이미지에서 유용한 특징 추출 (엣지, 코너 등)
  • 패턴 인식: 추출된 특징에서 패턴 인식

시험 대비 핵심 포인트

  1. 컴퓨터 비전과 이미지 처리의 차이점 명확히 이해 (입력과 출력의 차이)
  2. 역사적 발전 단계와 각 시대별 주요 기술 암기
  3. 이미지의 수학적 표현 방식 이해 (함수, 행렬, 픽셀 개념)
  4. 동차좌표계의 개념과 장점 이해 (회전, 이동 등 표현 가능)
  5. 주요 비전 알고리즘의 용도와 적용 사례 숙지
  6. 산업 및 소비자 응용 분야 사례 파악
  7. 인간 시각 시스템과 컴퓨터 비전의 작동 원리 비교 이해