Project

General

Profile

Bug #4964

When using multiple algorithm specifications in findfeatures, one set failing causes the entire run to fail

Added by Jesse Mapel 6 months ago. Updated 6 months ago.

Status:
Acknowledged
Priority:
Normal
Assignee:
-
Category:
Applications
Target version:
-
Impact:
Software Version:
Test Reviewer:

Description

When using multiple algorithm specifications in findfeatures, one of the algorithms failing to have any matches survive the outlier rejection process causes the entire run to fail and no network is output.

The bug occured when attempting to feature match two Messenger WAC-g filter images. When running only the first specification, the run succeeds and outputs a control network.

Input to cause the bug

harsh_spec.lis:

surf@hessianThreshold:100/surf
fast/brief/parameters@ratio:0.99

with the following command line:

findfeatures match=/work/projects/messenger/Lev1/2011112/EW0211981114G.lev1.cub from=/work/projects/messenger/Lev1/2012275/EW0257563816G.lev1.cub epitolerance=1.0 ratio=0.65 hmgtolerance=2.0 networkid=EW0211981114G pointid='EW0211981114G_?????' onet=EW0211981114G.net debug=true debuglog=harshSpec.log ALGOSPECFILE=harsh_spec.lis

Outputs

terminal output:

Group = MatchSolution
  Matcher      = fast/brief/parameters@ratio:0.99/BFMatcher@NormType:NORM_HAM-
                 MING@CrossCheck:false
  MatchedPairs = 1
  Efficiency   = 0.0
End_Group
**USER ERROR** No control points found!!.

debuglog:


---------------------------------------------------
Program:        findfeatures
Version         1.0
Revision:       $Revision: 7330 $
RunTime:        2017-06-23T15:03:26
OpenCV_Version: 3.1.0

System Environment...
Number available CPUs:     8
Number default threads:    8
Total threads:             8

Total Algorithms to Run:     2

@@ matcher-pair started on 2017-06-23T15:03:26

+++++++++++++++++++++++++++++
Entered RobustMatcher::match(MatchImage &query, MatchImage &trainer)...
  Specification:   surf@hessianThreshold:100/surf/BFMatcher@NormType:NORM_L2@CrossCheck:false
**  Query Image:   /work/projects/messenger/Lev1/2011112/EW0211981114G.lev1.cub
       FullSize:     (1024, 1024)
       Rendered:     (1024, 1024)
**  Train Image:   /work/projects/messenger/Lev1/2012275/EW0257563816G.lev1.cub
       FullSize:     (1024, 1024)
       Rendered:     (1024, 1024)
--> Feature detection...
  Total Query keypoints:    11822 [11822]
  Total Trainer keypoints:  11457 [11457]
  Processing Time:          0.194
  Processing Keypoints/Sec: 119995
--> Extracting descriptors...
  Processing Time(s):         0.558
  Processing Descriptors/Sec: 41718.6

*Removing outliers from image pairs
Entered RobustMatcher::removeOutliers(Mat &query, vector<Mat> &trainer)...
--> Matching 2 nearest neighbors for ratio tests..
  Query, Train Descriptors: 11822, 11457
  Computing query->train Matches...
  Total Matches Found:   11822
  Processing Time:       1.213
  Matches/second:        9746.08
  Computing train->query Matches...
  Total Matches Found:   11457
  Processing Time:       1.212 <seconds>
  Matches/second:        9452.97
 -Ratio test on query->train matches...
Entered RobustMatcher::ratioTest(matches[2]) for 2 NearestNeighbors (NN)...
  RobustMatcher::Ratio:       0.65
  Total Input Matches Tested: 11822
  Total Passing Ratio Tests:  776
  Total Matches Removed:      11046
  Total Failing NN Test:      11046
  Processing Time:            0
 -Ratio test on train->query matches...
Entered RobustMatcher::ratioTest(matches[2]) for 2 NearestNeighbors (NN)...
  RobustMatcher::Ratio:       0.65
  Total Input Matches Tested: 11457
  Total Passing Ratio Tests:  942
  Total Matches Removed:      10515
  Total Failing NN Test:      10515
  Processing Time:            0
Entered RobustMatcher::symmetryTest(matches1,matches2,symMatches)...
 -Running Symmetric Match tests...
  Total Input Matches1x2 Tested: 776 x 942
  Total Passing Symmetric Test:  540
  Processing Time:               0.008
Entered RobustMatcher::computeHomography(keypoints1/2, matches...)...
 -Running RANSAC Constraints/Homography Matrix...
  RobustMatcher::HmgTolerance:  2
  Number Initial Matches:       540
  Total 1st Inliers Remaining:  505
  Total 2nd Inliers Remaining:  502
  Processing Time:              0.002
Entered EpiPolar RobustMatcher::ransacTest(matches, keypoints1/2...)...
 -Running EpiPolar Constraints/Fundamental Matrix...
  RobustMatcher::EpiTolerance:    1
  RobustMatcher::EpiConfidence:   0.99
  Number Initial Matches:         502
  Inliers on 1st Epipolar:        333
  Inliers on 2nd Epipolar:        327
  Total Passing Epipolar:         327
  Processing Time:                0.01
Entered RobustMatcher::computeHomography(keypoints1/2, matches...)...
 -Running RANSAC Constraints/Homography Matrix...
  RobustMatcher::HmgTolerance:  2
  Number Initial Matches:       327
  Total 1st Inliers Remaining:  327
  Total 2nd Inliers Remaining:  327
  Processing Time:              0.001
%% match-pair complete in 3.198 seconds!


@@ matcher-pair started on 2017-06-23T15:03:30

+++++++++++++++++++++++++++++
Entered RobustMatcher::match(MatchImage &query, MatchImage &trainer)...
  Specification:   fast/brief/parameters@ratio:0.99/BFMatcher@NormType:NORM_HAMMING@CrossCheck:false
**  Query Image:   /work/projects/messenger/Lev1/2011112/EW0211981114G.lev1.cub
       FullSize:     (1024, 1024)
       Rendered:     (1024, 1024)
**  Train Image:   /work/projects/messenger/Lev1/2012275/EW0257563816G.lev1.cub
       FullSize:     (1024, 1024)
       Rendered:     (1024, 1024)
--> Feature detection...
  Total Query keypoints:    51509 [51509]
  Total Trainer keypoints:  47516 [47516]
  Processing Time:          0.022
  Processing Keypoints/Sec: 4.50114e+06
--> Extracting descriptors...
  Processing Time(s):         0.352
  Processing Descriptors/Sec: 281321

*Removing outliers from image pairs
Entered RobustMatcher::removeOutliers(Mat &query, vector<Mat> &trainer)...
--> Matching 2 nearest neighbors for ratio tests..
  Query, Train Descriptors: 46543, 43154
  Computing query->train Matches...
  Total Matches Found:   46543
  Processing Time:       8.588
  Matches/second:        5419.54
  Computing train->query Matches...
  Total Matches Found:   43154
  Processing Time:       8.556 <seconds>
  Matches/second:        5043.71
 -Ratio test on query->train matches...
Entered RobustMatcher::ratioTest(matches[2]) for 2 NearestNeighbors (NN)...
  RobustMatcher::Ratio:       0.99
  Total Input Matches Tested: 46543
  Total Passing Ratio Tests:  38472
  Total Matches Removed:      8071
  Total Failing NN Test:      8071
  Processing Time:            0
 -Ratio test on train->query matches...
Entered RobustMatcher::ratioTest(matches[2]) for 2 NearestNeighbors (NN)...
  RobustMatcher::Ratio:       0.99
  Total Input Matches Tested: 43154
  Total Passing Ratio Tests:  35530
  Total Matches Removed:      7624
  Total Failing NN Test:      7624
  Processing Time:            0
Entered RobustMatcher::symmetryTest(matches1,matches2,symMatches)...
 -Running Symmetric Match tests...
  Total Input Matches1x2 Tested: 38472 x 35530
  Total Passing Symmetric Test:  5885
  Processing Time:               3.387
Entered RobustMatcher::computeHomography(keypoints1/2, matches...)...
 -Running RANSAC Constraints/Homography Matrix...
  RobustMatcher::HmgTolerance:  2
  Number Initial Matches:       5885
  Total 1st Inliers Remaining:  7
  Not enough points (0) to compute refined homography - need at least 8 - failure!
Entered EpiPolar RobustMatcher::ransacTest(matches, keypoints1/2...)...
 -Running EpiPolar Constraints/Fundamental Matrix...
  RobustMatcher::EpiTolerance:    1
  RobustMatcher::EpiConfidence:   0.99
  Number Initial Matches:         0
->ERROR - Not enough points (need at least 8) to proceed - returning identity!
Entered RobustMatcher::computeHomography(keypoints1/2, matches...)...
 -Running RANSAC Constraints/Homography Matrix...
  RobustMatcher::HmgTolerance:  2
  Number Initial Matches:       0
  Not enough points  (0) to compute initial homography - need at least 8!
%% match-pair complete in 20.96 seconds!

No control points found!!

History

#1 Updated by Tammy Becker 6 months ago

  • Status changed from New to Acknowledged

Also available in: Atom PDF