Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin'
Browse files Browse the repository at this point in the history
  • Loading branch information
Corey White committed Sep 17, 2024
2 parents 4c27290 + f2a9d8f commit d2637f1
Show file tree
Hide file tree
Showing 9 changed files with 1,681 additions and 59 deletions.
306 changes: 306 additions & 0 deletions course/topics/topic_4_GIS_analytics/lectures/lecture_4a.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,306 @@
---
title: "Analysis of UAS data processing results"
subtitle: "Center for Geospatial Analytics at North Carolina State University"
author: "Justyna Jeziorska, Helena Mitasova & Corey White"
format:
revealjs:
theme: [simple, ../../../../theme.scss]
---

<section>
<h2>Objectives</h2>
<ul>
<li class="fragment"><strong>Understand</strong> how to interpret a processing report</li>
<li class="fragment"><strong>Compare</strong> errors and survey data from different flights</li>
<li class="fragment"><strong>Recognize</strong> differences in geoprocessing products generated by different software</li>
<li class="fragment"><strong>Understand</strong> significance of using GCPs in the processing and their impact on the final products</li>
<li class="fragment"><strong>Recognize</strong> what processing steps need to be modified in order to improve particular errors</li
</ul>
</section>

<section>
<h2>Objectives</h2>
<ul>
<li class="fragment"><strong>Understand</strong> what causes the 'Bowl effect' and know the solutions to fix it</li>
<li class="fragment"><strong>Execute</strong> simple terrain measurements in Agisoft Photoscan </li>
</ul>
</section>

<section>
<h2>Flights Oct. 6th 2015</h2>
<img class="fragment" src="images/group_photo.webp" width="80%">
</section>

<section>
<h2>Flight Feb. 6th 2018</h2>
<img class="fragment" src="images/group_photo2018.webp">
</section>

<section>
<h2>Flights Oct. 6th 2015</h2>
<img class="fragment" src="images/both_flights.webp">
</section>

<section class="smaller">
### Analyzing the processing report

::: {.columns}
:::{.column width="40%"}

Includes:

- Orthophoto and digital elevation model sketch;
- Camera parameters and survey scheme
- Tie points data export (matching points and panoramas)
- Image overlap statistics
- Camera positioning error estimates
- Ground control point error estimates
:::

:::{.column width="50%"}
![](../images/Agisoft_report.webp)
:::
:::
</section>

<section>
<h2>Orthophoto</h2>
<img class="fragment" src="images/flights_ortho.webp">
</section>
<section>
<h2>Survey data</h2>
<img class="fragment" src="images/flight_image_overlap.webp">
</section>
<section>
<h2>Flight plans</h2>
<img class="fragment" src="images/flight_plan.webp">
</section>
<section>
<h2>Flight plan – flight 1</h2>
<img class="fragment" src="images/flight_plan_flight1.webp">
</section>
<section>
<h2>Flight plan – flight 2</h2>
<img class="fragment" src="images/flight_plan_flight2.webp">
</section>
<section>
<h2>Ground Control Points</h2>
<img class="fragment" src="images/flights_GCP_errors.webp" width="90%">
</section>
<section>
<h2>Ground Control Points</h2>
<img class="fragment" src="images/flights_GCP_errors_explained.webp" width="90%">
</section>
<section>
<h2>Camera calibration report</h2>
<img class="fragment" src="images/camera1.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera2.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera3.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera4.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera5.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera6.webp">
</section>
<section>
<h2>Camera calibration report</h2>
<img src="images/camera7.webp">
</section>

<section>
### Analyzing the processing report

::: {.columns}
:::{.column width="40%"}

Includes:

- While carrying out photo alignment PhotoScan estimates both internal and external camera orientation parameters, including nonlinear radial distortions.

- Tools > Camera calibration
:::

:::{.column width="50%"}
![](../images/camera_calibration_report.webp)
:::
:::
</section>

<section>
<h2>Image residuals</h2>
<img class="fragment" src="images/image_residuals1.webp" width="80%">
</section>
<section>
<h2>Image residuals</h2>
<img src="images/image_residuals2.webp" width="80%">
</section>
<section>
<h2>Image residuals</h2>
<img src="images/image_residuals3.webp" width="80%">
</section>

<section>
<h2>Image residuals</h2>
<p> The geometric error corresponding to the average image distance, measured in pixels, between:</p>
<img src="images/image_residuals_explained.webp" width="55%">
</section>

<section>
<h2>Image residuals</h2>
<p> This reprojection error is equivalent to the root mean square (RMS) image residuals used in photogrammetric literature </p>
<img src="images/image_residuals.webp" width="55%">
</section>

<section>
<h2>Flight path</h2>
<img class="fragment" src="images/flight_path.webp">
</section>
<section>
<h2>Flight path in 3D</h2>
<img class="fragment" src="images/flight_path3d.webp" width="70%">
</section>
<section>
<h2>Digital Surface Model</h2>
<img class="fragment" src="images/Flight1_DSM.webp">
</section>
<section>
<h2>Digital Surface Model</h2>
<img src="images/Flight2_DSM.webp">
</section>

<section>
<h2>DSMs comparison</h2>
<img src="images/image_residuals.webp" width="55%">
<p> difference [m] between DSMs generated
based on data from two consecutive flights </p>

</section>

<section>
<h2>DSMs comparison by software</h2>
<img class="fragment" src="images/flights_software.webp">
</section>

<section>
<h2>DSMs comparison -GCPs</h2>
<img class="fragment" src="images/flight_06_20.webp">
</section>

<section>
<h2>'Bowl effect'</h2>
<p class="fragment">effect can be introduced during photo alignment, in case camera calibration estimates are inaccurate</p>
<img class="fragment" src="img/flights_bowl.png">
</section>

<section>
<h2>'Bowl effect'</h2>
<p >effect can be introduced during photo alignment, in case camera calibration estimates are inaccurate</p>
<img class="left fragment" src="images/pix4d_gcp-pix4d_noGCP_bowl.webp" width="50%">
<img class="right fragment" src="images/sample_DSM_bowl_effect.webp" width="50%">
</section>

<section>
<h2>'Bowl effect'- solutions to the problem</h2>
<ol>
<li class="fragment"> If camera calibration is known in advance- it can be loaded in PhotoScan and fixed during photo alignment</li>
<li class="fragment"> Optimization procedure - recommended approach
<ul>
<li>based on camera or GCP coordinates</li>
<li>performed after photo alignment</li>
<li>is recommended to perform optimization based on ground control data in any case, even if precalibrated cameras are used</li>
</ul>

</section>

<section>
<h2>Optimization</h2>
<img class="fragment" src="images/flights_optimization.webp" width="90%">
</section>

<section>
<h2>What is an optimization?</h2>
<ul>
<li class="fragment">PhotoScan performs full photogrammetric adjustment taking into account additional constraints introduced by ground control data</li>
<li class="fragment">Extrinsic and intrinsic parameters for all cameras are optimized at this step, in contrast to the simple 7-parameter transform used for georeferencing by default</li>
<li class="fragment">Optimization helps to significantly improve accuracy of the final solution</li>
</ul>

<p class="fragment"> More on the bowl effect in <a href="http://onlinelibrary.wiley.com/doi/10.1002/esp.3609/epdf">this article</a></p>
</section>

<section>
<h2> Software related issues</h2>
<p class="fragment"> Pix4D - Trimble, Agisoft - Trimble</p>
<img class="left fragment" src="images/pix4d-trimble_zoom.webp" width="50%">
<img class="right fragment" src="images/agi-trimble_zoom.webp" width="50%">
<p class="fragment"> artifacts on Trimble DSM - "tiles" pattern visible for both cases</p>
</section>

<section>
<h2>Measurements in Agisoft Photoscan</h2>
<ul>
<li class="fragment">Agisoft has capability of performing simple measurements on DSM and 3D model:</li>
<li class="fragment"><strong>Profile generation</strong></li>
</ul>
<img class="fragment" src="images/analysis/profile.webp" width="80%">
</section>
<section>
<h2>Measurements in Agisoft Photoscan</h2>
<ul>
<li><strong>Generating contour lines</strong></li>
</ul>
<img class="fragment" src="images/analysis/DEM_contours.webp" width="80%">
</section>

<section>
<h2>Measurements in Agisoft Photoscan</h2>
<ul>
<li><strong>Volume and area measurements</strong></li>
</ul>
<img class="fragment" src="images/analysis/volumes_contours.webp">
</section>

<section>
<h2>Terrain analysis in GRASS GIS</h2>
<p> computing <a href="https://grass.osgeo.org/grass64/manuals/r.slope.aspect.html">aspect, slope</a></p>
<img class="left fragment" src="images/analysis_aspect_GCP.webp" width="50%">
<img class="right fragment" src="images/analysis_slope_GCP.png" width="50%">
</section>

<section>
<h2>Terrain analysis in GRASS GIS</h2>
<p class="fragment"> computing <a href="https://grass.osgeo.org/grass64/manuals/r.slope.aspect.html">curvature</a> and <a href="https://grass.osgeo.org/grass70/manuals/r.relief.html">shaded relief</a> maps</p>
<img class="left fragment" src="images/analysis_curvature_GCP.webp" width="50%">
<img class="right fragment" src="images/analysis_relief_GCP.webp" width="50%">
</section>

<section>
<h2>Advanced terrain analysis</h2>
<p class="fragment"> computing <a href="https://grass.osgeo.org/grass70/manuals/addons/r.local.relief.html">local relief</a>, <a href="https://grass.osgeo.org/grass70/manuals/addons/r.skyview.html">skyview</a></p>
<img class="left fragment" src="images/analysis_local_relief.webp" width="50%">
<img class="right fragment" src="images/analysis_skyview.webp" width="50%">
</section>

<section>
<h2> What did we learn?</h2>
<ul>
<li class="fragment">What are the imagery processing outputs
<li class="fragment">How to interpret the processing results based on processing report
<li class="fragment">How to compare results of differing processing results (by software and GCPs used)
<li class="fragment">How use Agisoft Photoscan for simple measurements
<li class="fragment">What GIS tools can be used for more advanced terrain analysis
</ul>
</section>
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ assignment-due-date: 10/23/2024
- Execute distance, area and volume measurements

## Lecture
- [Lecture Slides](../lectures/2017_Analysis.html#/)
- [Lecture Slides](lectures/lecture_4a.qmd)

## Supplemental materials
- Bowl effect explained: [Mitigating systematic error in topographic models derived from UAV and ground-based image networks](https://onlinelibrary.wiley.com/doi/10.1002/esp.3609/epdf)
Expand Down
Loading

0 comments on commit d2637f1

Please sign in to comment.