[Computer Vision] 컴퓨터 비전과 영상의 이해
2023. 10. 11. 00:06ㆍRun/Computer Vision
1. 컴퓨터 비전 개요
컴퓨터 비전 (Computer Vision)
- 컴퓨터를 이용하여 정지 영상 또는 동영상으로부터 의미 있는 정보 추출하는 방법 연구하는 학문
- 사람이 눈으로 사물을 보고 인지하는 작업을 컴퓨터가 동등하게 수행할 수 있게끔 하는 학문
- 사람의 눈이 하는 작업을 카메라가 대신하고, 사람의 뇌가 하는 작업을 알고리즘을 통해 컴퓨터가 유사하게 수행하도록
- 전통적인 CV 문제 해결 방법에서는 영상으로부터 유용한 정보 추출하고, 이를 조합해 결과 유추
- CV에서 주로 활용하는 영상 정보: 밝기, 색상, 모양, 텍스쳐, ...
- 이 정보와 ML 알고리즘을 함께 사용하여 사물을 인지할 수 있음
- 영상 데이터에는 다양한 변형 가해질 수 있으므로 여러 방식으로 추출한 영상 정보를 복합적으로 사용해야 함
- CV와 더불어 널리 사용되는 용어 = 영상 처리 (Image Processing)
- CV에서 수학이 차지하는 비중 상당히 큼: 행렬 연산(선형 대수), 미적분학, 확률과 통계, 기하학 등...
- CV와 관련 있는 분야: Signal Processing, Pattern Recognition, Machine Learning, Optics, Cognitive Science, ...
- CV는 현재 다양한 산업 분야에서 사용됨
- 스마트폰 카메라의 HDR (High Dynamic Range) 사진 촬영, 인스타그램 필터 기능 등 (화질 개선)
- 공장 제품 검사, 측정, 불량 판정 등을 위한 CV 널리 사용 (Machine Vision)
- 앞으로 CPU, GPU, TPU 등 하드웨어 발전, 센서 융합, 딥러닝 등의 영향으로 사용성 더 높아질 것임
2. 영상의 구조와 표현 방법
영상의 획득과 표현 방법
- 태양의 가시광선 or 특정 광원의 빛이 피사체에 부딪혀 반사
- 반사된 빛이 카메라 렌즈 통해 카메라 내부로 들어옴
- 렌즈에서 모인 빛이 이미지 센서에 닿으면 이미지 센서의 포토 다이오드가 빛을 전기적 신호로 변환
- 포토 다이오드가 빛을 많이 받으면 큰 신호 생성, 적게 받으면 작은 신호 생성하여 명암이 있는 2차원 영상 구성
- 전기적 신호가 아날로그-디지털 변환기(ADC) 거쳐 디지털 신호로 바뀜
- 디지털 신호는 다시 카메라의 ISP(Image Signal Processor) 장치로 전달되고, ISP 장치는 화이트밸런스 조정, 색 보정, 잡음 제거 등 수행한 후 2차원 디지털 영상 생성
- 구성된 영상은 바로 컴퓨터로 전송되거나 JPG, TIFF 등의 영상 파일 형식으로 변환되어 저장
- 렌즈: 카메라 바깥으로부터 들어온 빛 굴절시켜 이미지 센서로 모아주는 역할
- 이미지 센서: 빛을 전기적 신호로 변환하는 포토 다이오드가 2차원 평면상에 배열되어 있는 장치
- 영상을 구성하는 최소 단위 = 픽셀 (pixel) = 화소
- Picture + Element
- Ex) 2000만 화소짜리 카메라 = 2000만 개의 픽셀로 이루어진 사진 촬영할 수 있는 카메라
- 하나의 픽셀은 하나의 밝기/색상을 표현하며, 픽셀이 모여 2차원 영상을 구성
- Zero-based: 좌표 시작을 0부터 표현하는 방식
- 영상을 수식으로 설명할 때 보통 함수 형태 사용
- x 좌표, y 좌표 입력받고 해당 위치에서의 픽셀 값을 출력으로 내보내는 함수
- 영상은 2차원 평면 위 픽셀 값이 나열된 형태이므로 영상을 2차원 행렬로 표현할 수 있음
그레이스케일 영상과 컬러 영상
- CV에서는 주로 grayscale image와 truecolor image 사용
- Grayscale image: 흑백 사진처럼 오직 밝기 정보만으로 구성된 영상 (= 회색조 영상)
- Truecolor image: 컬러 사진처럼 다양한 색상 정보 표현할 수 있는 영상
- 예전에는 256개 이하의 색상으로 구성된 컬러 영상과 구분하기 위해 truecolor라고 했지만, 요즘은 그냥 color라고 부름
- 그레이스케일 영상은 밝기 정보를 256단계로 구분하여 표현함
- 하나의 픽셀은 0~255(grayscale level)의 정수 값을 가질 수 있음 (클수록 밝은 색)
- 그레이스케일 값 저장하기 위해 C/C++에서 보통 unsigned char 자료형 사용
- BYTE는 주로 Windows에서 사용하는 이름 재정의 방식
- uint8_t는 주로 리눅스에서 사용하는 이름 재정의 방식
- OpenCV 라이브러리에서는 unsigned char 대신 uchar 사용
- 컬러 영상은 보통 R, G, B 세 개의 색상 성분 조합으로 픽셀 값 (0~255) 표현
- 컬러 영상에서 하나의 픽셀은 unsigned char 자료형 3개를 이용하여 표현할 수 있음
'Run > Computer Vision' 카테고리의 다른 글
[Computer Vision] OpenCV 주요 기능 (0) | 2023.10.11 |
---|---|
[Computer Vision] Mat 클래스 (0) | 2023.10.11 |
[Computer Vision] 기본 자료형 클래스 (0) | 2023.10.11 |
[Computer Vision] OpenCV 개요 및 설치 (0) | 2023.10.11 |
[Image Understanding] Color Image 생성하기 (0) | 2023.10.10 |