Gravillons tutorial

De MicMac
Révision de 8 février 2016 à 14:23 par BorisLeroux (discussion | contributions) (4 Absolute Orientation)

Aller à : navigation, rechercher



This dataset was created by L.Girod at the University of Oslo, Norway. This dataset was acquired to model a volcano model created by O.Galland. File present in the directory are :

  • 4 images : 1.JPG, 2.JPG, 3.JPG, 4.JPG.
  • GCPs coordinates : Dico-Appuis.xml.
  • Mesure of GCPs in images : Mesure-Appuis.xml.
  • 1 Mask : 1_Masq.tif/1_Masq.xml
  • 2 commands scripts : (Linux) et gravillons.bat (Windows)

During this tutorial, we will approach general concepts, for more details, go further in tutorials or directly in commands pages.


1 Tie-Points search

The first step of each MicMac pipline is to look for tie points (points that are seen in more than one image), this step is call image matching and performed by the command Tapioca :

mm3d Tapioca All ".*.JPG" 1500

The All option is used here because we know that all the images are going to have tie points with each other (they all depict the same area).

Go further
To process tie points at full resolution, use "-1" (instead of 1500 here):
mm3d Tapioca All ".*.JPG" -1

2 Internal Orientation+Relative Orientation

Photogrammetry is composed of three steps :

  • Internal Orientation : which consist to determine camera's paremeter (focal length, PPA, PPS, distorsion center, or distorsion parameters).
  • Relative Orientation : which consist to determine position of each camera's from each other in an arbitrary system.
  • Absolute Orientation : which consist to bascule the relative orientation to a scaled and oriented system (typically WGS84)

In digital photogrammetry, the two first steps are generally processed at the same time. In MicMac, the tools which perform internal and relative orientation is call Tapas :

mm3d Tapas FraserBasic ".*.JPG" Out=Arbitrary

This tools use a compensation by least squares to determine camera's parameter and relative orientation. The option "FraserBasic", correspond to a model of distorsion for our camera. The "option" Out specify the name of the orientation directory (here it will be Ori-Arbitrary).

3 Visualize Relative Orientation

Relative Orientation
Screenshot 1

MicMac include a tools which create a sparse point clouds (TPs) for visualization. This tool is AperiCloud :

mm3d AperiCloud ".*.JPG" Arbitrary

After this step, a ".ply" file will appear in your working directory, open it with Meshlab (Screenshot 1 : see Useful softwares for MicMac)

4 Absolute Orientation

Absolute Orientation
Screenshot 2

For this datasets, Ground Control Points, are already measured in images (file "Mesure-Appuis.xml"). With 3 points (X,Y,Z) we can determine the 3D transformation between the arbitrary system (Relative Orientation) and the georeferenced system, this operation is call "Bascule" and can be performed by the command GCPBascule :

mm3d GCPBascule ".*.JPG" Arbitrary Ground_Init Dico-Appuis.xml Mesure-Appuis.xml

This tool process a first Bascule only with the GCPs (Directory Ori-Ground_Init), we will now calculate a second Bascule with GCPs and TPs. To do that, we use the command Campari :

mm3d Campari" ".*.JPG" Ground_Init Ground

The new orientation is stocked in the directory "Ori-Ground". We can visualize it with AperiCloud :

mm3d AperiCloud ".*JPG" Ground

You can visualize the points cloud created in Meshlab (Screenshot 2).

Go further
The file "Mesure-Appuis.xml" is already furnished in the dataset, it contain the mesurements of each marks in image coordinates (px). If you want to mesure marks by yourself, you can use the tool SaisieAppuisInitQT before GCPBascule etc...
mm3d SaisieAppuisQT ".*.JPG" Arbitrary Dico-Appuis.xml Mesure-Appuis.xml

It launch a GUI to click on marks, when it's finish don't forget to save before to leave. It will create to files :

  • Mesure-Appuis-S2D.xml : Mesurements of marks in images coordinates.
  • Mesure-Appuis-S3D.xml : Mesurements of marks in Relative Orientation (here "Arbitrary"). Warning no unit.

So for the following command don't forget to use "Mesure-Appuis-S2D.xml" instead of "Mesure-Appuis.xml".

5 Create a depth map

3D Points Cloud
Screenshot 3

With any orientation directory, you can compute a depth map. The method consisting on using all the images to create a 3D model is call dense correlation or densification. In MicMac, it's performed by the command Malt :

mm3d Malt GeomImage ".*.JPG" Ground Master="1.JPG" ZoomF=2

6 Create a Dense Points Cloud

This last tool doesn't create directly a 3D point cloud. To generate it, you have to run an other tools, Nuage2Ply :

mm3d Nuage2Ply" "MM-Malt-Img-1/NuageImProf_STD-MALT_Etape_7.xml" Attr="1.JPG" Out=1.ply RatioAttrCarte=2

Then visualize the 3D model "1.ply" in Meshlab (Screenshot 3).


With this tutorial, you went through a complete photogrammetric process with MicMac. This first tutorial was willingly easy and on a minimal dataset to help you kickstart your MicMac skills. To go further, try the next tutorials.