In this tutorial, we will approach general concepts, basics tools, and how to process an image dataset with overlaps with MicMac. This dataset is light by design (4 images), in order to focus on the MicMac tools. This tutorial is designed especially for MicMac beginners with a light photogrammetry background.
You can find this dataset at
Once you have downloaded it, you have to extract the ".zip" archive.
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. Files present in the directory are:
- 4 images : 1.JPG, 2.JPG, 3.JPG, 4.JPG.
- GCP coordinates: Dico-Appuis.xml.
- Measures of GCPs in images: Mesure-Appuis.xml.
- 1 Mask: 1_Masq.tif/1_Masq.xml
- 2 command scripts: gravillons.sh (Linux) and gravillons.bat (Windows)
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).
mm3d Tapioca All ".*.JPG" -1
2 Internal Orientation+Relative Orientation
Photogrammetry is composed of three steps :
- Internal Orientation : to determine camera parameters (focal length, PPA, PPS, distortion center, or distortion parameters).
- Relative Orientation : to determine the relative position of each camera in an arbitrary coordinate system.
- Absolute Orientation : to map the relative orientations to a scaled and oriented coordinate 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 tool uses a compensation by least squares to determine camera parameters and relative orientations. The option "FraserBasic", correspond to a model of distortion for our camera. The "option" Out specify the name of the orientation directory (here it will be Ori-Arbitrary).
3 Visualize Relative Orientation
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
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.
mm3d SaisieAppuisInitQT ".*.JPG" Arbitrary Dico-Appuis.xml Mesure-Appuis.xml
It launch a GUI to click on GCPs, when it's finish don't forget to save before leaving. It will create to files :
- Mesure-Appuis-S2D.xml : Measurements of GCPs in images coordinates.
- Mesure-Appuis-S3D.xml : Measurements of GCPs 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".
This command is best explained in the Pierrerue tutorial.
5 Create a depth map
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.
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.