yoncho`s blog

컴퓨터 비전이란? | 기계의 눈을 담당하고있는 아이 본문

기술, 나의 공부를 공유합니다./[ML] Object Detection

컴퓨터 비전이란? | 기계의 눈을 담당하고있는 아이

욘초 2024. 9. 28. 14:10

비전 이해하기


컴퓨터 비전이란?

영상 입출력 매체를 통해 입력받은 이미지나 영상에서 물체(Object), 전경(Foreground), 배경(background)을 인식하고 이해하는 연구분야다.

즉, 인간의 눈과 같은 역할을 기계에서 하는 것이다.

한계

인간의 시각은 가장 높은 해상도와 처리속도를 갖고있어서, 직관적인 정보를 얻는다.
왜냐하면 인간은 사물을 볼 때, 모든 감각을 사용하며 기억과 경험적 측면을 활용하기때문이다.
그리고 여기서 직관적인 정보를 얻는다는 것은.. 조명. 그림자. 배경들이 얽혀있는 상황이여도 물체를 뚜렷하게 구분할 수 있다는 것이다.
하지만,
컴퓨터는 모든것을 해결가능한 범위안에서 고려해야되기 때문에 물체를 인식해오는 것에 한계가 있다.


데이터 변형, Analog to Digital

카메라로 갖고오는 아날로그 영상은 컴퓨터가 처리하기위해서 디지털 영상으로 변환이 필요하다.
즉, 아날로그 신호를 디지털 신호로 변환해줘야한다. 그러기 위해선 샘플링  양자화, 보호화 과정을 거처야한다.

  • 샘플링 (Sampling) : 컴퓨터는 0과 1 같은 이산적인 값들로 구성된다. 하지만 실세계는 0과 1사이에 무수히 많은 수가 존재하듯,, 숫자들이 연속적이다. 샘플링은 연속적인 시간에 대한 데이터를 이산적인 시간에 대한 데이터로 변환하는 과정이다. 실세계에서는 0초 0.01초 0.02초 이렇게 있다면,, 컴퓨터에는 0초 1초 2초 이렇게만 존재하기 때문이다.
  • 양자화 (Quantization) : 샘플링을 하고나온 이산신호를 디지털 신호로 만드는 과정이다. (이산시호와 디지털 신호는 구분되어야한다. 이산신호는 무한한 정밀도를 갖지만, 디지털은 8bit, 16bit와 같은 유한한 정밀도를 가진다.) 실세계의 아날로그 데이터는 시간뿐만 아니라 데이터도 연속적인 성질을 갖고있다. 따라서 이를 양자화하여 이산적인 값들로 데이터를 재구성한다.
  • 부호화 (coding) : 샘플링과 양자화를 거쳐 나온 디지털 정보를 0과 1의 이진수로 표현하는 과정이다. 양자화 과정을 거친 정보들은 전송 시 외부요인에 매우 민감하므로 전송과 처리에 적합하게 이진수로 부호화시켜준다.

데이터 손실 과 영상처리의 한계

아날로그 데이터를 샘플링, 양자화, 부호화를 통해 디지털 데이터로 변환시 중간에 데이터 손실이 발생한다. 그리고 디지털 데이터로 변환된 이미지 데이터를 컴퓨터에 표시하기 위해서는 압축과정을 거처야하는데. 이 과정에서도 데이터 손실이 발생한다. 그리고 컴퓨터가 이미지를 읽는다면 오로지 디지털화된 숫자 정보로만 이미지를 판단해야된다. 여기서 숫자정보들은 실세계의 이미지에 대한 정보를 모두 담지 못 한다.. 그래서 데이터 손실과 제한적인 숫자 정보로는 모든 조건을 구분하기란 쉽지않다. 그리고 이 부분을 개선하기위해서 지금도 연구가 진행되고있다.


이미지 데이터

이미지 데이터는 RGB형태로 구성된다.

색상을 표현하는 모델로는 GRAY모델, RGB모델, HSV모델, YCbCr모델등이 존재한다.
하지만 OpenCV에서는 RGB모델로 이미지 데이터를 갖고온다.
(*정확히 OpenCV는 BGR 순으로 이미지 데이터를 갖고온다.)
눈치채신분도 계시겠지만, RGB에서 R은 Red(빨강) G는 Green(초록) B는 Blue(파랑)이다.
각각은 8bit, 1byte값으로 범위가 0 부터 255까지이다.
그리고 이미지의 크기와 동일한 갯수로 RGB데이터를 갖고온다.

1500 x 740 pixel Image 는 1500 x 740 개의 RGB Data를 갖고있다.

컴퓨터는 픽셀 데이터간의 값의 높고 낮음, 인접성, 배치형태, 연속성 등을 갖고 이미지의 유의미한 정보를 구분하고 판단한다.
컴퓨터는 이미지 전체를 바라보고 판단하는 것이 아닌, 행렬형태로 구성된 이미지 데이터 숫자값을 갖고 판단하는 것이다.


참고
[색상 표현 모델]
https://darkpgmr.tistory.com/66
[아날로그 신호 디지털화 과정]
https://cdn.discordapp.com/attachments/799312553846505546/800023821721534494/01.pptx
[영상처리 정리]
http://blog.naver.com/PostView.nhn?blogId=dic1224&logNo=220874533207&from=search&redirect=Log&widgetTypeCall=true&directAccess=false

Comments