Skip to content

Task02 Кирилл Доровских СПбГУ#149

Closed
kerelGusb wants to merge 3 commits into
PhotogrammetryCourse:task02from
kerelGusb:task02
Closed

Task02 Кирилл Доровских СПбГУ#149
kerelGusb wants to merge 3 commits into
PhotogrammetryCourse:task02from
kerelGusb:task02

Conversation

@kerelGusb
Copy link
Copy Markdown

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

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

Потому что RANSAC будет работать гораздо больше с большим количеством шумов, ведь количество шумов в случайной выборке увеличится.

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

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

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

Когда настоящее значение H33 приближено к 0 или вообще 0, остальные значения H становятся слишком большими. Поэтому лучше не делать H33 = 1, а искать корректное значение через SVD.

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

У большой панорамы при последовательном склеивании изображений возникает накопленная ошибка из-за масштаба и искажений, причем чем дальше - тем ошибка больше.

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

Можно сделать то, что было предложено в одной из лекций: взять небольшую группу ключевых точек, прогоняем на них наш алгоритм, строим максимальное остовное дерево между кадрами, где вес ребра - это количество ключевых точек, которыми поженена пара кадров.

  1. Если с вашей реализацией SIFT пройти тесты не получилось, напишите (если пробовали дебажить), где, как вам кажется, проблема и как вы пробовали ее решать.

  2. Если есть, фидбек по заданию: какая часть больше всего понравилась, где-то слишком сложно/просто (что именно), где-то слишком мало ссылок и тд.

Github Actions CI

$ ./build/test_sift
Running main() from /home/kerelGusb/Studies/photogrammetry/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 (1369 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.06659, time_cv: 0.067987, time_bruteforce: 2.4009, 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 : 3481, n train desc : 3119
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 4/839
estimateHomographyRANSAC : support: 839/839
estimateHomographyRANSAC : best support: 839/839
evaluating homography...
nn_score: 0.61534, nn2_score: 0.278656, nn_score_cv: 0.620224, nn2_score_cv: 0.283539, time_my: 0.059044, time_cv: 0.0595, time_bruteforce: 1.93222, good_nn: 0.245906, good_ratio: 0.995305, good_clusters: 0.985447, good_ratio_and_clusters: 1
[       OK ] MATCHING.SimpleMatching (5979 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.094657, time_cv: 0.094217, 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: 66/659
estimateHomographyRANSAC : support: 657/659
gauss: infinitely many solutions found
gauss: xs0: 647.073, 647.073, 639.207, 601.344,
gauss: ys0: 463.277, 463.277, 495.261, 499.52,
estimateHomographyRANSAC : support: 658/659
gauss: infinitely many solutions found
gauss: xs0: 722.742, 609.235, 683.813, 609.235,
gauss: ys0: 446.676, 446.287, 393.277, 446.287,
gauss: infinitely many solutions found
gauss: xs0: 598.336, 615.733, 663.17, 615.733,
gauss: ys0: 430.152, 380.232, 526.765, 380.232,
gauss: infinitely many solutions found
gauss: xs0: 756.609, 671.836, 570.412, 570.412,
gauss: ys0: 371.838, 461.837, 527.755, 527.755,
gauss: infinitely many solutions found
gauss: xs0: 784.905, 744.403, 609.235, 784.905,
gauss: ys0: 350.214, 601.031, 446.287, 350.214,
gauss: infinitely many solutions found
gauss: xs0: 735.297, 735.297, 592.837, 630.091,
gauss: ys0: 583.604, 583.604, 201.211, 554.838,
gauss: infinitely many solutions found
gauss: xs0: 590.38, 781.473, 590.38, 623.888,
gauss: ys0: 553.942, 542.946, 553.942, 585.113,
estimateHomographyRANSAC : best support: 658/659
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.086659, time_cv: 0.08721, time_bruteforce: 0, good_nn: 0.197644, good_ratio: 0.961136, good_clusters: 0.939241, good_ratio_and_clusters: 0.966616
[       OK ] MATCHING.Rotate10 (2316 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.093723, time_cv: 0.093904, 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: 153/670
estimateHomographyRANSAC : support: 553/670
estimateHomographyRANSAC : support: 670/670
estimateHomographyRANSAC : best support: 670/670
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.086372, time_cv: 0.089972, time_bruteforce: 0, good_nn: 0.199655, good_ratio: 0.967647, good_clusters: 0.930412, good_ratio_and_clusters: 0.979104
[       OK ] MATCHING.Rotate20 (2306 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.095118, time_cv: 0.09367, 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: 656/656
estimateHomographyRANSAC : best support: 656/656
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.087023, time_cv: 0.08757, time_bruteforce: 0, good_nn: 0.204252, good_ratio: 0.994012, good_clusters: 0.994236, good_ratio_and_clusters: 0.998476
[       OK ] MATCHING.Rotate30 (2311 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.101056, time_cv: 0.096578, 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.087107, time_cv: 0.086525, time_bruteforce: 0, good_nn: 0.204539, good_ratio: 0.991045, good_clusters: 0.980114, good_ratio_and_clusters: 0.993949
[       OK ] MATCHING.Rotate40 (2308 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.096957, time_cv: 0.10309, 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: 201/652
estimateHomographyRANSAC : support: 358/652
estimateHomographyRANSAC : support: 486/652
estimateHomographyRANSAC : support: 577/652
estimateHomographyRANSAC : support: 623/652
estimateHomographyRANSAC : support: 652/652
estimateHomographyRANSAC : best support: 652/652
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.087144, time_cv: 0.092325, time_bruteforce: 0, good_nn: 0.197644, good_ratio: 0.962519, good_clusters: 0.955224, good_ratio_and_clusters: 0.969325
[       OK ] MATCHING.Rotate45 (2336 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.082509, time_cv: 0.082826, 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.076129, time_cv: 0.074292, time_bruteforce: 0, good_nn: 0.221488, good_ratio: 0.986755, good_clusters: 0.982063, good_ratio_and_clusters: 0.994587
[       OK ] MATCHING.Rotate90 (2153 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...
too few matches: 1
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.043125, time_cv: 0.042574, time_bruteforce: 1e-06, good_nn: 0.0441439, good_ratio: 0.945783, good_clusters: 0, good_ratio_and_clusters: 0.99359
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: 50/127
estimateHomographyRANSAC : support: 83/127
estimateHomographyRANSAC : support: 127/127
estimateHomographyRANSAC : best support: 127/127
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.037861, time_cv: 0.037852, time_bruteforce: 0, good_nn: 0.0396438, good_ratio: 0.96124, good_clusters: 0, good_ratio_and_clusters: 0.976378
[       OK ] MATCHING.Scale50 (1151 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.054012, time_cv: 0.053508, 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: 328/328
estimateHomographyRANSAC : best support: 328/328
evaluating homography...
too few matches: 49
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.048581, time_cv: 0.04856, time_bruteforce: 0, good_nn: 0.101982, good_ratio: 0.979104, good_clusters: 0, good_ratio_and_clusters: 0.990854
[       OK ] MATCHING.Scale70 (1425 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.071029, time_cv: 0.06998, 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: 147/589
estimateHomographyRANSAC : support: 580/589
estimateHomographyRANSAC : support: 584/589
estimateHomographyRANSAC : support: 588/589
estimateHomographyRANSAC : support: 589/589
estimateHomographyRANSAC : best support: 589/589
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.063588, time_cv: 0.064503, time_bruteforce: 0, good_nn: 0.177248, good_ratio: 0.98495, good_clusters: 0.956044, good_ratio_and_clusters: 0.993209
[       OK ] MATCHING.Scale90 (1978 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.107578, time_cv: 0.106156, 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: 690/690
estimateHomographyRANSAC : best support: 690/690
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.100796, time_cv: 0.099032, time_bruteforce: 0, good_nn: 0.201379, good_ratio: 0.951498, good_clusters: 0.958231, good_ratio_and_clusters: 0.956522
[       OK ] MATCHING.Scale110 (2606 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.159027, time_cv: 0.159889, 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: 270/726
estimateHomographyRANSAC : support: 346/726
estimateHomographyRANSAC : support: 671/726
estimateHomographyRANSAC : support: 726/726
estimateHomographyRANSAC : best support: 726/726
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.150175, time_cv: 0.150193, time_bruteforce: 0, good_nn: 0.19391, good_ratio: 0.853495, good_clusters: 0.873085, good_ratio_and_clusters: 0.869146
[       OK ] MATCHING.Scale130 (3538 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.225621, time_cv: 0.224732, 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: 50/698
estimateHomographyRANSAC : support: 394/698
estimateHomographyRANSAC : support: 511/698
estimateHomographyRANSAC : support: 650/698
estimateHomographyRANSAC : support: 698/698
estimateHomographyRANSAC : best support: 698/698
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213117, time_cv: 0.213781, time_bruteforce: 0, good_nn: 0.207412, good_ratio: 0.985816, good_clusters: 0.982833, good_ratio_and_clusters: 0.988539
[       OK ] MATCHING.Scale150 (4797 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.28921, time_cv: 0.291129, 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: 569/654
estimateHomographyRANSAC : support: 643/654
estimateHomographyRANSAC : support: 653/654
gauss: infinitely many solutions found
gauss: xs0: 548.539, 587.454, 769.508, 769.508,
gauss: ys0: 523.677, 376.461, 566.146, 566.146,
gauss: infinitely many solutions found
gauss: xs0: 603.999, 603.999, 599.454, 645.219,
gauss: ys0: 583.68, 583.68, 529.909, 612.507,
gauss: infinitely many solutions found
gauss: xs0: 570.38, 737.155, 737.155, 554.135,
gauss: ys0: 549.621, 551.574, 551.574, 546.779,
gauss: infinitely many solutions found
gauss: xs0: 626.717, 554.544, 784.29, 554.544,
gauss: ys0: 580.076, 557.898, 535.612, 557.898,
estimateHomographyRANSAC : best support: 653/654
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.273927, time_cv: 0.278157, time_bruteforce: 0, good_nn: 0.195059, good_ratio: 0.953662, good_clusters: 0.927681, good_ratio_and_clusters: 0.958716
[       OK ] MATCHING.Scale175 (6390 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.313663, time_cv: 0.317081, 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: 123/763
estimateHomographyRANSAC : support: 526/763
estimateHomographyRANSAC : support: 762/763
estimateHomographyRANSAC : support: 763/763
estimateHomographyRANSAC : best support: 763/763
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.301108, time_cv: 0.304226, time_bruteforce: 0, good_nn: 0.223212, good_ratio: 0.962581, good_clusters: 0.944444, good_ratio_and_clusters: 0.967235
[       OK ] MATCHING.Scale200 (7699 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.081847, time_cv: 0.078456, 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: 395/568
estimateHomographyRANSAC : support: 547/568
estimateHomographyRANSAC : support: 568/568
estimateHomographyRANSAC : best support: 568/568
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.074703, time_cv: 0.074053, time_bruteforce: 0, good_nn: 0.172939, good_ratio: 0.982699, good_clusters: 0.96679, good_ratio_and_clusters: 0.989437
[       OK ] MATCHING.Rotate10Scale90 (2085 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.063697, time_cv: 0.063878, 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: 375/375
estimateHomographyRANSAC : best support: 375/375
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.05717, time_cv: 0.05773, time_bruteforce: 0, good_nn: 0.120942, good_ratio: 0.981723, good_clusters: 0.918605, good_ratio_and_clusters: 0.994667
[       OK ] MATCHING.Rotate30Scale75 (1613 ms)
[----------] 18 tests from MATCHING (54361 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
estimateHomographyRANSAC : support: 997/999
estimateHomographyRANSAC : support: 998/999
gauss: infinitely many solutions found
gauss: xs0: 254.288, 266.763, 254.288, 44.2744,
gauss: ys0: 629.088, 332.469, 629.088, 570.666,
gauss: infinitely many solutions found
gauss: xs0: 17.7051, 17.7051, 279.324, 183.482,
gauss: ys0: 597.769, 597.769, 369.25, 457.736,
gauss: infinitely many solutions found
gauss: xs0: 142.68, 60.4791, 60.4791, 219.059,
gauss: ys0: 529.023, 549.137, 549.137, 633.017,
estimateHomographyRANSAC : best support: 998/999
bbox: [1278.15, 640.284], [0, 0]
[       OK ] STITCHING.SimplePanorama (248 ms)
[ RUN      ] STITCHING.Orthophoto
estimateHomographyRANSAC : support: 294/1076
estimateHomographyRANSAC : support: 343/1076
estimateHomographyRANSAC : support: 482/1076
estimateHomographyRANSAC : support: 508/1076
estimateHomographyRANSAC : support: 537/1076
gauss: infinitely many solutions found
gauss: xs0: 633.255, 178.829, 178.829, 175.448,
gauss: ys0: 147.351, 218.484, 218.484, 324.266,
gauss: infinitely many solutions found
gauss: xs0: 318.809, 667.95, 318.809, 381.647,
gauss: ys0: 224.925, 421.508, 224.925, 31.3715,
estimateHomographyRANSAC : best support: 537/1076
estimateHomographyRANSAC : support: 146/1654
estimateHomographyRANSAC : support: 184/1654
estimateHomographyRANSAC : support: 488/1654
estimateHomographyRANSAC : support: 493/1654
estimateHomographyRANSAC : support: 572/1654
estimateHomographyRANSAC : support: 580/1654
estimateHomographyRANSAC : best support: 580/1654
estimateHomographyRANSAC : support: 394/823
estimateHomographyRANSAC : support: 446/823
estimateHomographyRANSAC : support: 486/823
estimateHomographyRANSAC : best support: 486/823
estimateHomographyRANSAC : support: 236/967
estimateHomographyRANSAC : support: 261/967
estimateHomographyRANSAC : support: 451/967
estimateHomographyRANSAC : support: 464/967
estimateHomographyRANSAC : support: 474/967
estimateHomographyRANSAC : support: 494/967
estimateHomographyRANSAC : best support: 494/967
bbox: [1347.9, 1696.77], [-173.38, -503.26]
estimateHomographyRANSAC : support: 64/823
estimateHomographyRANSAC : support: 292/823
gauss: infinitely many solutions found
gauss: xs0: 649.941, 389.517, 389.517, 324.481,
gauss: ys0: 687.864, 505.742, 505.742, 725.289,
estimateHomographyRANSAC : support: 380/823
estimateHomographyRANSAC : support: 395/823
estimateHomographyRANSAC : support: 441/823
estimateHomographyRANSAC : support: 451/823
gauss: infinitely many solutions found
gauss: xs0: 162.044, 667.02, 667.02, 369.587,
gauss: ys0: 406.19, 745.503, 745.503, 498.084,
estimateHomographyRANSAC : support: 454/823
estimateHomographyRANSAC : best support: 454/823
estimateHomographyRANSAC : support: 96/1085
estimateHomographyRANSAC : support: 178/1085
estimateHomographyRANSAC : support: 318/1085
estimateHomographyRANSAC : support: 406/1085
estimateHomographyRANSAC : support: 428/1085
estimateHomographyRANSAC : support: 432/1085
estimateHomographyRANSAC : support: 433/1085
estimateHomographyRANSAC : support: 499/1085
estimateHomographyRANSAC : support: 559/1085
estimateHomographyRANSAC : support: 560/1085
estimateHomographyRANSAC : best support: 560/1085
estimateHomographyRANSAC : support: 195/1674
estimateHomographyRANSAC : support: 284/1674
estimateHomographyRANSAC : support: 381/1674
estimateHomographyRANSAC : support: 444/1674
estimateHomographyRANSAC : support: 526/1674
estimateHomographyRANSAC : support: 547/1674
estimateHomographyRANSAC : support: 570/1674
estimateHomographyRANSAC : support: 571/1674
estimateHomographyRANSAC : support: 591/1674
estimateHomographyRANSAC : support: 646/1674
estimateHomographyRANSAC : best support: 646/1674
estimateHomographyRANSAC : support: 210/979
estimateHomographyRANSAC : support: 338/979
estimateHomographyRANSAC : support: 422/979
estimateHomographyRANSAC : support: 448/979
estimateHomographyRANSAC : support: 465/979
estimateHomographyRANSAC : support: 479/979
gauss: infinitely many solutions found
gauss: xs0: 665.758, 958.111, 877.43, 877.43,
gauss: ys0: 825.291, 487.639, 519.046, 519.046,
estimateHomographyRANSAC : support: 506/979
gauss: infinitely many solutions found
gauss: xs0: 1109.41, 1109.41, 362.916, 843.179,
gauss: ys0: 821.775, 821.775, 610.483, 486.037,
estimateHomographyRANSAC : best support: 506/979
bbox: [1152, 864], [-252.282, -1027.61]
n stable ortho kpts: : 19788
[       OK ] STITCHING.Orthophoto (10694 ms)
[----------] 2 tests from STITCHING (10942 ms total)

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

@simiyutin
Copy link
Copy Markdown
Contributor

задача зачтена, 5/8 баллов

@simiyutin simiyutin closed this Jun 1, 2026
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.

2 participants