A Beginners Guide to Building a RAG App Using Open Source Milvus
3d from images
1. 03/10/2013
1
3D from images, an overview
9th October 2013
0
Perspective and Stereo
We do perceive the environment three-
dimensionality
thanks to our stereo vision AND the
perspective
projection that occurs in our eyes..
Using the geometric laws of this two
phenomena
we can build the 3D geometry of the scene
2. 03/10/2013
2
Perspective Camera
All starts here... a camera is defined by
parameters:
- Position
- Orientation
- Focal Length
- Viewport
Distortion
Given a point in 3D space, it is know the
projected point on
photo plane
Given a point in the photo, it is possible
to trace back the
ray which originated the pixel
2 paths...
Two possible directions
- Assisted Modeling
- Automatic Stereo Matching
The underlying principles are the same... but
they sprouted
different kind of tools...
I'll cover the first, Matteo will take over later on
As usual, this distinction is becoming blurry...
...things does converge, after all
4. 03/10/2013
4
Sketchup
A very strange modeling tool.
Follows more the way a technical drawing is done on paper
(reporting/referencing) than the usual 3D modeling metaphore.
Easier for people with a technical drawing/sketching background.
Easier for people with no experience in 3D modeling.
Focused towards modeling of buildings
and mechanical entities...
Acquired by Google some years ago...
distributed now as a semi-free tool
http://sketchup.google.com/
Sketchup – the Luni Temple
An ideal tool for very regular buildings... like this
one
(regular does not equal new)
http://sketchup.google.com/
5. 03/10/2013
5
Sketchup Photo Match
Assited modeling from a SINGLE photo
Calibration: axis and vanishing points markup
Modeling: 3D drawing by axis/reference reporting
Partial calibration, with only a single photo, only the axis
can be recovered.
SketchUp can be used to model by reporting/referencing
Example 1 – Example 2
Photogrammetry
Perspective & stereo
Common reference points are marked on
multiple images…
From these correspondences it is
possible to calculate camera
position/parameters and 3D
location of the marked
points
6. 03/10/2013
6
ImageModeler
Photogrammetry commercial tool
Points are marked on input images, camera are fully calibrated
using these
points, camera are calibrated and modeling can be done using
the
recovered 3D points
Acquired by Autodesk... now it costs
three times the old price (with the same features)
PhotoModeler
Photogrammetry commercial tool
The tool for the professionals... Two steps: camera calibration
(with markers
and references) and camera pose estimation. Modeling and
measuring with lots of different tools
Very, very, very complex to use...
7. 03/10/2013
7
MULTI-VIEW STEREO
MATCHING
1 - Automatic matching of images
The entire process is based on finding matches between
images.
Record your pictures not too far apart, so the computer
can match them easily!
8. 03/10/2013
8
2 - Camera Calibration
No prior knowledge about camera calibration is
available, so all information must be recovered from
the images
It is therefore important that enough information is
present in the images!
Important factors:
Motion of the camera
General structure of the scene
Enough overlap (only points that are visible in at least 3
images are useful)
What you want reconstruct and how you get the photos
have great influence on the final reconstruction (!!)
Calibrated Cameras: what you can do with them
Photo Tourism
Having a set of (even etherogeneous) images, you can
navigate the photo collection in a “spatially coherent” way.
It evolved into PhotoSynth (see later).
9. 03/10/2013
9
3 - Dense Matching
After recovery of the
camera calibration,
dense depth maps
are computed
These contain the
depth of every pixel
and a quality
measure (how
confident we are of
each particular pixel)
Depth Map
Photosynth Toolkit
The Photosynth toolkit is the result of the
work of people from a Blog (Visual
Experiments)
The code of Bundler (SIFT+Camera
Calibration) has been made available recently
In alternative, it’s possible to use the
Photosynth service
Moreover, further code for the surface
reconstruction (CMVS -> PMVS)
The Toolkit is available and works locally
10. 03/10/2013
10
Photosynth Toolkit
Also the Photosynth toolkit can be integrated with
MeshLab, so that the final result can be improved!
SfMToolkit
It’s the same toolkit as PhotosynthToolkit,
but it’s completely local
http://www.visual-
experiments.com/demos/sfmtoolkit/
Good: completely local, no upload, control on
parameters
Bad: completely local, sometimes it crashes…
11. 03/10/2013
11
Python Photogrammetry Toolbox
Developed by Arc-Team, open source and free, for Debian and
Win (32 and 64bit)
http://www.arc-team.com/
Good: completely local, interface, control on parameters, video
tutorial
Bad: completely local, a bit tricky to install…
Autodesk 123Dcatch
Very well engineered tool...
Works on a remote server, like Arc3D
Produces a complete, textured model
http://www.123dapp.com/catch
It is free (for now), and works very very well.
It is fast, works on difficult datasets and the
results looks good. However, not really high
resolution, and there is less control over the
process. It is a good tool to start with...
12. 03/10/2013
12
Autodesk 123Dcatch
3
PhotoScan
Commercial, low cost tool: 59 € for educational license,
179€ standard license. (win, mac & linux)
Fast, work on local machine, directly produce textured
model. Very robust and reliable... We have used it with
good results on many diverse datasets.
They also have a free tool to process images taken with
stereo (two lenses) cameras....
13. 03/10/2013
13
PhotoModeler - dense
Photogrammetry commercial tool, 2nd version
The tool is the same as before... after doing the camera
calibration, instead
of using only user-picked points, the system does a dense-
matching.
The result is quite similar to a range map... you need to do
standard
processing in order to obtain a 3D model...
Model creation with MeshLab
After the 3D model is exported in MeshLab, there’s
a procedure to enhance it a bit and have a final
result:
Cleaning
Sampling
Poisson reconstruction
Poisson Model cleaning
Vertex Color Transfer
Cleaning
Scaling
Saving!
14. 03/10/2013
14
Conclusion
The methods for the acquisition of 3D content from
images have become an interesting alternative to
3D scanning.
Probably they won’t take the place of 3D Scanning,
but they could be a valid solution in a number of
practical and professional applications.
Nowadays, they are already used in archeologists
everyday work, and they are undergoing a sort of
standardization process.
Knowing these yechnologies is key to be able to deal
with 3D and CH.
Wanna know more?
Check the webpage of my University course:
http://vcg.isti.cnr.it/~dellepiane/Corso.html
(page in italian, slides mostly in English)
You’ll find slides, datasets, links etc etc
Do you want to learn how to use MeshLab?
Start from Mister P. Video tutorials
http://www.youtube.com/user/MrPMeshLabTutorials
Several playlists available