Skip to content

hpe079/Feature_Tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feature_Tracking

ImGRAFT processing for strain and velocity Image Georectification and Feature Tracking Toolbox (ImGRAFT) provides a flexible, adaptable, open-sourced tool able to process large volumes of imagery with a high degree of automation in order to obtain quantitative data in the form of glacial displacement (Messerli and Grinsted 2015). This program uses MatLab and assimilates the rectification and feature tracking of the glacial images to produce velocity fields that require minimal post processing filtering. The quantitative aspect relies heavily on the ability of the images to be georectified within a coordinate system and is greatly aided by a quality, high resolution DEM and correlating imagery from the same period of time (Messerli and Grinsted 2015).

ImGRAFT uses image pairs to track features by a process called template match between Image A and Image B. The ice displacement in ImGRAFT is determined using a normalized cross correlation (NCC) feature tracking algorithm (Messerli and Grinsted 2015) in order to measure template similarity. NCC does not perform well in areas of poor visual contrast or changing snow conditions, it performs very well in areas of high visual contrast (Heid and Kääb 2012). nstead of tracking a feature through time, ImGRAFT uses a static grid following the same image coordinates allowing for better comparison between velocity fields of different time periods. Image A refers to the template image, while Image B refers to the search image. Image pairs can be any combination of images from the dataset (Messerli and Grinsted 2015).

Lowering the processing resolution, defined as ‘how many pixels get tracked’, results in more pixel information in ImGRAFT creating a better spatial density of data. The user defines the width and height of the template in which the software captures surface texture and patterns based on the pixels within the image. The search region is then defined within the program by user input of the maximum displacement. This allows the software to look for the same texture pattern within that defined range. The max displacement is based around the original location of the selected points within the template. Features that move farther than the user defined distance are ignored by the software. Georectification is the process by which 3-D real world coordinates are assigned to the corresponding pixel in the 2-D image. This is done because oblique imagery lacks the spatial information needed to extract useful quantitative distance information; the image is a 2-D representation of a 3-D landscape (Corripio 2004; Härer et al. 2013; Messerli and Grinsted 2015). The georectification process is carried out on the offset data for all image pair combinations within the data series. Actual displacement is calculated as the difference in the 3-D points between Image A and Image B. The velocities are then calculated by dividing the actual displacement from the change in geographic location by the time interval between the DEMs used in the image pair. Correlation coefficient and signal to noise ratio thresholds can then be used to filter the velocity fields. These are both user defined filters and altering the value must be done with some care as it is possible to remove more positive matches than mismatches within the data. A strict correlation coefficient threshold means that the correlation peak between points must match with a greater certainty. Similarly the signal to noise threshold compares the matched points in order to determine what background noise can be filtered out. Both these are determined within the NCC algorithm for the template match.

The data parameters were altered using edit_FeatureTracking.m. This is where the DEM inputs were specified along with the main processing parameters. Using line 5 the processing resolution was able to be set to 100. This created the best spatial density for the dataset without having too much data extracted from the files. Line 12 allowed the width and height to be set to 120, allowing the search template to be overlain on an area slightly greater than the processing resolution in order to better capture the surface features of the glacier. Maximum displacement was specified in line 15 and set to 80. Since Store Glacier has a higher velocity, using a higher maximum displacement allowed ImGRAFT to look for the search template pattern at a greater offset distance. Signal to noise ratio was set to 2 using line 19 in order to reduce the amount of unrelated background data, while the correlation threshold, line 23, was set to 0.4. A correlation threshold of 0.4 allows the program to be able to match similarities in the templates with a base level of 40% certainty. Due to the dynamic nature of Store Glacier and the amount at which the glacier changes through time this allows the program flexibility to match corresponding points within the ice. File A (lines 34 and 35) and file B (lines 38 and 39) being the DEM inputs for the specified range of data. The output directory was specified in line 52 allowing batches to have all the corresponding data files created within the same folder. The naming of each file was specified in line 59 and was done using the date range for the data, followed by each of the parameter values used, and the resolution of the DEM

edit_FeatureTracking.m is the editing file for the project containing the finalized results for the ImGRAFT processing. FeatureTracking.m is the orignal processing used from Ryan et al 2015 and was used to gain the initial values for the analitical testing. writeArrowstoShp.m is used to edit shape file arrows for the velocity fields across the glacier. featureTrackingStrainRate.m is used to edit strain vector arrows

About

ImGRAFT processing for strain and velocity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages