GrandLeez : Différence entre versions

De MicMac
Aller à : navigation, rechercher
(Georefenrencing the aerotriangulated model with CenterBascule)
(Change the coordinate system)
Ligne 98 : Ligne 98 :
  
 
==Change the coordinate system==
 
==Change the coordinate system==
<pre>mm3d ChgSysCo  "R.*JPG" All-RTL   SysCoRTL.xml@SysCoBL72_EPSG31370.xml   All-BL72</pre>
+
<pre>mm3d ChgSysCo  "R.*JPG" All-RTL SysCoRTL.xml@SysCoBL72_EPSG31370.xml All-BL72</pre>
 
Compute a orientation vizualisation :
 
Compute a orientation vizualisation :
 
<pre>AperiCloud "R.*.JPG" All-BL72 Out=All-BL72-cam.ply WithPoints=0</pre>
 
<pre>AperiCloud "R.*.JPG" All-BL72 Out=All-BL72-cam.ply WithPoints=0</pre>

Version du 31 mai 2016 à 12:44

Picto-liste.png Tutorial index

Download

Presentation

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 :

  • 200 images : R0040438.JPG ... R0040637.JPG taken with a RICOH GR DIGITAL 3 (800x600 px).
  • Geolocation of images : GPS_WPK_Grand-Leez.csv
  • File with images neighboor : FileImagesNeighbour.xml
  • 2 commands scripts : UASGrandLeez.bat and UASGrandLeez.sh
  • File with detailed commands : cmd_UAS_Grand-Leez.txt
  • 2 file for coordinate system transform : SysCoRTL.xml and </>SysCoBL72_EPSG31370.xml</i>

During this tutorial, we will approach direct georeferencing concepts. We will apply the MicMac processing flow to process a forest Canopy Surface Model. For more details, go further in tutorials or directly in commands pages. This dataset is provided by "l’Unité Gestion des Ressources Forestières et des Milieux Naturels (GRFMN), Université de Liège". Contact: jo.lisein@ulg.ac.be

Tutorial

Conversion of image coordinates

OriConvert is used for 5 purposes:

  1. Conversion of the embedded GPS data into the micmac format : OriTxtInFile
  2. Generate the image pairs file
  3. Change the coordinate system (from WGS84 to a locally tangent system) with the argument : ChSys=DegreeWGS84@SysCoRTL.xml
  4. Compute relative speed of the camera (for GPS delay determination) : MTD1=1 CalcV=1
  5. Select a sample of the image block (PATC) for camera calibration : NameCple=FileImagesNeighbour.xml ImC=R0040536.JPG NbImC=25
mm3d OriConvert OriTxtInFile GPS_WPK_Grand-Leez.csv Nav-Brut-RTL ChSys=DegreeWGS84@SysCoRTL.xml MTD1=1 NameCple=FileImagesNeighbour.xml CalcV=1 ImC=R0040536.JPG NbImC=25

See OriConvert for more details on arguments and file format.

Tie Point Generation with Tapioca

The file FileImagesNeighbour.xml contain for each images, his differents neighboors. If you open the file, you can see :

     <Cple>R0040439.JPG R0040519.JPG</Cple>
     <Cple>R0040439.JPG R0040514.JPG</Cple>
     <Cple>R0040439.JPG R0040444.JPG</Cple>
     <Cple>R0040439.JPG R0040517.JPG</Cple>
     <Cple>R0040439.JPG R0040438.JPG</Cple>
     <Cple>R0040439.JPG R0040440.JPG</Cple>
     <Cple>R0040439.JPG R0040441.JPG</Cple>
     <Cple>R0040439.JPG R0040516.JPG</Cple>
     <Cple>R0040439.JPG R0040442.JPG</Cple>
     <Cple>R0040439.JPG R0040515.JPG</Cple>
     <Cple>R0040439.JPG R0040443.JPG</Cple>

It means, image R0040439.JPG is connected with all the images detailed in <Cple> tag. So you can run the tie point generation with Tapioca using this file :

Tapioca File FileImagesNeighbour.xml -1

The processing time is shorter, because micmac knows which pictures matching.

Camera Calibration with Tapas, using a block of 25 images

To run a Camera calibration, you can take an other dataset, with exactly the same camera settings, or you can use a part of the principal dataset. Here we use the same images as in OriConvert to determine Internal Orientation Parameters (IOP) :

Tapas RadialBasic "R0040536.JPG|R0040537.JPG|R0040535.JPG|R0040578.JPG|R0040498.JPG|R0040499.JPG|R0040579.JPG|R0040538.JPG|R0040577.JPG|R0040534.JPG|R0040497.JPG|R0040500.JPG|R0040580.JPG|R0040456.JPG|R0040616.JPG|R0040576.JPG|R0040496.JPG|R0040617.JPG|R004045.JPG|R0040457.JPG|R0040615.JPG|R0040539.JPG|R0040501.JPG|R0040581.JPG|R0040533.JPG" Out=Sample4Calib-Rel

This is the result of the last iteration :

| |  Residual = 0.474718 ;; Evol, Moy=5.50743e-015 ,Max=3.70866e-014
| |  Worst, Res 0.618139 for R0040576.JPG,  Perc 99.446 for R0040496.JPG
| |  Cond , Aver 6.46061 Max 42.4603 Prop>100 0

Orientation of the complete block in a relative system

You can directly integrate the IOP determination in the relative orientation processing, by using :

Tapas RadialBasic "R.*.JPG" Out=All-Rel InCal=Sample4Calib-Rel

This is the results of the last iteration :

| |  Residual = 0.420786 ;; Evol, Moy=3.64623e-014 ,Max=4.34387e-013
| |  Worst, Res 0.662578 for R0040576.JPG,  Perc 98.5075 for R0040472.JPG
| |  Cond , Aver 5.84769 Max 47.5369 Prop>100 0
Go further
When you are using a pre-calibration in Tapas, you give a initial solution to the least squares algorithm, you improve the convergence speed/chances, and the residuals. You can see that by running :
Tapas RadialBasic "R.*.JPG" Out=All-Rel-b

The results of the last iteration is :


We will know compute a sparse cloud with image relative position and orientation, to check if the block is correctly computed :

AperiCloud "R.*.JPG" All-Rel

Optionnaly, if meshlab is installed, you can vizualise the sparse cloud (Only for Ubuntu):

meshlab All-Rel.ply

Determination of the GNSS delay

The position of the UAV are computed for the phase center of the GNSS which not correspond to the camera center. Moreover, the UAV is moving when you take the picture so you have to compute relative speed of each camera in order to determine and correct GNSS systematic error(delay).

CenterBascule "R.*.JPG" All-Rel Nav-Brut-RTL tmp CalcV=1
BEGIN Compensation
BEGIN AMD
END AMD
APPLI APERO, NbUnknown = 1208
delay init :::    -0.0787348

OriConvert is (again) used for taking the delay into account and generate a new (accurate) orientation :

mm3d OriConvert OriTxtInFile GPS_WPK_Grand-Leez.csv Nav-adjusted-RTL ChSys=DegreeWGS84@SysCoRTL.xm MTD1=1 Delay=-0.0787348

Georefenrencing the model

Now we can use the precise georeferencing to compute the absolute orientation from the aerotriangulated model with CenterBascule

CenterBascule "R.*.JPG" All-Rel Nav-adjusted-RTL All-RTL

Change the coordinate system

mm3d ChgSysCo  "R.*JPG" All-RTL SysCoRTL.xml@SysCoBL72_EPSG31370.xml All-BL72

Compute a orientation vizualisation :

AperiCloud "R.*.JPG" All-BL72 Out=All-BL72-cam.ply WithPoints=0

Optionnaly, if meshlab is installed, you can vizualise the orientation cloud :

meshlab All-BL72-cam.ply

Dense-matching with Malt. Here, we aren't interested in the generation of orthophoto

Malt Ortho "R.*JPG" All-BL72 DirMEC=MEC DefCor=0 AffineLast=1 Regul=0.005 HrOr=0 LrOr=0 ZoomF=1

Convert the Digital surface model in 8bits

to8Bits MEC/Z_Num8_DeZoom1_STD-MALT.tif

Export the dense point cloud and color it with Nuage2Ply

Nuage2Ply "MEC/NuageImProf_STD-MALT_Etape_8.xml" Scale=8 Attr="MEC/Z_Num8_DeZoom1_STD-MALT_8Bits.tif" Out=CanopySurfaceModel.ply

Optionnaly, if meshlab is installed

meshlab CanopySurfaceModel.ply