Improving relief data through shape from shading
This text describes some of the practical problems that arise when you try to improve elevation data by using the shading information in optical satellite imagery. Some of the techniques i discuss here have been used in the production of the Severnaya Zemlya map for the northmost part.
The idea behind shape from shading is to derive 3d geometry information from the shading of the illuminated object. Applying this concept to relief data generates a number of difficulties. Improving an existing limited quality data set is somewhat easier than generating a geometry from scratch but still there are a number of practical issues that need to be dealt with.
Selecting satellite images
For a satellite image to be well usable for the purpose of deriving geometry information from the shading there are a number of requirements:
- The most important thing is to have uniform optical properties of the surface across the area you want to process. Without this you can forget shape from shading on a single image and with multiple images it is still very difficult. Uniform optical properties means either full snow cover or a naturally very uniform area like sand deserts.
- To avoid dealing with drop shadows (which would complicate things a lot) you need a high sun position.
- To get good differentiation of flat terrain you need a low sun position.
In case of the high Arctic these three points mean you can only work in relatively flat areas since the sun is never really that high anyway and in June snow has already melted in many areas so the uniformity in optical properties is lost. So a flat area and images from April/May are the best prerequisites.
Single image shape from shading
For the Komsomolets Island processing I only had a single image that is well suited (LC81750012013112LGN01). The original elevation data from viewfinderpanoramas.org is of fairly bad quality here being derived from old 1950s Soviet topographic maps with 20m contour intervals. The idea with single image shape from shading is that you estimate the surface normal from the shading in the image (which already involves some guesswork) and then modify the relief to better match the estimated normals. This sounds complicated but is actually quite simple when done in an iterative process.
The problem when using a single image is that the improvements of the relief data are strongly anisotropic. If a relief feature turns up prominently in the shading depends on its orientation relative to the sun and how strongly it influences the improved relief data depends on the shading. To reduce this anisotropy i also used the waterbody data as secondary information for improving the relief data. So it is not merely shape from shading but shape from shading and hydrography. Still you can see some relief anisotropy in the map.
|Original DEM||Satellite image and rivers||Improved DEM|
Using multiple images
To discuss use of multiple images i move to a different sample area: Hayes Island in Franz Josef Land. Below you can see the map rendering from the Franz Josef Land map. The relief data is better quality than on northern Komsomolets Island but the very characteristic straight ridges running across the mostly flat island you can see in the satellite images are nearly invisible due to the low resolution.
|Map using original DEM||Satellite image 1||Satellite image 2|
When i now use the single image shape from shading approach described before i get the following:
The ridges are now well visible in the contour lines but note the cliff on the eastern side of the island has turned into a gentle slope. The reason for this is the same as for the anisotropy in the Komsomolets Island example - the sun is in the SSW and does not well illuminate the cliff since it has the wrong direction for that.
The ideal solution would be to have a second satellite image with sun from a strongly different direction, ideally at a 90 degree angle to the first one. Here however no such image was available. The two images shown above differ in light direction only by about 8 degrees - this is due to the fact that they are from different overlapping orbits that cover the area at slightly different local times. This minor difference in light direction however generates the strongest differences in shading in those areas which are least articulated in the individual images like the cliff mentioned before. By analyzing these differences it is possible to better estimate the surface normal from the shading. The result is shown in the next image:
The cliff is still somewhat less steep than in the original DEM but much improved from the single image version. You can also see though that various bends and kinks in the cliff that are not visible in the original elevation data are visible now. Using the difference between the two images as additional source is prone to introducing additional errors and noise so this is always a kind of compromise.
It should be emphasized that although i could demonstrate that adding details to relief data is possible using shape from shading techniques there is no way to derive quantitatively accurate elevation values. It is of course possible to limit the derivation from the original elevation model to a certain value (a limit of 30m was used here).
Christoph Hormann, January 2014