GrandLeez : Différence entre versions

De MicMac
Aller à : navigation, rechercher
(Orientation of the complete block in a relative system)
(Tutorial)
Ligne 60 : Ligne 60 :
 
This is the results of the last iteration :
 
This is the results of the last iteration :
 
<pre>
 
<pre>
 
+
| |  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
 
</pre>
 
</pre>
 
<div class="toccolours mw-collapsible mw-collapsed" style="background-color: Lavender">
 
<div class="toccolours mw-collapsible mw-collapsed" style="background-color: Lavender">
Ligne 78 : Ligne 80 :
 
<pre>meshlab All-Rel.ply</pre>
 
<pre>meshlab All-Rel.ply</pre>
  
==Determination of the GPS delay (improvement of the georeferencing) with CenterBascule==
+
==Determination of the GNSSS 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 GPS systematic error
 +
(delay)., receptorCenterBascule
 
<pre>CenterBascule "R.*.JPG" All-Rel Nav-Brut-RTL tmp CalcV=1</pre>
 
<pre>CenterBascule "R.*.JPG" All-Rel Nav-Brut-RTL tmp CalcV=1</pre>
 
+
<pre>
==OriConvert is (again) used for taking the delay into account==
+
BEGIN Compensation
 +
BEGIN AMD
 +
END AMD
 +
APPLI APERO, NbUnknown = 1208
 +
delay init :::    -0.0787348
 +
</pre>
 +
OriConvert is (again) used for taking the delay into account
 
<pre>mm3d OriConvert OriTxtInFile GPS_WPK_Grand-Leez.csv Nav-adjusted-RTL ChSys=DegreeWGS84@SysCoRTL.xm MTD1=1 Delay=-0.0854304</pre>
 
<pre>mm3d OriConvert OriTxtInFile GPS_WPK_Grand-Leez.csv Nav-adjusted-RTL ChSys=DegreeWGS84@SysCoRTL.xm MTD1=1 Delay=-0.0854304</pre>
  
Ligne 87 : Ligne 97 :
 
<pre>CenterBascule "R.*.JPG" All-Rel Nav-adjusted-RTL All-RTL</pre>
 
<pre>CenterBascule "R.*.JPG" All-Rel Nav-adjusted-RTL All-RTL</pre>
  
==Change the coordinate system with ChgSysCo==
+
==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 :
==Creation of the camera position (cloud)==
+
 
<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>
 
+
Optionnaly, if meshlab is installed, you can vizualise the orientation cloud :
==Optionnaly, if meshlab is installed==
+
 
<pre>meshlab All-BL72-cam.ply</pre>
 
<pre>meshlab All-BL72-cam.ply</pre>
  

Version du 31 mai 2016 à 12:33

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 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 GNSSS 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 GPS systematic error (delay)., receptorCenterBascule

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

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

Georefenrencing 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