Skip to content

Task02 Иван Осокин ИТМО#43

Open
ivan0sokin wants to merge 11 commits intoPhotogrammetryCourse:task02from
ivan0sokin:task02
Open

Task02 Иван Осокин ИТМО#43
ivan0sokin wants to merge 11 commits intoPhotogrammetryCourse:task02from
ivan0sokin:task02

Conversation

@ivan0sokin
Copy link

@ivan0sokin ivan0sokin commented Mar 18, 2026

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

  1. Сделал на гпу брутфорс, но зашло на убунте только со строгим сравнением (локально работало и так)

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

Чтобы заранее работать с меньшим количеством матчей. Да, RANSAC их откинет, но будет работать значительно дольше, так как он зависит от доли хороших матчей. Лучше сначала лёгкими эвристиками выкинуть лишние.

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

Cluster filtering может оставить плохие матчи, например неправильные матчи на клетчатой поверхности, ну или если совсем далеко расположены матчи.
Ratio test тоже не любит плитку, он может сматчить похожие локально плитки, но они будут явно отличаться местоположением в мире (где-то такая картинка на лекции была).

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

Там иногда может стоять значение очень близкое, но не равное нулю (какая-то дикая перспектива). И если мы поставим единицу, то сломаем матрицу гомографии (она будет просто выдавать неправильные значения при применении к векторам). Фиксится это так: делаем SVD.

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

Накапливается ошибка от корня до какого-нибудь листа. Матрица гомографии и так шумная, дак ещё мы преобразования делаем от корня до картинки. Если выбрать специальным образом где-нибудь в незаметном месте картинку за корень, то пойдут большие искажения на то, на что мы хотим смотреть.

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

Наивно по дз: запускаем поиск панорамы для i, i + 1 картинки, получаем склеенную и идём матчить большую картинку со следующей).
Чуть менее наивно: можно засунуть картинки в один большой массив, потом смотреть какие пары кадров лучше всего матчатся, отталкиваться от этого. Взять какой-то кадр за корень и оставлять ребро только туда, где больше всего матчей.

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

Сложно: a-contario (не сделал).
Было нелегко сразу понять какие значения ставить для flann'a, я залез до Index в opencv, и взял оттуда дефолтные значения. Ещё было совсем неочевидно, что knnSearch возвращает квадрат расстояний (возможно я плохо гуглил, но до этого сложно догадаться), поэтому ломался threshold для ratio test.

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...
estimateHomographyRANSAC : support: 1004/1004
estimateHomographyRANSAC : best support: 1004/1004
keypoints RMSE: 0.291421, color RMSE: 10.1261
testing my detector/descriptor...
estimateHomographyRANSAC : support: 345/839
estimateHomographyRANSAC : support: 839/839
estimateHomographyRANSAC : best support: 839/839
keypoints RMSE: 0.17405, color RMSE: 7.22388
[       OK ] MATCHING.SimpleStitching (1954 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
brute force GPU 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: 839/1005
estimateHomographyRANSAC : support: 1005/1005
estimateHomographyRANSAC : best support: 1005/1005
evaluating homography...
nn_score: 0.623373, nn2_score: 0.27456, nn_score_cv: 0.608574, nn2_score_cv: 0.27456, time_my: 0.078111, time_cv: 0.078246, time_bruteforce: 4.73741, time_bruteforce_gpu: 9.05261, good_nn: 0.258739, good_ratio: 0.987242, good_clusters: 0.98843, good_ratio_and_clusters: 0.99403
testing my detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3481, n train desc : 3119
brute force GPU 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: 773/841
estimateHomographyRANSAC : support: 841/841
estimateHomographyRANSAC : best support: 841/841
evaluating homography...
nn_score: 0.617351, nn2_score: 0.269176, nn_score_cv: 0.620799, nn2_score_cv: 0.279517, time_my: 0.068943, time_cv: 0.068506, time_bruteforce: 3.57836, time_bruteforce_gpu: 7.07193, good_nn: 0.239012, good_ratio: 0.958188, good_clusters: 0.972458, good_ratio_and_clusters: 0.97503
[       OK ] MATCHING.SimpleMatching (26213 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: 679/752
estimateHomographyRANSAC : support: 749/752
gauss: infinitely many solutions found
gauss: xs0: 592.989, 569.037, 586.909, 586.909, 
gauss: ys0: 504.529, 456.888, 516.331, 516.331, 
estimateHomographyRANSAC : best support: 749/752
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099534, time_cv: 0.100377, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.199796, good_ratio: 0.985658, good_clusters: 0.99187, good_ratio_and_clusters: 0.993351
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: 240/677
estimateHomographyRANSAC : support: 591/677
estimateHomographyRANSAC : support: 676/677
estimateHomographyRANSAC : best support: 676/677
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094854, time_cv: 0.095113, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.203103, good_ratio: 0.982634, good_clusters: 0.976253, good_ratio_and_clusters: 0.98966
[       OK ] MATCHING.Rotate10 (2410 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: 591/758
estimateHomographyRANSAC : support: 666/758
estimateHomographyRANSAC : support: 757/758
gauss: infinitely many solutions found
gauss: xs0: 697.689, 697.689, 671.836, 545.3, 
gauss: ys0: 456.498, 456.498, 461.838, 557.608, 
estimateHomographyRANSAC : support: 758/758
estimateHomographyRANSAC : best support: 758/758
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099364, time_cv: 0.100652, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.189334, good_ratio: 0.923274, good_clusters: 0.90051, good_ratio_and_clusters: 0.937995
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: 545/684
estimateHomographyRANSAC : support: 675/684
estimateHomographyRANSAC : support: 677/684
estimateHomographyRANSAC : support: 684/684
estimateHomographyRANSAC : best support: 684/684
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093271, time_cv: 0.093567, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.207699, good_ratio: 0.977401, good_clusters: 0.958549, good_ratio_and_clusters: 0.995614
[       OK ] MATCHING.Rotate20 (2367 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: 376/742
estimateHomographyRANSAC : support: 434/742
estimateHomographyRANSAC : support: 457/742
estimateHomographyRANSAC : support: 518/742
estimateHomographyRANSAC : support: 741/742
estimateHomographyRANSAC : best support: 741/742
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.099485, time_cv: 0.100279, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.19852, good_ratio: 0.988158, good_clusters: 0.979769, good_ratio_and_clusters: 0.995957
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: 462/660
estimateHomographyRANSAC : support: 627/660
estimateHomographyRANSAC : support: 660/660
estimateHomographyRANSAC : best support: 660/660
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093793, time_cv: 0.094893, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.204539, good_ratio: 0.983824, good_clusters: 0.98374, good_ratio_and_clusters: 1
[       OK ] MATCHING.Rotate30 (2391 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: 93/742
estimateHomographyRANSAC : support: 321/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.100934, time_cv: 0.101044, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.194182, good_ratio: 0.961792, good_clusters: 0.96144, good_ratio_and_clusters: 0.973046
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: 666/666
estimateHomographyRANSAC : best support: 666/666
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094661, time_cv: 0.093887, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.204826, good_ratio: 0.984012, good_clusters: 0.98913, good_ratio_and_clusters: 0.998498
[       OK ] MATCHING.Rotate40 (2358 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: 706/746
estimateHomographyRANSAC : support: 726/746
estimateHomographyRANSAC : support: 745/746
estimateHomographyRANSAC : best support: 745/746
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.101245, time_cv: 0.101074, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.192651, good_ratio: 0.961892, good_clusters: 0.974212, good_ratio_and_clusters: 0.97319
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: 668/668
estimateHomographyRANSAC : best support: 668/668
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.094985, time_cv: 0.094787, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.20339, good_ratio: 0.98105, good_clusters: 0.984375, good_ratio_and_clusters: 0.992515
[       OK ] MATCHING.Rotate45 (2395 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: 757/828
estimateHomographyRANSAC : support: 827/828
estimateHomographyRANSAC : best support: 827/828
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089408, time_cv: 0.089102, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.216892, good_ratio: 0.988194, good_clusters: 0.988345, good_ratio_and_clusters: 0.996377
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: 737/737
estimateHomographyRANSAC : best support: 737/737
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083225, time_cv: 0.083719, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.222063, good_ratio: 0.990765, good_clusters: 0.98533, good_ratio_and_clusters: 1
[       OK ] MATCHING.Rotate90 (2230 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: 27/159
estimateHomographyRANSAC : support: 111/159
estimateHomographyRANSAC : support: 126/159
estimateHomographyRANSAC : support: 153/159
estimateHomographyRANSAC : support: 159/159
estimateHomographyRANSAC : best support: 159/159
evaluating homography...
too few matches: 2
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.048897, time_cv: 0.048246, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.0433784, good_ratio: 0.877095, good_clusters: 0, good_ratio_and_clusters: 0.974843
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: 128/135
estimateHomographyRANSAC : support: 135/135
estimateHomographyRANSAC : best support: 135/135
evaluating homography...
too few matches: 6
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.044173, time_cv: 0.043821, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.0396438, good_ratio: 0.902778, good_clusters: 0, good_ratio_and_clusters: 0.962963
[       OK ] MATCHING.Scale50 (1238 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: 301/371
estimateHomographyRANSAC : support: 371/371
estimateHomographyRANSAC : best support: 371/371
evaluating homography...
too few matches: 31
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.062236, time_cv: 0.061923, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.100791, good_ratio: 0.981627, 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: 291/329
estimateHomographyRANSAC : support: 329/329
estimateHomographyRANSAC : best support: 329/329
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.057014, time_cv: 0.057423, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.100259, good_ratio: 0.950725, good_clusters: 0.944444, good_ratio_and_clusters: 0.987842
[       OK ] MATCHING.Scale70 (1538 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: 72/649
estimateHomographyRANSAC : support: 558/649
estimateHomographyRANSAC : support: 649/649
estimateHomographyRANSAC : best support: 649/649
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.080692, time_cv: 0.081152, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.162797, good_ratio: 0.931921, good_clusters: 0.910204, good_ratio_and_clusters: 0.942989
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: 482/597
estimateHomographyRANSAC : support: 597/597
estimateHomographyRANSAC : best support: 597/597
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.07472, time_cv: 0.07384, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.177535, good_ratio: 0.98366, good_clusters: 0.948617, good_ratio_and_clusters: 0.99665
[       OK ] MATCHING.Scale90 (2052 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: 647/782
estimateHomographyRANSAC : support: 782/782
estimateHomographyRANSAC : best support: 782/782
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.11113, time_cv: 0.111072, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.208727, good_ratio: 0.9875, good_clusters: 0.981609, good_ratio_and_clusters: 0.997442
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: 97/700
estimateHomographyRANSAC : support: 448/700
estimateHomographyRANSAC : support: 644/700
estimateHomographyRANSAC : support: 700/700
estimateHomographyRANSAC : best support: 700/700
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.103203, time_cv: 0.103479, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.209997, good_ratio: 0.981944, good_clusters: 0.981132, good_ratio_and_clusters: 0.995714
[       OK ] MATCHING.Scale110 (2612 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: 771/829
estimateHomographyRANSAC : support: 828/829
estimateHomographyRANSAC : support: 829/829
estimateHomographyRANSAC : best support: 829/829
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.154925, time_cv: 0.155598, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.217147, good_ratio: 0.971963, good_clusters: 0.991919, good_ratio_and_clusters: 0.987937
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: 154/740
estimateHomographyRANSAC : support: 711/740
estimateHomographyRANSAC : support: 740/740
estimateHomographyRANSAC : best support: 740/740
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.157477, time_cv: 0.159237, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.215455, good_ratio: 0.942333, good_clusters: 0.948661, good_ratio_and_clusters: 0.954054
[       OK ] MATCHING.Scale130 (3491 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: 780/781
estimateHomographyRANSAC : support: 781/781
estimateHomographyRANSAC : best support: 781/781
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.221045, time_cv: 0.226482, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.203113, good_ratio: 0.962547, good_clusters: 0.981172, good_ratio_and_clusters: 0.975672
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/704
estimateHomographyRANSAC : support: 702/704
estimateHomographyRANSAC : support: 704/704
estimateHomographyRANSAC : best support: 704/704
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.213647, time_cv: 0.210166, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.205688, good_ratio: 0.979079, good_clusters: 0.974299, good_ratio_and_clusters: 0.988636
[       OK ] MATCHING.Scale150 (4656 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: 450/766
estimateHomographyRANSAC : support: 765/766
estimateHomographyRANSAC : best support: 765/766
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.295103, time_cv: 0.282362, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.197244, good_ratio: 0.957854, good_clusters: 0.98022, good_ratio_and_clusters: 0.968668
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: 93/667
estimateHomographyRANSAC : support: 619/667
estimateHomographyRANSAC : support: 666/667
estimateHomographyRANSAC : best support: 666/667
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.278195, time_cv: 0.275857, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.198219, good_ratio: 0.966374, good_clusters: 0.971765, good_ratio_and_clusters: 0.974513
[       OK ] MATCHING.Scale175 (6202 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: 850/853
estimateHomographyRANSAC : support: 851/853
estimateHomographyRANSAC : best support: 851/853
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.317131, time_cv: 0.323966, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.222251, good_ratio: 0.987327, good_clusters: 0.989051, good_ratio_and_clusters: 0.992966
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: 162/771
estimateHomographyRANSAC : support: 746/771
estimateHomographyRANSAC : support: 769/771
estimateHomographyRANSAC : support: 770/771
estimateHomographyRANSAC : support: 771/771
estimateHomographyRANSAC : best support: 771/771
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.310329, time_cv: 0.309293, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.230394, good_ratio: 0.987342, good_clusters: 0.986355, good_ratio_and_clusters: 0.996109
[       OK ] MATCHING.Scale200 (7170 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: 637/637
estimateHomographyRANSAC : best support: 637/637
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.089688, time_cv: 0.089144, time_bruteforce: 1e-06, time_bruteforce_gpu: 0, good_nn: 0.173769, good_ratio: 0.980122, good_clusters: 0.987654, good_ratio_and_clusters: 0.993721
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: 344/579
estimateHomographyRANSAC : support: 579/579
estimateHomographyRANSAC : best support: 579/579
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.083025, time_cv: 0.08292, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.164608, good_ratio: 0.924115, good_clusters: 0.932331, good_ratio_and_clusters: 0.937824
[       OK ] MATCHING.Rotate10Scale90 (2162 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: 157/431
estimateHomographyRANSAC : support: 311/431
estimateHomographyRANSAC : support: 429/431
gauss: infinitely many solutions found
gauss: xs0: 613.438, 641.098, 705.649, 705.649, 
gauss: ys0: 475.97, 600.161, 423.375, 423.375, 
estimateHomographyRANSAC : best support: 429/431
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.07334, time_cv: 0.072278, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.113294, good_ratio: 0.943567, good_clusters: 0.977778, good_ratio_and_clusters: 0.965197
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: 112/381
estimateHomographyRANSAC : support: 177/381
estimateHomographyRANSAC : support: 184/381
estimateHomographyRANSAC : support: 338/381
estimateHomographyRANSAC : support: 379/381
estimateHomographyRANSAC : best support: 379/381
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.067042, time_cv: 0.066383, time_bruteforce: 0, time_bruteforce_gpu: 0, good_nn: 0.116633, good_ratio: 0.934177, good_clusters: 0.910256, good_ratio_and_clusters: 0.963255
[       OK ] MATCHING.Rotate30Scale75 (1747 ms)
[----------] 18 tests from MATCHING (75187 ms total)

[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
estimateHomographyRANSAC : support: 1004/1006
estimateHomographyRANSAC : support: 1005/1006
estimateHomographyRANSAC : best support: 1005/1006
bbox: [1283.46, 640.172], [0, -4.58968]
[       OK ] STITCHING.SimplePanorama (1080 ms)
[ RUN      ] STITCHING.Orthophoto
estimateHomographyRANSAC : support: 17/1288
estimateHomographyRANSAC : support: 50/1288
estimateHomographyRANSAC : support: 222/1288
estimateHomographyRANSAC : support: 401/1288
estimateHomographyRANSAC : support: 440/1288
estimateHomographyRANSAC : support: 447/1288
estimateHomographyRANSAC : support: 450/1288
estimateHomographyRANSAC : best support: 450/1288
estimateHomographyRANSAC : support: 5/928
estimateHomographyRANSAC : support: 8/928
estimateHomographyRANSAC : support: 14/928
estimateHomographyRANSAC : support: 31/928
estimateHomographyRANSAC : support: 373/928
estimateHomographyRANSAC : support: 404/928
estimateHomographyRANSAC : support: 428/928
estimateHomographyRANSAC : best support: 428/928
estimateHomographyRANSAC : support: 318/1956
estimateHomographyRANSAC : support: 492/1956
estimateHomographyRANSAC : best support: 492/1956
estimateHomographyRANSAC : support: 28/1127
estimateHomographyRANSAC : support: 70/1127
estimateHomographyRANSAC : support: 420/1127
estimateHomographyRANSAC : support: 464/1127
estimateHomographyRANSAC : best support: 464/1127
bbox: [1348.33, 1827.05], [-208.512, -498.813]
estimateHomographyRANSAC : support: 16/982
estimateHomographyRANSAC : support: 145/982
estimateHomographyRANSAC : support: 178/982
estimateHomographyRANSAC : support: 363/982
estimateHomographyRANSAC : support: 382/982
estimateHomographyRANSAC : best support: 382/982
estimateHomographyRANSAC : support: 76/1268
estimateHomographyRANSAC : support: 175/1268
estimateHomographyRANSAC : support: 378/1268
estimateHomographyRANSAC : support: 555/1268
estimateHomographyRANSAC : best support: 555/1268
estimateHomographyRANSAC : support: 67/1949
estimateHomographyRANSAC : support: 524/1949
estimateHomographyRANSAC : support: 586/1949
estimateHomographyRANSAC : best support: 586/1949
estimateHomographyRANSAC : support: 74/1129
estimateHomographyRANSAC : support: 133/1129
estimateHomographyRANSAC : support: 347/1129
estimateHomographyRANSAC : support: 408/1129
estimateHomographyRANSAC : support: 451/1129
estimateHomographyRANSAC : support: 467/1129
estimateHomographyRANSAC : best support: 467/1129
bbox: [1152, 864], [-241.8, -1011.65]
n stable ortho kpts: : 19486
[       OK ] STITCHING.Orthophoto (20912 ms)
[----------] 2 tests from STITCHING (21992 ms total)

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