Cluster-based 3D Reconstruction of Aerial Video

Similar documents
Large Scale 3D Reconstruction by Structure from Motion

A Systems View of Large- Scale 3D Reconstruction

Improving Initial Estimations for Structure from Motion Methods

SIFT-Based Localization Using a Prior World Model for Robot Navigation in Urban Environments

Visual Pose Estimation System for Autonomous Rendezvous of Spacecraft

Structure from Motion: High resolution DEMs at any scale using everyday equipment

3D Environment Reconstruction

3D Fusion of Infrared Images with Dense RGB Reconstruction from Multiple Views - with Application to Fire-fighting Robots

Analysis and Mapping of Sparse Matrix Computations

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

From Orientation to Functional Modeling for Terrestrial and UAV Images

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

Visual Pose Estimation and Identification for Satellite Rendezvous Operations

Augmenting Reality, Naturally:

Target Shape Identification for Nanosatellites using Monocular Point Cloud Techniques

Structure from motion

An Angle Estimation to Landmarks for Autonomous Satellite Navigation

Camera Drones Lecture 3 3D data generation

SIFT Descriptor Extraction on the GPU for Large-Scale Video Analysis. Hannes Fassold, Jakub Rosner

Telecommunications Engineering Thesis

Lecture 8.2 Structure from Motion. Thomas Opsahl

CS4670: Computer Vision

The SIFT (Scale Invariant Feature

arxiv: v1 [cs.cv] 28 Sep 2018

LLMORE: Mapping and Optimization Framework

Evaluation of Structure from Motion (SfM) in Compact, Long Hallways

3D reconstruction how accurate can it be?

Harp-DAAL for High Performance Big Data Computing

Structure from motion

GPU-accelerated 3-D point cloud generation from stereo images

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

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

Photo Tourism: Exploring Photo Collections in 3D

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

LS-ACTS 1.0 USER MANUAL

Personal Navigation and Indoor Mapping: Performance Characterization of Kinect Sensor-based Trajectory Recovery

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Structure from Motion CSC 767

Parallelization of Shortest Path Graph Kernels on Multi-Core CPUs and GPU

3D object recognition used by team robotto

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Geometry for Computer Vision

Instruction Set Extensions for Photonic Synchronous Coalesced Access

Fast Indexing and Search. Lida Huang, Ph.D. Senior Member of Consulting Staff Magma Design Automation

SYDE Winter 2011 Introduction to Pattern Recognition. Clustering

A System of Image Matching and 3D Reconstruction

arxiv: v1 [cs.cv] 28 Sep 2018

Step-by-Step Model Buidling

Lecture 10 Multi-view Stereo (3D Dense Reconstruction) Davide Scaramuzza

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

CSCI 5980/8980: Assignment #4. Fundamental Matrix

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

Robotics Programming Laboratory

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

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

Dense 3D Reconstruction. Christiano Gava

EVOLUTION OF POINT CLOUD

Plant and Canopy Reconstruction User Documentation. The University of Nottingham

Sensor Fusion: Potential, Challenges and Applications. Presented by KVH Industries and Geodetics, Inc. December 2016

Accelerating Leukocyte Tracking Using CUDA: A Case Study in Leveraging Manycore Coprocessors

Hardware Acceleration of Feature Detection and Description Algorithms on Low Power Embedded Platforms

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

III. VERVIEW OF THE METHODS

From Structure-from-Motion Point Clouds to Fast Location Recognition

SIFT - scale-invariant feature transform Konrad Schindler

Solving Large Complex Problems. Efficient and Smart Solutions for Large Models

GPU ACCELERATION OF WSMP (WATSON SPARSE MATRIX PACKAGE)

Multiview Photogrammetry 3D Virtual Geology for everyone

3D Reconstruction of a Hopkins Landmark

Live Metric 3D Reconstruction on Mobile Phones ICCV 2013

TEGRA K1 AND THE AUTOMOTIVE INDUSTRY. Gernot Ziegler, Timo Stich

Sparse 3D Model Reconstruction from photographs

A GPU Enhanced Linux Cluster for Accelerated FMS

Local Feature Detectors

Specular 3D Object Tracking by View Generative Learning

3D exploitation of large urban photo archives

3D Modeling from Range Images

FLaME: Fast Lightweight Mesh Estimation using Variational Smoothing on Delaunay Graphs

Scott Philips, Edward Kao, Michael Yee and Christian Anderson. Graph Exploitation Symposium August 9 th 2011

Applications of Berkeley s Dwarfs on Nvidia GPUs

On Level Scheduling for Incomplete LU Factorization Preconditioners on Accelerators

Structure from motion

Image correspondences and structure from motion

The HPEC Challenge Benchmark Suite

Fast and Scalable Subgraph Isomorphism using Dynamic Graph Techniques. James Fox

Block Lanczos-Montgomery Method over Large Prime Fields with GPU Accelerated Dense Operations

Anomaly Detection in Very Large Graphs Modeling and Computational Considerations

Accelerated Machine Learning Algorithms in Python

High Quality Real Time Image Processing Framework on Mobile Platforms using Tegra K1. Eyal Hirsch

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Performance impact of dynamic parallelism on different clustering algorithms

Computer Vision on Tegra K1. Chen Sagiv SagivTech Ltd.

CS 4758: Automated Semantic Mapping of Environment

Local Features: Detection, Description & Matching

Global localization from a single feature correspondence

Sub-Graph Detection Theory

PHOTOGRAMMETRIC SOLUTIONS OF NON-STANDARD PHOTOGRAMMETRIC BLOCKS INTRODUCTION

Chaplin, Modern Times, 1936

FAST REGISTRATION OF TERRESTRIAL LIDAR POINT CLOUD AND SEQUENCE IMAGES

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

Transcription:

Cluster-based 3D Reconstruction of Aerial Video Scott Sawyer (scott.sawyer@ll.mit.edu) MIT Lincoln Laboratory HPEC 12 12 September 2012 This work is sponsored by the Assistant Secretary of Defense for Research and Engineering under Air Force contract FA8721-05-C-0002. Opinions, interpretations, conclusions, and recommendations are those of the author and are not necessarily endorsed by the United States Government.

Cluster SfM - 2 Given a collection of photos

Cluster SfM - 3 determine their 3D structure

determine their 3D structure Cluster SfM - 4

Outline Feature-based 3D Reconstruction Reconstructing Aerial Video Cluster-based Structure from Motion Results Cluster SfM - 5

Outline Feature-based 3D Reconstruction Reconstructing Aerial Video Cluster-based Structure from Motion Results Cluster SfM - 6

Structure from Motion (SfM) Photo Collection Feature Extraction Feature Matching Sparse Reconstruction Dense Reconstruction 3D Point Cloud Applications: 3D Maps Robotic Navigation Video Geo-registration Cluster SfM - 7

Feature Extraction Photo Collection Feature Extraction Feature Matching Sparse Reconstruction Dense Reconstruction 3D Point Cloud Scale Invariant Feature Transform (SIFT) Identifies distinctive keypoints in an image and provides 128-dimensional descriptor vector Based on finding local extrema in scale space Invariant to scale, orientation and lighting conditions (to an extent) and aspect angles up to 30 degrees Published by David Lowe in 1999 and widely used in computer vision Cluster SfM - 8

Feature Matching Photo Collection Feature Extraction Feature Matching Euclidean Distance Approximate Nearest Neighbors (ANN) Euclidean distance between SIFT keypoint descriptors used to determine matches Tree-based approximation reduces computation SIFT points matched between each pair of images O(n2) Cluster SfM - 9 Sparse Reconstruction Dense Reconstruction 3D Point Cloud

Sparse Reconstruction Photo Collection Feature Extraction Feature Matching Sparse Reconstruction Dense Reconstruction 3D Point Cloud Projective Structure from Motion X j Given m images and n 3D points (with point correspondences) Estimate m projection matrices (P i, i = 1,, m) and n 3D points (X j, j = 1,, n) from the mn correspondences (x ij ) x 1j x 3j Iteratively minimize re-projection error ( bundle adjustment ): m E( P, X) = D n i= 1 j= 1 ( ) 2 x, P X ij i j P 1 x 2j P 2 P 3 Cluster SfM - 10

Dense Reconstruction Photo Collection Feature Extraction Feature Matching Sparse Reconstruction Dense Reconstruction 3D Point Cloud Identify Patches of Rigid Structure Mature software ( PMVS2 ) forms patched-based reconstruction (open source, parallel) Removes spurious and nonrigid points This step not included in benchmark analysis Cluster SfM - 11

Outline Feature-based 3D Reconstruction Reconstructing Aerial Video Cluster-based Structure from Motion Results Cluster SfM - 12

Reconstructing Aerial Video Lincoln Laboratory performed a campaign of aerial data collections in 2011: Aerial platform circles ground subject of interest Camera gimbal remains fixed on ground point Video frames synchronized to GPS Challenge: Processing must keep up with rate of collection (e.g. one-hour mission timeline) Cluster SfM - 13

Cluster SfM - 14 Sample Video

Bundler Runtime (hours) 60 40 20 0 Bundler (single-core) 100 200 300 400 500 Image Set Size Works on unordered image collections (no assumptions about input) Sequential implementation (single-core) Optimization solution considered baseline (truth) Feat. Extr. Feat. Match Bundle Adj. Bundler (v. 0.4) by Noah Snavely Cluster SfM - 15

VisualSFM VisualSFM (multi-core & GPU) Runtime (hours) 30 20 10 0 100 200 300 400 500 Image Set Size Feat. Extr. Feat. Match Bundle Adj. Restructures optimization to better enable parallelization of dense matrix kernels Feature extraction and bundle adjustment use GPU acceleration (CUDA) Multi-threaded feature matching (pthreads) Run on quad-core Intel Xeon E5620 (2.4 GHz), 6 GB RAM, nvidia Quadro FX1800 (64 compute cores) VisualSFM (v. 0.5.15) by Changchang Wu Cluster SfM - 16

Outline Feature-based 3D Reconstruction Reconstructing Aerial Video Cluster-based Structure from Motion Results Cluster SfM - 17

LLGrid Computing Environment Job submission Scheduler Scheduler assigns each job to a single core (no threading or shared memory) Custom Python framework for submitting jobs, mapping data and synchronizing between steps Master Node Jobs may or may not be on the same node Network File System (Lustre) Inter-process communication supported via file system or network Compute Nodes Number of cores used varied experimentally up to 64 Cluster SfM - 18

Cluster-based SfM Overview Step JPEG Photo JPEG Photo JPEG Photo Runtime Growth 1. Feature Extraction Job 1 Job 2 Job N p O(N) Remap SIFT keypoints 2. Feature Matching Job 1 Job 2 Job N p O(N 2 ) Remap Matched Feature Graph 3. Reconstruction Job 1 Job M O(N 2 /M) Remap Partial Point Clouds 4. Point Cloud Fusion Job 1 Job 2 Job N p O(P 2 /M) Combine Results Single Job Final Point Cloud Cluster SfM - 19 N: Input photo count; M: Partition count; P: Sparse point count

Feature Matching Photo ID Matching Pair Matrix Photo ID 1 2 3 4 N 1 0 1 1 1 1 2 0 0 1 1 1 3 0 0 0 1 1 4 0 0 0 0 1 (1,10) (2,12) (3,15) Matching Graph (notional) (1,50) (5,81) (4,75) N-1 0 0 0 0 1 N 0 0 0 0 0 (2,20) Vertices described by tuple (Photo ID, Keypoint ID) If (i,j) = 1, then match photo i to photo j Matching is most expensive step, growing O(N 2 ) with number of photos Results of matching represented as graph G: Vertices V represent SIFT points Edges E represent SIFT matches Cluster SfM - 20

Bundle Adjustment Data Mapping Flight path partitioned using block-cyclic mapping: N photos mapped to M partitions Assume photo set covers one revolution Less than 30 Example: Block size: 2; M=3 Flight Path Angular gap between photos should be less than 30 degrees (to help with SIFT matching) Photos per partition (N/M) must be greater than 25 Block size and partition count set automatically Reconstructing partial photo sets independently creates challenges: Point clouds are in different arbitrary coordinate systems Many points are duplicated across the partial point clouds 3D points have shorter view lists (fewer iterative improvements) Cluster SfM - 21

Identifying Duplicate Points Each 3D point has a view list comprised of SIFT keypoints (vertices in G). View lists from different partitions will always be disjoint because photos are mapped to exactly one partition. (1,10) Subgraph of G (5,81) (3,15) (2,12) View list A (4,75) View list B 3D points are considered duplicates if any vertices in B are in the neighborhood of A. Cluster SfM - 22

Transforming to a Common Space Determine rotation, scale and translation based on duplicate points: Robustly eliminate outlier 3D points Solve for transformation matrix that minimizes error Combine duplicate points as a weighted average Sparse point clouds after independent bundle adjustment on 4 partitions Fused sparse point cloud after transformation Cluster SfM - 23

Cluster SfM - 24 Final Point Cloud

Outline Feature-based 3D Reconstruction Reconstructing Aerial Video Cluster-based Structure from Motion Results Cluster SfM - 25

Runtime Performance Cluster-based SfM (64 cores) Bundler (single-core) Runtime (hours) 1 0.8 0.6 0.4 0.2 0 100 200 300 400 Image Set Size Feat. Match & Extr. Bundle Adj. Fuse Runtime (hours) Runtime (hours) 60 40 20 0 30 20 10 0 100 200 300 400 VisualSFM Image (multi-core Set Size & GPU) Feat. Extr. Feat. Match Bundle Adj. 100 200 300 400 Image Set Size Feat. Extr. Feat. Match Bundle Adj. Cluster SfM - 26

Speed-Up & Scalability Cluster-based SfM Speed-up 45 Speed-up (t(1)/t(n p )) 40 35 30 25 20 15 10 5 0 0 16 32 48 64 N=75 100 200 300 400 Cluster Size Cluster SfM Scalability (400 photos) 8 16 32 64 Partitions 8 16 16 16 Frame rate (per min.) Points per Frame (x10 3 ) 1.2 2.4 4.3 7.6 2.0.87.87.87 Number of Processors (N p ) Cluster SfM - 27

Reconstruction Quality Sparse Point Cloud Density 300 Points (x1,000) 250 200 150 100 50 Bundler VisualSFM Cluster (N/M=25) 0 50 100 150 200 250 300 350 400 Image Set Size RMS Error of Reconstructed Points (meters) Input size (N) 100 200 300 400 VisualSFM 0.20 7.15 1.05 0.44 4 Partitions 0.10 Cluster-based SfM 8 Partitions 0.27 12 Partitions 0.26 16 Partitions 0.24 Cluster SfM - 28

Summary Creating 3D reconstructions of photo collections scales well to the cluster 64-core cluster shows 14x speedup over multi-core workstation with GPU Our algorithm effectively parallelizes reconstruction for the case of aerial video around a ground point For algorithms that aren t pleasantly parallel, deep knowledge or application and computing environment necessary to parallelize Future work: Reduce feature matching complexity for different types of input sets Point cloud geo-registration by matching against reference data (e.g. LIDAR or satellite imagery) Cluster SfM - 29

Acknowledgements Scott Sawyer (scott.sawyer@ll.mit.edu) SIGMA Team: Karl Ni Alex Vasile Nick Armstrong-Crews Ethan Phelps Nadya Bliss Prof. Noah Snavely (Cornell University) Cluster SfM - 30