Near-global coverage of 1 arc second SRTM is becoming available

The near-global SRTM digital elevation model has been an extremely valuable data set for many years now. That data set has a resolution of 3 arc seconds, equalling roughly 90 m. A higher resolution (1 arc second or approximately 30 m) had been availbale for the USA, and higher resolution data had been available for small areas. For many years, researchers around the world have been hoping and waiting for a higher resolution near global or DEM to become available. The ASTER global DEM, with a nominal resolution of 30 m, is great because it does offer global coverage (in contrast to the SRTM DEM which does not cover regions north of 60° North and south of 58° South). However, the ASTER DEM suffers from data artefacts, and quality assessment showed that (despite a pixel size of 30 m) the effective spatial resultion is only approximately 120 m. In late 2012 I was told at a conference that a 1 arc second SRTM DEM was forthcoming within a year or two.

Now, NASA has begun to release the near-global (i.e. limited to between 60° North and 58° South) 1 arc second (approximately 30 m) SRTM data set. At least Africa, Europe and South America are now available through the USGS’s Earth Explorer. Already at first glance, this new data set is in moast areas far superior to both the 3 arc second SRTM DEM and the ASTER global DEM. Of course, as in the 3 arc second SRTM DEM, desert sand dunes (at least in hyperarid deserts) are recorded poorly because such surfaces simply did not backscatter enough of the radar signal. No-data areas in the 1 arc second STRM DEM are even slightly larger than in the 3 arc second SRTM DEM. The ASTER DEM still is the superior data set for such surfaces.

3 arc seond SRTM DEM. Note extensive data gaps in the dune field.

3 arc seond SRTM DEM (shaded relief image) of the Dunas Pamps Blanca – Palpa region. Note extensive data gaps in the dune field.

ASTER global DEM (ASTER GDEM is a product of METI and NASA). Note good representation of dune field and intense elevation noise on flat terrain in the northwestern portion of the image.

ASTER global DEM (ASTER GDEM is a product of METI and NASA). Note good representation of the dune field and intense elevation noise on flat terrain in the northwestern portion of the image.

1 arc second SRTM DEM. Note extensive data gaps in the large dune field and good representation of flat terrain in northwestern portion of the image.

1 arc second SRTM DEM. Note extensive data gaps in the dune field and good representation of flat terrain in northwestern portion of the image.

To assess elevation accuracy, I compared the 1 arc second SRTM DEM with the state-wide high-resolution (lidar-based) DEM of Germany’s federal state Baden-Württemberg (35,752 sq. km or 56.4 million SRTM 1 arcsec data pixels). That data set has a reolution of 1 m, so it had to be resampled to match the 1 arc seond resolution of the new SRTM data. I used both the DTM (digital terrain model, “bare earth model”) and DSM (digital surface model, including vegetation) and also looked at land use types (forest, agricultural land and grassland).

Shaded relief images of a small subset of Baden-Württemberg comparing lidar-based DTM and DSM with SRTM 1 arc second DEM.

Shaded relief images of a small subset of Baden-Württemberg comparing lidar-based DTM and DSM (both resampled to 1 arc second) with SRTM 1 arc second DEM. Lidar data (c) Landesamt für Geoinformation und Landentwicklung Baden-Württemberg.

Elevation difference between SRTM 1 arc second DEM and lidar-based DTM. The SRTM DEM is approximately 1 m too low in this region. Comparison between different landuse types clearly shows that the radar-based SRTM DEM records vegetation canopy.

Elevation difference between SRTM 1 arc second DEM and lidar-based DTM.

On average, the SRTM DEM is approximately 1 m too low in Baden-Württemberg. Comparison between different land use types clearly illustrates that the radar-based SRTM DEM records vegetation canopy rather than ground surface. This is also (but less clearly) visible in the shaded relief images. These images also show that the lidar-based DSM has an overall clearer appearance and shows more detail. Effective spatial resolution of the 1 arc second SRTM DEM does therefore not equal 1 arc second.

Elevation difference between SRTM 1 arc second DEM and lidar-based DSM for open land grid cells (open land grid cells here defined

Elevation difference between SRTM 1 arc second DEM and lidar-based DSM for open land grid cells (open land grid cells here defined as those for which the difference between lidar DSM and DTM is less than 0.5 m).

Absolute difference between lidar-based DEM and SRTM 1 arc second.

Absolute difference between lidar-based DEM and SRTM 1 arc second.

Because the SRTM DEM corresponds roughly to vegetation canopy, its apparent accuracy in forested areas is relatively low when compared with a lidar-based DTM (e.g. 10% of all SRTM grid cell elevations differ more than 15 m from the lidar DTM). However, when looking at open land grid cells only (i.e. those grid cells where the difference between lidar DSM and DTM is very low), almost two thirds of all SRTM grid cell elevations are within 2 m and more than 90% are within 7 m of the lidar DSM elevations.

All in all, the new SRTM DEM is a big step forward in the field of near-global elevation data sets.

Advertisements

Structure from motion: tips and tricks

While 3D modelling is neither the only nor the most important technique that I use in my work, I do spend some time playing, exploring and using structure-from-motion to create 3D models and orthophotos of objects, sites and landscapes. Occasionally someone asks me either general or specific questions about photo acquisition, processing etc. That’s why I am sharing my experiences here. This is not a manual but rather a collection of tips and tricks based on my own experiences as well as on discussions with colleagues and in the Agisoft user forum.

Things you can do with Structure-from-Motion

  • create 3D point clouds describing an object
  • create meshed 3D models
  • create digital surface models
  • create digital terrain models
  • create orthophotos

What you need

  • a set of overlapping digital photographs taken from different positions relative to the object
  • SfM software (I mostly use Agisoft Photoscan [This is not advertising – I do not get anything from Agisoft for mentioning their software],  but there is also free software like VisualSfM that can be used.)

Camera choice

  • Barely useable to very good 3D models can be created with any camera. In many cases (and up to a certain limit), illumination, image acquisition and processing details have a stronger influence on the result than the type of camera used.
  • Fixed focal length, fixed focus cameras without any movement of lens elements relative to one another or relative to the sensor will allow grouped camera calibration which will produce better and more reliable results.
  • I f lens elements can be expected to be moving between images (even very slightly) relative to one another or relative to the sensor (zoom, focus, image stabilisation), separate camera calibration will often produce better results.
  • Many cell phone and video cameras are subject to the rolling shutter problem (sensor lines read sequentially producing non-radial distortion which can not be dealt with by the algorithms implemented in Photoscan. Image alignment may fail or be very poor if camera was moved relative to the object even though the images may not appear blurred. Such cameras are useable, but even more care should be taken to avoid movement.
  • For small objects, cameras with a physically small sensor are often better suited because depth of field will be wider. Narrow depth of field can be very problematic for very small objects. Focus stacking is an option but requires greatly increased time and effort.
  • Avoid extreme wide angle lenses. Camera calibration will not be very good for these, and the very large view angle changes between images will make it harder for the algorithm to find matching points.
  • Scanned paper photographs, negatives and slides: While this type of imagery is also useable for SfM, it can be very problematic. There are at least three reasons for this: (i) Many (low-quality) scanners introduce non-radial distortions somewhat similar to the rolling shutter problem. This is because the scan line is often not perfectly perpendicular to the direction of its movement across the image. An additional source of distortion can be warping of the images, negatives or slides. (ii) In most cases, the scan does not cover the entire image frame, i.e. the edges are cut off to an unknown and often unequal extent. This means that the centre of the digital image may be quite far from the principal point of the camera, and this is something that results in poor camera calibration. (iii) Many analog images suffer from grain, dust or scratches which can result in poor 3D modelling results due to spurious matching points and noisy depth maps.
  • Scanned aerial photographs taken with a professional camera (including fiducial markers): These can be very good and may often be the only available source, but they can suffer the same problem as other paper/negative photographs, in particular if they were digitised using a low-quality scanner. However, if all fiducial markers are visible in the images, the distortions due to scanning can (in principle) be removed to a large extend.

Illumination

  • Agisoft Photoscan is able to produce decent 3D models even if images with very different illumination are used in a single project. However, camera alignment and 3D reconstruction will usually be better if changes in illumination are minimised.
  • The entire 3D reconstruction process relies on image texture. If possible, objects should be illuminated so as to enhance image texture. Texture-less surfaces can not be modelled. Contrast stretching (applying the same contrast stretch to all images) can help if texture is poor. Point-pattern or image projection may be an option in some cases.
  • Avoid hard shadows, because 3D reconstruction in the shadowed areas may be poor.
  • Avoid built-in or direct flash, because this will result in very different illumination for every image and also hard shadows. If you need to use a flash, use tripods to set up one or several remotely triggered flashes with soft boxes, then take your images with this stable illumination. Of course, the same goes for other lights: soften the illumination and keep it as constant as possible between images. Don’t forget that you and your camera may cast undesirable shadows.
  • Using a lens-mounted circular LED illumination has been reported to work well because it creates a relatively even illumination of the field of view.
  • Glossy surfaces (water, wet surfaces, metal etc.) are problematic. Eliminating or reducing specular reflections / gloss will be very beneficial for camera calibration, alignment and 3D reconstruction. This can be done by allowing surfaces to dry before image capture, modifying illumination to minimise gloss and applying a polarising filter.

Image capture

  • Capture sufficient images with an overlap of at least 67% (i.e. every single point of the object is seen in at least 3 images). Often, an overlap of 80-90% will be a good choice. It does not cost much too take more pictures, but if you take too few you may never be able to go back and take more. If using a wide angle lens (often in interior settings), increase overlap to above 90%, because view angle changes from image to image will be very large which will make it difficult to for the algorithm to find matching points.
  • Avoid “corridor mapping” (i.e. a single or very few long parallel strips) because in such cases small errors tend to accumulate; this can lead to an overall warped model. When working with the pro version of Photoscan, using camera GPS positions as control points in the image alignment can reduce this problem.
  • When capturing an object, capture images all the way around it even if you are ultimately not interested in all sides. Closing the circle can greatly improve model quality as it reduces warping. For example, terrestrial image acquisition of the façade of a long building or wall will be equivalent to a “corridor mapping” approach as only one or very few parallel strips of images are acquired. Taking images all around the building will improve model accuracy.
  • Re-orienting the camera relative to object (i.e. not only capturing parallel strips but adding several additional strips perpendicular to the others) usually improves camera calibration and image alignment.
  • Shallow view angles can result in poor (or failed) camera alignment. View angle should usually be between 45° and 90°. View angle change from image to image should be low (less than 45°). If views from very different directions are required, adding images at intermediate view angles will greatly improve camera alignment. The same goes for strips: If several strips of images are acquires under different view angles, view angle changes between strips should be low (less than 45°). Adding an additional strip in-between will often greatly improve camera alignment. Generally, taking pictures from an elevated position allows steeper view angles. While flying is expensive, drones, kites and poles can be options to get elevated viewing positions.
  • Edges: If the object to be captured has relatively sharp edges (c. 90° or less), use higher overlap to make sure that the edges will be well-represented in the model.
  • Background masking: In principle, Photoscan is able to model both background and foreground, and then you can simply create your model from the object in the foreground and ignore those parts of the model that are background. However, background can be problematic. One reason for this is that there may be movement in the background (people walking past the scene, clouds drifting across the sky etc.) which can have a negative effect on camera calibration and alignment. Another reason is that parts of the background may accidently become part of the model you want to capture. Background masking therefore improves modelling results. Furthermore, by reducing the image areas that the software has to deal with, processing will also be faster. Using a blue (or any other colour not present in the object) screen can make background masking much easier and faster. A computer monitor has the advantage that there will be (almost) no shadow on the background.
  • Full body capture: The minimum number of photographs to properly capture an object from all directions is larger than one would expect when only thinking about the overlap constraint. Because view incidence angle in many parts of the object is very shallow (even more so if a wider angle lens is used at close distance), more images are necessary to get good results. As a first approximation, this will mean that you need to acquire one or several roughly parallel circles (c. 16-20 images each) around the centre of the object plus several more to properly capture top and bottom. Background masking becomes particularly important for full body capture, and becomes indispensible if the object is rotated (rather than the camera moved around the object).

DEM visualisation techniques: Openness

Several DEM visualisation techniques are based on some sort of simulated terrain illumination: Shaded Relief simulates directional illumination from a point light source, Sky-View Factor simulates diffuse illumination from a homogeneously bright hemisphere.

Openness is a visualisation technique which is similar to Sky-View Factor. However, contrary to considering a homogeneously bright hemisphere centered above each pixel, the computation of Openness considers a full sphere centered on each pixel. The Openness algorithm looks at a surrounding area with a specified radius and assesses whether or not there are terrain points which would obstruct illumination from that direction. In practice this is achieved by finding (along each radial line) the smallest angle between terrain points and the zenith angle. These angles are then aggregated for n radial lines (usually 8 or 16) by computing their average. As a result, higher/lower Openness values are assigned to more/less exposed terrain points.

Charcoal burning platforms in the southern Black Forest. Positive Openness visualisation.

Charcoal burning platforms in the southern Black Forest. Positive Openness visualisation.

When you think about this principle for a while you might wonder what would happen if you calculated Openness as the average of the smallest nadir angles (instead of zenith angles). And yes, this can be used as a visualisation technique as well. To distinguish between the two approaches, the one based on zenith angles is called Positive Openness while the one based on nadir angles is called Negative Openness. Negative Openness has high/low values for strongly/weakly incised terrain points.

It is worth noting that Negative Openness is not simply Positive Openness with a ‘-‘ sign but is based on a different computation resulting in different values for the same point. Negative Openness calculated as described above has a positive range of values. However, to make the resulting visualisations more intuitively readable, Negative Openness values calculated by LiVT are multiplied with -1. As a result, positive terrain features are characterised by higher values of both Positive and Negative Openness then negative terrain features. Positive and Negative Openness visualisations can be combinedby computing a (weighted) average of th respective greyscale images.

Charcoal burning platforms in the southern Black Forest. Negative Openness visualisation.

Charcoal burning platforms in the southern Black Forest. Negative Openness visualisation.

Charcoal burning platforms in the southern Black Forest. Grayscale average of Positive and Negative Openness.

Charcoal burning platforms in the southern Black Forest. Grayscale average of Positive and Negative Openness.

Openness visualisations can be vey useful for interpreting lidar-based DEMs as they clearly show small-scale relief features. At first sight, they appear somewhat similar to Sky-View Factor visualisations; however, the visual impression of the overall landscape forms is lost. An advantage is that small-scale features are visulised equally well on flat terrain and on slopes.

References

Yokoyama, R., Shirasawa, M., Pike R.J., 2002. Visualizing topography by openness: a new application of image processing to digital elevation models. Photogrammetric Engineering & Remote Sensing 68(3), 257-265.

Doneus, M., 2013. Openness as visualization technique for interpretative mapping of airborne lidar derived digital terrain models. Remote Sensing 5(12), 6427-6442. [open access]

Working with LiVT: file size limits and performance

It’s been a bit more than half a year since I first published LiVT on Sourceforge. Since then, I have been able to add a few more algorithms, but there are still a few bugs waiting to be fixed.

All in all, feedback so far has been positive, but I am still hoping that someone will offer help to improve the project. One thing that has been mentioned repeadedly is the need to know the limits of the software regarding maximum file sizes.

Another relevant issue is the performance of LiVT, i.e. the time needed per unit area. This differs greatly from algorithm to algorithm. Furthermore, different settings in each algorithm will strongly influence processing times. Therefore, I have run all tests using the default settings with the exception of Cumulative Visibility where I used an angular resolution of 10° (instead of the 1° default). When changing processing parameters, processing times can change proportionally (e.g. for maximum radius or no. of direction in the radial Sky-View Factor algorithm), quadratic (e.g. for filter radius in the filter algorithms) or even faster (e.g. for the number of scales in Exaggerated Relief or Multi-Scale Integral Invariants). The test data set had a resolution of 1 m. Note that for the same total area, file size and processing times quadruple when resolution is doubled.

These are the results of the tests I have run:

Algorithm

maximum DTM file size

[million pixels]

performance (Intel Xeon 3.2 GHz, 64 bit)

[km2/min]

Filter (Laplacian of Gaussian)

132

30

Shaded Relief

30

15

Exaggerated Relief

30

 0.48

Sky-View Factor

131

0.96

Trend Removal

132

5.22

Local Relief Model

56

0.09

Local Dominance

90

2.22

Cumulative Visibility

90

0.25

Accessibility

132

1.45

Multi-Scale Integral Invariants

144

0.57

Openness

132

1.92

These tests were run on an 64 bit Intel Xeon at 3.2 GHz under Windows Vista. As a single instance of LiVT uses only one processor core anyway, the number of processors and cores does not play a role. Running the performance tests on other computers showed that 64 bit has some advantage over a 32 bit system: On a slightly faster clocked 32 bit AMD Phenom at 3.4 GHz (also under Windows Vista), performance was on average 87% of that on the 64 bit computer. Finally, just for fun I also tested a 32 bit Intel Atom processor (on a four or five year old EeePC) at 1.6 GHz under Windows XP. On that computer, performance was on average 18% of that on the 64 bit machine.

Rotation is the enemy

Last week I have published a simple tool that calculates (among a few other things) motion blur resulting from camera movement relative to the photographed object. Looking at the results of those calculations, one could say that motion blur is a very minor issue in UAV photography: at a platform speed of 30 km/h and a shutter speed of 1/1000 s, motion blur is as low as 0.8 cm. Flying a Canon G12 at the wide angle limit (28 mm) and 200 m above ground, this amounts to only 0.25 image pixels. From the calculation results of UAVphoto, motion blur does not appear to be a relevant issue. The need to take images at short intervals to achive sufficient overlap appears to be much more important when using a UAV. But why do I even get blurred images when using a kite that is almost immobile relative to the ground?

The point is that motion blur due to translation (i.e. linear movement of the camera relative to the object) is only one reason for blurred images. Another (and much more relevant) reason is rotation of the camera. Unfortunately, this is also much harder to measure and to control. To show how important rotation is for image blur, I have added the calculation of rotation blur to the new version of UAVphoto. Two types of rotation have to be distinguished: rotation about the lens axis and rotation about the focal point but perpendicular to the lens axis. I am not using the terms pitch, roll and yaw here because the relation of platform pitch, roll and yaw to rotation about different camera axes depends on how the camera is mnounted to the platform.

Rotation about the lens axis results in rotation blur that is zero at the image centre and reaches a maximum at the image corners. Rotation about an axis orthogonal to the lens axis results in rotation blur that is at first sight indistinguishable from motion blur due to high speed translation movement. Of course, all types of blur combine to the total image blur. Rotation blur about the lens axis is independend of focal length. Orthogonal rotation blur, on the other hand, increases with increasing focal length. In both cases an increase in shutter speed will result in a proportional decrease in image blur.

Most UAV rotation movements are due to short-term deflections by wind gusts or steering. Wind gusts are also the main source of rotation movements of kite-carried cameras. Let’s say we’re using a Canon G12 at the wide angle limit (28 mm). The maximum rotation rate which will not result in image blur (using a 0.5 pixel threshold) is 12.4 °/s (or 29 s for a full circle) for rotation about the lens axis and 8.1 °/s (or 44 s for a full cirlce) for rotation orthogonal to the lens axis. At a focal length of 140 mm, the maximum rotation rate orthogonal to the lens axis is only 1.9 (or 189 s for a full circle). If all this sounds very slow to you, you’ve got the point: even slow rotation of the camera during image capture is a serious issue for UAV photography, in most cases much more important than flying speed.

UAVphoto – a simple calculation tool for aerial photography

I have to admit that I am sometimes a bit lazy. Rather than solving a problem once and working with the solution, in some cases I keep twiddling with the same problem again and again. Calculating things like viewing angles, ground resolution, motion blur or image overlap for aerial photography is a case in point. There must be a dozen or so spreadsheet files on my various computers which I used to do such calculations. I kept re-inventing the wheel again and again for myself and when others asked me for help.

UAVphoto_1.0.0.0_screenshot

Now I finally got around writing a small piece of software for this specific task. It is a simple tool that allows to calculate parameters like ground pixel size, motion blur and sequential image overlap from UAV flight parameters (velocity and altitude) and camera parameters (focal length, shutter time, image interval etc.). Calculation assumes a vertical camera view for simplicity. Image y dimensions are those in flight direction, image x dimensions are those perpendicular to flight direction. Default camera values are for Canon G12 at the wide angle limit. Five to six seconds is the approximate minimum image interval using a CHDK interval script. In continous shooting mode, a minimum interval of approximately one second can be achieved.

Now that I created this tool, why not share it? UAVphoto is published under the GNU General Public License and can be downloaded from Sourceforge.

Lidar visualisation and interpretation workshop 2014 in Esslingen, Germany

Registration is now open for the Lidar visualisation and interpretation workshop 2014 in Esslingen, Germany. The workshop will be a four-day event (including one field day) for students, graduate students and young professionals who are looking for theoretical background as well as hands-on experience with visualisation techniques for high-resolution digital elevation models (mainly but not exclusively based on airborne lidar) in the field of archaeology.

Date: 08-11 July 2014

Location: Esslingen, Germany

Contact: ralf.hesse@rps.bwl.de

The aims of the workshop are to bring together students and young professionals to learn about lidar visualisation techniques and archaeological interpretation. The programme will include presentations, visualisation and mapping exercises and a field day.

The maximum number of participants will be 20; please register early. Participation fee will be 50 €. A limited number of Archaeolandscapes travel grants will be available.

Tentative programme

• Monday, July 7:
o arrival
• Tuesday, July 8:
o morning: introduction to workshop; presentations
o afternoon: visualisation and mapping exercises
• Wednesday, July 9:
o full day: field trip
• Thursday, July 10:
o morning: visualisation and mapping exercises
o afternoon: visualisation and mapping exercises
• Friday, July 11:
o morning: combining lidar and aerial photography
o departure

Venue

The workshop will take at the State Office for Cultural Heritage Baden-Württemberg (Landesamt für Denkmalpflege) in Esslingen, Germany. Esslingen is located 15 minutes by train from the city of Stuttgart and 30 minutes by bus from Stuttgart airport. The State Office for Cultural Heritage is located a short walk from the train station and bus terminal as well as from Esslingen’s historic city centre.

Important deadlines

• 28 October 2013: registration for workshop begins
• 28 February 2014: registration for workshop ends
• 04 April 2014: application deadline for Archaeolandscapes travel grants

Registration

If you are interested in taking part in the workshop, please send an e-mail to ralf.hesse@rps.bwl.de.

The e-mail should contain the following information:

• name, surname
• status (student / graduate student, post-doc…)
• institution, country
• reason for wishing to take part in the workshop
• previous experience with interpretation of airborne lidar (if any)