The Beautiful Future
Structure-from-Motion Revisited 본문
-- 이전 방법들
- 초기화
밀도가 높고 많이 겹치는 이미지 두장을 선택
이 두장의로 부터 Triangulation을 사용하여 3D 포인트를생성(->2카메라 포즈, 내부파람, 3D 포인트)
- 이미지 등록
기존 등록되어있는 3D 포인트들과 새로등록될 이미지의 2D 좌표를
solvePnP (Ransac, minimal pose solver)로 푼다.(-> 포즈, 내부파람)
- 삼각측량
새롭게 등록된 이미지와 기존에 등록되어있는 이미지간의 대응점들을 Multi-viewTriangulation을
이용해 3D 포인트를 예측한다.(->새로운 3D 포인트)
- 번들어저스트먼트(BA)
위과정을 BA없이하면 재귀 못할 잘못된 결과로 수렴할 가능성이크다.
현재까지 구해진 카메라들의 포즈, 내부파람, 3D 포인트를 초기값으로 주고 BA를 수행한다.
고정: 2D 좌표, 업데이트: 카메라들의 포즈, 내부파람, 3D 포인트
-- 제안하는 방법
- 씬 그래프 증강 (이미지간 연결)
적절한 기하학적 관계를 이용해서 여러모델 기하학적 유효성을 검증한다.
처음 F를 예측, Nf 인라이어를 예측하면 연결된 이미지.
연결된 이미지간 Nh 호모그래피 인라이어 수로 트랜스폼을 구분한다.
GRIC와 같은 모델 선택 방법을 근사화하기위해 일반적인 카메라 움직임을 Nh/Nf < E hf 로 가정한다.
캘리브레이션을 위해 E을 예측하고 인라이어 개수를 Ne로 한다.
만약 Ne/Nf > Eef 이면 캘리브레이션이 잘된것으로 간주한다.
Ne/Nf > Eef 와 Nh/Nf < E hf 이면 삼각포인트와 E를 인라이어 대응점으로 부터 분해한다.
그리고 Alpha_m 미디언 트라이앵글 각도 를 결정한다.
Alpha_m을 이용해서 순수회전(파노라믹), 플래너씬(플래너)을 구분한다.
원터마크, 타임스탬프, 프레임즈(WTF)가 이미지를 다른 랜드마크로 잘못 연결시킨다.
이미지 가장자리에 있는 Ns 인라이어의 유사 변환을 통해 이미지 페어를 검출한다.
Ns/Nf > Esf 와 Ns/Ne > Ese를 모두 만족하는 이미지 페어의 경우 WTF로 보고 씬그래프에 추가하지 않는다.
반대로 유효한 이미지 페어는 일반, 파노라믹, 플래터 모델 타입과 함께 씬그래프에 추가한다.
Nh 또는 Ne 또는 Nf를 최대로 지원 인라이어를 함께 씬그래프에 추가한다.
모델 타입은 리컨스트럭션 씨드로 레버레이지된다. 논파노라믹과 잘 캘리브레이션된 이미지 쌍만을 이용해서.
이미 잘 증강된 씬 그래프는 최적화된 초기설정을 효율적으로 찾는것을 가능하게한다.
파노라믹 이미지 쌍으로 부터 트라이앵글래이션 하지 않았다. 디그레데이션 포인트를 피하기 위해
이것은 삼각화의 신뢰도와 이미지 등록을 향상시킨다.
- Best Next View Selection (3D 포인트간 연결)
다음 이미지를 추가하는 목적함수는 리컨스트럭션 에러를 최소화 하는 방향이어야한다.
하나의 잘못된 뷰 추가는 다음 스텝에 악영향을 미치기 때문에 중요하다.
가장 많이 오버랩된 트라이앵글된 3D 포인트를 보는 이미지를 선택하는게 일반적인 전략이다.
Lepetit et al. [34] 는 PnP의 성능은 관찰 개수와 이미지에서의 분포에 의존적이라는것을 실험적으로 보였다.
많은 수의 대응점과 골고루 분포한 대응점은 나쁜 구성을 피하게하고 믿을 만한 카메라내부파라미터를 준다.
Nt를 현재 등로된 3D 포인트와의 대응점 개수로 정의한다.
등록 지원 이미지와의 공분산개산은 이미지가 많기때문에 효율적으로 해야한다.
효율적인 멀티 해상도 분석을 통해 근사화된 불확신 유도 접근법을 사용한다.
S를 많이 대응되고 잘 분포된 점수로 한다.
이미지를 Kl 빈을 가지는 그리드로 나눈다. 각 셀은 empty 또는 full 두 상태를 가진다.
3D 재구성하는동안 empty 셀에 있는 포인트가 가시화된다면 full 상태로 바꾸고 S도 wl만큼 상승한다.
이렇게 셀을 이용하는 방법으로 대응점의 개수를 측량한다. 이미 풀인 셀에서 또 대응점이 나와도 점수에
영향이 없고 이방법은 대응점이 얼마나 넓게 분포되어있는지 점수를 매긴다.
대응되는 점 개수 가 빈의 개수 제곱보다 매우 작을때 Nt << Kl^2, 이 방법은 대응점의 분포를 제대로 반영하지 못한다.
그래서 이방법을 멀티 해상도 피라미드로 적용한다. 모든 피라미드의 점수를 해상도 가중치(Wl = Kl^2)와 누적해서 S 점수를 매긴다.
- Robust and Efficient Trianglation
드물게 매칭되는 이미지들은 (transitive 대응)?을 사용하면 삼각화를 향상시킬수 있다.
transitivity을 이용해서 이미지들과 큰 베이스라인 사이의 대응점을 획득할수 있다.?
두 이미지로 대응으로 부터 feature tracks을 형성한다.
노이지한 이미지에서 다양한 멀티 뷰 삼각법이 제안되었다. 27, 40
Triangulation. 1997. A fast optimal algorithm for L 2 triangulation. ACCV, 2007.
특정 아웃라이어에 강인한 방법들도 소개되었다. 25 35 3 44 32
L ∞ minimization in geometric reconstruction problems. CVPR, 2004.
A practical algorithm for L ∞ triangulation with outliers. CVPR, 2007.
Fast algorithms for L ∞ problems in multiview geometry. CVPR, 2008.
Outlier removal using duality. CVPR, 2010.
Robust multi-view l2 triangulation via optimal inlier selection and 3d structure refinement. Pattern Recognition, 2014.
마지막 논문을 통해 현존 방법들을 자세하게 둘러보았다. 우리는 아웃라이어에 강한 효율적인 샘플링에 의한 방법을 제안한다.
오류 두 뷰의 매칭, 에피폴라라인의 모호성. 잘못된 카메라 포즈 때문에 특징 추적은 종종 많은 아웃라이어를 포함한다.
멀티 뷰 리파인 전에 통합 지지 특징 셋이 필요하다, 잘못된 합쳐짐으로 부터 회복하기 위해. 반복적인 삼각화가 필요하다.
삼각화 기법으로 DLT를 사용하였다(Multiple view geometry in computer vision. 2003.).
1. 두 뷰의 각도를 고려(작은 각도만 허용, 큰각도는 큰 에러?)
2. 파지티브 뎁쓰, cheirality constraint
3. 작은 리프로젝션 에러
- Bundle Adjustment
이미지등록 삼각화의 누적에러를 줄이기 위해 한다. 새롭게 추가된 이미지와 가장 많이 연결된 것들만 BA한다.
일정 비율이상 커질때문 전체를 BA한다.
로컬 BA 할때 잠재적인 아웃라이어대문에 Cauchy 함수를 사용한다.
수백개의 카메라가 등록되면 sparse direct solver를 사용한다. 더 큰 문제는 PCG에 의존한다.
Ceres Solver를 사용하였다. 하나의 레디얼 디스토션을 설정하였다.
BA 후가 큰 리프로젝션 에러를 가지는 것들을 필터링했다.
최소로 작은 각도를 정하고 제한하여 각 포인트가 기하에 맞는지 검사했다.
비정상적인 FOV, 큰 distortion을 가지는 카메라를 제거했다.
글로벌 번들어저스트먼트의 드리프트 이펙트를 때문에 재 삼각화를 했다. 이과정을 추가적으로 몇번 반복했다.
포즈가 향상되면서 삼각화 실패했던 포인트가 다시 추가 될 수 있다.
삼각화의 임계치를 올려서 더 많은 포인트를 추가하기 보다 낮은 에러를 가지는 것들만 추적했다.
'논문' 카테고리의 다른 글
Photorealistic Audio-driven Video Portraits (0) | 2022.05.24 |
---|---|
Detailed Expression Capture and Animation (0) | 2022.05.21 |
ThunderNet (0) | 2021.05.06 |
Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression (0) | 2021.02.20 |
BlazePose: On-device Real-time Body Pose tracking (0) | 2021.02.17 |