Skip to content

Task02 Петр Маяцкий ИТМО#36

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

Task02 Петр Маяцкий ИТМО#36
BellatorHonoris07 wants to merge 3 commits intoPhotogrammetryCourse:task02from
BellatorHonoris07:task02

Conversation

@BellatorHonoris07
Copy link

@BellatorHonoris07 BellatorHonoris07 commented Mar 16, 2026

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

Фильтрация матчей нужна, потому что RANSAC не бесплатный: при большом числе выбросов падает вероятность выбрать хороший минимальный набор, а структурированные ложные матчи могут мешать даже устойчивой оценке

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

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

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

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

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

При большой панораме накапливается ошибка композиции гомографий, и результат сильно зависит от выбора корня. Чем дальше изображение от корня, тем больше дрейф и искажения

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

Автоматически граф можно строить по попарным match/inlier-оценкам: вершины — изображения, ребра — хорошие соответствия, вес — число или доля inlier-ов. Дальше брать MST или оптимизировать весь view graph

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

все получилось

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

довольно интересная задачка, понравилось потрогать OpenCL, но я чуть столкнулся со сложностями поставить его себе локально и запустить тесты)) Из сложного был думаю только первый бонус

Github Actions CI

Run ./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...
keypoints RMSE: 0.1067, color RMSE: 5.6938
testing my detector/descriptor...
keypoints RMSE: 0.0876329, color RMSE: 5.6938
[       OK ] MATCHING.SimpleStitching (1350 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
skipping brute force GPU matching: only CPU OpenCL devices are available; the GPU matcher benchmark needs a non-CPU OpenCL device
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.600919, nn2_score: 0.263588, nn_score_cv: 0.616739, nn2_score_cv: 0.275325, time_my: 0.078975, time_cv: 0.077953, time_bruteforce: 4.58593, time_bruteforce_gpu: skipped, good_nn: 0.260015, good_ratio: 0.976901, good_clusters: 0.998361, good_ratio_and_clusters: 0.999008
testing my detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3477, n train desc : 3110
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.615186, nn2_score: 0.278113, nn_score_cv: 0.609721, nn2_score_cv: 0.267472, time_my: 0.068933, time_cv: 0.069123, time_bruteforce: 3.57949, time_bruteforce_gpu: skipped, good_nn: 0.244751, good_ratio: 0.967742, good_clusters: 0.997863, good_ratio_and_clusters: 1
[       OK ] MATCHING.SimpleMatching (9868 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.098894, time_cv: 0.100387, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.968153, good_clusters: 0.991379, good_ratio_and_clusters: 0.993421
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.092869, time_cv: 0.093941, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202473, good_ratio: 0.972857, good_clusters: 0.982906, good_ratio_and_clusters: 0.9941
[       OK ] MATCHING.Rotate10 (2213 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099851, time_cv: 0.099644, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202348, good_ratio: 0.963975, good_clusters: 0.989189, good_ratio_and_clusters: 0.997413
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094016, time_cv: 0.093964, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.955679, good_clusters: 0.982196, good_ratio_and_clusters: 0.994186
[       OK ] MATCHING.Rotate20 (2220 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099959, time_cv: 0.099868, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.976744, good_clusters: 0.990937, good_ratio_and_clusters: 0.997323
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094387, time_cv: 0.09379, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.972818, good_clusters: 0.994118, good_ratio_and_clusters: 0.998519
[       OK ] MATCHING.Rotate30 (2216 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101097, time_cv: 0.100757, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.980645, good_clusters: 0.985337, good_ratio_and_clusters: 0.998672
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094747, time_cv: 0.095114, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.201611, good_ratio: 0.975504, good_clusters: 0.985163, good_ratio_and_clusters: 1
[       OK ] MATCHING.Rotate40 (2214 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101594, time_cv: 0.101155, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19852, good_ratio: 0.971939, good_clusters: 0.996644, good_ratio_and_clusters: 0.993412
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094587, time_cv: 0.096164, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.204487, good_ratio: 0.977401, good_clusters: 0.985207, good_ratio_and_clusters: 0.998542
[       OK ] MATCHING.Rotate45 (2225 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089356, time_cv: 0.088973, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.216892, good_ratio: 0.977855, good_clusters: 0.988636, good_ratio_and_clusters: 0.996403
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.082967, time_cv: 0.082414, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.223756, good_ratio: 0.976834, good_clusters: 0.995624, good_ratio_and_clusters: 0.998668
[       OK ] MATCHING.Rotate90 (2048 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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.049038, time_cv: 0.048263, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0441439, good_ratio: 0.833333, good_clusters: 0, good_ratio_and_clusters: 0.982036
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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.043181, time_cv: 0.043752, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0408398, good_ratio: 0.814815, good_clusters: 0, good_ratio_and_clusters: 0.984962
[       OK ] MATCHING.Scale50 (1144 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...
evaluating homography...
too few matches: 18
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.062207, time_cv: 0.061818, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.100536, good_ratio: 0.937811, good_clusters: 0, good_ratio_and_clusters: 0.997326
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...
evaluating homography...
too few matches: 33
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056861, time_cv: 0.056669, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.1044, good_ratio: 0.94429, good_clusters: 0, good_ratio_and_clusters: 1
[       OK ] MATCHING.Scale70 (1432 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.080128, time_cv: 0.080066, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.172493, good_ratio: 0.977612, good_clusters: 0.995516, good_ratio_and_clusters: 0.993884
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.074107, time_cv: 0.07457, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.180903, good_ratio: 0.966772, good_clusters: 0.977169, good_ratio_and_clusters: 0.995058
[       OK ] MATCHING.Scale90 (1892 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.110161, time_cv: 0.109802, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.209237, good_ratio: 0.977805, good_clusters: 0.99095, good_ratio_and_clusters: 0.997468
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103734, time_cv: 0.104819, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.208513, good_ratio: 0.967213, good_clusters: 0.997368, good_ratio_and_clusters: 0.997151
[       OK ] MATCHING.Scale110 (2445 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.153809, time_cv: 0.155222, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.219189, good_ratio: 0.969037, good_clusters: 0.991786, good_ratio_and_clusters: 0.992857
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.149136, time_cv: 0.148962, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.224044, good_ratio: 0.966794, good_clusters: 0.988372, good_ratio_and_clusters: 0.996011
[       OK ] MATCHING.Scale130 (3269 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213835, time_cv: 0.213899, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.206175, good_ratio: 0.962149, good_clusters: 0.986726, good_ratio_and_clusters: 0.986005
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.21493, time_cv: 0.21883, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205925, good_ratio: 0.964626, good_clusters: 0.984334, good_ratio_and_clusters: 0.988764
[       OK ] MATCHING.Scale150 (4386 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.29972, time_cv: 0.300061, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.953692, good_clusters: 0.970787, good_ratio_and_clusters: 0.975484
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.286001, time_cv: 0.277963, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.196146, good_ratio: 0.95245, good_clusters: 0.976378, good_ratio_and_clusters: 0.976119
[       OK ] MATCHING.Scale175 (5877 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.311276, time_cv: 0.317097, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.221995, good_ratio: 0.975, good_clusters: 0.994071, good_ratio_and_clusters: 0.991822
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.313694, time_cv: 0.311599, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.232672, good_ratio: 0.976514, good_clusters: 0.994012, good_ratio_and_clusters: 0.996169
[       OK ] MATCHING.Scale200 (6777 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089704, time_cv: 0.088717, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.173769, good_ratio: 0.973054, good_clusters: 0.980583, good_ratio_and_clusters: 0.995363
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083871, time_cv: 0.08535, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.17285, good_ratio: 0.976589, good_clusters: 0.987069, good_ratio_and_clusters: 0.998282
[       OK ] MATCHING.Rotate10Scale90 (2026 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.073205, time_cv: 0.072794, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.117122, good_ratio: 0.960265, good_clusters: 1, good_ratio_and_clusters: 0.993103
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.067608, time_cv: 0.06657, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.120219, good_ratio: 0.94878, good_clusters: 0.907407, good_ratio_and_clusters: 0.989796
[       OK ] MATCHING.Rotate30Scale75 (1618 ms)
[----------] 18 tests from MATCHING (55220 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
bbox: [1279.95, 640.008], [0, 0]
[       OK ] STITCHING.SimplePanorama (303 ms)
[ RUN      ] STITCHING.Orthophoto
bbox: [1306.54, 1925.24], [-231.599, -295.929]
bbox: [1174.89, 864], [-242.998, -992.041]
n stable ortho kpts: : 21937
[       OK ] STITCHING.Orthophoto (11568 ms)
[----------] 2 tests from STITCHING (11871 ms total)

[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (67092 ms total)
[  PASSED  ] 20 tests.
1m 7s
Run ./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...
keypoints RMSE: 0.1067, color RMSE: 5.6938
testing my detector/descriptor...
keypoints RMSE: 0.0876329, color RMSE: 5.6938
[       OK ] MATCHING.SimpleStitching (1350 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
skipping brute force GPU matching: only CPU OpenCL devices are available; the GPU matcher benchmark needs a non-CPU OpenCL device
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.600919, nn2_score: 0.263588, nn_score_cv: 0.616739, nn2_score_cv: 0.275325, time_my: 0.078975, time_cv: 0.077953, time_bruteforce: 4.58593, time_bruteforce_gpu: skipped, good_nn: 0.260015, good_ratio: 0.976901, good_clusters: 0.998361, good_ratio_and_clusters: 0.999008
testing my detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3477, n train desc : 3110
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.615186, nn2_score: 0.278113, nn_score_cv: 0.609721, nn2_score_cv: 0.267472, time_my: 0.068933, time_cv: 0.069123, time_bruteforce: 3.57949, time_bruteforce_gpu: skipped, good_nn: 0.244751, good_ratio: 0.967742, good_clusters: 0.997863, good_ratio_and_clusters: 1
[       OK ] MATCHING.SimpleMatching (9868 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.098894, time_cv: 0.100387, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.968153, good_clusters: 0.991379, good_ratio_and_clusters: 0.993421
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.092869, time_cv: 0.093941, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202473, good_ratio: 0.972857, good_clusters: 0.982906, good_ratio_and_clusters: 0.9941
[       OK ] MATCHING.Rotate10 (2213 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099851, time_cv: 0.099644, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202348, good_ratio: 0.963975, good_clusters: 0.989189, good_ratio_and_clusters: 0.997413
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094016, time_cv: 0.093964, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.955679, good_clusters: 0.982196, good_ratio_and_clusters: 0.994186
[       OK ] MATCHING.Rotate20 (2220 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099959, time_cv: 0.099868, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.976744, good_clusters: 0.990937, good_ratio_and_clusters: 0.997323
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094387, time_cv: 0.09379, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.972818, good_clusters: 0.994118, good_ratio_and_clusters: 0.998519
[       OK ] MATCHING.Rotate30 (2216 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101097, time_cv: 0.100757, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.980645, good_clusters: 0.985337, good_ratio_and_clusters: 0.998672
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094747, time_cv: 0.095114, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.201611, good_ratio: 0.975504, good_clusters: 0.985163, good_ratio_and_clusters: 1
[       OK ] MATCHING.Rotate40 (2214 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101594, time_cv: 0.101155, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19852, good_ratio: 0.971939, good_clusters: 0.996644, good_ratio_and_clusters: 0.993412
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094587, time_cv: 0.096164, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.204487, good_ratio: 0.977401, good_clusters: 0.985207, good_ratio_and_clusters: 0.998542
[       OK ] MATCHING.Rotate45 (2225 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089356, time_cv: 0.088973, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.216892, good_ratio: 0.977855, good_clusters: 0.988636, good_ratio_and_clusters: 0.996403
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.082967, time_cv: 0.082414, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.223756, good_ratio: 0.976834, good_clusters: 0.995624, good_ratio_and_clusters: 0.998668
[       OK ] MATCHING.Rotate90 (2048 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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.049038, time_cv: 0.048263, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0441439, good_ratio: 0.833333, good_clusters: 0, good_ratio_and_clusters: 0.982036
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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.043181, time_cv: 0.043752, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0408398, good_ratio: 0.814815, good_clusters: 0, good_ratio_and_clusters: 0.984962
[       OK ] MATCHING.Scale50 (1144 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...
evaluating homography...
too few matches: 18
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.062207, time_cv: 0.061818, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.100536, good_ratio: 0.937811, good_clusters: 0, good_ratio_and_clusters: 0.997326
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...
evaluating homography...
too few matches: 33
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056861, time_cv: 0.056669, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.1044, good_ratio: 0.94429, good_clusters: 0, good_ratio_and_clusters: 1
[       OK ] MATCHING.Scale70 (1432 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.080128, time_cv: 0.080066, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.172493, good_ratio: 0.977612, good_clusters: 0.995516, good_ratio_and_clusters: 0.993884
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.074107, time_cv: 0.07457, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.180903, good_ratio: 0.966772, good_clusters: 0.977169, good_ratio_and_clusters: 0.995058
[       OK ] MATCHING.Scale90 (1892 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.110161, time_cv: 0.109802, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.209237, good_ratio: 0.977805, good_clusters: 0.99095, good_ratio_and_clusters: 0.997468
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103734, time_cv: 0.104819, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.208513, good_ratio: 0.967213, good_clusters: 0.997368, good_ratio_and_clusters: 0.997151
[       OK ] MATCHING.Scale110 (2445 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.153809, time_cv: 0.155222, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.219189, good_ratio: 0.969037, good_clusters: 0.991786, good_ratio_and_clusters: 0.992857
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.149136, time_cv: 0.148962, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.224044, good_ratio: 0.966794, good_clusters: 0.988372, good_ratio_and_clusters: 0.996011
[       OK ] MATCHING.Scale130 (3269 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213835, time_cv: 0.213899, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.206175, good_ratio: 0.962149, good_clusters: 0.986726, good_ratio_and_clusters: 0.986005
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.21493, time_cv: 0.21883, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205925, good_ratio: 0.964626, good_clusters: 0.984334, good_ratio_and_clusters: 0.988764
[       OK ] MATCHING.Scale150 (4386 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.29972, time_cv: 0.300061, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.953692, good_clusters: 0.970787, good_ratio_and_clusters: 0.975484
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.286001, time_cv: 0.277963, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.196146, good_ratio: 0.95245, good_clusters: 0.976378, good_ratio_and_clusters: 0.976119
[       OK ] MATCHING.Scale175 (5877 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.311276, time_cv: 0.317097, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.221995, good_ratio: 0.975, good_clusters: 0.994071, good_ratio_and_clusters: 0.991822
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.313694, time_cv: 0.311599, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.232672, good_ratio: 0.976514, good_clusters: 0.994012, good_ratio_and_clusters: 0.996169
[       OK ] MATCHING.Scale200 (6777 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089704, time_cv: 0.088717, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.173769, good_ratio: 0.973054, good_clusters: 0.980583, good_ratio_and_clusters: 0.995363
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083871, time_cv: 0.08535, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.17285, good_ratio: 0.976589, good_clusters: 0.987069, good_ratio_and_clusters: 0.998282
[       OK ] MATCHING.Rotate10Scale90 (2026 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.073205, time_cv: 0.072794, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.117122, good_ratio: 0.960265, good_clusters: 1, good_ratio_and_clusters: 0.993103
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.067608, time_cv: 0.06657, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.120219, good_ratio: 0.94878, good_clusters: 0.907407, good_ratio_and_clusters: 0.989796
[       OK ] MATCHING.Rotate30Scale75 (1618 ms)
[----------] 18 tests from MATCHING (55220 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
bbox: [1279.95, 640.008], [0, 0]
[       OK ] STITCHING.SimplePanorama (303 ms)
[ RUN      ] STITCHING.Orthophoto
bbox: [1306.54, 1925.24], [-231.599, -295.929]
bbox: [1174.89, 864], [-242.998, -992.041]
n stable ortho kpts: : 21937
[       OK ] STITCHING.Orthophoto (11568 ms)
[----------] 2 tests from STITCHING (11871 ms total)

[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (67092 ms total)
[  PASSED  ] 20 tests.
estimating homography...
evaluating homography...
too few matches: 33
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056861, time_cv: 0.056669, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.1044, good_ratio: 0.94429, good_clusters: 0, good_ratio_and_clusters: 1
[       OK ] MATCHING.Scale70 (1432 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.080128, time_cv: 0.080066, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.172493, good_ratio: 0.977612, good_clusters: 0.995516, good_ratio_and_clusters: 0.993884
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.074107, time_cv: 0.07457, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.180903, good_ratio: 0.966772, good_clusters: 0.977169, good_ratio_and_clusters: 0.995058
[       OK ] MATCHING.Scale90 (1892 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.110161, time_cv: 0.109802, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.209237, good_ratio: 0.977805, good_clusters: 0.99095, good_ratio_and_clusters: 0.997468
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103734, time_cv: 0.104819, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.208513, good_ratio: 0.967213, good_clusters: 0.997368, good_ratio_and_clusters: 0.997151
[       OK ] MATCHING.Scale110 (2445 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.153809, time_cv: 0.155222, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.219189, good_ratio: 0.969037, good_clusters: 0.991786, good_ratio_and_clusters: 0.992857
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.149136, time_cv: 0.148962, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.224044, good_ratio: 0.966794, good_clusters: 0.988372, good_ratio_and_clusters: 0.996011
[       OK ] MATCHING.Scale130 (3269 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213835, time_cv: 0.213899, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.206175, good_ratio: 0.962149, good_clusters: 0.986726, good_ratio_and_clusters: 0.986005
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.21493, time_cv: 0.21883, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205925, good_ratio: 0.964626, good_clusters: 0.984334, good_ratio_and_clusters: 0.988764
[       OK ] MATCHING.Scale150 (4386 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.29972, time_cv: 0.300061, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.953692, good_clusters: 0.970787, good_ratio_and_clusters: 0.975484
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.286001, time_cv: 0.277963, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.196146, good_ratio: 0.95245, good_clusters: 0.976378, good_ratio_and_clusters: 0.976119
[       OK ] MATCHING.Scale175 (5877 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.311276, time_cv: 0.317097, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.221995, good_ratio: 0.975, good_clusters: 0.994071, good_ratio_and_clusters: 0.991822
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.313694, time_cv: 0.311599, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.232672, good_ratio: 0.976514, good_clusters: 0.994012, good_ratio_and_clusters: 0.996169
[       OK ] MATCHING.Scale200 (6777 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089704, time_cv: 0.088717, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.173769, good_ratio: 0.973054, good_clusters: 0.980583, good_ratio_and_clusters: 0.995363
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083871, time_cv: 0.08535, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.17285, good_ratio: 0.976589, good_clusters: 0.987069, good_ratio_and_clusters: 0.998282
[       OK ] MATCHING.Rotate10Scale90 (2026 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.073205, time_cv: 0.072794, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.117122, good_ratio: 0.960265, good_clusters: 1, good_ratio_and_clusters: 0.993103
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.067608, time_cv: 0.06657, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.120219, good_ratio: 0.94878, good_clusters: 0.907407, good_ratio_and_clusters: 0.989796
[       OK ] MATCHING.Rotate30Scale75 (1618 ms)
[----------] 18 tests from MATCHING (55220 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
bbox: [1279.95, 640.008], [0, 0]
[       OK ] STITCHING.SimplePanorama (303 ms)
[ RUN      ] STITCHING.Orthophoto
bbox: [1306.54, 1925.24], [-231.599, -295.929]
bbox: [1174.89, 864], [-242.998, -992.041]
n stable ortho kpts: : 21937
[       OK ] STITCHING.Orthophoto (11568 ms)
[----------] 2 tests from STITCHING (11871 ms total)

[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (67092 ms total)
1m 7s
Run ./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...
keypoints RMSE: 0.1067, color RMSE: 5.6938
testing my detector/descriptor...
keypoints RMSE: 0.0876329, color RMSE: 5.6938
[       OK ] MATCHING.SimpleStitching (1350 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
skipping brute force GPU matching: only CPU OpenCL devices are available; the GPU matcher benchmark needs a non-CPU OpenCL device
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.600919, nn2_score: 0.263588, nn_score_cv: 0.616739, nn2_score_cv: 0.275325, time_my: 0.078975, time_cv: 0.077953, time_bruteforce: 4.58593, time_bruteforce_gpu: skipped, good_nn: 0.260015, good_ratio: 0.976901, good_clusters: 0.998361, good_ratio_and_clusters: 0.999008
testing my detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3477, n train desc : 3110
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
evaluating homography...
nn_score: 0.615186, nn2_score: 0.278113, nn_score_cv: 0.609721, nn2_score_cv: 0.267472, time_my: 0.068933, time_cv: 0.069123, time_bruteforce: 3.57949, time_bruteforce_gpu: skipped, good_nn: 0.244751, good_ratio: 0.967742, good_clusters: 0.997863, good_ratio_and_clusters: 1
[       OK ] MATCHING.SimpleMatching (9868 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.098894, time_cv: 0.100387, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.968153, good_clusters: 0.991379, good_ratio_and_clusters: 0.993421
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.092869, time_cv: 0.093941, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202473, good_ratio: 0.972857, good_clusters: 0.982906, good_ratio_and_clusters: 0.9941
[       OK ] MATCHING.Rotate10 (2213 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099851, time_cv: 0.099644, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.202348, good_ratio: 0.963975, good_clusters: 0.989189, good_ratio_and_clusters: 0.997413
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094016, time_cv: 0.093964, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.955679, good_clusters: 0.982196, good_ratio_and_clusters: 0.994186
[       OK ] MATCHING.Rotate20 (2220 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099959, time_cv: 0.099868, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.976744, good_clusters: 0.990937, good_ratio_and_clusters: 0.997323
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094387, time_cv: 0.09379, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205062, good_ratio: 0.972818, good_clusters: 0.994118, good_ratio_and_clusters: 0.998519
[       OK ] MATCHING.Rotate30 (2216 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101097, time_cv: 0.100757, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19903, good_ratio: 0.980645, good_clusters: 0.985337, good_ratio_and_clusters: 0.998672
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094747, time_cv: 0.095114, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.201611, good_ratio: 0.975504, good_clusters: 0.985163, good_ratio_and_clusters: 1
[       OK ] MATCHING.Rotate40 (2214 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101594, time_cv: 0.101155, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.19852, good_ratio: 0.971939, good_clusters: 0.996644, good_ratio_and_clusters: 0.993412
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094587, time_cv: 0.096164, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.204487, good_ratio: 0.977401, good_clusters: 0.985207, good_ratio_and_clusters: 0.998542
[       OK ] MATCHING.Rotate45 (2225 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089356, time_cv: 0.088973, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.216892, good_ratio: 0.977855, good_clusters: 0.988636, good_ratio_and_clusters: 0.996403
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.082967, time_cv: 0.082414, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.223756, good_ratio: 0.976834, good_clusters: 0.995624, good_ratio_and_clusters: 0.998668
[       OK ] MATCHING.Rotate90 (2048 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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.049038, time_cv: 0.048263, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0441439, good_ratio: 0.833333, good_clusters: 0, good_ratio_and_clusters: 0.982036
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...
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.043181, time_cv: 0.043752, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.0408398, good_ratio: 0.814815, good_clusters: 0, good_ratio_and_clusters: 0.984962
[       OK ] MATCHING.Scale50 (1144 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...
evaluating homography...
too few matches: 18
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.062207, time_cv: 0.061818, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.100536, good_ratio: 0.937811, good_clusters: 0, good_ratio_and_clusters: 0.997326
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...
evaluating homography...
too few matches: 33
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056861, time_cv: 0.056669, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.1044, good_ratio: 0.94429, good_clusters: 0, good_ratio_and_clusters: 1
[       OK ] MATCHING.Scale70 (1432 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.080128, time_cv: 0.080066, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.172493, good_ratio: 0.977612, good_clusters: 0.995516, good_ratio_and_clusters: 0.993884
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.074107, time_cv: 0.07457, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.180903, good_ratio: 0.966772, good_clusters: 0.977169, good_ratio_and_clusters: 0.995058
[       OK ] MATCHING.Scale90 (1892 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.110161, time_cv: 0.109802, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.209237, good_ratio: 0.977805, good_clusters: 0.99095, good_ratio_and_clusters: 0.997468
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103734, time_cv: 0.104819, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.208513, good_ratio: 0.967213, good_clusters: 0.997368, good_ratio_and_clusters: 0.997151
[       OK ] MATCHING.Scale110 (2445 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.153809, time_cv: 0.155222, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.219189, good_ratio: 0.969037, good_clusters: 0.991786, good_ratio_and_clusters: 0.992857
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.149136, time_cv: 0.148962, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.224044, good_ratio: 0.966794, good_clusters: 0.988372, good_ratio_and_clusters: 0.996011
[       OK ] MATCHING.Scale130 (3269 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213835, time_cv: 0.213899, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.206175, good_ratio: 0.962149, good_clusters: 0.986726, good_ratio_and_clusters: 0.986005
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.21493, time_cv: 0.21883, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.205925, good_ratio: 0.964626, good_clusters: 0.984334, good_ratio_and_clusters: 0.988764
[       OK ] MATCHING.Scale150 (4386 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.29972, time_cv: 0.300061, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.199541, good_ratio: 0.953692, good_clusters: 0.970787, good_ratio_and_clusters: 0.975484
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.286001, time_cv: 0.277963, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.196146, good_ratio: 0.95245, good_clusters: 0.976378, good_ratio_and_clusters: 0.976119
[       OK ] MATCHING.Scale175 (5877 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.311276, time_cv: 0.317097, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.221995, good_ratio: 0.975, good_clusters: 0.994071, good_ratio_and_clusters: 0.991822
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.313694, time_cv: 0.311599, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.232672, good_ratio: 0.976514, good_clusters: 0.994012, good_ratio_and_clusters: 0.996169
[       OK ] MATCHING.Scale200 (6777 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089704, time_cv: 0.088717, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.173769, good_ratio: 0.973054, good_clusters: 0.980583, good_ratio_and_clusters: 0.995363
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083871, time_cv: 0.08535, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.17285, good_ratio: 0.976589, good_clusters: 0.987069, good_ratio_and_clusters: 0.998282
[       OK ] MATCHING.Rotate10Scale90 (2026 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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.073205, time_cv: 0.072794, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.117122, good_ratio: 0.960265, good_clusters: 1, good_ratio_and_clusters: 0.993103
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...
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.067608, time_cv: 0.06657, time_bruteforce: 0, time_bruteforce_gpu: skipped, good_nn: 0.120219, good_ratio: 0.94878, good_clusters: 0.907407, good_ratio_and_clusters: 0.989796
[       OK ] MATCHING.Rotate30Scale75 (1618 ms)
[----------] 18 tests from MATCHING (55220 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
bbox: [1279.95, 640.008], [0, 0]
[       OK ] STITCHING.SimplePanorama (303 ms)
[ RUN      ] STITCHING.Orthophoto
bbox: [1306.54, 1925.24], [-231.599, -295.929]
bbox: [1174.89, 864], [-242.998, -992.041]
n stable ortho kpts: : 21937
[       OK ] STITCHING.Orthophoto (11568 ms)
[----------] 2 tests from STITCHING (11871 ms total)

[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (67092 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