Color and Light
•
빛은 전자기파, 특정 영역의 전자기파 (가시광선 영역) 에서 색을 볼 수 있음.
•
Isaac Newton 이 햇빛이 7 가지 색상의 빛으로 구성되어 있다는 것을 입증함.
•
물체 자체는 색상을 가지지 않음.
◦
물체의 생상을 결정하는 것은
1.
빛이 어떤 색상으로 구성되어 있는가
2.
물체가 어떤 색상 (파장) 의 빛을 더 많이 반사하는가
3.
센서가 서로 다른 파장의 빛을 어떻게 인지하는가
에 영향을 받음
Sketch: Light Transport
•
Illumination: Spectral Power Distribution
◦
복사되는 물체의 전자기파를 주파수별 단위면적당 Power 를 나타냄.
◦
조명조건에 따라서 색상을 다르게 볼 수 있는 이유임.
•
Surface Reflection: Spectral Albedo
◦
물체의 표면에서 주파수별로 반사가 다르게 일어남.
•
Sensor Response: Human Photoreceptors
◦
Cones
▪
Less Sensitivity: Operate in High Light
▪
색상을 인지함 (Color Vision)
▪
S, M, L 타입의 cone 이 존재하며, S 는 blue, M 은 green, L 은 red 에 해당하는 파장의 빛을 잘 감지함.
▪
색맹은 특정 영역의 색을 인지하는 능력이 떨어지는 것임.
◦
Rods
▪
High Sensitivity: Operate at Night
▪
밝기를 인지함 (Gray-Scale Vision)
◦
Fovea
▪
일반적인 망막 영역에는 Rods 가 더 많지만, Fovea 에는 Cones 가 더, 매우 많음.
Standard Color Spaces
•
다양한 색상을 표현하는 방식 (수치화)
◦
재생산 가능한 색상의 표현을 제공할 수 있음.
▪
Digital Imaging 이 성행하면서 색상의 재생산이 중요해짐.
◦
정확한 색상의 표현은 상업적으로 가치가 있음.
◦
각 Coordinate 가 색상 하나에 대응되는 색상 모델을 제시함.
•
Linear Color Space: RGB, CIE XYZ, (LAB)
◦
RGB
▪
모든 색상은 Red, Green, Blue 의 세 가지 색의 빛으로 표현이 가능함.
▪
눈에서 색채를 인지하는 것에서 정의한 것이 아닌, LCD display 와 같은 제품을 만드는데서 활용
▪
0 ~ 255 까지의 개의 색상을 R, G, B 에 대해서 대응하고 이 조합으로 색상을 표현함.
▪
약 1700 만개의 색상을 표현 가능
◦
CIELAB, Lab, L*a*b*
▪
CIE 라는 국제표준화기구에서 정의한 색상 표현 방법
▪
CIE 에서의 euclidean distance 가 사람이 느끼는 color distance 와 상응이 되도록 정의함
▪
Green (-a) 에서 Red (+a), Blue (-b) 에서 Yellow (+b), 그리고 Black (0) 부터 White (100) 까지를 좌표로 나눔
▪
상업적으로는 많이 안쓰이고 컴퓨터 비전영역에서 자주 사용됨.
•
Non-Linear Color Space: HSV
◦
HSV 의 각각은 Hue, Saturation, Value 를 나타냄.
▪
HUE: Color Family
•
Red:
•
Yellow:
•
…
▪
SATURATION: Purity
•
Gray 가 얼마나 섞여 있는가
•
0 (gray) ~ 100 (primary color)
▪
VALUE: Brightness or Intensity
•
색상의 강도, 밝기
•
0 (Black) ~ 100 (Color)
◦
Cone 형태의 Color Space
◦
Hue 가 angle 로 표현되기 때문에 비선형성을 가짐.
Color Histogram
•
Color 를 feature 로 쓰는 경우가 있는데 대표적인 예시가 Color Histogram 임.
•
색 공간을 여러 개의 bin 으로 나누고, 이미지 픽셀이 각각의 bin 에 얼마나 존재하는지를 나타낸 histogram
•
Color Space 를 선택하고, bin 으로 나누고 각각의 bin 에 포함되는 픽셀의 개수를 세서 넣으면 만들 수 있음.
•
발생할 수 있는 이슈들
◦
어떤 Color Space 를 쓰느냐에 따라서, 어떤 DIstance Metric 을 쓰느냐에 따라서, 몇 개의 bin 으로 나누는지에 따라서 histogram 결과가 많이 달라짐.
▪
CIE LAB 가 많이 쓰이는 이유는 L2 Distance 를 Metric 을 많이 쓰기 때문임.
▪
RGB color 값을 LAB 로 바꾸어서 historgram 을 많이 만듬.
◦
Uniform binning 이 꼭 좋은 Color Representation 이라고 할 수 없음.
◦
공간에 대한 정보가 사라지는 이슈가 있음
Texture
•
Feel, Appearance, Consistency of Surface of Substance 정도로 정의할 수 있음.
•
Gradient 정보가 Texture 랑 밀접한 관계를 가지고 있어 중요한 feature type 으로 취급받음.
•
지각능력에 중요하게 사용됨.
◦
Texture 가 재료의 특성을 가리키기도 함.
◦
Texture 는 와관에 대한 중요한 정보를 줄 수 있음.
◦
Texture 를 통해 물체의 형태, 경계 등을 파악할 수 있음.
•
ImageNet 으로 학습된 CNN 이 Texture 정보에 많이 의존함을 알 수 있는 예시
◦
Texture 가 Object Recognition 에 중요하게 활용된다는 것을 알 수 있음.
•
Texture → Variation 안에서 반복되는 패턴
◦
어떤 부분이 반복되고, 어떤 부분이 바뀌는지 파악해야 함.
◦
Texture 의 확률분포는 동일한데, 매번 만들 때마다 다름.
Scale: Objects VS Texture
•
나뭇잎 하나는 Object 로 보지만, 나무를 포함한 풍경은 Texture
•
Scale 에 따라서 Object 로 볼지 Texture 로 볼지가 결정되기도 함
Texture Representation
•
Texture 는 반복적인 로컬 영역의 패턴
•
반복적인 로컬 영역의 패턴을 찾기 위해 filter 를 사용해 해당 응답으로부터 패턴을 찾음.
•
Filter 가 적용되는 로컬 영역의 window 에 대한 통계를 얻어낼 수 있음 (Mean, Standard Deviation, Histogram of “prorotypical” feature occurences)
•
Texture Representation using Filter
◦
각 Filter 위치에 따라서 Horizontal Filter 및 Vertical Filter 의 결과값을 얻어낼 수 있고 Window 안의 점들에 대한 Filter 를 씌운 값의 평균을 적어둘 수 있음.
◦
각 Window 내 점들의 Horizontal Filter 값들의 평균, Vertical Filter 값들의 평균을 쌍으로 하여 2차원으로 표현할 수 있음.
▪
좌 상단의 Cluster 는 Horizontal Filter 에 대한 응답이 강하고, 우 하단의 Cluster 는 Vertical Filter 에 대한 응답이 강함. 우 상단의 Cluster 는 두 FIlter 모두에 대한 응답이 강함.
▪
Histrogram 을 만들 수도 있음.
▪
Feature Space 상의 거리를 통해 두 로컬 Window 영역의 Texture 가 얼마나 비슷한지도 볼 수 있음.
•
Window Scale 에 따라서도 Feature 가 달라지기 때문에 이도 중요하게 고려할 요소임.
Filter Banks
•
개의 filter 를 쓰면 각각의 window 에 대해서 dimensional vector 를 feature 로 표현할 수 있고 이것이 Texture 에 대한 표현이 됨.
•
해당 표현 벡터가 얼마나 비슷한지에 따라서 Texture 가 얼마나 비슷한지를 나타낼 수 있음.
•
사용할 개의 filter 는 Multi-Scale, Multi-Orientation 등 다양한 패턴의 filter 를 사용함.
◦
Leung-Malik (LM) Filter Bank
▪
Edge, Bar, Spot 에 대한 filter 들로 구성됨.
▪
총 48 개의 filter 들로 구성됨. → 48 Dimenstional Texture Feature
•
1st and 2nd derivatives of Gaussians at 6 orientation and 3 scales → 36 개
•
Laplacian of Gaussian (LoG) → 8 개
•
Gaussians → 4 개
◦
Gabor Filter Bank
▪
Gabor Filter
•
Texture Analysis 에 많이 활용되는 Linear Filter
•
특정 주파수의 컨텐츠가 특정 방향으로 얼마나 있는지를 측정함.
•
포유류의 Visual Cortex 의 간단한 세포들이 동작하는 방식을 모방한 것
•
Sinusoidal Wabe 를 Gaussian 과 곱한 형태로 정의함.
•
2D Gabor Filter
◦
(x 방향의 frequency) 와 (y 방향의 frequency) 를 어떻게 주느냐에 따라서 frequency 및 direction 을 바꿀 수 있음
▪
Gabor Filter 의 wavelength, orientation, scale 을 바꿈에 따라서 다양한 filter 조합을 정의할 수 있음.
Textons
•
Texture 를 이루는 가장 작은 단위, 패턴에서 가장 핵심이 되는 요소들
•
Filter Bank 를 정의하고, 모든 filter 를 적용한 뒤 얻어낸 response 에서 patch 를 뽑고 K-means clustering 을 돌리면, 얻어낸 cluster 의 center 을 Textons 로 볼 수 있음.
•
Texton Histogram as Feature
◦
Texture 를 분석하고 싶은 이미지를 동일한 Filter 를 적용하여 얻어낸 response 에서 patch 를 뽑고 해당 patch 와 가장 가까운 Texton 을 찾는 방법으로 Texton Histogram 을 찾을 수 있음.
Some Applications of Texture
•
Shape from Texture
◦
동일한 Texture 임을 알고 있으면, 이미지를 통해서 반대로 3D Shape 정보를 얻어낼 수 있음.
•
Texture Synthesis
◦
특정 Texture 를 가진 이미지를 기반으로 큰 이미지를 만들 수 있음.
◦
Virtual Environment, Hole-Filling, Texturing Surface 에 활용될 수 있음.
•
Texture Transfer
◦
한 장의 이미지의 Shape 와 다른 이미지의 Texture 를 결합해 새로운 이미지를 만듬.
•
Neural Style Transfer
◦
Content Image 와 Style Image 가 주어졌을 때 Content 와 Style 을 결합한 이미지를 만듬.
◦
Style 이 Texture 로 부터 많이 표현되는 것에서 부터 착안함.
Summary
•
Texture 는 재료나 재료의 외형을 많이 표현함.
•
많은 성공적인 feature 는 Texture 정보에 기반함.
•
Texture Represntation 은 로컬 영역의 구조에 대한 반복적인 패턴을 나타낼 수 있음.
•
Filter Banks 를 이용해 Texture 를 표현하는 feature 를 많이 뽑아냄.