Duplicate

Lecture 13 | Color and Texture

수강 일자
2022/10/18

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 까지의 282^8 개의 색상을 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: 0°60°0\degree -60\degree
Yellow: 61°120°61\degree - 120\degree
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

dd 개의 filter 를 쓰면 각각의 window 에 대해서 dd dimensional vector 를 feature 로 표현할 수 있고 이것이 Texture 에 대한 표현이 됨.
해당 표현 벡터가 얼마나 비슷한지에 따라서 Texture 가 얼마나 비슷한지를 나타낼 수 있음.
사용할 dd 개의 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 과 곱한 형태로 정의함.
exp(x22σ2)sin(2πωx), exp(x22σ2)cos(2πωx)\exp(-\frac{x^2}{2\sigma^2})\sin(2\pi\omega x), \ \exp(-\frac{x^2}{2\sigma^2})\cos(2\pi\omega x)
2D Gabor Filter
exp(x2+y22σ2)cos(2π(kxx+kyy))\exp(-\frac{x^2+y^2}{2\sigma^2})\cos(2\pi(k_x x + k_y y))
kxk_x (x 방향의 frequency) 와 kyk_y (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 를 많이 뽑아냄.