Insufficient amount of SIFT matchesSee original GitHub issue
Hi the team of CARS: I am running CARS on a pair of Pleiades stereo imagery as shown below. As you can see, there are many clouds and NoData pixels in the raster.
The CARS outputs the following error:
$ cat 22-10-11_09h16m_sensor_to_full_res_dsm.log 22-10-11 09:22:08 :: ERROR :: Insufficient amount of matches found (< 100), can not safely estimate epipolar error correction and disparity range 22-10-11 09:27:21 :: ERROR :: CARS terminated with following error Traceback (most recent call last): File "/cars/venv/lib/python3.8/site-packages/cars/cars.py", line 172, in main_cli used_pipeline.run() File "/cars/venv/lib/python3.8/site-packages/cars/pipelines/sensor_to_full_resolution_dsm/sensor_to_full_resolution_dsm_pipeline.py", line 327, in run matches_array = self.sparse_matching_app.filter_matches( File "/cars/venv/lib/python3.8/site-packages/cars/applications/sparse_matching/sift.py", line 649, in filter_matches raise ValueError( ValueError: Insufficient amount of matches found (< 100), can not safely estimate epipolar error correction and disparity range
I checked the source code and found that this is in the TODO list.
My questions are:
What is the rationale behind the value 100 matching points? As far as I know, 4 matching points should be sufficient to find the affine fundamental matrix?
As the above image shows, it’s difficult to find matching points on cloud and water pixels and impossible on NoData pixels. And I believe that CARS is running SIFT on small tiles (500x500 pixels)? It would be great that CARS can continue the pipeline even there are insufficient matching points. Eg, let’s say there are 1000 tiles in total. If there is one tile doesn’t have enough SIFT points, then CARS can discard that tile and continue the rest 9999 tiles.
Thanks for reading.
- Created a year ago
- Comments:6 (3 by maintainers)
Top GitHub Comments
Can you contact us by e-mail (firstname.lastname@example.org) ? I think we can figure it out.