Improving Initial Estimations for Structure from Motion Methods

Similar documents
Structure from Motion. Introduction to Computer Vision CSE 152 Lecture 10

Image correspondences and structure from motion

Structure from motion

arxiv: v1 [cs.cv] 28 Sep 2018

Geometry for Computer Vision

Homographies and RANSAC

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Telecommunications Engineering Thesis

Multiview Stereo COSC450. Lecture 8

CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry

Large Scale 3D Reconstruction by Structure from Motion

Epipolar Geometry CSE P576. Dr. Matthew Brown

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

3D Reconstruction of a Hopkins Landmark

1 Projective Geometry

Camera Calibration. COS 429 Princeton University

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

arxiv: v1 [cs.cv] 28 Sep 2018

Structure from motion

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 253

Structure from motion

Cluster-based 3D Reconstruction of Aerial Video

Lecture 8.2 Structure from Motion. Thomas Opsahl

MERGING POINT CLOUDS FROM MULTIPLE KINECTS. Nishant Rai 13th July, 2016 CARIS Lab University of British Columbia

CS231M Mobile Computer Vision Structure from motion

Dense 3D Reconstruction. Christiano Gava

3D Sensing and Reconstruction Readings: Ch 12: , Ch 13: ,

Augmenting Reality, Naturally:

Last lecture. Passive Stereo Spacetime Stereo

Camera Model and Calibration

Camera model and multiple view geometry

COMPARISON OF LASER SCANNING, PHOTOGRAMMETRY AND SfM-MVS PIPELINE APPLIED IN STRUCTURES AND ARTIFICIAL SURFACES

Step-by-Step Model Buidling

Computer Vision Projective Geometry and Calibration. Pinhole cameras

Midterm Examination CS 534: Computational Photography

Camera Drones Lecture 3 3D data generation

Vision Review: Image Formation. Course web page:

CSE 252B: Computer Vision II

Pin Hole Cameras & Warp Functions

Introduction to Computer Vision

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

A Systems View of Large- Scale 3D Reconstruction

Image Transformations & Camera Calibration. Mašinska vizija, 2018.

Week 2: Two-View Geometry. Padua Summer 08 Frank Dellaert

CSCI 5980/8980: Assignment #4. Fundamental Matrix

Structured Light. Tobias Nöll Thanks to Marc Pollefeys, David Nister and David Lowe

Unit 3 Multiple View Geometry

Outline. ETN-FPI Training School on Plenoptic Sensing

Homogeneous Coordinates. Lecture18: Camera Models. Representation of Line and Point in 2D. Cross Product. Overall scaling is NOT important.

3D Sensing. 3D Shape from X. Perspective Geometry. Camera Model. Camera Calibration. General Stereo Triangulation.

All human beings desire to know. [...] sight, more than any other senses, gives us knowledge of things and clarifies many differences among them.

CS201 Computer Vision Camera Geometry

A New Representation for Video Inspection. Fabio Viola

Fast and robust techniques for 3D/2D registration and photo blending on massive point clouds

Lecture 10: Multi view geometry

Camera Geometry II. COS 429 Princeton University

Epipolar Geometry and Stereo Vision

EECS 442: Final Project

3D reconstruction class 11

Camera models and calibration

3D Geometry and Camera Calibration

Computer Vision I - Algorithms and Applications: Multi-View 3D reconstruction

Feature Matching and RANSAC

Incremental Real-time Bundle Adjustment for Multi-camera Systems with Points at Infinity

Multiview Photogrammetry 3D Virtual Geology for everyone

Lecture 10: Multi-view geometry

Robust Geometry Estimation from two Images

Camera Models and Image Formation. Srikumar Ramalingam School of Computing University of Utah

From Orientation to Functional Modeling for Terrestrial and UAV Images

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

E27 Computer Vision - Final Project: Creating Panoramas David Nahmias, Dan Spagnolo, Vincent Stigliani Professor Zucker Due 5/10/13

Structure from Motion CSC 767

Image Based Rendering. D.A. Forsyth, with slides from John Hart

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

Automatic Panoramic Image Stitching. Dr. Matthew Brown, University of Bath

CS6670: Computer Vision

Pin Hole Cameras & Warp Functions

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

CS 664 Structure and Motion. Daniel Huttenlocher

Camera Model and Calibration. Lecture-12

FAST REGISTRATION OF TERRESTRIAL LIDAR POINT CLOUD AND SEQUENCE IMAGES

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

EE795: Computer Vision and Intelligent Systems

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

Camera Registration in a 3D City Model. Min Ding CS294-6 Final Presentation Dec 13, 2006

BIL Computer Vision Apr 16, 2014

CS4670: Computer Vision

ECE Digital Image Processing and Introduction to Computer Vision. Outline

Dense 3D Reconstruction. Christiano Gava

Computer Vision I - Appearance-based Matching and Projective Geometry

Two-view geometry Computer Vision Spring 2018, Lecture 10

3D Models from Range Sensors. Gianpaolo Palma

Geometric camera models and calibration

Structure from Dense Paired Stereo Reconstruction

Contents. 1 Introduction Background Organization Features... 7

DD2423 Image Analysis and Computer Vision IMAGE FORMATION. Computational Vision and Active Perception School of Computer Science and Communication

Transcription:

Improving Initial Estimations for Structure from Motion Methods University of Bonn

Outline Motivation Computer-Vision Basics Stereo Vision Bundle Adjustment Feature Matching Global Initial Estimation Component Merging Results Conclusion

Motivation SfM used in: Computer Vision Photogrammetry Computer Graphics Autonomous Systems

Motivation (cont'd) Snavely et al. 2006 Phototourism Microsoft Photosynth

Structure from Motion From (unordered) photo collection: sparse point cloud of scene geometry positions and orientations of cameras

Structure from Motion (cont'd) Top-Down -Approach: widely used Brown & Lowe 2005, Snavely et al. 2008 (freely available bundler ), Microsoft Photosynth... camera registration & point triangulation initial estimate optimization images points & cameras

Example: Hallway

Example: Hallway

Example: Hallway Example: corridor

Example: Hallway (cont'd)

Example: Hallway (cont'd)

Motivation (cont'd) Find initial model: current methods sometimes fail to find one single model use more input data expensive? impossible? use our method works in many cases speeds up the process

Motivation (cont'd) Find initial model: current methods sometimes fail to find one single model use more input data expensive? impossible? use our method works in many cases speeds up the process

Basics Image Plane Camera Lens Object

Basics (cont'd) x x' x '=C x Object (world coordinates) Image (image coordinates) Projection Matrix

Basics (cont'd) x2 x1' x2' Measure x1 Calculate x '=C x

Relative Orientation 2 cameras find homologous points rays through points and projection centers intersection of rays = original point in 3D relative to arbitrary coordinate system David Nistér (2004): directly solvable with 5 homologous points

Bundle Adjustment Triggs et al., 1999 Maximum Likelihood Estimator gold standard in image registration global solution for arbitrary number of correspondences (or images and 3D points) easily stuck in bad local minimum requires good initial (global) model

Structure from Motion 1.find global initial estimation 2.run bundle adjustment How to find homologous points? How to get initial global model?

Feature Detection & Matching How to find homologous points? manually (user clicks on pixels): error prone lengthy and dull activity automatic feature detection and matching: W. Förstner, 1986: detection and matching of points D.G. Lowe, 2004: SIFT - scale invariant features recent research: affine transformation invariant features

Feature Detection & Matching (cont'd)

Feature Detection & Matching (cont'd)

Feature Detection & Matching (cont'd) problem with outliers use RANSAC for outlier detection

Feature Detection & Matching (cont'd) problem with outliers use RANSAC for outlier detection works well with enough detected correspondences

Initial Global Estimation how to find initial global model? example: 3 images easy: create stereo model with 2 images add 3rd image requires at least one common point! Feature detected and matched in all 3 images, not removed by RANSAC!

Initial Global Estimation (cont'd) Example: bundler's approach to an initial estimation choose initial pair (stereo model) add next image with points observed by 2 registered cameras to global model (run small bundle-adjustment on new camera)

Example: Store (checkout area)

Example: Store (checkout area)

Example: Store (checkout area)

Problems too few features: there should be cameras! no feature seen by 2 registered cameras bundler fails to add next image restart with unregistered images segmentation in several components

Problems (cont'd) Speed and memory consumption: feature matching is O(n2) building global model slow and memory consuming

Component Merging practical experience: different components have common images

Component Merging practical experience: different components have common images correspondence!

Component Merging (cont'd) 2 common images: orientation position scale can combine components! + =

Component Merging (cont'd) We propose: register images like before restart process: pick still unregistered images as initial pair merge resulting components afterwards

Component Merging (cont'd) 2 components, 2 cameras overlap use RANSAC to eliminate outliers = incorrectly registered cameras find optimal transformation (least squared sense) transform cameras and points in 2nd component remove doubled points and cameras

Component Merging (cont'd) 3 components?

Component Merging (cont'd) connection graph of components

Tree Optimization With connection graph: find minimal spanning tree minimizes accumulation of errors graph might contain loops possibly useful see Bendels et al. 2004

Component Merging (cont'd) only small overlap between components fast calculation of transformation sparse pointcloud only few ops when merging (< 1M) merging components is a matter of seconds bundle adjustment step as post processing accumulation of small errors negligible

Results - Hallway example 480 images

Results - Hallway example 480 images sparse feature environment

Results - Hallway example 480 images sparse feature environment unwanted segmentation into two components 14 images overlap

Results - Hallway example

Results - Hallway example with bundler or Photosynth: always 2 components one single model possible using our method

Results - Store example 1749 images

Results - Store example 1749 images feature rich environment

Results - Store example 1749 images feature rich environment manually divided input set of images: 7 components about 10 images overlap

Results - Hallway example

Results - Hallway example using bundler with all images at once: ran for several days Then exceeded 8GB of memory and crashed using manually divided set and our method: parallel computation possible: ~22 h on four Q6600 does not exceed memory

Conclusion improved initial estimation of scene model applicable in many situations reduces time and memory consumption no guarantee if segmented unintentionally future work: Automatic partition of input set (e.g. histogram based) Comparison to Bottom-Up approaches

Thank you! Questions?

Basics (cont'd) x x' x x' y y ' =K R t z 1 1

Basics (cont'd) 5 intrinsic parameters 6 extrinsic parameters: rotation R translation t x x' y y ' =K R t z 1 1

Basics (cont'd) Common simplification: Pinhole-camera Intrinsic calibration: camera setup c: camera constant h h: principal point s: axis shear factor c m: axis scale factor c s hx K = 0 c 1 m h y 0 0 1 image plane y x

Relative Orientation (cont'd) x1=c 1 x x 2=C 2 x 1 1 C 1 x1 =C 2 x 2 =x x x1 C1 C2 x2

Arbitrary Scale in Stereo Models 1.5w w 1.5z z c c i b i 1.5b

Combining Stereo Models (cont'd) For triplets of images: 2 stereo models & common camera: combining not possible at least one common Feature detected and matched in all 3 images, point x x' in first relative model x'' in second relative model not removed by RANSAC! x ' t scale s= x ' ' t