SlideShare a Scribd company logo
1 of 1
Download to read offline
Scalable Structure from Motion for Street View
Yujia Huang (yujiah1), Yilin Yang (yiliny1), Group No. 60
Introduction Method
Estimate Camera Pose
● PnP Solver
Given n 3D reference points, in the object reference framework, and their corresponding
projections, PnP Solver retrieves the rotation matrix R and the translation vector t, accounting for
camera orientation and position, respectively.
Triangulation
● Multi-view Triangulation
Solve 3D points (X, Y, Z, W) based on all observations (x, y) and projection matrix P
Bundle Adjustment
● Objective Function
Minimize camera poses C and 3D points X at same time
● Loss function
Cauchy function: , which depress outlier errors
Results Future Work
Motivation
Structure from Motion (SfM) is a mature algorithm in computer vision.
Traditionally, it is used to reconstruct the 3D point cloud given several
images of an object. However, the camera poses are estimated at the same
time, which provides further information and has many potential
applications. For instance, we can track the trajectory of a vehicle with a
camera. Furthermore, given Google Street View database, we can localize
the trajectory more precisely on Google Maps than GPS. This information
can assist autonomous driving system.
What we have done
In this project, we completed a SfM system specifically on street view.
● First version: MATLAB prototype
● Second version: OpenCV C++ without bundle adjustment, but real-time
● Final version: OpenCV C++ with Ceres bundle adjustment solver
● Dataset: Our own street view data collected by driving in a vehicle
around Pittsburgh with a 35mm-fixed-focus lens
● Other work: Verified our implementation on our own this dataset as well
as online dataset; Compared some successful results with a unsatisfying
one and analysed when the system may fail
We have completed SfM algorithm that works well on street view data, but
there are many improvements available in the future:
● Robust feature matching
Our system may break down if the new frame have insufficient features
matched to the features in the table. This often happens when the speed
is fast and the images are blurred. One proposal is to reduce the exposure
time of the camera. Another proposal is to pre-process the frame and
eliminate the motion blur.
● Handle outlier
Bundle adjustment may not converge because of these outliers. One
solution is to remove the point if it is not in front of all the cameras when
triangulation is finished.
● Real time
Bundle adjustment takes several seconds to converge, which makes the
system not real-time. In future work, we can make Bundle adjustment
converging faster utilizing the linear solver in Ceres.
● Loop Closure
The error accumulates after each frame, even with bundle adjustment.
However, if a trajectory has a loop, we can adjust the trajectory such that
the camera positions where we see the same scene coincide with each
other. This method is called loop closure.
Availability
Github: https://github.com/erichuang0771/OpenSLAM.git
Real Data: Carnegie Museum of Art
Last
Camera
First
Camera
Camera
No 13
Camera
No 6
Front
Door
Trajectory
Middlebury Data: Temple
Last
Camera
Camera
No. 15
Camera
No. 5
NSH Indoor:
Stairs

More Related Content

What's hot

30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
Introductory Level of SLAM Seminar
Introductory Level of SLAM SeminarIntroductory Level of SLAM Seminar
Introductory Level of SLAM SeminarDong-Won Shin
 
Geometry Shader
Geometry ShaderGeometry Shader
Geometry Shaderacbess
 
Scanline rendering
Scanline renderingScanline rendering
Scanline renderingVisCircle
 
Soft Shadow Maps for Linear Lights
Soft Shadow Maps for Linear LightsSoft Shadow Maps for Linear Lights
Soft Shadow Maps for Linear Lightsstefan_b
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationDouglas Lanman
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...Ken Sakurada
 
Sprite Rendering
Sprite RenderingSprite Rendering
Sprite Renderinghorizongir
 
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013Sunando Sengupta
 
Webinar 2 - IMU & GPS
Webinar 2 - IMU & GPSWebinar 2 - IMU & GPS
Webinar 2 - IMU & GPSCivil Maps
 
An Automatic Detection of Landing Sites for Emergency Landing of Aircraft
An Automatic Detection of Landing Sites for Emergency Landing of AircraftAn Automatic Detection of Landing Sites for Emergency Landing of Aircraft
An Automatic Detection of Landing Sites for Emergency Landing of AircraftIRJET Journal
 
FastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopFastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopDong-Won Shin
 
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...imar-uniri
 

What's hot (16)

30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
Introductory Level of SLAM Seminar
Introductory Level of SLAM SeminarIntroductory Level of SLAM Seminar
Introductory Level of SLAM Seminar
 
Geometry Shader
Geometry ShaderGeometry Shader
Geometry Shader
 
Scanline rendering
Scanline renderingScanline rendering
Scanline rendering
 
Soft Shadow Maps for Linear Lights
Soft Shadow Maps for Linear LightsSoft Shadow Maps for Linear Lights
Soft Shadow Maps for Linear Lights
 
Praseed Pai
Praseed PaiPraseed Pai
Praseed Pai
 
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D TriangulationBuild Your Own 3D Scanner: The Mathematics of 3D Triangulation
Build Your Own 3D Scanner: The Mathematics of 3D Triangulation
 
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
 
Sprite Rendering
Sprite RenderingSprite Rendering
Sprite Rendering
 
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013
Urban 3D Semantic Modelling Using Stereo Vision, ICRA 2013
 
DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC
 
Webinar 2 - IMU & GPS
Webinar 2 - IMU & GPSWebinar 2 - IMU & GPS
Webinar 2 - IMU & GPS
 
An Automatic Detection of Landing Sites for Emergency Landing of Aircraft
An Automatic Detection of Landing Sites for Emergency Landing of AircraftAn Automatic Detection of Landing Sites for Emergency Landing of Aircraft
An Automatic Detection of Landing Sites for Emergency Landing of Aircraft
 
FastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopFastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM Workshop
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...
Application of Structure-from-Motion Photogrammetry for Erosion Processes Mon...
 

Similar to eric-yilin cv presentation

Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...
Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...
Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...c.choi
 
Zupt, LLC's SLAM and Optimal Sensor fusion
Zupt, LLC's SLAM and Optimal Sensor fusionZupt, LLC's SLAM and Optimal Sensor fusion
Zupt, LLC's SLAM and Optimal Sensor fusionRobert Flaming, PCM®
 
Video Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTVideo Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTIRJET Journal
 
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHM
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHMA ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHM
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHMcsandit
 
Real-time Moving Object Detection using SURF
Real-time Moving Object Detection using SURFReal-time Moving Object Detection using SURF
Real-time Moving Object Detection using SURFiosrjce
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupLihang Li
 
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...CSCJournals
 
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...
IRJET- Front View Identification of Vehicles by using Machine Learning Te...IRJET Journal
 
Arindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam Batabyal
 
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro..."High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...Edge AI and Vision Alliance
 
Realtime pothole detection system using improved CNN Models
Realtime pothole detection system using improved CNN ModelsRealtime pothole detection system using improved CNN Models
Realtime pothole detection system using improved CNN Modelsnithinsai2992
 
Self-Driving Car to Drive Autonomously using Image Processing and Deep Learning
Self-Driving Car to Drive Autonomously using Image Processing and Deep LearningSelf-Driving Car to Drive Autonomously using Image Processing and Deep Learning
Self-Driving Car to Drive Autonomously using Image Processing and Deep LearningIRJET Journal
 
ShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawn Quinn
 
Blur Detection Methods for Digital Images-A Survey
Blur Detection Methods for Digital Images-A SurveyBlur Detection Methods for Digital Images-A Survey
Blur Detection Methods for Digital Images-A SurveyEditor IJCATR
 

Similar to eric-yilin cv presentation (20)

Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...
Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...
Real-time 3D Object Pose Estimation and Tracking for Natural Landmark Based V...
 
3D reconstruction
3D reconstruction3D reconstruction
3D reconstruction
 
Zupt, LLC's SLAM and Optimal Sensor fusion
Zupt, LLC's SLAM and Optimal Sensor fusionZupt, LLC's SLAM and Optimal Sensor fusion
Zupt, LLC's SLAM and Optimal Sensor fusion
 
UAV como controlar cin PID
UAV  como controlar cin PIDUAV  como controlar cin PID
UAV como controlar cin PID
 
Video Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFTVideo Stitching using Improved RANSAC and SIFT
Video Stitching using Improved RANSAC and SIFT
 
Final Paper
Final PaperFinal Paper
Final Paper
 
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHM
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHMA ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHM
A ROS IMPLEMENTATION OF THE MONO-SLAM ALGORITHM
 
J017377578
J017377578J017377578
J017377578
 
Real-time Moving Object Detection using SURF
Real-time Moving Object Detection using SURFReal-time Moving Object Detection using SURF
Real-time Moving Object Detection using SURF
 
branch-SGM
branch-SGMbranch-SGM
branch-SGM
 
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision GroupDTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
DTAM: Dense Tracking and Mapping in Real-Time, Robot vision Group
 
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...
Tracking Chessboard Corners Using Projective Transformation for Augmented Rea...
 
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
 
Arindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentationArindam batabyal literature reviewpresentation
Arindam batabyal literature reviewpresentation
 
06466595
0646659506466595
06466595
 
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro..."High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
"High-resolution 3D Reconstruction on a Mobile Processor," a Presentation fro...
 
Realtime pothole detection system using improved CNN Models
Realtime pothole detection system using improved CNN ModelsRealtime pothole detection system using improved CNN Models
Realtime pothole detection system using improved CNN Models
 
Self-Driving Car to Drive Autonomously using Image Processing and Deep Learning
Self-Driving Car to Drive Autonomously using Image Processing and Deep LearningSelf-Driving Car to Drive Autonomously using Image Processing and Deep Learning
Self-Driving Car to Drive Autonomously using Image Processing and Deep Learning
 
ShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProjectShawnQuinnCSS565FinalResearchProject
ShawnQuinnCSS565FinalResearchProject
 
Blur Detection Methods for Digital Images-A Survey
Blur Detection Methods for Digital Images-A SurveyBlur Detection Methods for Digital Images-A Survey
Blur Detection Methods for Digital Images-A Survey
 

eric-yilin cv presentation

  • 1. Scalable Structure from Motion for Street View Yujia Huang (yujiah1), Yilin Yang (yiliny1), Group No. 60 Introduction Method Estimate Camera Pose ● PnP Solver Given n 3D reference points, in the object reference framework, and their corresponding projections, PnP Solver retrieves the rotation matrix R and the translation vector t, accounting for camera orientation and position, respectively. Triangulation ● Multi-view Triangulation Solve 3D points (X, Y, Z, W) based on all observations (x, y) and projection matrix P Bundle Adjustment ● Objective Function Minimize camera poses C and 3D points X at same time ● Loss function Cauchy function: , which depress outlier errors Results Future Work Motivation Structure from Motion (SfM) is a mature algorithm in computer vision. Traditionally, it is used to reconstruct the 3D point cloud given several images of an object. However, the camera poses are estimated at the same time, which provides further information and has many potential applications. For instance, we can track the trajectory of a vehicle with a camera. Furthermore, given Google Street View database, we can localize the trajectory more precisely on Google Maps than GPS. This information can assist autonomous driving system. What we have done In this project, we completed a SfM system specifically on street view. ● First version: MATLAB prototype ● Second version: OpenCV C++ without bundle adjustment, but real-time ● Final version: OpenCV C++ with Ceres bundle adjustment solver ● Dataset: Our own street view data collected by driving in a vehicle around Pittsburgh with a 35mm-fixed-focus lens ● Other work: Verified our implementation on our own this dataset as well as online dataset; Compared some successful results with a unsatisfying one and analysed when the system may fail We have completed SfM algorithm that works well on street view data, but there are many improvements available in the future: ● Robust feature matching Our system may break down if the new frame have insufficient features matched to the features in the table. This often happens when the speed is fast and the images are blurred. One proposal is to reduce the exposure time of the camera. Another proposal is to pre-process the frame and eliminate the motion blur. ● Handle outlier Bundle adjustment may not converge because of these outliers. One solution is to remove the point if it is not in front of all the cameras when triangulation is finished. ● Real time Bundle adjustment takes several seconds to converge, which makes the system not real-time. In future work, we can make Bundle adjustment converging faster utilizing the linear solver in Ceres. ● Loop Closure The error accumulates after each frame, even with bundle adjustment. However, if a trajectory has a loop, we can adjust the trajectory such that the camera positions where we see the same scene coincide with each other. This method is called loop closure. Availability Github: https://github.com/erichuang0771/OpenSLAM.git Real Data: Carnegie Museum of Art Last Camera First Camera Camera No 13 Camera No 6 Front Door Trajectory Middlebury Data: Temple Last Camera Camera No. 15 Camera No. 5 NSH Indoor: Stairs