Skip to content

Task02 Денис Сарахатунов СПбГУ#37

Open
DenisSarah wants to merge 3 commits intoPhotogrammetryCourse:task02from
DenisSarah:task02
Open

Task02 Денис Сарахатунов СПбГУ#37
DenisSarah wants to merge 3 commits intoPhotogrammetryCourse:task02from
DenisSarah:task02

Conversation

@DenisSarah
Copy link

@DenisSarah DenisSarah commented Mar 16, 2026

Перечислите идеи и коротко обозначьте мысли которые у вас возникали по мере выполнения задания, в частности попробуйте ответить на вопросы:

  1. Зачем фильтровать матчи, если потом мы запускаем устойчивый к выбросам RANSAC и отфильтровываем шумные сопоставления?

RANSAC отбрасывает выбросы, но ему нужен достаточно чистый вход. Предфильтрация уменьшает долю аутлаеров-> растёт шанс быстро выбрать хороший набор. Так что нам тупо выгодней сначала отфильтровать

  1. Cluster filtering довольно хорошо работает и без Ratio test. Однако, если оставить только Cluster filtering, некоторые тесты начнут падать. Почему так происходит? В каких случаях наоборот, не хватает Ratio test и необходима дополнительная фильтрация?

Cluster filtering и Ratio test отсекают разные типы ошибок. Cluster filtering проверяет геометрическую согласованность окрестностей, но может пропускать неоднозначные локальные соответствия типа повторяющихся текстур, поэтому без Ratio test часть ложных матчей остаётся. А Ratio test чисто дескрипторный и не учитывает глобальную геометрию, поэтому при сложных искажениях и шуме иногда пропускает геометрически мусорные пары. Для примера можно взять обои ввиде кирпичной стены - там повторяющийся рисунок и Cluster filtering спокойно заматчит одинаковые куски в разных местах, и Ratio test нам поможет. При этом Ratio test может сматчить одинаковые диваны в разных комнатах каталога икеи.

  1. С какой проблемой можно столкнуться при приравнивании единице элемента H33 матрицы гомографии? Как ее решить?

Если фиксировать H33 = 1, можно получить шиш, когда истинный масштабный множитель близок к нулю- элементы матрицы раздуваются+ возрастает чувствительность к шуму и возможны вырождения.
Практично решается нормализацией точек и использованием SVD

  1. Какой подвох таится в попытке склеивать большие панорамы и ортофото методом, реализованным в данной домашке? (Для интуиции можно посмотреть на результат склейки, когда за корень взята какая-нибудь другая картинка)

Подвох в накоплении ошибок по цепочке гомографий до корня (H_i->root = H_parent->root * H_i->parent). На большой панораме это даёт искривление+масштабные искажения, а выбор другого корня меняет где ошибка сконцентрируется

  1. Как можно автоматически построить граф для построения панорамы, чтобы на вход метод принимал только список картинок?

для всех пар изображений считаем число матчей
вершины = кадры, вес ребра = число матчей;
берём максимальное остовное дерево
корень = центр графа

Github Actions CI

$ ./build/test_matching
Running main() from /home/runner/work/PhotogrammetryTasks2026/PhotogrammetryTasks2026/libs/3rdparty/libgtest/googletest/src/gtest_main.cc
[==========] Running 20 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 18 tests from MATCHING
[ RUN      ] MATCHING.SimpleStitching
testing sift detector/descriptor...
estimateHomographyRANSAC : support: 1003/1003
estimateHomographyRANSAC : best support: 1003/1003
keypoints RMSE: 0.153118, color RMSE: 6.16883
testing my detector/descriptor...
estimateHomographyRANSAC : support: 840/840
estimateHomographyRANSAC : best support: 840/840
keypoints RMSE: 0.261649, color RMSE: 9.51668
[       OK ] MATCHING.SimpleStitching (1396 ms)
[ RUN      ] MATCHING.SimpleMatching
testing sift detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3919, n train desc : 3522
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 1000/1000
estimateHomographyRANSAC : best support: 1000/1000
evaluating homography...
nn_score: 0.610615, nn2_score: 0.269712, nn_score_cv: 0.612401, nn2_score_cv: 0.278132, time_my: 0.07863, time_cv: 0.082276, time_bruteforce: 4.59755, good_nn: 0.260015, good_ratio: 0.996047, good_clusters: 0.989967, good_ratio_and_clusters: 0.999
testing my detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3480, n train desc : 3119
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 840/840
estimateHomographyRANSAC : best support: 840/840
evaluating homography...
nn_score: 0.61523, nn2_score: 0.278448, nn_score_cv: 0.620115, nn2_score_cv: 0.283333, time_my: 0.068924, time_cv: 0.068715, time_bruteforce: 3.61714, good_nn: 0.24569, good_ratio: 0.994131, good_clusters: 0.987315, good_ratio_and_clusters: 1
[       OK ] MATCHING.SimpleMatching (9909 ms)
[ RUN      ] MATCHING.Rotate10
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 357/742
estimateHomographyRANSAC : support: 700/742
estimateHomographyRANSAC : support: 740/742
estimateHomographyRANSAC : support: 742/742
estimateHomographyRANSAC : best support: 742/742
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.10001, time_cv: 0.099801, time_bruteforce: 0, good_nn: 0.186527, good_ratio: 0.929708, good_clusters: 0.930481, good_ratio_and_clusters: 0.936658
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 428/659
estimateHomographyRANSAC : support: 442/659
estimateHomographyRANSAC : support: 651/659
estimateHomographyRANSAC : support: 657/659
estimateHomographyRANSAC : support: 658/659
estimateHomographyRANSAC : support: 659/659
estimateHomographyRANSAC : best support: 659/659
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093578, time_cv: 0.093263, time_bruteforce: 0, good_nn: 0.195402, good_ratio: 0.947683, good_clusters: 0.954667, good_ratio_and_clusters: 0.955994
[       OK ] MATCHING.Rotate10 (2253 ms)
[ RUN      ] MATCHING.Rotate20
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 694/743
estimateHomographyRANSAC : support: 743/743
estimateHomographyRANSAC : best support: 743/743
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099509, time_cv: 0.09945, time_bruteforce: 0, good_nn: 0.192651, good_ratio: 0.944809, good_clusters: 0.927136, good_ratio_and_clusters: 0.951548
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 660/669
estimateHomographyRANSAC : support: 669/669
estimateHomographyRANSAC : best support: 669/669
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094284, time_cv: 0.094041, time_bruteforce: 0, good_nn: 0.187931, good_ratio: 0.908824, good_clusters: 0.898964, good_ratio_and_clusters: 0.917788
[       OK ] MATCHING.Rotate20 (2258 ms)
[ RUN      ] MATCHING.Rotate30
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 678/733
estimateHomographyRANSAC : support: 721/733
estimateHomographyRANSAC : support: 726/733
estimateHomographyRANSAC : support: 732/733
gauss: infinitely many solutions found
gauss: xs0: 641.01, 617.387, 575.147, 575.147, 
gauss: ys0: 571.713, 533.136, 451.118, 451.118, 
gauss: infinitely many solutions found
gauss: xs0: 774.219, 576.876, 599.95, 599.95, 
gauss: ys0: 563.573, 467.845, 525.492, 525.492, 
estimateHomographyRANSAC : best support: 732/733
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.100295, time_cv: 0.100171, time_bruteforce: 0, good_nn: 0.194693, good_ratio: 0.973226, good_clusters: 0.97486, good_ratio_and_clusters: 0.9809
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 655/655
estimateHomographyRANSAC : best support: 655/655
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093908, time_cv: 0.09402, time_bruteforce: 0, good_nn: 0.204023, good_ratio: 0.994003, good_clusters: 0.99115, good_ratio_and_clusters: 0.998473
[       OK ] MATCHING.Rotate30 (2261 ms)
[ RUN      ] MATCHING.Rotate40
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 301/734
estimateHomographyRANSAC : support: 693/734
estimateHomographyRANSAC : support: 734/734
estimateHomographyRANSAC : best support: 734/734
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.100262, time_cv: 0.100013, time_bruteforce: 0, good_nn: 0.196989, good_ratio: 0.981308, good_clusters: 0.978892, good_ratio_and_clusters: 0.987738
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 610/661
estimateHomographyRANSAC : support: 611/661
estimateHomographyRANSAC : support: 661/661
estimateHomographyRANSAC : best support: 661/661
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093676, time_cv: 0.093523, time_bruteforce: 0, good_nn: 0.20431, good_ratio: 0.991045, good_clusters: 0.98324, good_ratio_and_clusters: 0.993949
[       OK ] MATCHING.Rotate40 (2258 ms)
[ RUN      ] MATCHING.Rotate45
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 9/735
estimateHomographyRANSAC : support: 23/735
estimateHomographyRANSAC : support: 145/735
estimateHomographyRANSAC : support: 685/735
estimateHomographyRANSAC : support: 723/735
estimateHomographyRANSAC : support: 734/735
gauss: infinitely many solutions found
gauss: xs0: 584.592, 699.449, 760.933, 584.592, 
gauss: ys0: 545.5, 438.171, 341.625, 545.5, 
gauss: infinitely many solutions found
gauss: xs0: 798.477, 558.46, 558.46, 665.185, 
gauss: ys0: 525.3, 570.713, 570.713, 377.14, 
estimateHomographyRANSAC : best support: 734/735
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101314, time_cv: 0.100508, time_bruteforce: 0, good_nn: 0.19903, good_ratio: 0.994645, good_clusters: 0.997067, good_ratio_and_clusters: 0.998639
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 325/650
estimateHomographyRANSAC : support: 650/650
estimateHomographyRANSAC : best support: 650/650
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094983, time_cv: 0.094555, time_bruteforce: 0, good_nn: 0.200862, good_ratio: 0.977511, good_clusters: 0.96134, good_ratio_and_clusters: 0.986154
[       OK ] MATCHING.Rotate45 (2284 ms)
[ RUN      ] MATCHING.Rotate90
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 629/820
estimateHomographyRANSAC : support: 694/820
estimateHomographyRANSAC : support: 820/820
estimateHomographyRANSAC : best support: 820/820
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089303, time_cv: 0.08845, time_bruteforce: 0, good_nn: 0.216892, good_ratio: 0.995204, good_clusters: 0.988839, good_ratio_and_clusters: 0.997561
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 736/739
estimateHomographyRANSAC : support: 737/739
estimateHomographyRANSAC : support: 739/739
estimateHomographyRANSAC : best support: 739/739
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.08345, time_cv: 0.083262, time_bruteforce: 0, good_nn: 0.221552, good_ratio: 0.986755, good_clusters: 0.981693, good_ratio_and_clusters: 0.994587
[       OK ] MATCHING.Rotate90 (2106 ms)
[ RUN      ] MATCHING.Scale50
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 99/156
estimateHomographyRANSAC : support: 107/156
estimateHomographyRANSAC : support: 120/156
estimateHomographyRANSAC : support: 156/156
estimateHomographyRANSAC : best support: 156/156
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.048993, time_cv: 0.048278, time_bruteforce: 0, good_nn: 0.0441439, good_ratio: 0.945783, good_clusters: 0, good_ratio_and_clusters: 0.99359
too few matches: 1
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 126/126
estimateHomographyRANSAC : best support: 126/126
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.043903, time_cv: 0.04372, time_bruteforce: 0, good_nn: 0.037069, good_ratio: 0.882812, good_clusters: 0, good_ratio_and_clusters: 0.896825
[       OK ] MATCHING.Scale50 (1166 ms)
[ RUN      ] MATCHING.Scale70
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 364/364
estimateHomographyRANSAC : best support: 364/364
evaluating homography...
too few matches: 30
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.062167, time_cv: 0.061111, time_bruteforce: 0, good_nn: 0.100791, good_ratio: 0.99187, good_clusters: 0, good_ratio_and_clusters: 1
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 324/326
estimateHomographyRANSAC : support: 326/326
estimateHomographyRANSAC : best support: 326/326
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056624, time_cv: 0.056528, time_bruteforce: 0, good_nn: 0.102874, good_ratio: 0.988024, good_clusters: 0.907407, good_ratio_and_clusters: 1
[       OK ] MATCHING.Scale70 (1457 ms)
[ RUN      ] MATCHING.Scale90
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 556/641
estimateHomographyRANSAC : support: 590/641
estimateHomographyRANSAC : support: 641/641
estimateHomographyRANSAC : best support: 641/641
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.079767, time_cv: 0.08027, time_bruteforce: 0, good_nn: 0.172238, good_ratio: 0.992284, good_clusters: 0.988372, good_ratio_and_clusters: 0.99376
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 148/588
estimateHomographyRANSAC : support: 588/588
estimateHomographyRANSAC : best support: 588/588
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.073941, time_cv: 0.074066, time_bruteforce: 0, good_nn: 0.172126, good_ratio: 0.958124, good_clusters: 0.93985, good_ratio_and_clusters: 0.965986
[       OK ] MATCHING.Scale90 (1946 ms)
[ RUN      ] MATCHING.Scale110
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 501/770
estimateHomographyRANSAC : support: 624/770
estimateHomographyRANSAC : support: 691/770
estimateHomographyRANSAC : support: 770/770
estimateHomographyRANSAC : best support: 770/770
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.110687, time_cv: 0.109542, time_bruteforce: 0, good_nn: 0.204899, good_ratio: 0.978316, good_clusters: 0.975391, good_ratio_and_clusters: 0.990909
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 578/689
estimateHomographyRANSAC : support: 650/689
estimateHomographyRANSAC : support: 671/689
estimateHomographyRANSAC : support: 688/689
estimateHomographyRANSAC : support: 689/689
estimateHomographyRANSAC : best support: 689/689
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103951, time_cv: 0.10377, time_bruteforce: 0, good_nn: 0.210345, good_ratio: 0.997143, good_clusters: 0.992462, good_ratio_and_clusters: 0.998549
[       OK ] MATCHING.Scale110 (2478 ms)
[ RUN      ] MATCHING.Scale130
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 508/825
estimateHomographyRANSAC : support: 825/825
estimateHomographyRANSAC : best support: 825/825
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.154804, time_cv: 0.154544, time_bruteforce: 0, good_nn: 0.216127, good_ratio: 0.977435, good_clusters: 0.98998, good_ratio_and_clusters: 0.990303
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 499/725
estimateHomographyRANSAC : support: 725/725
estimateHomographyRANSAC : best support: 725/725
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.147067, time_cv: 0.146394, time_bruteforce: 0, good_nn: 0.224138, good_ratio: 0.979812, good_clusters: 0.980176, good_ratio_and_clusters: 0.987586
[       OK ] MATCHING.Scale130 (3333 ms)
[ RUN      ] MATCHING.Scale150
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 681/773
estimateHomographyRANSAC : support: 714/773
estimateHomographyRANSAC : support: 753/773
estimateHomographyRANSAC : support: 771/773
estimateHomographyRANSAC : support: 772/773
gauss: infinitely many solutions found
gauss: xs0: 773.672, 697.038, 695.819, 697.038, 
gauss: ys0: 315.408, 349.989, 539.191, 349.989, 
gauss: infinitely many solutions found
gauss: xs0: 566.074, 611.055, 776.06, 566.074, 
gauss: ys0: 525.051, 366.022, 198.104, 525.051, 
gauss: infinitely many solutions found
gauss: xs0: 671.039, 588.127, 625.587, 671.039, 
gauss: ys0: 622.54, 516.617, 430.784, 622.54, 
gauss: infinitely many solutions found
gauss: xs0: 807.913, 788.65, 807.913, 730.057, 
gauss: ys0: 375.441, 618.439, 375.441, 582.52, 
gauss: infinitely many solutions found
gauss: xs0: 641.098, 641.098, 638.005, 691.274, 
gauss: ys0: 600.161, 600.161, 415.622, 514.072, 
estimateHomographyRANSAC : best support: 772/773
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213166, time_cv: 0.212802, time_bruteforce: 0, good_nn: 0.182445, good_ratio: 0.877863, good_clusters: 0.872385, good_ratio_and_clusters: 0.880983
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 417/695
estimateHomographyRANSAC : support: 444/695
estimateHomographyRANSAC : support: 629/695
estimateHomographyRANSAC : support: 695/695
estimateHomographyRANSAC : best support: 695/695
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.209459, time_cv: 0.207728, time_bruteforce: 0, good_nn: 0.202011, good_ratio: 0.960227, good_clusters: 0.950749, good_ratio_and_clusters: 0.964029
[       OK ] MATCHING.Scale150 (4476 ms)
[ RUN      ] MATCHING.Scale175
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 358/758
estimateHomographyRANSAC : support: 396/758
estimateHomographyRANSAC : support: 753/758
estimateHomographyRANSAC : support: 756/758
estimateHomographyRANSAC : support: 757/758
gauss: infinitely many solutions found
gauss: xs0: 684.407, 807.177, 804.894, 684.407, 
gauss: ys0: 488.997, 361.674, 505.311, 488.997, 
gauss: infinitely many solutions found
gauss: xs0: 559.911, 657.331, 559.911, 739.89, 
gauss: ys0: 428.462, 614.474, 428.462, 482.291, 
gauss: infinitely many solutions found
gauss: xs0: 542.529, 542.529, 772.415, 807.913, 
gauss: ys0: 565.147, 565.147, 472.976, 375.441, 
gauss: infinitely many solutions found
gauss: xs0: 626.717, 756.42, 626.717, 561.934, 
gauss: ys0: 580.076, 548.825, 580.076, 599.746, 
gauss: infinitely many solutions found
gauss: xs0: 761.544, 576.72, 773.971, 576.72, 
gauss: ys0: 530.445, 440.803, 626.144, 440.803, 
estimateHomographyRANSAC : best support: 757/758
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.278481, time_cv: 0.277435, time_bruteforce: 0, good_nn: 0.191886, good_ratio: 0.935065, good_clusters: 0.942857, good_ratio_and_clusters: 0.943272
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 325/660
estimateHomographyRANSAC : support: 659/660
estimateHomographyRANSAC : support: 660/660
estimateHomographyRANSAC : best support: 660/660
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.274162, time_cv: 0.271539, time_bruteforce: 0, good_nn: 0.2, good_ratio: 0.973294, good_clusters: 0.957921, good_ratio_and_clusters: 0.977273
[       OK ] MATCHING.Scale175 (5970 ms)
[ RUN      ] MATCHING.Scale200
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 839/850
estimateHomographyRANSAC : support: 848/850
estimateHomographyRANSAC : support: 849/850
gauss: infinitely many solutions found
gauss: xs0: 563.596, 539.139, 623.306, 563.596, 
gauss: ys0: 507.052, 523.157, 562.212, 507.052, 
gauss: infinitely many solutions found
gauss: xs0: 575.387, 695.819, 588.127, 588.127, 
gauss: ys0: 392.253, 539.191, 516.617, 516.617, 
estimateHomographyRANSAC : best support: 849/850
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.306445, time_cv: 0.308983, time_bruteforce: 0, good_nn: 0.222251, good_ratio: 0.990719, good_clusters: 0.988679, good_ratio_and_clusters: 0.992941
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 544/762
estimateHomographyRANSAC : support: 714/762
estimateHomographyRANSAC : support: 761/762
estimateHomographyRANSAC : support: 762/762
estimateHomographyRANSAC : best support: 762/762
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.296639, time_cv: 0.297604, time_bruteforce: 0, good_nn: 0.231322, good_ratio: 0.994832, good_clusters: 0.980952, good_ratio_and_clusters: 0.996063
[       OK ] MATCHING.Scale200 (6904 ms)
[ RUN      ] MATCHING.Rotate10Scale90
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 231/616
estimateHomographyRANSAC : support: 616/616
estimateHomographyRANSAC : best support: 616/616
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.08817, time_cv: 0.088066, time_bruteforce: 0, good_nn: 0.133708, good_ratio: 0.7776, good_clusters: 0.791339, good_ratio_and_clusters: 0.788961
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 341/566
estimateHomographyRANSAC : support: 353/566
estimateHomographyRANSAC : support: 566/566
estimateHomographyRANSAC : best support: 566/566
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.082918, time_cv: 0.082703, time_bruteforce: 0, good_nn: 0.175287, good_ratio: 0.998267, good_clusters: 0.977444, good_ratio_and_clusters: 0.998233
[       OK ] MATCHING.Rotate10Scale90 (2068 ms)
[ RUN      ] MATCHING.Rotate30Scale75
testing sift detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 93/422
estimateHomographyRANSAC : support: 420/422
gauss: infinitely many solutions found
gauss: xs0: 667.008, 760.933, 684.441, 667.008, 
gauss: ys0: 588.365, 341.625, 527.43, 588.365, 
gauss: infinitely many solutions found
gauss: xs0: 564.167, 667.008, 770.606, 667.008, 
gauss: ys0: 430.452, 588.365, 204.5, 588.365, 
gauss: infinitely many solutions found
gauss: xs0: 784.423, 698.372, 784.423, 603.999, 
gauss: ys0: 534.287, 592.094, 534.287, 583.68, 
estimateHomographyRANSAC : best support: 420/422
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.072571, time_cv: 0.072214, time_bruteforce: 0, good_nn: 0.110743, good_ratio: 0.927907, good_clusters: 0.951807, good_ratio_and_clusters: 0.943128
testing my detector/descriptor...
flann matching...
cv flann matching...
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 374/374
estimateHomographyRANSAC : best support: 374/374
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.066422, time_cv: 0.066479, time_bruteforce: 0, good_nn: 0.117529, good_ratio: 0.95288, good_clusters: 0.93, good_ratio_and_clusters: 0.967914
[       OK ] MATCHING.Rotate30Scale75 (1639 ms)
[----------] 18 tests from MATCHING (56163 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
estimateHomographyRANSAC : support: 262/995
estimateHomographyRANSAC : support: 941/995
estimateHomographyRANSAC : support: 994/995
estimateHomographyRANSAC : support: 995/995
estimateHomographyRANSAC : best support: 995/995
bbox: [1274.18, 641.201], [0, 0]
[       OK ] STITCHING.SimplePanorama (279 ms)
[ RUN      ] STITCHING.Orthophoto
estimateHomographyRANSAC : support: 296/1074
estimateHomographyRANSAC : support: 305/1074
estimateHomographyRANSAC : support: 328/1074
estimateHomographyRANSAC : support: 370/1074
estimateHomographyRANSAC : support: 396/1074
estimateHomographyRANSAC : support: 438/1074
estimateHomographyRANSAC : support: 505/1074
estimateHomographyRANSAC : support: 536/1074
estimateHomographyRANSAC : best support: 536/1074
estimateHomographyRANSAC : support: 20/809
estimateHomographyRANSAC : support: 32/809
estimateHomographyRANSAC : support: 68/809
estimateHomographyRANSAC : support: 88/809
estimateHomographyRANSAC : support: 106/809
estimateHomographyRANSAC : support: 137/809
estimateHomographyRANSAC : support: 204/809
estimateHomographyRANSAC : support: 302/809
estimateHomographyRANSAC : support: 303/809
estimateHomographyRANSAC : support: 326/809
estimateHomographyRANSAC : support: 373/809
estimateHomographyRANSAC : support: 400/809
estimateHomographyRANSAC : support: 403/809
estimateHomographyRANSAC : support: 430/809
estimateHomographyRANSAC : support: 453/809
gauss: infinitely many solutions found
gauss: xs0: 568.584, 766.301, 211.323, 568.584, 
gauss: ys0: 185.971, 39.3586, 290.453, 185.971, 
estimateHomographyRANSAC : best support: 453/809
estimateHomographyRANSAC : support: 29/1648
estimateHomographyRANSAC : support: 289/1648
estimateHomographyRANSAC : support: 406/1648
estimateHomographyRANSAC : support: 589/1648
estimateHomographyRANSAC : support: 602/1648
gauss: infinitely many solutions found
gauss: xs0: 783.107, 615.561, 10.0577, 10.0577, 
gauss: ys0: 345.169, 400.643, 151.217, 151.217, 
estimateHomographyRANSAC : support: 603/1648
estimateHomographyRANSAC : support: 604/1648
gauss: infinitely many solutions found
gauss: xs0: 133.315, 750.68, 133.315, 173.38, 
gauss: ys0: 498.001, 66.9892, 498.001, 461.253, 
estimateHomographyRANSAC : best support: 604/1648
estimateHomographyRANSAC : support: 10/979
estimateHomographyRANSAC : support: 192/979
estimateHomographyRANSAC : support: 303/979
estimateHomographyRANSAC : support: 313/979
estimateHomographyRANSAC : support: 384/979
estimateHomographyRANSAC : support: 440/979
estimateHomographyRANSAC : support: 472/979
estimateHomographyRANSAC : support: 482/979
estimateHomographyRANSAC : support: 524/979
gauss: infinitely many solutions found
gauss: xs0: 669.097, 958.111, 879.533, 879.533, 
gauss: ys0: 600.577, 487.639, 522.901, 522.901, 
estimateHomographyRANSAC : best support: 524/979
bbox: [1284.47, 1669.37], [-194.48, -339.143]
estimateHomographyRANSAC : support: 184/820
estimateHomographyRANSAC : support: 186/820
estimateHomographyRANSAC : support: 391/820
estimateHomographyRANSAC : support: 409/820
estimateHomographyRANSAC : support: 415/820
estimateHomographyRANSAC : support: 420/820
estimateHomographyRANSAC : support: 437/820
estimateHomographyRANSAC : support: 454/820
estimateHomographyRANSAC : support: 457/820
estimateHomographyRANSAC : best support: 457/820
estimateHomographyRANSAC : support: 287/1096
estimateHomographyRANSAC : support: 369/1096
estimateHomographyRANSAC : support: 400/1096
estimateHomographyRANSAC : support: 488/1096
estimateHomographyRANSAC : support: 505/1096
gauss: infinitely many solutions found
gauss: xs0: 114.983, 476.887, 114.983, 439.699, 
gauss: ys0: 320.619, 834.484, 320.619, 333.034, 
estimateHomographyRANSAC : support: 517/1096
estimateHomographyRANSAC : support: 541/1096
estimateHomographyRANSAC : support: 546/1096
estimateHomographyRANSAC : best support: 546/1096
estimateHomographyRANSAC : support: 54/1673
estimateHomographyRANSAC : support: 55/1673
estimateHomographyRANSAC : support: 199/1673
estimateHomographyRANSAC : support: 321/1673
estimateHomographyRANSAC : support: 371/1673
estimateHomographyRANSAC : support: 553/1673
estimateHomographyRANSAC : support: 554/1673
estimateHomographyRANSAC : support: 579/1673
estimateHomographyRANSAC : support: 622/1673
estimateHomographyRANSAC : support: 653/1673
estimateHomographyRANSAC : best support: 653/1673
estimateHomographyRANSAC : support: 293/983
estimateHomographyRANSAC : support: 525/983
estimateHomographyRANSAC : best support: 525/983
bbox: [1219.82, 864], [-233.554, -990.676]
n stable ortho kpts: : 20992
[       OK ] STITCHING.Orthophoto (11349 ms)
[----------] 2 tests from STITCHING (11628 ms total)

[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (67791 ms total)
[  PASSED  ] 20 tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant