앎을 경계하기

Machine Learning/For CV

2. 디지털 영상 기초(2)

양갱맨 2020. 10. 15. 15:35

2.4 영상 샘플링 및 양자화

2.4.1 샘플링과 양자화의 기본 개념

센서로부터의 출력은 연속적인 전압 파형으로 디지털 영상으로 사용하기 위해 연속 데이터를 이산 데이터로 전환해야한다. 이 때 사용되는 과정이 샘플링(sampling)과 양자화(quantization)다.

그림에서 좌측 상단 이미지가 센서로부터 얻은 연속적 영상 f이다. 디지털 형태로 전환하기 위해 좌표 값을 디지털화하는 샘플링, 진폭 값을 디지털화 하는 양자화를 거쳐야한다.

우측 상단 이미지에서 표현된 선분 AB는 연속적 영상 f의 진폭 값들의 변화를 나타낸다. 이 함수를 샘플링 하기 위해 일정 간격으로 샘플을 얻는다.

그러나 아직 밝기값은 연속적이기 때문에 이 또한 이산적으로 전환되어야 한다. 이 과정이 양자화이다. 좌측 하단 이미지에서 수직으로 연속적 표현된 밝기 값을 확인할 수 있다. 양자화를 거쳐 밝기값이 이산화된 우측 하단 이미지를 확인할 수 있다.

샘플링 기준이 세세하지 않으면 데이터 크기는 줄어들지만 그만큼 생략되는 데이터가 많아 아래 그림과 같이 표현되며 세세할수록 오리지널 이미지에 가까운 영상이 된다.

2.4.2 디지털 영상 표현

디지털 영상은 전통적인 매트릭스로 표기한다.

A=[a0,0a0,1...a0,N1a1,0a1,1...a1,N1............aM1,0aM1,1...aM1,N1]A=\begin{bmatrix}{a_{0,0}}&{a_{0,1}}&...&{a_{0,N-1}}\\{a_{1,0}}&{a_{1,1}}&...&{a_{1,N-1}}\\{...}&{...}&...&{...}\\{a_{M-1,0}}&{a_{M-1,1}}&...&{a_{M-1,N-1}}\\\end{bmatrix}

각 원소들은 영상의 화소(pixel)가 된다. 디지털화 과정을 위해 M,N 값과 이산적 밝기 레벨 수 L이 결정되어야 한다. M, N은 양의 정수여야하고 L은 2의 거듭제곱값으로 표현된다.

디지털화된 영상을 저장하는데 필요한 비트 수 b는 다음과 같다.

b=MNk(M=N),b=N2kb = M*N*k\\(M=N), b = N^2k

어떤 영상이 2^k개의 밝기 레벨을 가질 수 있으면 그 영상을 k-비트 영상이라고 말한다. 만약 256개의 밝기 레벨을 가질 수 있다면 8비트 영상이라고 말한다.

2.4.3 공간 및 밝기 해상도

공간 해상도는 영상에서의 식별 가능한 가장 작은 디테일의 척도이다. 공간해상도를 정량적으로 기술하기 위해 unit distance 당 선 쌍의 수, unit distance 당 화소 수 등이 가장 보편적으로 사용된다.

각 폭이 W 유닛인 흑색과 백색 번갈아 나오는 수직 선들을 갖는 차트를 만든다.

따라서 선 쌍의 폭 2W이며 단위 거리당 1/2W개의 선쌍이 있다. 공간 해상도가 높을수록 더 많은 화소들이 사용된다.

영상 해상도의 정의는 단위 거리 당 최대 구분 가능 선 쌍의 수 이다. 단위 거리당 점(pixel) 수는 인쇄나 출판 산업에서 많이 사용된다. 미국에서는 dpi로 표현된다. 영상이 1024x1024 화소의 해상도를 가진다는 것은 무의미한 표현법이다. 영상의 크기는 영상화 능력 간 비교에 도움이 될 뿐이다.

밝기 해상도는 밝기 레벨에서 식별 가능한 가장 작은 변화를 가리킨다. 흔히 밝기를 양자화하는 데 사용된 비트 수를 밝기 해상도라고 한다.

디테일의 정도가 다른 영상을 가지고 N과 k 변화에 대한 실험을 진행하였을 때 ISO preference curve가 다음과 같이 표현되었다. 디테일이 증가할수록 곡선이 수직이 되는 경향이 있다.

이 그래프를 통해 디테일이 많은 영상에서는 밝기 레벨이 적어도 된다는 것이다. k의 감소가 외견상의 Contrast 값을 증가시키는 경향이 있다는 것을 확인할 수 있었다.

2.4.4 영상 보간법

보간법은 알려지지 않은 곳에서 값을 추정하기 위해 알려진 데이터를 사용하는 과정이다.

  • k-nearest neighbor interpolation

    새 위치 각각에 원래 영상의 최근접 이웃 밝기를 부여하는 방법

    이 보간법은 직선 엣지의 심한 왜곡 같이 원치 않은 구조를 만들 수 있다.

  • bilinear interpolation

    네 개의 최근접 이웃을 사용해서 해당 위치의 밝기를 추정한다. 해당 위치(x,y)의 밝기 값(v(x,y))을 추정하기 위해 아래 수식이 사용된다.

    v(x,y)=ax+by+cxy+dv(x,y)=ax+by+cxy+d
  • bicubic interpolation

    16개의 최근접 이웃을 필요로 한다. 밝기 값은 다음 식을 사용해서 얻을 수 있다.

    v(x,y)=i=03j=03aijxiyjv(x,y)=\sum^{3}_{i=0}\sum^{3}_{j=0}a_{ij}x^iy^j

    bilinear 보다 bicubic이 세세한 디테일을 더 잘 보존한다. 포토샵 같은 곳에서 사용되는 표준 보간법이 bicubic interpolation이다.

    나아가 더 나은 결과를 보여줄 수 있는 스플라인, 웨이블릿 등 복잡한 기법들도 존재한다.

'Machine Learning > For CV' 카테고리의 다른 글

2. 디지털 영상 기초(4)  (0) 2020.10.31
2. 디지털 영상 기초(3)  (0) 2020.10.15
2. 디지털 영상 기초(1)  (0) 2020.10.15
1. Intro(2)  (0) 2020.10.12
1. Intro(1)  (0) 2020.10.09