centreborelli / s2p

Satellite Stereo Pipeline
GNU Affero General Public License v3.0
199 stars 67 forks source link

Incorrect looking DSM outputs for WorldView stereo pair #83

Open kathanmehta007 opened 3 years ago

kathanmehta007 commented 3 years ago

Firstly, great work with the s2p pipeline, it's really helpful.

The s2p pipeline completes successfully without error for the WorldView2 stereo pair(0.5m) but the DSM output looks to be incorrect and patchy. I have faced a similar issue when using some other WorldView3 stereo images as well.

On the other hand, Pleiades data seems to produce really good looking DSM outputs.

Here is one of the input WorldView2 image pairs:

Screen Shot 2021-03-22 at 3 34 17 PM

Here is the corresponding DSM output : Screen Shot 2021-03-22 at 3 36 32 PM

Here is the yaml file I use for the process : Screen Shot 2021-03-23 at 8 46 14 AM

Any reason as to why I might be facing this issue and suggestions to improve the output would be really appreciated. Thanks!

gfacciol commented 3 years ago

Hi! This is really strange, could you upload the content of one tile (with the current results too) to check what is going on? One from the center would be great. My guess is that something unexpected happened with the rectification, looking at the tile content we can figure out the problem. thanks!

kathanmehta007 commented 3 years ago

Hi!

Thanks a lot for the prompt response. I have attached the information of a sample tile from the center here : sample_tile.zip

gfacciol commented 3 years ago

Thanks for the images! Looking at the logs it seems that the rectification failed, here is the line that indicates that no keypoint matches were found:

WARNING: sift.matches_on_rpc_roi: found no matches.

So the rectification was computed solely based on the geometric model stored in the RPCs. The problem is that the RPC model is imprecise, so the images are actually not rectified.

This matching failure is the result of two situations:

  1. The angle between the views is quite large, more than 30degrees it seems? This is not optimal for 3D reconstruction as it can result in large deformations and occlusion areas.
    But, in general a large angle shouldn't result in a complete failure for most scenes ....
  2. However, this particular scene contains forests! Under large viewpoint changes forest suffer an extreme apparence change and as a result the keypoint extraction fails.

When the images are correctly rectified the matching can produce an acceptable disparity:

image

However, I'm afraid that at this moment there is no integrated solution in the pipeline that can do this rectification. But we're working on it!

kathanmehta007 commented 3 years ago

Thanks for the response, it answered a lot of my questions !

I have a few follow up questions :

  1. You mentioned that the RPC model is imprecise. The images that were used as input in this case were Level 2(OR2A) processed is that the reason for it? Also what effect does using Level 1 (L1B) vs Level 2(OR2A) data have on s2p ?

  2. Yes, you are right, the angle between the views is 32.4 degrees and the area also has forests. Is there an apt range of angles that works best with s2p?

  3. Lastly, you mentioned that you were able to correctly rectify the images to produce acceptable disparity. Could you tell me more about the tool / algorithm you used for getting the rectification correct?

Looking forward to any future updates to s2p. You guys are awesome!