cb
[3D Vision] Image Formation 강의 정리 본문
해당 블로그는 Machine Learning for Inverse Graphics 강의를 보고 작성한 글입니다. 원 강의는 아래의 링크를 참고하시길 바랍니다.
Machine Learning for Inverse Graphics – Scene Representation Group
Course Contents From a single picture, humans reconstruct a mental representation of the underlying 3D scene that is incredibly rich in information such as shape, appearance, physical properties, purpose, how things would feel, smell, sound, etc. These men
www.scenerepresentations.org
- 3D scene
- 공간의 모든 요소를 매핑하는 3d function
- air, wood, sun, light sources 등
- 빛이 표면에 반사되는 과정을 통해 정보를 얻을 수 있음
- THE LIGHT FIELD
- 해당 ray를 통해 관측되는 것들, 흰색에 있는 ray를 택하면 흰색 light ray가 반사돼서 흰색이 보인다
- 카메라를 위치시켰을 때 그 앞에 종이를 위치하면 그에 대한 빛이 반사되기 때문에 카메라를 통해서 그를 인식할 수 있음
- 빛은 여러 방향에서 오는데, 흰 종이는 모든 ray를 반사하기 때문에 흰색으로 보이는 것
- How to make a Camera
- object와 film 사이에 barrier를 주면 특정 direction에서의 ray만을 통과시키게 됨
- object의 특정한 점에서 나오는 ray만을 capture하여 필름에 대응시킬 수 있게 됨
- Pinhole camera
- 가장 간단하게 만들 수 있는 카메라
- 구멍을 작게 할수록 통과하는 rays가 적어짐
- 핀홀: 종이에 구멍을 뚫은 것처럼 매우 작은 구멍
- 핀홀 카메라: 렌즈를 사용하지 않고 작은 구멍을 통해 빛을 받아 들여 촬영하는 카메라
- 빛이 아주 작은 구멍을 거쳐 오기 때문에 많은 시간이 걸리나, 정확한 영상을 얻을 수 있다는 장점이 있음
- 물체에서 반사된 광선 중 하나가 핀홀을 통과하게 되면, 그 광선은 영상 평면에 도달하게 됨 → 그 위치에 실제 물체의 상이 맺히게 되고, 물체의 크기는 핀홀 카메라의 초점거리에 의해 결정됨
- f: 핀홀 카메라 초점거리
- z: 카메라와 물체 사이 거리
- X: 실제 물체 크기
- x: 영상내의 물체 크기
- Camera Obscura
- camera(room)+obscura(어두운)으로, 어두운 방의 한 부분에 구멍을 뚫어 놓으면 밖의 풍경이 구멍을 통해 들어와 맞은편 벽에 거꾸로 맺히게 되는 장치
- Perspective Projection
- 원근 투영: 멀리 있는 것은 작게, 가까이 있는 것은 크게 보이는 원근감을 나타내면서 3d 개체를 2차원 표면에 투영하는 방법
- 가운데 점을 pinhole camera center라 하고, 카메라 내부의 뒤쪽에 상이 맺히는 평면을 image plane이라 함.
- 3d-2d 1 to 1 mapping으로, 아래 위가 뒤집힌 상태로 상이 맺히게 됨
- 대문자를 사용한 X는 world coordinates
- 소문사를 사용한 x는 pixel/image coordinates
- camera coordinate system
- 카메라의 위치가 origin(원점)이 되는 좌표계
- world coordinate system
- 다양한 좌표계들의 관계를 설명하기 위해 사용되는 좌표계
- 1개의 임의의 origin이 정의되고, 서로의 관계를 나타내게 됨
- 카메라 앞 2d plane에 만들어진 image는 pixel coordinates의 거리 f와 동일한 거리를 가지고 상을 만들게 됨
- 여기서는 아래 위가 뒤집히지 않음
- Relationship between 2d and 3d
- Z는 depth of pixel y
- 삼각비를 통해 다음과 같은 공식을 얻을 수 있음
- x좌표로 바뀌었을 때도 아래의 사진과 같이 공식이 얻어짐
- preserved/not preserved properties
- 2d로 변환했을 때 보존되거나 보존되지 않는 property들
- preserved properties: straight lines, incidence
- not preserved: angles, lengths
- Vanishing Point
- 원래 평행한 두 선은 만날 수 없지만, 2d image로 변환했을 때 하나의 vanishing point에서 만나게 됨
- 3d를 2d로 변환했을 때, straight lines는 preserved property에 해당하기 때문에 vanishing point를 통해 3차원 공간을 추론해낼 수 있음
- 직선을 무한대로 보내면 vanishing point가 어딘지 구할 수 있음
- Homogeneous Coordinates
- n차원의 projective space를 n+1의 좌표로 나타내는 좌표계
- 임의의 0이 아닌 상수 w에 대해 (x,y)를 (wx, wy, w)로 표현해냄
- scalar multiple(scaler)
- Perspective Projection by Homogeneous Coordinates
- homogeneous coordinates를 사용하여 3d 좌표를 2d 좌표로 변환할 수 있음
- 첫 번째는 Z를 f로 나누는 방법, 두 번째는 X와 Y에 f를 곱하는 방법
- Arbitrary Image Center
- p: 현재 센터에서 새로운 센터까지의 거리
- 실제 camera의 중심점을 반영하여 projection된 점의 계산 정확도를 높이기 위해 p_x, p_y를 추가
- image coordinates와 camera coordinate의 차이를 반영
- Decomposing Projection Matrix
- f는 초점거리, K는 camera calibration
- (3차원 세상을 2차원 이미지로 변환할 때, 실제 이미지에 사용되는 렌즈/렌즈와 이미지 센서와의 거리/렌즈와 이미지 센서가 이루는 각도 등의 내부 요인의 파라미터 값을 구하는 것)
- Unproject
- unproject 과정을 통해서 3d를 만들어낼 수도 있음
- depth 정보와 pixel 정보를 이용
- projection의 역을 수행해 주면 됨
- Camera Parameters
- Extrinsic parameter
- 3d 공간 내에서 카메라가 어디에 위치(translation)하고, 어디를 바라보는지(rotation)에 대한 parameter
- Intrinsic parameter
- 2d 이미지가 얼마나 이동(translation)하고, 확대(scailing)되고, 기울어졌는지(shear)에 대한 Parameter로, 카메라 렌즈와 센서 위치에 의해 결정되어짐
- intrinsic은 카메라 박스 내에서, extrinsic은 그 외에서 조절됨
- Streoscope
- 입체경
- 두 개의 렌즈를 이용하여 이미지를 만들어내고, 특수한 장치를 통해 입체감을 느낄 수 있게 하는 것
- depth 추정을 위해 카메라 두 개를 사용
- pinhole 카메라 모델에서 depth를 추정하기 위해서는 두 카메라 사이의 calibration, 3d 상의 한 point에 대해 정확한 correspondence를 알아야 함
- Geometry for a Simple Stereo system
- References
- https://roytravel.tistory.com/133
- https://blog.naver.com/bbookkuu/222069520861
- https://inyongs.tistory.com/138
- https://velog.io/@syiee/Computer-Vision-1.-Camera
- https://m.blog.naver.com/hasukmin12/222085276595
- https://xoft.tistory.com/11
- https://blog.naver.com/ilikegene/110084018799
- https://m.blog.naver.com/pxp4444/221323908139
- https://hygenie-studynote.tistory.com/52
'ai - study' 카테고리의 다른 글
[Do It! 자연어 처리] Chapter 06 - 단어에 꼬리표 달기 (0) | 2024.04.29 |
---|---|
[Do It! 자연어 처리] Chapter 05 - 문장 쌍 분류하기 (0) | 2024.04.08 |
[Do It! 자연어 처리] Chapter 04 - 문서에 꼬리표 달기 (0) | 2024.04.03 |
[Do It! 자연어 처리] Chapter 03 - 숫자 세계로 떠난 자연어 下 (0) | 2024.04.01 |
[Do It! 자연어 처리] Chapter 03 - 숫자 세계로 떠난 자연어 上 (1) | 2024.03.27 |