Camera
1. Camera Array
카메라 여러대를 이용해서 3D Mesh Model을 얻는 기술이다.
Static Objec는 카메라 한대로도 가능하다.
2. Lens Array (Integral Imaging)
여러 시점의 렌즈를 통해 3D 모델을 얻는 기술이다.
이를 위해서는 모두 같은 동률의 렌즈가 필요한데, 비싸다.
카메라 모듈 하나에 약 1000원 정도인데, 렌즈를 15개를 넣으면 15000원..
사업성이 충분하지 않다.
3. Digital Holography (CGH)
레이저를 이용해서 사물의 Absolute Depth를 파악하여 3D 모델을 얻는 기술이다.
Hologram Mark
다른 건 3D 모델을 2D 화면으로 3D 모델을 가져오는 기술이었는데, 이거는 3D 모델을 3D 환경에서 볼 수 있다.(3D 데이터의 현실감 상승, 시점을 이동하면 내가 보는 영상도 변함)
4. Normal Sensor (Photon-X)
사물의 Relative Depth를 파악하여 3D 모델을 얻는 기술이다.
빛의 회전 감도에 따라 Relative 거리를 측정할 수 있다. (빛이 다시 돌아오면서 회전한다.)
5. Structured Light (Stereo Reconstruction)
pattern Tracking
특정 패턴을 가진 빛을 쏴서 해당 패턴이 맞춰지는 조건으로 3D 모델을 맞춘다.
Accuracy와 Precision의 차이점
Accuracy: 정확도 (Truth)
Precision: 정밀도 (항상 같은 값)
카메라는 Accuracy가 낮다
6. Kinect V1
직진성을 가진 레이저 빛을 물체에 쏴서 빛이 도착하는 시간을 계산하여 3D data를 얻는다.
time of flight
7. Time of Flight
Kinect V1은 Time of Flight 사용한다.
빛이 도착하는 시간으로 distance 계산한다.
실제로는 빛을 기다리지 않고 빛의 위상차를 이용한다. (근적외선 파장의 빛)
active sensor:
ex. RIDAR
8. Laser Scanning
Color Camera
Digital Image
3D로 펼쳐진 세상을 2D의 Digital Image로 변환시킬 때, 눈으로 보는 것과 카메라로 찍은 Image의 차이를 생각해보자.
- 3D Data가 사라지게 된다.
- 눈으로 느낄 수 있는 질감을 카메라의 픽셀로 표현할 수 없다.
- 공간 Quantization 으로 인한 이미지 Blur가 생긴다.
- 영상일 경우 시간 Quantization 으로 인해 frame 사이의 loss가 생긴다.
- Color 표현 능력이 줄어든다.
이러한 문제점을 해결해야 3D 데이터를 2D image로 완벽히 구현할 수 있을 것이다.
Image Formation
카메라는 3D를 2D로 Projection하는 것과 같다.
카메라의 원리를 생각해보자.
왼쪽과 같은 Object가 있다고 생각했을 때, 모든 빛을 받는 단순한 Film 센서가 있다고 생각해보자.
이 센서에는 모든 빛이 다 들어오기 때문에 물체의 상이 맺히지 않게 된다.
즉, 렌즈로서의 역할을 수행할 수 없다는 뜻이다. (카메라의 기능을 수행하지 못한다.)
Pinhole Camera
그래서 나타난 카메라가 Pinhole Camera이다.
아까의 Object-Film 구조에서 중간에 구멍이 뚫린 장애물을 하나 놓는다.
그럼, 한 곳에서 반사되는 여러 방향의 빛 중 해당 구멍으로 지나가는 빛만 Film에 도달한다.
이를 이용하면 앞서 나왔던 여러 빛에 의한 Blurring 현상을 사라지게 만들 수 있게 된다.
그러나, 이 방식을 사용하게 되면 Film에 들어오는 빛의 양 자체가 적어지게 된다. 그럼 밝기 자체가 낮아져서 물체를 명확하게 볼 수 없게 된다.
구멍 주변에 아주 살짝 막히는 빛들 조차 차단되기 때문에, 구멍 앞에 렌즈를 붙여서 빛을 모아주는 역할을 하게 된다.
아래 그림을 보면 더 쉽게 이해할 수 있을 것이다.
당연하게도, pinhole의 구멍이 커질수록 film에 들어가는 빛의 양은 많아지므로 밝기가 커지지만, Blurring 현상도 생기게 된다.
밝기는 밝아지고, Blurring 현상도 막기 위해 앞서 설명한 것처럼 구멍 앞에 렌즈를 부착하게 되고, 이 렌즈 크기에 따라 화질 또한 커지게 된다.
Camera obscura
앞서 설명한 Pinhole Camera의 방식을 이용해 많은 화가들이 그림을 그렸다고 한다.
Projective Geometry
위 두 사진을 보면, 3D의 물체를 2D image로 projection 시켰을 때 Length정보와 Angles 정보가 명확하지 않고 사라지는 것을 느낄 수 있다.
그 대신, Straight Line 직선은 여전히 직선이다. (Shape은 유지되지 않는다.)
이 직선 정보로 3D data를 얻어낼 수 있다.
Vanishing points and lines
소실점에 대해서 들어봤을 것이다.
평행한 직선은 원근법에 의해 image 상에서 소실점이 생긴다.
한 image 내에서 소실점이 생기는 부분들을 연결했을 때 Vanishing Line이 생기게 된다.
위 그림처럼 왼쪽의 평행한 선들이 모여 왼쪽 Vanishing Point을 만들고, 오른쪽 벽의 선들이 모여 오른쪽에 Vanishing point를 만들게 된다.
이 두 Vanishing point를 연결하여 Vanishing Line을 만들게 된다.
이 때, Vertical로 사진을 보게되면 2차원에서 평행한 것을 알 수 있다. 2차원에서 평행한 선들은 3차원에서도 평행하게 된다.
사람들이 만든 것들은 평행하고 대칭적인 것이 많은데, 이를 이용해 후에 2D Image를 3D Data로 표현할 수 있게 된다.
Image Geometry
Image의 물체에서 3D 위치 데이터를 얻는 개념에 대해 생각해보자.
위 그림은 물체가 실제 세상에서 World Coordinate System으로 나타낸 그림이다.
이 때 원점(origin)은 정해져있지 않다.
위 그림은 물체의 카메라 상으로 Camera Coordinate System을 나타낸 모습이다.
Z 축은 Optic Axis, 즉 빛이 투과하는 광로를 나타낸다.
원점은 렌즈의 중심이 될 수 있다.
결국, Image의 기하학 정보를 알아내는 것의 처음은, World Coordinate 정보를 Camera Coordinate 정보로 변환하고, 이를 통해 Image Coordinate정보를 알아내 Pixel Coordinate로 변환하는 것이다.
Image Photometry
이미지의 3D Color 정보를 얻을 수 있는 방식에 대해 생각해보자.
광원에서 광자를 방출하게 되면, Photon은 물체에 닿아 우리 눈으로 들어오게 된다.
이때, 빛의 Spectrum별로 빛의 반사량이 다르고, 빛이 선택적으로 반사되기 때문에 같은 물체여도 부분적으로 다르게 보이게 된다.
Irradiance는 단위 면적 Surface가 받는 Radiant Flux, Radiance는 한 지점에서 특정 한 방향으로 내보내는 복사량정도로 대충 정리할 수 있을 것 같다.
Incoming Light에 Outgoing Light가 대략 하나씩 매칭이 된다면 거울이 될테고, 모든 곳으로 퍼지게 되면 일반 벽처럼 느끼게 될 것이다.
위 그림은 각 물체 자체가 나타내는 파장에 대한 정보이다.
여기서 Albedo라는 개념이 나오는데, 이는 물질 자체가 어떤 파장의 빛을 반사하는 지에 대한 정보라고 말할 수 있다.
결국 해당 물질에서 반사되는 빛을 감지하여 색상 정보를 얻을 수 있는 방법은 아래 그림과 식을 이용하게 된다.