Navneet Dalal and Bill Triggs
RGB colour space with no gamma correction; [-1; 0; 1]
gamma correction
비디오 카메라, 컴퓨터 그래픽 등에서 비선형 전달 함수(nonlinear transfer function)를 사용하여 빛의 강도(intensity) 신호를 비선형적으로 변형하는 것을 말한다.
인간의 시각은 베버의 법칙(Weber's law)에 따라 밝기에 대해 비선형적으로 반응한다. (청각과 같은 다른 감각들도 자극에 대해 비선형적으로 반응한다.) 이 때문에 예를 들어 채널 당 8 bit와 같이 한정된 정보표현량(bit depth)안에서 선형적으로 빛의 밝기를 기록하면 사람의 눈으로 보기에는 양이 변할때 부드럽게 느껴지지 않고 단절되어 보이는 현상(posterization)이 발생한다. 따라서, 주어진 정보표현량의 한계 안에서 최적의 화질을 보여주기 위해선 비선형적으로 부호화해야 할 필요가 있다. (예. Rec. 709 transfer function과 같은 비선형 함수 사용)
디지털 카메라의 경우 내부에 저장되어 있는 데이터를 JPEG, TIFF 형식으로 저장하는 과정에서 감마 보정이 이루어진다. 디지털 카메라에서 지원하는 대부분의 RAW 그래픽 파일 포맷은 감마 보정이 적용되지 않은 데이터이다. 하지만, 니콘의 압축형 NEF (compressed NEF)의 경우 bit depth를 9.4 bit으로 줄이는 양자화(quantization)과정에서 감마 곡선과 유사한 비선형 곡선(전달 함수)을 사용한다.
gradient filter with no smoothing;
gradient filter [-1 1] [-1 0 1] 영상 데이타의 미분은 x축은 이렇게... 연속적인 공간과 이산적인 공간은 다른 세계인가? 영상 데이타의 경우 이산 공간에 씌여지는 것이므로 x->0으로 간다는 것이 있을 수 없는 것 .. 한 픽셀이 크기가 굉장히 작으므로 그것이 거의 비슷하게 동작한다고 생각해도 괜찮지 않을까? smoothing을 하지 않는 다는 것은 그만큼 에지가 있는 것의 소실을 줄인다는 의미.... 하지만 어떤 shape 형태가 아니고서야 gradient 데이타가 의미가 있을까 하는 의문도...
linear gradient voting into 9 orientation bins in 0~180;
linear 한 gradient 값이 어떤 것인가? .... 그냥 일반적인 gradient겠지....
9 방향 값이면 20도씩 나눴다는 것인데 9개로 나누었을때 문제는 20, 40, 60, 80 100, 120, 140, 160, 180(0) 근처에 값들이 많을 경우 보기에는 똑같은 이미지라도 하더라도 다른 histogram을 그리게 될 확률이 높다. 따라서 대체로 자기 옆의 bin들을 이용해서 자신의 bin과 평균을 내어서 보정을 해주게 된다. 옆의 bin을 몇 개까지 하느냐는 것은 얼마나 데이타 bin을 잘게 나눴냐에 따라서 다른 문제이겠지만....
16x16 pixel blocks of four 8x8 pixel cells;
이건 뭐? block 단위로 뭐 조작하는게 있겠지..
Gaussian spatial window with 시그마 8 pixel
Gaussian 필터 돌리나보지.. 시그마 8로 근데 pixel이란 말은 왜 붙은거?
1. Input Image
2. Normalize gamma & colour
false positives per window(FPPW)
3. Compute gradients
4. Weighted vote into spatial & orientation cells
5. Contast normallize over overlapping spatial blocks
6. Collect HOG's over detection window
7. Linear SVM