Search
Duplicate

OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝/ 컴퓨터 비전과 영상의 이해

컴퓨터 비전 개요

1960년대 미국에서 인공위성으로부터 전송된 달 표면 사진의 잡음을 제거하는 작업을 수행하였는데 이것이 디지털 영상처리의 시초라고 알려져 있음.
1966년 MIT에서 “The Summer Vision Project”라는 제목으로 카메라와 컴퓨터를 연결하여 카메라가 바라보는 장면을 컴퓨터가 인식하는 시도를 하였고, 이것을 컴퓨터 비전의 시초로 보는 사람들도 있음.
1970년대에서 1990년대까지는 영상에서 객체의 윤곽 또는 에지 정보를 추출하거나 코너 점 검출, 모양 정보 분석, 텍스쳐 분석 등의 기본적인 영상 특징 분석 방법과 이를 응용한 3차원 구조 분석, 움직임 정보 추출, 얼굴 검출 및 인식 등의 고수준 연구가 진행 됨
2000년대 들어와서는 실시간 얼굴 검출, 크기 불변 특징점 검출 및 매칭 등의 기술이 개발 됨.
실시간 얼굴 검출 기술은 현재 대부분의 디지털 카메라에탑재되어 얼굴에 자동으로 초점을 맞춰주는 용도로 활용 되고 있음.
2010년대 들어와서는 딥러닝(deep learning) 기술이 크게 발전하면서 컴퓨터 비전의 가능성과 활용 영역이 확대되어 가고 있음.
컴퓨터 비전에 활용되는 관련 지식들은 아래 이미지 참조

영상의 구조와 표현방법

영상의 획득과 표현방법

빛이 피사체에 부딪혀 반사되고, 그 반사된 빛이 카메라 렌즈를 통해 카메라 내부로 들어오게 됨. 실제 카메라에는 여러 렌즈를 복합적으로 사용하여 좋은 화질의 사진을 얻을 수 있도록 설계 됨.
렌즈는 카메라 바깥으로부터 들어온 빛을 굴절시켜 이미지 센서로 모아주는 역할을 함.
이미지 센서는 빛을 전기적 신호로 변환하는 포토 다이오드(photodiode)가 2차원 평면 상에 배열되어 있는 장치로 렌즈에서 모인 빛이 이미지 센서에 닿으면 이미지 센서에 포함된 포토 다이오드가 빛을 전기적 신호로 변환 함.
빛을 많이 받은 포토 다이오드는 큰 신호를 생성하고 빛을 적게 받은 포토 다이오는 작은 크기의 신호를 생성함으로써 명암이 있는 2차원 영상을 구성 함.
포토 다이오드에서 생성된 전기적 신호는 아날로그-디지털 변환기(ADC, Analog-Digital Convertor)를 거쳐 디지털 신호로 바뀌게 되고, 이 디지털 신호는 다시 카메라의 ISP(Image Signal Processor) 장치로 전달 됨.
ISP 장치는 화이트밸런스 조정, 색 보정, 잡음 제거 드으이 기본적인 처리를 수행한 후 2차원 디지털 영상을 생성 함.
이렇게 구성된 영상은 곧바로 컴퓨터로 전송되거나 JPG, TIFF 등의 영상 파일 형식으로 변환되어 저장됨.
영상을 구성하는 최소 단위는 픽셀(pixel). 픽셀은 사진(picture)와 요소(element)에서 유래하였으며, 화소라고도 부름.
영상은 픽셀이 바둑판처럼 균일한 격자 형태로 배열되어 있는 형태로 표현 됨. (아래 이미지 참조)
영상을 표현하는 2차원 xy 좌표계에서 x 좌표는 왼쪽에서 오른쪽으로 증가하고, y 좌표는 위에서 아래로 증가함 (0, 0이 좌상단)
영상을 수식으로 설명할 때는 보통 함수의 형태를 사용함. 즉, x 좌표와 y 좌표를 입력 받고 해당 위치에서의 픽셀 값을 출력으로 내보내는 함수 형태로 영상을 표현할 수 있음.
예컨대 위 그림에 나타난 영상을 f라 표기할 때, (x, y) 좌표의 픽셀 값은 f(x, y)로 표현 됨.
영상은 2차원 평면 위에 픽셀 값이 나열된 형태이기 때문에 영상을 2차원 행렬로 표현할 수 있음. 실제로 몇몇 영상 처리 알고리즘은 행렬 이론을 이용하여 컴퓨터 비전 문제를 해결하기도 함.
행의 개수가 M이고 열의 개수가 N인 행렬 A는 아래와 같이 표현 함.
아래 행렬에서 소문자 aija_{ij} 는 jj번째 행, ii번째 열에 위치한 행렬 원소를 나타냄. 만일 영상을 나타내는 것이라면 해당 위치의 픽셀을 의미 함.
A=[a11a12...a1na21a22...a2n...am1 am2...amn]A = \left[ \begin{array}{rrrr} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} & ... & a_{2n} \\ ... \\ a_{m1}  & a_{m2} & ... & a_{mn} \end{array} \right]