일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 사진의특수3점 #투영방법
- 비전 #목표 #추진전략
- 용어정리 #GPS오차원인 #구조적원인 #기하학적오차 #SA
- 초분광이미지
- 기출문제 #기출문제분석 #반복출제 #측량및지형공간기술사
- Tasseled Cap
- 측량및지형공간정보기술사 #출제기준 #출제유형
- 온맵 #국토지리정보원 #온맵제작
- 수치표고모형
- 초분광이미지의분류
- 국제원자시의측정방법
- ㅜ
- 경중률
- GPSWEEK
- TIMEOFWEEK
- 수치표고자료
- 국제원자시의정의
- 가우스곡선 #오차곡선 #확률밀도함수
- 국제원자시의원점
- 측량및지형공간기술사 #기출문제 #논술문제
- 제125회
- 초분광영상처리요소기술
- 제7차국가공간정보정책
- GPSTIME
- 항공사진특수3점
- 측량및지형공간기술사
- Hyperspectral
- 경중률 #최확값
- 수치표면모형
- Tasseled Cap 변환
- Today
- Total
클라우드의 데일리 리포트
SfM(Structure from Motion) 본문
1. SfM(Structure from Motion)
연속된 2차원 이미지로부터 3차원정보를 추출하여 삼각측량 기법을 사용하여 3차원 정보를 재구성하는 것을 SFM이라 부릅니다.
1) Camera Calibration
카메라 영상은 3차원 공간상의 점들을 2차원 이미지 평면에 투사(persperctive projection)함으로써 얻어집니다. 핀홀(pinhole) 카메라 모델에서 좌표계 변환은 다음과 같이 모델링됩니다.
카메라 내부 파라미터는 다음과 같습니다.
초점거리(focal length) fx, fy: 렌즈 중심과 이미지 센서와의 거리, 픽셀 단위로 표현
주점(principal point) cx, cy: 카메라 렌즈의 중심
비대칭 계수 skew_c: 이미지 센서의 y축이 기울어진 정도
2) Correspondence Search
첫 번째 단계는 Scene overlap 즉, 이미지 간의 동일한 위치를 찾는 correspondence search이다. 이 단계의 output은 기하학적으로 검증된 image pair 들의 집합과 각 point 에 대한 image projection graph이다.
① Feature Extraction
Feature는 SFM이 여러 이미지에서 고유한 모양을 인식할 수 있도록 radiometric과 geometric 변화에 불변해야 한다. 때문에 SIFT 같은 feature descriptor 를 사용하여 feature 를 추출한다.
② Matching
각 이미지에서 추출한 feature를 기반으로 이미지 사이에서 동일한 point를 보는 부분을 찾아서 서로 matching. 이 단계까지는 기하학적인 의미가 포함되어 있지는 않다.
③ Geimetric Verification
SFM은 Epipolar geometry 관점에서 이미지 간의 feature points 를 mapping하는 transformation을 추정하여 기하학적인 일치 여부를 확인한다. 즉, 이미지 간의 matching 된 point 들로 부터 적절한 Essential/Fundamental matrix 를 찾는다는 말이다. 그리고 Essential matrix를 SVD(Single Value Decomposition)을 사용하여 linear least squares를 풀면 camera pose(Rotation, Translation) 를 구할 수 있다.
3) Incremental Reconstruction
Reconstruction 단계에서 입력은 scene graph 이고, 출력은 register된 이미지에 대한 pose estimates 와 reconstruct된 scene structure 이다.
① Initialization
SFM은 신중하게 선택된 2-view reconstruction으로 모델을 초기화한다. Reconstruction의 성능은 incremental 프로세스의 seed 위치에 따라 달라지기 때문에 초기화 작업이 매우 중요하다. 카메라 중첩이 많은 곳에서 image graph 의 dense한 위치에서 초기화하면 중복성 증가로 성능이 좋아진다.
② Image Registration
두 이미지간 Feature의 correspondence를 추정해주었지만 3D points location은 알지 못합니다. Register 된 이미지(2D-3D correspondences)에서 triangulate된 points에 대한 feature correspondences를 사용하여 Perspective-n-Point(PnP) 문제를 해결하여 새 이미지를 현재 모델에 register할 수 있다. 다음 그림에서 x1과 x2는 두 2D 이미지 상에서 관찰하는 위치가 됩니다. 만약 오차가 없다면 x1과 x2를 연결하여 중점인 x를 구하여 3D point를 결정합니다.
③ Bundle Adjustment
Bundle Adjustment는 다수의 프레임에 존재하는 Visual keypoint 들의 위치를 기반으로 추정할 수 있는 3D Position과 카메라 프레임간의 3D relative motion 을 동시에 최적화하는 과정이다. 이전 단계에서 계산한 camera pose 와 3D points를 refine 하여 reprojection error 를 최소화하는 작업이다. 3D point에서 카메라 좌표계의 원점까지의 직선을 ray로 표현할 수 있고, 이러한 ray가 여러개 있을 때 'bundles of ray' 라고 표현한다. Reprojection한 위치와 이미지 상의 위치의 차이인 reprojection error 를 cost function으로 사용하여 최적화를 진행하는데, image projection 과정은 non-linear 하기 때문에 Gauss-Newton 등의 non-linear optimization 방법을 사용해야 한다.