# Multi-Temporal Time-Dependent Terrain Visualization through Localized Spatial Correspondence Parameterization

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

**Figure 1.**Two topographic datasets representing the same morphologic entity with different positions (

**top-left**and

**bottom-left**), an ill-correct straight-forward transition (

**middle**) and desired transition (

**right**).

- Modelling complexity—the topographic reality that is based on 3D physical objects is normally very complex: geometric and semantic information—to name a few;
- Multi-resolution and multi-representation—when dealing with multi-epoch and multi-source terrain representation the physical objects representing terrain are rarely of the same nature;
- Presentation and appearance—usually when representing 3D terrain data the viewer will demand the representation to be as true-to-nature as possible and not derived by data symbols and annotation;
- Animation—terrain animation has to preserve the quality and accuracy of given data, as well as be realistic and continuous throughout the simulation;
- Simulations and multi-temporal representations—chosen algorithm needs to handle the general problem of physical objects (or skeletons) derived deformation instead of treating each area of anatomy as a special case;
- Topologies and morphologies—are to be preserved or otherwise created if derived by the deformation process, while maintaining the realistic nature of representation.

## 2. Related Work

**Figure 2.**Animated topography via linear “flip-page” transition showing artificial morphologic entities: cliff (

**left**) and ravine (

**right**).

**Vertex Correspondence**, i.e., figuring out which vertex in one object should blend with another vertex in the other object; this can be defined in the problem at hand as spatial correspondence, i.e., which entity (and parts of entity) in one topographic dataset corresponds to another entity in the other topographic dataset, while the correspondence is modelled and quantified by transformation parameters. A trivial solution to this is to leave it to the animator himself to decide, i.e., manual sampling of selection of points, which will define the connectivity between both physical objects, thus finding their mutual coordinates connectivity.**Vertex Path**(trajectory problem), i.e., figuring out what path the vertices should take to get from one object space to the other. This problem can be resolved only after the vertex correspondence problem is solved. This problem stems from the question of how to transform the source object points to the destination object points. The trivial solution for this is the substitution of linear transformation between the points. As stated earlier, this is not usually the preferred natural and realistic solution, so more complex solutions are required to solve this, such as, including distortions and squinting in the intermediate objects to maintain natural visualization (e.g., [8,9]).

## 3. Proposed Approach

**Figure 3.**Hierarchical modelling schema, depicting three-working levels: global (registration, level 1), local (matching, level 2) and precise position-derived data-integration and interpolation (level 3).

**Figure 4.**Workflow of the hierarchical modelling mechanism and its main stages. DTM, Digital Terrain Models.

- Global rough registration, whereas choosing a common framework for both DTMs (and, thus, solving the datum and coordinate system ambiguities existing between DTMs before performing transformation, as outlined in Figure 1). This is achieved while implementing the Hausdorff distance algorithm that registers sets of selective unique homologous entities (objects) existing in both topographies’ skeleton structure. The skeleton structure of each DTM is identified via a novel topographical maxima interest point identification algorithm;
- Matching—since global registration is achieved and datum ambiguities are resolved, local matching is carried out while implementing the Iterative Closest Point (ICP) algorithm for rigid surfaces matching. This stage is essential for achieving precise reciprocal modelling framework between the two datasets, thus establishing localized transformation quantification;
- Integration schema, which consists of the modelling inter-relations quantification evaluated in the local matching. Since transformation is extracted via ICP on a local level, this quantification is needed to be densified for all points existing in that level, i.e., extracting transformation values for each DTM point independently to be transformed from one topographic dataset to the other. This densification is carried out via designated interpolation mechanisms, which are further developed to suit the task at hand (discussed in Section 4.2).

#### 3.1. Correspondences Extraction

^{2}(approximately 150,000 points for interest point identification); level 2—1 km

^{2}(approximately 2,000 points in the ICP process); and level 3—resolution (point) level.

_{xj},t

_{yj},t

_{zj},φ

_{j},κ

_{j},ω

_{j}}. Structuring all the local transformation sets, one can consider this as a Digital Transformation Parameters Model (DTPM), depicted in Figure 5. This DTPM stores a series of vertex correspondences from a specific area in DTM #1 to its corresponding area in DTM #2; thus, yielding the idea in level 3—namely, vertex path. The fact is that the DTPM matrix is geo-referenced, while parameter values stored in the DTPM maintain continuity and smoothness within the entire coverage area. Hence, one can interpolate on these parameters to assess the precise required transformation, i.e., vertex path, for each DTM point to create a continuous transition between the different DTMs. Still, specific and explicit interpolation concepts that will maintain the different transformation behavior of the different parameters are required.

**Figure 5.**Digital Transformation Parameters Model (DTPM) transformation matrix (middle turquoise); and source and target DTMs (front and background). Each matrix cell (j) stores a local six-parameter transformation set.

#### 3.2. Path Evaluation

^{2}). The fact that position-derived unique transformation values are required for each point that exists in one topographic dataset (source) for transformation to the other topographic dataset (target), i.e., vertex path, yields that an interpolation on these values is required. Due to the discrete cell matrix’s structure, moving between neighboring cells, i.e., between different sets of six transformation parameters, might introduce value changes. Consequently, not implementing any interpolation on these values might produce discontinuities in the generated intermediate topography—discontinuities that will coincide to the DTPM cell borderlines.

**Among**the DTPM matrix’s grid-nodes (space-domain) to maintain continuity, while moving among cells. This computation is designated for the calculation of position-derived six parameter transformation values. These values are required to transform a grid-point that exists in the source dataset to its corresponding position in the target dataset;**In-between**the topographic datasets/DTMs (time-domain). Spatially, it can be depicted as if the intermediate topography is situated in the space between the source and target topographies. The position of the intermediate topographic dataset is defined by the time-proportion and the magnitude of the transformations involved in the process.

## 4. Algorithm Outline

#### 4.1. Local Matching (Vertex Correspondence)

#### 4.1.1. General

_{x},t

_{y},t

_{z}} and three rotations {ω,φ,κ}. The LSM model is written as a matrix notation in Equation (1):

_{x},t

_{y},t

_{z},ω,φ,κ}

^{T}and l is the discrepancy vector that is the Euclidean distance between the corresponding DTMs’ frames (normally, DTMs represent reality in true scale; thus, it is assumed here that both datasets represent the terrain relief with approximately same scale factor (m), i.e., it is fixed to unity).

_{0}

^{2}denotes the variance factor, n denotes the number of observations and u denotes the number of (unknown) transformation parameters, i.e., u = 6.

#### 4.1.2. Non-Rigid Bodies Constraints

- Wide-coverage DTMs represent different data-characteristics—namely, level-of-detail and resolution—implying that existing ICP homologous points is not at all explicit;
- DTMs acquired on different times (epochs) will surely represent different terrain topography and morphology (either natural or artificial activities);
- Data and measurement errors can reflect on the points’ positional certainty on a relatively large scale.

- The corresponding coordinates of the paired-up nearest neighbor i {f(x,y,z)
_{i}} fit geometrically to a local cell-plane in frame f. Cell-plane geometry is defined here by a localized bi-linear interpolation: z(x,y) = a_{0}+ a × x + a_{2}× y + a_{3}× x × y, which is probably the most common way to calculate heights within a bounded rectangular grid-cell. The four coefficients {a_{0},a_{1},a_{2},a_{3}} are calculated based on the cell’s corner heights, depicted in Equation (3) and Figure 6 (In cases where the triangulated irregular network (TIN) structure of topographic datasets is used, slight modifications of these equations are required to fit TIN’s triangular-plane characteristics. Still, though this data-structure is becoming, nowadays, more commonly used, mainly for data acquired by airborne laser scanning (ALS) technology, most of existing wide coverage DTMs are still stored and analyzed as a raster structure; thus, this will not be addressed here); - The line-equation, derived from the coordinates of point i transformed from frame g (denoted by g
^{t}(x,y,z)_{i}, where t stands for transformed) to frame f with the best known transformation parameters and the paired-up nearest neighbor, i, in frame, f {f(x,y,z)_{i}}, is perpendicular to the local cell-plane in frame, f, in the X direction (achieved by the first order derivative). This constraint validates that counterpart points, g^{t}(x,y,z)_{i}and f(x,y,z)_{i}, are the closest ones existing based on the shortest Euclidian distance; - The same constraint outlined in 2 is applied, only here, the line-equation is perpendicular to the local cell-plane in frame f in the Y direction:

_{i}{i ∈ [0–3]} denotes the local DTM grid-cell corner heights, depicted in Figure 6, and D denotes the DTM resolution (slight modifications are required if different resolution values exist in both the DTM axis/directions).

^{t}(x,y,z)

_{i}, while the counterpart point that in reality upholds the local plane cell is defined by f(x,y,z)

_{i}. f(x,y,z)

_{i}, which is the closest point, which exists to g

^{t}(x,y,z)

_{i}, has to validate the three constraints detailed earlier.

_{i}is defined by Equation (4):

_{i}{i ∈ [0–3]} depicts the four grid-cell corners containing the closest point.

^{t}(x,y,z)

_{i}(dark-grey) and f(x,y,z)

_{i}(black), over the local grid-cell plane towards its final position, thus minimizing the least squares target function until converging to the final positioning of f(x,y,z)

_{i}, depicted in Figure 7.

**Figure 7.**Schematic explanation of least squares target function minimization via three constraints: g

^{t}(x,y,z)

_{i}depicts the transformed point from g and f(x,y,z)

_{i}depicts the counterpart point upholding the local plane grid-cell that is closest to g

^{t}(x,y,z)

_{i}.

#### 4.2. Spatial Correspondence Parameterization (Vertex Path)

#### 4.2.1. Translation Values

_{k}, while k ∈ [1–4] denotes the third-degree parabolic equations, Z

_{P}denotes the value calculated by the interpolation at location, P, p

_{n}, while n ∈ [x,y] denotes the normalized inner cell coordinates {0 ≤ p

_{n}≤ 1}, H(i,j) denotes the values stored in the grid-corner points and i, j while (i and j) ∈ [1–4] denote the index of four by four neighboring nodes.

#### 4.2.2. Rotation Values

_{1}and q

_{2}are two key unit-quaternion orientations, θ is the angle between these vectors, q

_{i}—which creates an angle, t, with q

_{1}(while t ∈ [0,1])—is derived from a spherical interpolation between vectors, q

_{1}and q

_{2}.

_{0},q

_{1},q

_{2},q

_{3}}, three steps of the SLERP sequence can be suggested. This is equivalent to a Bezier curve with a spherical cubic interpolation, depicted in Equation (11). Still, quaternion multiplication is not a commutative one; so, the order in which this SQUAD sequence is implemented should be considered.

_{0},q

_{1},q

_{2},q

_{3},t) = SLERP(slerp(q

_{0},q

_{1},t),SLERP(q

_{2},q

_{3},t),2t(1 − t)

**Figure 8.**Conceptual representation of spherical linear interpolation (SLERP): instead of a naive linear interpolation (

**left**) SLERP guarantees keeping constant velocity on the hyper-sphere surface (

**right**).

## 5. Statistical Analysis

#### 5.1. Translation Parameters

^{2}frames (with approximately 30% overlap) ICP process. The desired resolution of 50 m is derived from the used DTMs. Calculating the translation values for a specific location (i.e., “among”), while shifting from the 700 m matrix grid resolution to the desired 50 m DTM resolution, preserves continuity, guaranteeing smooth interpolation within the entire coverage area. The output is a more detailed and continuous translation value calculation on the entire area required for the computation of the intermediate topography.

**Figure 9.**Bi-directional third degree parabolic interpolation for translation values t

_{x}(left) and t

_{z}(right). (

**b**) and (

**d**) are displayed in the original 700 m DTPM resolution, while (

**a**) and (

**c**) are displayed in the resulting 50 m resolution needed for morphing and blending.

#### 5.2. Rotation Parameters

_{1}-q

_{2}and q

_{4}-q

_{3}), followed by a SLERP on the resulting quaternions values; and, b—two SLERPs on the two vertical couples (q

_{1}-q

_{4}and q

_{2}-q

_{3}) followed by a SLERP on the resulting quaternions values. This analysis is carried out to quantify and evaluate whether choosing a specific sequence (a or b) has any quantitative effect on the calculated interpolation values outcome, i.e., measuring the attributed commutative error. Thus, for all 121 positions, two sets of four unit-quaternion coefficients values are calculated (W,x,y,z); consequently, three Euler angle values, (φ,κ,ω) are generated, enabling the quantitative analysis of the differences these two sets of rotation values have.

**Figure 10.**DTPM single cell with two spherical and quadrangle (SQUAD) sequences given as parabola-motion form (arcs)—orientation nodes q

_{i}{i ∈ [1–4]} values (φ,κ,ω) in degrees.

**Figure 11.**Four unit-quaternion coefficient values calculated via two different SQUAD sequences—a (

**left**) and b (

**right**) (a and b are denoted as parabola motion in Figure 9).

**Figure 12.**Three Euler angles values calculated via two different SQUAD sequences—a (

**left**) and b (

**right**) (a and b are denoted as parabola motion in Figure 9).

^{−3}decimal degrees—these values are not significant enough to have an effect on the procedures suggested here: with DTPM cell size used in the interpolation of 700 m wide, the resulting “among” interpolation difference value will have an effect of less than 2 cm on the shifting values (1:35,000 in scale). Carried out on large coverage DTMs with resolutions of dozens to hundreds of meters, the resulting outcome is still highly reliable.

**Figure 13.**Difference values between the three Euler angles calculated via two different SQUAD sequences—values in decimal degrees (z-axis).

Parameter | Difference values | |
---|---|---|

Mean | SD | |

dφ (deg) | −0.0033 | 0.0041 |

dκ (deg) | 0.00005 | 0.0003 |

dω (deg) | −0.0042 | 0.0048 |

## 6. Results

^{2}takes less than 60 s. Though not developed to have real-time capabilities, with the required programming language and processing unit (C++ and server workstation, for example), this scheme might present near real-time potential for the processing of a relatively small to medium area; based on previous experience and tests, the entire processing time can be reduced to a sub-second.

_{0}= 0 and t

_{1}= 1, respectively (source and target). Knowing the complete local interrelations (correspondence) between these “times”, which are stored in the DTPM, enables the calculation of any hypothetical temporal intermediate position (or scene) t

_{i}(while t

_{i}∈ [0,1], where, theoretically, i ∈ [0,∞]) along the vertex path source-to-target. The produced intermediate topography is true to the geometries existing, as well as to morphologic alterations occurring (vertex correspondence). This enables complete and comprehensive 3D visualization and construction of multi-temporal topography simulation via the interpolation on all six transformation values corresponding to each point in the source dataset that is transformed to its predicted position in the target.

**Figure 14.**Intermediate scene t

_{i}=

^{1}/

_{3}(bottom row) produced, while using data stored in source (t

_{0}= 0.0,

**top row**) and target topographic datasets (t

_{1}= 1.0, Figure 14

**bottom row**) and DTPM (figures are with no scale, z-axis in meters).

**Figure 15.**Intermediate scene t

_{i}=

^{2}/

_{3}(

**top row**) produced while using data stored in source (t

_{0}= 0.0, Figure 13 top row) and target topographic datasets (t

_{1}= 1.0,

**bottom row**) and DTPM (figures are with no scale, z-axis in meters).

^{2}. The source DTM was produced via photogrammetric means using low resolution satellite imagery, while the target DTM was produced via digitization of a 1:50,000 height contours map. Both DTMs present a resolution of 50 m and approximately the same level of accuracy. The top row in Figure 14 displays the source DTM (t

_{0}= 0.0), while the bottom row in Figure 15 displays the target DTM (t

_{1}= 1.0). The complete fully-automatic hierarchical modeling mechanism is implemented, resulting in the extraction of the complete different levels of geometric interrelations and correspondence of both DTMs stored in the DTPM (translation values extracted are: t

_{x}= 124.6 m (~2.5 resolution cells), t

_{y}= −50.1 m (~1 cells) and t

_{z}= 30.0 m; all rotation values are several decimal degrees). The visualization of “times”, t

_{i }=

^{1}/

_{3}and t

_{i}=

^{ 2}/

_{3}, is presented—bottom row in Figure 14 and top row in Figure 15, respectively—while using all six transformation parameters and the designed interpolation concepts. While source and target topographies present different morphologies and representation, the result presents a natural transition in space between the two physical surfaces, overcoming non-realistic artifacts that might occur otherwise. The intermediate scene visualization resembles the morphological features existent, spatially transforming and deforming (morphing and blending) from one topography to the other.

_{0}= 0.0 to t

_{1}= 1.0 at ∆t interval scenes. The smaller ∆t is (∆t→0), the more continuous the transition presented by the intermediate scenes will be. Combining these scenes together will result in an animation sequence of all transition states, i.e., scenes, from one topography to the other. This can give knowledge about the hypothetical morphological changes, which occurred between the two given topographic dataset epochs. An example carried out on the above topographic datasets with an interval of ∆t = 0.01, e.g., 100 intermediate scenes, can be viewed at: http://youtu.be/ZdTU8saqaV4.

## 7. Conclusions and Discussion

## Conflict of Interest

## References

- Mach, R.; Petschek, P. Visualization of Digital Terrain and Landscape Data: A Manual, 1st ed.; Springer: Heidelberg, Germany, 2007. [Google Scholar]
- Nebiker, S. Support for Visualisation and Animation in a Scalable 3D GIS Environment: Motivation, Concepts and Implementation. In Proceedings of ISPRS Workshop on Visualization and Animation of Reality-Based 3D Models, Vulpera, Switzerland, 24–28 February 2003.
- Stasko, J.T. The path-transition paradigm: A practical methodology for adding animation to program interfaces. J. Visual. Lang. Computing
**1990**, 1, 213–236. [Google Scholar] [CrossRef] - Turk, G.; O’Brien, J.F. Shape Transformation Using Variational Implicit Functions. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, Los Angeles, CA, USA, 8–13 August 1999; pp. 335–342.
- Thomas, F.; Johnston, O. Disney Animation: The Illusion of Life; Disney Editions: New York, NY, USA, 1981. [Google Scholar]
- Mohr, A.; Gleicher, M. Building efficient, accurate character skins from examples. ACM Trans. Graph.
**2003**, 22, 562–568. [Google Scholar] - Watt, A.; Watt, M. Advanced Animation and Rendering Techniques; ACM: New York, NY, USA, 1992. [Google Scholar]
- Wang, R.; Pulli, K.; Popovi, J. Real-time enveloping with rotational regression. ACM Trans. Graph.
**2007**, 26, 73/1–73/9. [Google Scholar] - Yu, Y.; Zhou, K.; Xu, D.; Shi, X.; Bao, H.; Guo, B.; Shum, H.Y. Mesh editing with poisson-based gradient field manipulation. ACM Trans. Graph.
**2004**, 23, 644–651. [Google Scholar] [CrossRef] - Gomes, J.; Darsa, L.; Costa, B.; Velho, L. Warping & Morphing of Graphical Objects (The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling); Morgan Kaufman: San-Francisco, CA, USA, 1998. [Google Scholar]
- Lazarus, F.; Verroust, A. Three-dimensional metamorphosis: a survey. Visual Comput.
**1998**, 14, 373–389. [Google Scholar] [CrossRef] - Wolberg, G. Image morphing: A survey. Visual Comput.
**1998**, 14, 360–372. [Google Scholar] [CrossRef] - Alexa, M.; Cohen-Or, D.; Levin, D. As-Rigid-As-Possible Shape Interpolation. In Proceedings of the 27th Annual International Conference on Computer Graphics and Interactive Techniques, New Orleans, LA, USA, 25–27 July 2000; pp. 157–164.
- Zhang, H.; Sheffer, A.; Cohen-Or, D.; Zhou, Q.; van Kaick, O.; Tagliasacchi, A. Deformation-Driven Shape Correspondence. In Proceedings of Symposium on Geometry Processing 2008, Copenhagen, Denmark, 2–4 July 2008; pp. 1431–1439.
- Zöckler, M.; Stalling, D.; Hege, H.C. Fast and intuitive generation of geometric shape transitions. Visual Comput.
**2000**, 16, 241–253. [Google Scholar] - Dalyot, S.; Doytsher, Y. A Hierarchical Approach toward 3-D Geospatial Data Set Merging. In Representing, Modelling and Visualizing the Natural Environment: Innovations in GIS 13; Mount, N., Harvey, G., Aplin, P., Priestnall, G., Eds.; CRC Press/Taylor & Francis Group: Boca Raton, FL, USA, 2008; pp. 195–220. [Google Scholar]
- Besl, P.J.; McKay, N.D. A method for registration of 3-D shapes. IEEE Trans. Pattern Anal. Mach. Intell.
**1992**, 14, 239–256. [Google Scholar] [CrossRef] - Doytsher, Y.; Hall, J.K. Interpolation of DTM using bi-directional third-degree parabolic equations, with FORTRAN subroutines. Comput. Geosci.
**1997**, 23, 1013–1020. [Google Scholar] [CrossRef] - Foley, J.D.; van Dam, A.; Feiner, S.K.; Hughes, J.F. Computer Graphics Principles and Practice, 2nd ed.; Addison-Wesley: Reading, MA, USA, 1990. [Google Scholar]
- Cayley, A. An Elementary Treatise on Elliptic Functions; Dover Publications: New York, NY, USA, 1961. [Google Scholar]
- Shoemake, K. Animating Rotation with Quaternion Curves. In Proceedings of Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques, San Francisco, CA, USA, 22–26 July 1985; Volume 19, pp. 245–254.

© 2013 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

## Share and Cite

**MDPI and ACS Style**

Dalyot, S.; Doytsher, Y.
Multi-Temporal Time-Dependent Terrain Visualization through Localized Spatial Correspondence Parameterization. *ISPRS Int. J. Geo-Inf.* **2013**, *2*, 456-479.
https://doi.org/10.3390/ijgi2020456

**AMA Style**

Dalyot S, Doytsher Y.
Multi-Temporal Time-Dependent Terrain Visualization through Localized Spatial Correspondence Parameterization. *ISPRS International Journal of Geo-Information*. 2013; 2(2):456-479.
https://doi.org/10.3390/ijgi2020456

**Chicago/Turabian Style**

Dalyot, Sagi, and Yerach Doytsher.
2013. "Multi-Temporal Time-Dependent Terrain Visualization through Localized Spatial Correspondence Parameterization" *ISPRS International Journal of Geo-Information* 2, no. 2: 456-479.
https://doi.org/10.3390/ijgi2020456