GrandLeez : Différence entre versions
(→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 | + | <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
Sommaire
- 1 Download
- 2 Presentation
- 3 Tutorial
- 3.1 Conversion of image coordinates
- 3.2 Tie Point Generation with Tapioca
- 3.3 Camera Calibration with Tapas, using a block of 25 images
- 3.4 Orientation of the complete block in a relative system
- 3.5 Determination of the GNSS delay
- 3.6 Georefenrencing the model
- 3.7 Change the coordinate system
- 3.8 Dense-matching with Malt. Here, we aren't interested in the generation of orthophoto
- 3.9 Convert the Digital surface model in 8bits
- 3.10 Export the dense point cloud and color it with Nuage2Ply
- 3.11 Optionnaly, if meshlab is installed
Download
- You can find this dataset at :
http://logiciels.ign.fr/?Telechargement,20
Datasets are available at the bottom of the page, in part test datasets. Then, UnZip the ".zip" archive.
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:
- Conversion of the embedded GPS data into the micmac format : OriTxtInFile
- Generate the image pairs file
- Change the coordinate system (from WGS84 to a locally tangent system) with the argument : ChSys=DegreeWGS84@SysCoRTL.xml
- Compute relative speed of the camera (for GPS delay determination) : MTD1=1 CalcV=1
- 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
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