question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Insufficient amount of SIFT matches

See 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. Screenshot from 2022-10-14 06-47-41

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:

  1. 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?

  2. 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.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
dyoussefcommented, Nov 7, 2022

We will add a config parameter to lower this 100 number : @lionlai1989 : we await your data to investigate.

0reactions
dyoussefcommented, Nov 8, 2022

Can you contact us by e-mail (david.youssefi@cnes.fr) ? I think we can figure it out.

Read more comments on GitHub >

github_iconTop Results From Across the Web

SIFT matching gives very poor results - Stack Overflow
I'm working on a project where I will use homography as features in a classifier. My problem is in automatically calculating homographies, i'm ......
Read more >
Image Matching SIFT Algorithm - Kaggle
If enough matches are found, we extract the locations of matched keypoints in both the images. They are passed to find the perspective...
Read more >
Project 2: Local Feature Matching - Computer Vision Project
Parameter Estimation: Let us experiment with some SIFT parameters. Let us first look at get_interest_points(). If we let in fewer features by making...
Read more >
An instance of matching error due to SIFT drifting. Each line ...
An instance of matching error due to SIFT drifting. Each line across two images denotes a match of two local features. The red...
Read more >
A contrario matching of SIFT-like descriptors
The key idea of D. Lowe in [Lowe, 1999] is to estimate the main orientation of a given keypoint by looking at the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found