15. Experimental features¶
15.1. The CASP-GO stereo processing system¶
CASP-GO (Co-registered ASP using Gotcha Optimisation, https://github.com/mssl-imaging/CASP-GO) is a set of algorithms that are meant to augment certain parts of ASP [OC89, SM12, TMS+18, TMS+16]. Thse algorithms were developed at the Imaging Group, Mullard Space Science Laboratory, University College London, by Yu Tao, under the direction of Jan-Peter Muller, with funding from the EU-FP7 project titled “iMars: Analysis of Mars Multi-Resolution Images using Auto-Coregistration, Data Mining and Crowd Sourcing Techniques”, under contract #607379.
Under NASA proposal 19-PDART19_2-0094 we researched incorporating these algorithms into ASP.
CASP-GO consists of three algorithms:
Gotcha disparity refinement. Its purpose is to fix artifacts in ASP’s older
asp_bm
block-matching algorithm (Section 18) at the disparity filtering stage. It takes as input and overwrites theF.tif
disparity (which is described in Section 19). This algorithm definitely provides some in-filling functionality over the olderasp_bm
performance, but users may want to experiment with other ASP stereo algorithms (like MGM) which may also result in high quality disparities. This logic can be turned on with the--gotcha-disparity-refinement
option ofparallel_stereo
. See below for the parameters which control it.Image alignment. This component uses feature detection to find interest point matches among orthoimages associated with given DEMs, which is then used to compute an alignment transform among the DEMs [SMW+18]. It was incorporated into ASP and further extended as the
image_align
tool (Section 16.33).Kriging. This logic is meant to produce DEMs with fewer holes than ASP’s older method in
point2dem
(Section 16.57) which used a Delaunay triangulation. It is based on a technique calledkriging
, which is a family of generalized linear least square regression algorithms ([RSLC02]), implemented in theGeostatistics Template Library
(http://gstl.sourceforge.net/).The CASP-GO DEM-creation algorithm functions along the same lines as ASP’s recent and default implementation in
point2dem
. The input is a point cloud, the output is a gridded DEM, and weighted averaging is used to combine the 3D points to produce the DEM.The only difference is that the recent
point2dem
implementation (circa 3.1.0) computes the weights based on a Gaussian with given sigma and neighborhood size, while CASP-GO uses weights produced by the kriging procedure with a user-specified covariance.CASP-GO’s covariance function assigns the same covariance value to all points, which results in the kriging procedure returning constant weights. In effect, the resulting algorithm is a particular case of the modern approach in
point2dem
, when the sigma value is very large.Thus, no separate implementation for kriging was implemented at this time.
15.1.1. The CASP-GO parameter file¶
CASP-GO’s behavior is controlled by a parameter file, which ASP ships
as share/CASP-GO_params.xml
, and which can be overridden
with the parallel_stereo
option --casp-go-param-file
.
Only the parameters relevant for Gotcha disparity refinement are read
from this file, as we did not implement the kriging algorithm,
and the image_align
tool we added has its own interface.
Here are two sets of values for these parameters, optimized for CTX and HiRISE cameras, respectively.
CTX:
ALSC iterations: 8
Max. eigenvalue: 150
ALSC kernel: 21
Grow neighbor: 8
HiRISE:
ALSC iterations: 8
Max. eigenvalue: 80
ALSC kernel: 11
Grow neighbor: 8