SlideShare a Scribd company logo
1 of 29
Download to read offline
3D browsing of a photos dataset
Uncovering Photosynth.net
Markou Nikolas, Romain Dossin, Kevin Keraudren
November 29, 2010
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Introduction
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Introduction
Flickr search ”Rome Coliseum”
34,169 results
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 2 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Introduction
Huge amount of data on the Web: Flickr > 5 billion photos
How can we browse such amount ?
What can we learn from it ?
What if we could turn 2D into 3D ?
→ Photosynth.net
(University of Washington + Microsoft Research)
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 3 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
1 The Bundler Pipeline
Extract the focal length from the EXIF tags (extract focal.pl)
Find feature points in each image using SIFT
Match keypoint descriptors between each pair of images
Structure from motion : recover a set of camera parameters and a
3D location for each track
2 Photo Explorer Rendering
Render the scene
Transitions
View Interpolation
3 Running the code
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 4 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Extract the focal length from the EXIF tags (extract focal.pl)
Extract the focal length from the EXIF tags
(extract focal.pl)
Jhead
ImageMagick: identify -format %[exif:*] image.jpg
focalpixels = X resolution ∗(focalmm/CCD widthmm).
→ used later to initialize the bundle adjustment
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 5 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Find feature points in each image using SIFT
SIFT - Scale Invariant Feature Transform
From scale space to feature space
SIFT transforms an image into a large collection of local feature vectors
each of which is invariant to :
image translation
scaling
rotation
and partially invariant to :
illumination changes
affine projections
3d projections
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 6 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Find feature points in each image using SIFT
SIFT (continued)
It is based on the highly successful Gaussian pyramid and the simple to
implement Difference of Gaussians (DoG) technique.
Source: http://fourier.eng.hmc.edu
For each different level the maxima and minima points are kept and
rotation histogram is created from the pixels around those for extra
robustness.
These features can then be matched on other images. Objects can also
be described as a set of features.
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 7 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Find feature points in each image using SIFT
Find feature points in each image using SIFT
Output format of ./sift
<number of keypoints> <descriptor length>
<subpixel row> <subpixel column> <scale> <orientation >
<i n v a r i a n t descriptor vector>
<subpixel row> <subpixel column> <scale> <orientation >
<i n v a r i a n t descriptor vector>
. . .
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 8 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Approximate nearest neighbors to match
keypoints between each pair of images
2 images I and J, SIFT keypoints in J → kd-tree
for each keypoint in I, look for nearest neighboor in J
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
The fundamental matrix
Corresponding points within stereo-pair images are connected by the
fundamental matrix.
Set of corresponding points xi ↔ xi in two images
F is the fundamental matrix ⇐⇒ ∀i, xiFxi = 0
linear equation in the unknown entries of F:
If x = (x,y,1) , x = (x ,y ,1) then :
x xf11 +x yf12 +x f13 +y xf21 +y yf22 +y f23 +xf31 +f33 = 0
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Fundamental matrix estimation using the 8 point
algorithm and RANSAC
With n point matches, this can be rewritten :
Af =



x1x1 x1y1 x1 y1x1 y1y1 y1x1 y1 1
...
xnxn xnyn xn ynxn ynyn ynxn yn 1


f = 0
where f the 9-vector made up of F in row-major order
∃ solutions ⇐⇒ rank(A) ≥ 8, unicity in the case of equality
(f determined up to scale)
If A > 8 (ex. noise): least-squares solution or run RANSAC and keep
the best fitting model
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 10 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
RANSAC - Random Sample Consensus
During any matching procedure we are stuck with erroneous matches.
These mismatched points are called outliers and are usually
catastrophic when trying to fit a model to the data.
Source: Wikipedia
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 11 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
RANSAC - Random Sample Consensus
Method:
Randomly choose a number points
Try to fit a model to them
Check how many other points are in consensus with the model
It is repeated and the best fit is left as a solution.
All points not fitting this solution (outliers) are usually removed from the
data set. This process filters most of the large errors.
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 12 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Match keypoint descriptors between each pair of images
Organize the matches into tracks
Source: ”Modeling the World from Internet Photo Collections”
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 13 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Structure from motion : recover a set of camera parameters and a 3D location for each track
Structure from motion : recover a set of camera
parameters and a 3D location for each track
Start with the two cameras (images) that best match
Estimate their parameters (focal length from EXIF tags, 5 points
algorithm)
Recover the 3D position of the points they both observe through a
bundle adjustment
Then take the camera that observes the most of the same points
Estimate its parameters using Direct Linear Transformation
Run a bundle adjustment adding only the already known points :
only the new camera parameters can change
Run another bundle adjustment adding the points observed by
another camera
Iterate with a new camera
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 14 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Structure from motion : recover a set of camera parameters and a 3D location for each track
Structure from motion : recover a set of camera
parameters and a 3D location for each track
Bundle adjustment :
n cameras parametrized by Θij
m tracks parametrized by the 3D points Xj
qij the observed projection of the j-th track in the i-th camera
P(Θ,X) : mapping between a 3D point X and its 2D projection in a
camera with parameters Θ
wij : 1 if camera i observes point j, 0 otherwise
Minimize (the unknowns are the 3D points Xj):
n
∑
i=1
m
∑
j=1
wij qij −P(Θi,Xj)
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 15 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Render the scene
Render the scene
As frustra
Images
Points and lines
3D rendering
Sources: Wikipedia & ”Modeling the World from
Internet Photo Collections”
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 16 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Transitions
Transitions
Representation accuracy of the real scene
Camera motion
Linear interpolation
Timing
Twinkle
View interpolation
Triangulated Morphs
Planar Morphs
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 17 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Transitions
Triangulated Morphs
Method
Projection of the points onto each image
2D Delaunay triangulation, with edges constraints
Projection of the triangulation onto an average plane
Creation of a 3D mesh
Display depending on camera location
Rendering
Good geometry
Artifacts
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 18 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Transitions
Planar Morphs
Method
Projection onto a common plane
Display depending on camera location
Rendering
Lower quality of the geometry
Less Artifacts
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 19 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Running the code
One full run: Bundler → Poisson reconstruction
82 photos from Flickr, big images, 44h, 115 196 points recovered at the
Bundler stage...
Figure: Cloud points obtained from Bundler, and Poisson surface
reconstruction done after PMVS
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 20 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Conclusion
Photosynth is only a beginning...
The University of North Carolina aims to reconstruct famous sites,
in a day from a ”normal machine”
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 21 / 22
Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion
Quizz
1 SIFT is used on images to find key features. In what
transformations is SIFT invariant to and when it doesn’t perform so
well ? How does this affect the clusters generated afterwards ?
2 If you were given the parameters of a camera (rotation matrix, focal
length, position of the center), the associated image and the 3D
cloud point it observes, where would you place the 2D image in 3D
space ?
3 As Photosynth is a web application that must be able to display
high-resolution photos to a lot of people simultaneously, how do
you think Microsoft optimized this system in order to avoid large
data transfers ?
Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 22 / 22

More Related Content

What's hot

Convolutional Features for Instance Search
Convolutional Features for Instance SearchConvolutional Features for Instance Search
Convolutional Features for Instance Search
Universitat Politècnica de Catalunya
 
Algorithms and tools for point cloud generation
Algorithms and tools for point cloud generationAlgorithms and tools for point cloud generation
Algorithms and tools for point cloud generation
Radhe Syam
 
Deep image retrieval learning global representations for image search
Deep image retrieval  learning global representations for image searchDeep image retrieval  learning global representations for image search
Deep image retrieval learning global representations for image search
Universitat Politècnica de Catalunya
 
"An adaptive modular approach to the mining of sensor network ...
"An adaptive modular approach to the mining of sensor network ..."An adaptive modular approach to the mining of sensor network ...
"An adaptive modular approach to the mining of sensor network ...
butest
 
Chaos Image Encryption using Pixel shuffling
Chaos Image Encryption using Pixel shuffling Chaos Image Encryption using Pixel shuffling
Chaos Image Encryption using Pixel shuffling
cscpconf
 

What's hot (20)

Deep LearningフレームワークChainerと最近の技術動向
Deep LearningフレームワークChainerと最近の技術動向Deep LearningフレームワークChainerと最近の技術動向
Deep LearningフレームワークChainerと最近の技術動向
 
TensorFlow Tutorial Part1
TensorFlow Tutorial Part1TensorFlow Tutorial Part1
TensorFlow Tutorial Part1
 
Interpretability of Convolutional Neural Networks - Eva Mohedano - UPC Barcel...
Interpretability of Convolutional Neural Networks - Eva Mohedano - UPC Barcel...Interpretability of Convolutional Neural Networks - Eva Mohedano - UPC Barcel...
Interpretability of Convolutional Neural Networks - Eva Mohedano - UPC Barcel...
 
Convolutional Features for Instance Search
Convolutional Features for Instance SearchConvolutional Features for Instance Search
Convolutional Features for Instance Search
 
Algorithms and tools for point cloud generation
Algorithms and tools for point cloud generationAlgorithms and tools for point cloud generation
Algorithms and tools for point cloud generation
 
Deep image retrieval learning global representations for image search
Deep image retrieval  learning global representations for image searchDeep image retrieval  learning global representations for image search
Deep image retrieval learning global representations for image search
 
Object Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning FrameworkObject Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning Framework
 
Intepretability / Explainable AI for Deep Neural Networks
Intepretability / Explainable AI for Deep Neural NetworksIntepretability / Explainable AI for Deep Neural Networks
Intepretability / Explainable AI for Deep Neural Networks
 
Semantic Segmentation - Míriam Bellver - UPC Barcelona 2018
Semantic Segmentation - Míriam Bellver - UPC Barcelona 2018Semantic Segmentation - Míriam Bellver - UPC Barcelona 2018
Semantic Segmentation - Míriam Bellver - UPC Barcelona 2018
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNs
 
Image classification using neural network
Image classification using neural networkImage classification using neural network
Image classification using neural network
 
Deep Learning for Computer Vision: Object Detection (UPC 2016)
Deep Learning for Computer Vision: Object Detection (UPC 2016)Deep Learning for Computer Vision: Object Detection (UPC 2016)
Deep Learning for Computer Vision: Object Detection (UPC 2016)
 
"An adaptive modular approach to the mining of sensor network ...
"An adaptive modular approach to the mining of sensor network ..."An adaptive modular approach to the mining of sensor network ...
"An adaptive modular approach to the mining of sensor network ...
 
Codetecon #KRK 3 - Object detection with Deep Learning
Codetecon #KRK 3 - Object detection with Deep LearningCodetecon #KRK 3 - Object detection with Deep Learning
Codetecon #KRK 3 - Object detection with Deep Learning
 
Deep learning for object detection
Deep learning for object detectionDeep learning for object detection
Deep learning for object detection
 
Convolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in TheanoConvolutional Neural Network (CNN) presentation from theory to code in Theano
Convolutional Neural Network (CNN) presentation from theory to code in Theano
 
Region-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object RetrievalRegion-oriented Convolutional Networks for Object Retrieval
Region-oriented Convolutional Networks for Object Retrieval
 
Introduction to Chainer Chemistry
Introduction to Chainer ChemistryIntroduction to Chainer Chemistry
Introduction to Chainer Chemistry
 
Lecture 6: Convolutional Neural Networks
Lecture 6: Convolutional Neural NetworksLecture 6: Convolutional Neural Networks
Lecture 6: Convolutional Neural Networks
 
Chaos Image Encryption using Pixel shuffling
Chaos Image Encryption using Pixel shuffling Chaos Image Encryption using Pixel shuffling
Chaos Image Encryption using Pixel shuffling
 

Viewers also liked

Echo assessment of lv systolic function and swma
Echo assessment of lv systolic function and swmaEcho assessment of lv systolic function and swma
Echo assessment of lv systolic function and swma
Fuad Farooq
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
Deepak Kumar
 
Image segmentation ppt
Image segmentation pptImage segmentation ppt
Image segmentation ppt
Gichelle Amon
 

Viewers also liked (20)

Endocardial 3D Ultrasound Segmentation using Autocontext Random ForestsPresen...
Endocardial 3D Ultrasound Segmentation using Autocontext Random ForestsPresen...Endocardial 3D Ultrasound Segmentation using Autocontext Random ForestsPresen...
Endocardial 3D Ultrasound Segmentation using Autocontext Random ForestsPresen...
 
Master Presentation
Master PresentationMaster Presentation
Master Presentation
 
Automated quantitative assessment of left ventricular functions by MR image s...
Automated quantitative assessment of left ventricular functions by MR image s...Automated quantitative assessment of left ventricular functions by MR image s...
Automated quantitative assessment of left ventricular functions by MR image s...
 
Region-based Semi-supervised Clustering Image Segmentation
Region-based Semi-supervised Clustering Image SegmentationRegion-based Semi-supervised Clustering Image Segmentation
Region-based Semi-supervised Clustering Image Segmentation
 
Sparsity Based Spectral Embedding: Application to Multi-Atlas Echocardiograph...
Sparsity Based Spectral Embedding: Application to Multi-Atlas Echocardiograph...Sparsity Based Spectral Embedding: Application to Multi-Atlas Echocardiograph...
Sparsity Based Spectral Embedding: Application to Multi-Atlas Echocardiograph...
 
Cardiac Image Analysis based on K Means Clustering
Cardiac Image Analysis based on K Means ClusteringCardiac Image Analysis based on K Means Clustering
Cardiac Image Analysis based on K Means Clustering
 
Automatic left ventricle segmentation
Automatic left ventricle segmentationAutomatic left ventricle segmentation
Automatic left ventricle segmentation
 
Marker Controlled Segmentation Technique for Medical application
Marker Controlled Segmentation Technique for Medical applicationMarker Controlled Segmentation Technique for Medical application
Marker Controlled Segmentation Technique for Medical application
 
Breast Lesion Segmentation in Ultrasound Images
Breast Lesion Segmentation in Ultrasound ImagesBreast Lesion Segmentation in Ultrasound Images
Breast Lesion Segmentation in Ultrasound Images
 
Andrey Mukhtarov - The Study of Applicability of the Decision Tree Method for...
Andrey Mukhtarov - The Study of Applicability of the Decision Tree Method for...Andrey Mukhtarov - The Study of Applicability of the Decision Tree Method for...
Andrey Mukhtarov - The Study of Applicability of the Decision Tree Method for...
 
Exposé segmentation
Exposé segmentationExposé segmentation
Exposé segmentation
 
Echo assessment of lv systolic function and swma
Echo assessment of lv systolic function and swmaEcho assessment of lv systolic function and swma
Echo assessment of lv systolic function and swma
 
Segmentation
SegmentationSegmentation
Segmentation
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
Applications of Digital image processing in Medical Field
Applications of Digital image processing in Medical FieldApplications of Digital image processing in Medical Field
Applications of Digital image processing in Medical Field
 
Biomedical image processing ppt
Biomedical image processing pptBiomedical image processing ppt
Biomedical image processing ppt
 
IMAGE SEGMENTATION.
IMAGE SEGMENTATION.IMAGE SEGMENTATION.
IMAGE SEGMENTATION.
 
PPT on BRAIN TUMOR detection in MRI images based on IMAGE SEGMENTATION
PPT on BRAIN TUMOR detection in MRI images based on  IMAGE SEGMENTATION PPT on BRAIN TUMOR detection in MRI images based on  IMAGE SEGMENTATION
PPT on BRAIN TUMOR detection in MRI images based on IMAGE SEGMENTATION
 
Image segmentation ppt
Image segmentation pptImage segmentation ppt
Image segmentation ppt
 
Medical image analysis
Medical image analysisMedical image analysis
Medical image analysis
 

Similar to Slides on Photosynth.net, from my MSc at Imperial

Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
inside-BigData.com
 

Similar to Slides on Photosynth.net, from my MSc at Imperial (20)

lec02.pptx
lec02.pptxlec02.pptx
lec02.pptx
 
Cluster formation over huge volatile robotic data
Cluster formation over huge volatile robotic data Cluster formation over huge volatile robotic data
Cluster formation over huge volatile robotic data
 
Building rome in_a_day_yas-nyan
Building rome in_a_day_yas-nyan Building rome in_a_day_yas-nyan
Building rome in_a_day_yas-nyan
 
Video Compression Advanced.pdf
Video Compression Advanced.pdfVideo Compression Advanced.pdf
Video Compression Advanced.pdf
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
 
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 1)
 
Shot Boundary Detection In Videos Sequences Using Motion Activities
Shot Boundary Detection In Videos Sequences Using Motion ActivitiesShot Boundary Detection In Videos Sequences Using Motion Activities
Shot Boundary Detection In Videos Sequences Using Motion Activities
 
Generating 3 d model from video
Generating 3 d model from videoGenerating 3 d model from video
Generating 3 d model from video
 
Visual geometry with deep learning
Visual geometry with deep learningVisual geometry with deep learning
Visual geometry with deep learning
 
Lec07 aggregation-and-retrieval-system
Lec07 aggregation-and-retrieval-systemLec07 aggregation-and-retrieval-system
Lec07 aggregation-and-retrieval-system
 
Class[4][19th jun] [three js-camera&amp;light]
Class[4][19th jun] [three js-camera&amp;light]Class[4][19th jun] [three js-camera&amp;light]
Class[4][19th jun] [three js-camera&amp;light]
 
MTech Dissertation.ppt
MTech Dissertation.pptMTech Dissertation.ppt
MTech Dissertation.ppt
 
[241]large scale search with polysemous codes
[241]large scale search with polysemous codes[241]large scale search with polysemous codes
[241]large scale search with polysemous codes
 
Monte carlo methods in graphics and hacking
Monte carlo methods in graphics and hackingMonte carlo methods in graphics and hacking
Monte carlo methods in graphics and hacking
 
Analyzing large multimedia collections in an urban context - Prof. Marcel Wor...
Analyzing large multimedia collections in an urban context - Prof. Marcel Wor...Analyzing large multimedia collections in an urban context - Prof. Marcel Wor...
Analyzing large multimedia collections in an urban context - Prof. Marcel Wor...
 
Semantic Mapping of Road Scenes
Semantic Mapping of Road ScenesSemantic Mapping of Road Scenes
Semantic Mapping of Road Scenes
 
Perplexity of Index Models over Evolving Linked Data
Perplexity of Index Models over Evolving Linked Data Perplexity of Index Models over Evolving Linked Data
Perplexity of Index Models over Evolving Linked Data
 
[論文紹介] BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Ne...
[論文紹介] BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Ne...[論文紹介] BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Ne...
[論文紹介] BlendedMVS: A Large-scale Dataset for Generalized Multi-view Stereo Ne...
 
40120140503006
4012014050300640120140503006
40120140503006
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
 

More from Kevin Keraudren

Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
Kevin Keraudren
 
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
Kevin Keraudren
 
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Kevin Keraudren
 
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Kevin Keraudren
 
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
Kevin Keraudren
 
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
Kevin Keraudren
 
Keraudren-K-2015-PhD-Thesis
Keraudren-K-2015-PhD-ThesisKeraudren-K-2015-PhD-Thesis
Keraudren-K-2015-PhD-Thesis
Kevin Keraudren
 

More from Kevin Keraudren (15)

Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013 poster)
 
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction (...
 
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
 
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
Automated Localization of Fetal Organs in MRI Using Random Forests with Steer...
 
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
Automatic Localisation of the Brain in Fetal MRI (Miccai 2013)
 
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (Miaab 2011)
 
Keraudren-K-2015-PhD-Thesis
Keraudren-K-2015-PhD-ThesisKeraudren-K-2015-PhD-Thesis
Keraudren-K-2015-PhD-Thesis
 
PhD viva - 11th November 2015
PhD viva - 11th November 2015PhD viva - 11th November 2015
PhD viva - 11th November 2015
 
PyData London 2015 - Localising Organs of the Fetus in MRI Data Using Python
PyData London 2015 - Localising Organs of the Fetus in MRI Data Using PythonPyData London 2015 - Localising Organs of the Fetus in MRI Data Using Python
PyData London 2015 - Localising Organs of the Fetus in MRI Data Using Python
 
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion CorrectionAutomated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction
Automated Fetal Brain Segmentation from 2D MRI Slices for Motion Correction
 
Faceccrumbs: Manifold Learning on 1M Face Images, MSc group project
Faceccrumbs: Manifold Learning on 1M Face Images, MSc group projectFaceccrumbs: Manifold Learning on 1M Face Images, MSc group project
Faceccrumbs: Manifold Learning on 1M Face Images, MSc group project
 
Slides presented at the Steiner Unit, Hammersmith Hospital, 08/06/2012
Slides presented at the Steiner Unit, Hammersmith Hospital, 08/06/2012Slides presented at the Steiner Unit, Hammersmith Hospital, 08/06/2012
Slides presented at the Steiner Unit, Hammersmith Hospital, 08/06/2012
 
Reading group - 22/05/2013
Reading group - 22/05/2013Reading group - 22/05/2013
Reading group - 22/05/2013
 
Introduction to cython: example of GCoptimization
Introduction to cython: example of GCoptimizationIntroduction to cython: example of GCoptimization
Introduction to cython: example of GCoptimization
 
Segmenting Epithelial Cells in High-Throughput RNAi Screens (MIAAB 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (MIAAB 2011)Segmenting Epithelial Cells in High-Throughput RNAi Screens (MIAAB 2011)
Segmenting Epithelial Cells in High-Throughput RNAi Screens (MIAAB 2011)
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Slides on Photosynth.net, from my MSc at Imperial

  • 1. 3D browsing of a photos dataset Uncovering Photosynth.net Markou Nikolas, Romain Dossin, Kevin Keraudren November 29, 2010
  • 2. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Introduction
  • 3. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Introduction Flickr search ”Rome Coliseum” 34,169 results Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 2 / 22
  • 4. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Introduction Huge amount of data on the Web: Flickr > 5 billion photos How can we browse such amount ? What can we learn from it ? What if we could turn 2D into 3D ? → Photosynth.net (University of Washington + Microsoft Research) Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 3 / 22
  • 5. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion 1 The Bundler Pipeline Extract the focal length from the EXIF tags (extract focal.pl) Find feature points in each image using SIFT Match keypoint descriptors between each pair of images Structure from motion : recover a set of camera parameters and a 3D location for each track 2 Photo Explorer Rendering Render the scene Transitions View Interpolation 3 Running the code Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 4 / 22
  • 6. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Extract the focal length from the EXIF tags (extract focal.pl) Extract the focal length from the EXIF tags (extract focal.pl) Jhead ImageMagick: identify -format %[exif:*] image.jpg focalpixels = X resolution ∗(focalmm/CCD widthmm). → used later to initialize the bundle adjustment Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 5 / 22
  • 7. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Find feature points in each image using SIFT SIFT - Scale Invariant Feature Transform From scale space to feature space SIFT transforms an image into a large collection of local feature vectors each of which is invariant to : image translation scaling rotation and partially invariant to : illumination changes affine projections 3d projections Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 6 / 22
  • 8. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Find feature points in each image using SIFT SIFT (continued) It is based on the highly successful Gaussian pyramid and the simple to implement Difference of Gaussians (DoG) technique. Source: http://fourier.eng.hmc.edu For each different level the maxima and minima points are kept and rotation histogram is created from the pixels around those for extra robustness. These features can then be matched on other images. Objects can also be described as a set of features. Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 7 / 22
  • 9. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Find feature points in each image using SIFT Find feature points in each image using SIFT Output format of ./sift <number of keypoints> <descriptor length> <subpixel row> <subpixel column> <scale> <orientation > <i n v a r i a n t descriptor vector> <subpixel row> <subpixel column> <scale> <orientation > <i n v a r i a n t descriptor vector> . . . Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 8 / 22
  • 10. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 11. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 12. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 13. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 14. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 15. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Approximate nearest neighbors to match keypoints between each pair of images 2 images I and J, SIFT keypoints in J → kd-tree for each keypoint in I, look for nearest neighboor in J Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 16. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images The fundamental matrix Corresponding points within stereo-pair images are connected by the fundamental matrix. Set of corresponding points xi ↔ xi in two images F is the fundamental matrix ⇐⇒ ∀i, xiFxi = 0 linear equation in the unknown entries of F: If x = (x,y,1) , x = (x ,y ,1) then : x xf11 +x yf12 +x f13 +y xf21 +y yf22 +y f23 +xf31 +f33 = 0 Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 9 / 22
  • 17. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Fundamental matrix estimation using the 8 point algorithm and RANSAC With n point matches, this can be rewritten : Af =    x1x1 x1y1 x1 y1x1 y1y1 y1x1 y1 1 ... xnxn xnyn xn ynxn ynyn ynxn yn 1   f = 0 where f the 9-vector made up of F in row-major order ∃ solutions ⇐⇒ rank(A) ≥ 8, unicity in the case of equality (f determined up to scale) If A > 8 (ex. noise): least-squares solution or run RANSAC and keep the best fitting model Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 10 / 22
  • 18. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images RANSAC - Random Sample Consensus During any matching procedure we are stuck with erroneous matches. These mismatched points are called outliers and are usually catastrophic when trying to fit a model to the data. Source: Wikipedia Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 11 / 22
  • 19. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images RANSAC - Random Sample Consensus Method: Randomly choose a number points Try to fit a model to them Check how many other points are in consensus with the model It is repeated and the best fit is left as a solution. All points not fitting this solution (outliers) are usually removed from the data set. This process filters most of the large errors. Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 12 / 22
  • 20. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Match keypoint descriptors between each pair of images Organize the matches into tracks Source: ”Modeling the World from Internet Photo Collections” Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 13 / 22
  • 21. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Structure from motion : recover a set of camera parameters and a 3D location for each track Structure from motion : recover a set of camera parameters and a 3D location for each track Start with the two cameras (images) that best match Estimate their parameters (focal length from EXIF tags, 5 points algorithm) Recover the 3D position of the points they both observe through a bundle adjustment Then take the camera that observes the most of the same points Estimate its parameters using Direct Linear Transformation Run a bundle adjustment adding only the already known points : only the new camera parameters can change Run another bundle adjustment adding the points observed by another camera Iterate with a new camera Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 14 / 22
  • 22. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Structure from motion : recover a set of camera parameters and a 3D location for each track Structure from motion : recover a set of camera parameters and a 3D location for each track Bundle adjustment : n cameras parametrized by Θij m tracks parametrized by the 3D points Xj qij the observed projection of the j-th track in the i-th camera P(Θ,X) : mapping between a 3D point X and its 2D projection in a camera with parameters Θ wij : 1 if camera i observes point j, 0 otherwise Minimize (the unknowns are the 3D points Xj): n ∑ i=1 m ∑ j=1 wij qij −P(Θi,Xj) Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 15 / 22
  • 23. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Render the scene Render the scene As frustra Images Points and lines 3D rendering Sources: Wikipedia & ”Modeling the World from Internet Photo Collections” Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 16 / 22
  • 24. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Transitions Transitions Representation accuracy of the real scene Camera motion Linear interpolation Timing Twinkle View interpolation Triangulated Morphs Planar Morphs Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 17 / 22
  • 25. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Transitions Triangulated Morphs Method Projection of the points onto each image 2D Delaunay triangulation, with edges constraints Projection of the triangulation onto an average plane Creation of a 3D mesh Display depending on camera location Rendering Good geometry Artifacts Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 18 / 22
  • 26. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Transitions Planar Morphs Method Projection onto a common plane Display depending on camera location Rendering Lower quality of the geometry Less Artifacts Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 19 / 22
  • 27. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Running the code One full run: Bundler → Poisson reconstruction 82 photos from Flickr, big images, 44h, 115 196 points recovered at the Bundler stage... Figure: Cloud points obtained from Bundler, and Poisson surface reconstruction done after PMVS Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 20 / 22
  • 28. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Conclusion Photosynth is only a beginning... The University of North Carolina aims to reconstruct famous sites, in a day from a ”normal machine” Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 21 / 22
  • 29. Introduction The Bundler Pipeline Photo Explorer Rendering Running the code Conclusion Quizz 1 SIFT is used on images to find key features. In what transformations is SIFT invariant to and when it doesn’t perform so well ? How does this affect the clusters generated afterwards ? 2 If you were given the parameters of a camera (rotation matrix, focal length, position of the center), the associated image and the 3D cloud point it observes, where would you place the 2D image in 3D space ? 3 As Photosynth is a web application that must be able to display high-resolution photos to a lot of people simultaneously, how do you think Microsoft optimized this system in order to avoid large data transfers ? Markou Nikolas, Romain Dossin, Kevin Keraudren () 3D browsing of a photos dataset November 29, 2010 22 / 22