Closed MiladGhorbaniG closed 2 years ago
There is a tile where the estimated disparity range is very large (-209 to 1086), which causes mgm
to use a lot of memory. Your system probably ran out of memory and killed the process.
A few suggestions:
s2p
from sources, with git clone https://github.com/cmla/s2p.git --recursive
and pip install -e .
tile_size
parameter from 300 to something like 600 or 800max_processes_stereo_matching
to 1The disparity range, -209 to 1086, is just totally outrageous, given that the tile size is 300 and local alignment per tile was applied. Likely there is an outlier somewhere in the search range determination. I ran into such a thing in a different context. After epipolar alignment in the tile, the interest points in the two images are on lines parallel to each other, and some 1D filtering can be done on them.
Sorry if my clarification come a bit too late.
S2P has different mechanisms for estimating the disparity range:
# method to compute the disparity range: "sift", "exogenous", "wider_sift_exogenous", "fixed_pixel_range", "fixed_altitude_range"
cfg['disp_range_method'] = "wider_sift_exogenous"
cfg['use_srtm'] = False
However, if no exogenous dem is provided, and srtm is used (by defaulf cfg['use_srtm'] = False), then the behavior is to estimate the disparity from the rpc bounds.
For some image providers, these bounds are set to +-5km around the Earth's surface (for instance, last time I checked Skysat was doing so). So a solution would be to use the following config, which forces the use of SIFT and SRTM to estimate the disparity range:
"disp_range_method" : "wider_sift_exogenous",
"use_srtm" : True
Hi, I have run stereo matching with
config.json
from the pair input folder. My input images are GeoTIFF images. I face the following error:What is the cause of this issue?