Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task01 Артём Трубников СПбГУ #28

Closed
wants to merge 2 commits into from

Conversation

MForest7
Copy link

@MForest7 MForest7 commented Oct 4, 2024

  1. Почему SIFT менее точно угадывает средний угол отклонения? изменяется ли ситуация если выкрутить параметр ORIENTATION_VOTES_PEAK_RATIO=0.999? почему?

Поскольку при приближении ORIENTATION_VOTES_PEAK_RATIO к 1 точность угадывания возрастает. Поскольку это изменение должно приводить к тому, что для каждой точки определяется ровно один угол (это коррелирует с наблюдением, что стало находиться примерно на 10% меньше точек). Возможно, проблема связана с тем, что в тестах мы сопоставляем точку с ближайшей на картинке и, как следствие, если получили несколько разных углов в одной точке, сопоставим все дескрипторы из этой точки с одним и тем же, поэтому получим большой разброс углов.

  1. Как надежно замерить во сколько раз распараллеливание через OpenMP ускоряет ваш вариант SIFT? Попробуйте сделать это на вашем компьютере, какое ускорение относительно однопоточной версии оказалось? Сколько у вашего процессора ядер и сколько потоков?

Добавил тумблер для настройки использования OpenMP. На моём компьютере с 4 ядрами (8 логических ядер) параллельность ускоряет sift в 2-2.5 раза на всех тестах.

  1. Правда ли можно строить каждый слой в Gaussian пирамиде из самого первого слоя этой октавы? Или нужно обязательно делать так как предложено в статье - дополняя размытие предыдущего слоя этой октавы? Совпадают ли пирамиды визуально?

Визуально разница не заметна, что соответствует математическим свойствам размытия по Гауссу. (хотя в силу погрешности floating-point значения должны незначительно отличаться)

  1. Какие ожидания от картинок в Gaussian пирамиде можно придумать? Как проверить что работает корректно? С какой другой картинкой предыдущей октавы должна визуально совпадать конкретная картинка конкретной октавы? Как их визуально сравнить, ведь они разного размера?

Так как на s+1-й картинке i-й октавы степень размытия удваивается, то s+1, s+2 и s+3 картинки i-й октавы должны совпадать с первыми тремя картинками i+1-й октавы. Чтобы сравнить, можно картинки i-й октавы уменьшить в 2 раза.

  1. Почему в октаве Gaussian пирамиды s+3 картинки а не s+2 например?

Так как хотим получить s значимых картинок в DoG, в DoG должно быть s+2 картинки. Тогда в октаве - s+3.

  1. Какие ожидания от картинок в DoG пирамиде можно придумать?

Картинки должны быть почти полностью чёрные, относительно более светлыми на них должны быть только границы объектов, которые по размеру не намного меньше ядра размытия.

  1. Почему порог контрастности должен уменьшаться при увеличении числа слоев в октаве?

Так как сумма всех слоёв DoG пирамиды - это исходная картинка минус средняя яркость - не зависит от числа слоёв, то слои в среднем становятся менее яркими при увеличении их количества.

  1. Какая строка ответственна за определение сигмы (или что почти то же самое - радиуса) которая задает окрестность по которой определяется ориентация ключевой точки?
int oriRadius = (int)(ORIENTATION_WINDOW_R * (1.0 + k * (layer - 1)));
  1. За какой строки вашего кода дескриптор инвариантен к повороту картинки?
orientation -= angle;

в buildDescriptor

Github Actions CI

Running main() from /home/runner/work/PhotogrammetryTasks2024/PhotogrammetryTasks2024/libs/3rdparty/libgtest/googletest/src/gtest_main.cc
[==========] Running 22 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 22 tests from SIFT
[ RUN      ] SIFT.MovedTheSameImage
[ORB_OCV] Points detected: 500 -> 500 (in 0.016016 sec)
[ORB_OCV] 493/500 (recall=0.986) with average error=0.0520289
[ORB_OCV] average size ratio between matched points: 1.00185
[ORB_OCV] average angle difference between matched points: 0.145135 degrees
[ORB_OCV] average descriptor distance between matched points: 8.8073 (random distance: 127.325) => differentiability=0.0691721
[SIFTOCV] Points detected: 453 -> 465 (in 0.094857 sec)
[SIFTOCV] 436/453 (recall=0.962472) with average error=0.0435686
[SIFTOCV] average size ratio between matched points: 0.998252
[SIFTOCV] average angle difference between matched points: -4.7478 degrees
[SIFTOCV] average descriptor distance between matched points: 90.3355 (random distance: 523.008) => differentiability=0.172723
[SIFT_MY] Points detected: 1224 -> 1244 (in 2.03422 sec)
[SIFT_MY] 1200/1224 (recall=0.980392) with average error=0.0933758
[SIFT_MY] average size ratio between matched points: 0.998203
[SIFT_MY] average angle difference between matched points: -4.56832 degrees
[SIFT_MY] average descriptor distance between matched points: 1.02717 (random distance: 4.06738) => differentiability=0.252538
[       OK ] SIFT.MovedTheSameImage (2232 ms)
[ RUN      ] SIFT.MovedImageRight
[ORB_OCV] Points detected: 500 -> 500 (in 0.014313 sec)
[ORB_OCV] 471/500 (recall=0.942) with average error=0.502929
[ORB_OCV] average size ratio between matched points: 0.992385
[ORB_OCV] average angle difference between matched points: -0.67963 degrees
[ORB_OCV] average descriptor distance between matched points: 31.7219 (random distance: 127.724) => differentiability=0.248363
[SIFTOCV] Points detected: 453 -> 447 (in 0.088102 sec)
[SIFTOCV] 421/442 (recall=0.952489) with average error=0.107924
[SIFTOCV] average size ratio between matched points: 1.01134
[SIFTOCV] average angle difference between matched points: -3.58242 degrees
[SIFTOCV] average descriptor distance between matched points: 90.1555 (random distance: 527.86) => differentiability=0.170794
[SIFT_MY] Points detected: 1224 -> 1239 (in 2.09918 sec)
[SIFT_MY] 1144/1185 (recall=0.965401) with average error=0.104468
[SIFT_MY] average size ratio between matched points: 0.995129
[SIFT_MY] average angle difference between matched points: -3.38224 degrees
[SIFT_MY] average descriptor distance between matched points: 1.18623 (random distance: 4.03048) => differentiability=0.294314
[       OK ] SIFT.MovedImageRight (2282 ms)
[ RUN      ] SIFT.MovedImageLeft
[ORB_OCV] Points detected: 500 -> 500 (in 0.014412 sec)
[ORB_OCV] 466/498 (recall=0.935743) with average error=0.485198
[ORB_OCV] average size ratio between matched points: 1.0061
[ORB_OCV] average angle difference between matched points: -2.01597 degrees
[ORB_OCV] average descriptor distance between matched points: 30.279 (random distance: 126.457) => differentiability=0.239441
[SIFTOCV] Points detected: 453 -> 447 (in 0.087974 sec)
[SIFTOCV] 417/441 (recall=0.945578) with average error=0.0855277
[SIFTOCV] average size ratio between matched points: 0.997577
[SIFTOCV] average angle difference between matched points: -6.43682 degrees
[SIFTOCV] average descriptor distance between matched points: 97.5722 (random distance: 523.97) => differentiability=0.186217
[SIFT_MY] Points detected: 1224 -> 1143 (in 1.90006 sec)
[SIFT_MY] 1035/1104 (recall=0.9375) with average error=0.112912
[SIFT_MY] average size ratio between matched points: 0.995458
[SIFT_MY] average angle difference between matched points: -4.53828 degrees
[SIFT_MY] average descriptor distance between matched points: 1.19185 (random distance: 4.04127) => differentiability=0.29492
[       OK ] SIFT.MovedImageLeft (2083 ms)
[ RUN      ] SIFT.MovedImageUpHalfPixel
[ORB_OCV] Points detected: 500 -> 500 (in 0.014226 sec)
[ORB_OCV] 460/497 (recall=0.925553) with average error=0.710802
[ORB_OCV] average size ratio between matched points: 1.01167
[ORB_OCV] average angle difference between matched points: 0.857323 degrees
[ORB_OCV] average descriptor distance between matched points: 42.9087 (random distance: 123.602) => differentiability=0.347152
[SIFTOCV] Points detected: 453 -> 504 (in 0.08754 sec)
[SIFTOCV] 369/445 (recall=0.829213) with average error=0.396924
[SIFTOCV] average size ratio between matched points: 1.04453
[SIFTOCV] average angle difference between matched points: -3.55702 degrees
[SIFTOCV] average descriptor distance between matched points: 153.011 (random distance: 526.21) => differentiability=0.290779
[SIFT_MY] Points detected: 1224 -> 983 (in 1.95643 sec)
[SIFT_MY] 931/1099 (recall=0.847134) with average error=0.508719
[SIFT_MY] average size ratio between matched points: 1.02205
[SIFT_MY] average angle difference between matched points: -2.01144 degrees
[SIFT_MY] average descriptor distance between matched points: 2.12814 (random distance: 4.02796) => differentiability=0.528341
[       OK ] SIFT.MovedImageUpHalfPixel (2139 ms)
[ RUN      ] SIFT.MovedImageDownHalfPixel
[ORB_OCV] Points detected: 500 -> 500 (in 0.014262 sec)
[ORB_OCV] 442/478 (recall=0.924686) with average error=0.648609
[ORB_OCV] average size ratio between matched points: 0.971097
[ORB_OCV] average angle difference between matched points: -1.00358 degrees
[ORB_OCV] average descriptor distance between matched points: 42.586 (random distance: 125.477) => differentiability=0.339392
[SIFTOCV] Points detected: 453 -> 505 (in 0.087503 sec)
[SIFTOCV] 377/439 (recall=0.85877) with average error=0.44313
[SIFTOCV] average size ratio between matched points: 1.04998
[SIFTOCV] average angle difference between matched points: -4.70645 degrees
[SIFTOCV] average descriptor distance between matched points: 166.33 (random distance: 523.378) => differentiability=0.3178
[SIFT_MY] Points detected: 1224 -> 1051 (in 1.90161 sec)
[SIFT_MY] 999/1201 (recall=0.831807) with average error=0.543068
[SIFT_MY] average size ratio between matched points: 1.02117
[SIFT_MY] average angle difference between matched points: -0.320511 degrees
[SIFT_MY] average descriptor distance between matched points: 2.10886 (random distance: 4.03521) => differentiability=0.522614
[       OK ] SIFT.MovedImageDownHalfPixel (2083 ms)
[ RUN      ] SIFT.Rotate10
[ORB_OCV] Points detected: 500 -> 500 (in 0.014332 sec)
[ORB_OCV] 475/500 (recall=0.95) with average error=0.932881
[ORB_OCV] average size ratio between matched points: 1.00527
[ORB_OCV] average angle difference between matched points: 8.46336 degrees
[ORB_OCV] average descriptor distance between matched points: 56.6295 (random distance: 122.783) => differentiability=0.461215
[SIFTOCV] Points detected: 453 -> 533 (in 0.087544 sec)
[SIFTOCV] 369/451 (recall=0.818182) with average error=0.472593
[SIFTOCV] average size ratio between matched points: 1.04212
[SIFTOCV] average angle difference between matched points: -1.87952 degrees
[SIFTOCV] average descriptor distance between matched points: 176.196 (random distance: 521.969) => differentiability=0.337561
[SIFT_MY] Points detected: 1224 -> 1015 (in 1.95597 sec)
[SIFT_MY] 949/1172 (recall=0.809727) with average error=0.612326
[SIFT_MY] average size ratio between matched points: 1.02761
[SIFT_MY] average angle difference between matched points: 0.47442 degrees
[SIFT_MY] average descriptor distance between matched points: 2.11964 (random distance: 4.04624) => differentiability=0.523855
[       OK ] SIFT.Rotate10 (2140 ms)
[ RUN      ] SIFT.Rotate20
[ORB_OCV] Points detected: 500 -> 500 (in 0.014247 sec)
[ORB_OCV] 456/491 (recall=0.928717) with average error=0.860867
[ORB_OCV] average size ratio between matched points: 0.968872
[ORB_OCV] average angle difference between matched points: 19.4252 degrees
[ORB_OCV] average descriptor distance between matched points: 58.3224 (random distance: 125.59) => differentiability=0.464387
[SIFTOCV] Points detected: 453 -> 537 (in 0.088389 sec)
[SIFTOCV] 355/443 (recall=0.801354) with average error=0.507026
[SIFTOCV] average size ratio between matched points: 1.06094
[SIFTOCV] average angle difference between matched points: -0.883312 degrees
[SIFTOCV] average descriptor distance between matched points: 180.204 (random distance: 526.309) => differentiability=0.342392
[SIFT_MY] Points detected: 1224 -> 959 (in 1.94646 sec)
[SIFT_MY] 877/1122 (recall=0.78164) with average error=0.727603
[SIFT_MY] average size ratio between matched points: 1.03174
[SIFT_MY] average angle difference between matched points: 9.8878 degrees
[SIFT_MY] average descriptor distance between matched points: 2.25684 (random distance: 4.06267) => differentiability=0.555506
[       OK ] SIFT.Rotate20 (2129 ms)
[ RUN      ] SIFT.Rotate30
[ORB_OCV] Points detected: 500 -> 500 (in 0.014421 sec)
[ORB_OCV] 446/479 (recall=0.931106) with average error=0.954674
[ORB_OCV] average size ratio between matched points: 0.971588
[ORB_OCV] average angle difference between matched points: 25.313 degrees
[ORB_OCV] average descriptor distance between matched points: 56.7668 (random distance: 125.177) => differentiability=0.453492
[SIFTOCV] Points detected: 453 -> 511 (in 0.088526 sec)
[SIFTOCV] 361/441 (recall=0.818594) with average error=0.629674
[SIFTOCV] average size ratio between matched points: 1.05297
[SIFTOCV] average angle difference between matched points: 4.7407 degrees
[SIFTOCV] average descriptor distance between matched points: 195.638 (random distance: 526.907) => differentiability=0.371295
[SIFT_MY] Points detected: 1224 -> 912 (in 2.02805 sec)
[SIFT_MY] 858/1092 (recall=0.785714) with average error=0.766861
[SIFT_MY] average size ratio between matched points: 1.02542
[SIFT_MY] average angle difference between matched points: 18.0026 degrees
[SIFT_MY] average descriptor distance between matched points: 2.27224 (random distance: 4.04497) => differentiability=0.561745
[       OK ] SIFT.Rotate30 (2212 ms)
[ RUN      ] SIFT.Rotate40
[ORB_OCV] Points detected: 500 -> 500 (in 0.014278 sec)
[ORB_OCV] 445/475 (recall=0.936842) with average error=0.927974
[ORB_OCV] average size ratio between matched points: 0.992927
[ORB_OCV] average angle difference between matched points: 35.1473 degrees
[ORB_OCV] average descriptor distance between matched points: 57.0315 (random distance: 125.292) => differentiability=0.455188
[SIFTOCV] Points detected: 453 -> 470 (in 0.089284 sec)
[SIFTOCV] 335/436 (recall=0.768349) with average error=0.722947
[SIFTOCV] average size ratio between matched points: 1.07134
[SIFTOCV] average angle difference between matched points: 12.1292 degrees
[SIFTOCV] average descriptor distance between matched points: 189.937 (random distance: 524.78) => differentiability=0.361937
[SIFT_MY] Points detected: 1224 -> 881 (in 1.88268 sec)
[SIFT_MY] 825/1070 (recall=0.771028) with average error=0.869916
[SIFT_MY] average size ratio between matched points: 1.03234
[SIFT_MY] average angle difference between matched points: 25.2203 degrees
[SIFT_MY] average descriptor distance between matched points: 2.38801 (random distance: 4.03614) => differentiability=0.591657
[       OK ] SIFT.Rotate40 (2066 ms)
[ RUN      ] SIFT.Rotate45
[ORB_OCV] Points detected: 500 -> 500 (in 0.014307 sec)
[ORB_OCV] 427/475 (recall=0.898947) with average error=0.913293
[ORB_OCV] average size ratio between matched points: 0.999695
[ORB_OCV] average angle difference between matched points: 40.7936 degrees
[ORB_OCV] average descriptor distance between matched points: 57.0351 (random distance: 126.834) => differentiability=0.449684
[SIFTOCV] Points detected: 453 -> 523 (in 0.088933 sec)
[SIFTOCV] 354/431 (recall=0.821346) with average error=0.708972
[SIFTOCV] average size ratio between matched points: 1.0578
[SIFTOCV] average angle difference between matched points: 21.2252 degrees
[SIFTOCV] average descriptor distance between matched points: 193.048 (random distance: 528.943) => differentiability=0.364969
[SIFT_MY] Points detected: 1224 -> 864 (in 1.92057 sec)
[SIFT_MY] 840/1070 (recall=0.785047) with average error=0.968916
[SIFT_MY] average size ratio between matched points: 1.03676
[SIFT_MY] average angle difference between matched points: 28.7906 degrees
[SIFT_MY] average descriptor distance between matched points: 2.46573 (random distance: 4.03142) => differentiability=0.611629
[       OK ] SIFT.Rotate45 (2105 ms)
[ RUN      ] SIFT.Rotate90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014247 sec)
[ORB_OCV] 406/475 (recall=0.854737) with average error=0.794018
[ORB_OCV] average size ratio between matched points: 0.926186
[ORB_OCV] average angle difference between matched points: 81.2045 degrees
[ORB_OCV] average descriptor distance between matched points: 52.2069 (random distance: 126.239) => differentiability=0.413556
[SIFTOCV] Points detected: 453 -> 429 (in 0.0862 sec)
[SIFTOCV] 397/428 (recall=0.92757) with average error=0.597669
[SIFTOCV] average size ratio between matched points: 0.994223
[SIFTOCV] average angle difference between matched points: 68.2509 degrees
[SIFTOCV] average descriptor distance between matched points: 109.39 (random distance: 522.253) => differentiability=0.209459
[SIFT_MY] Points detected: 1224 -> 1075 (in 1.95164 sec)
[SIFT_MY] 958/1060 (recall=0.903774) with average error=1.04078
[SIFT_MY] average size ratio between matched points: 0.99863
[SIFT_MY] average angle difference between matched points: 72.2494 degrees
[SIFT_MY] average descriptor distance between matched points: 1.17121 (random distance: 4.01426) => differentiability=0.291763
[       OK ] SIFT.Rotate90 (2132 ms)
[ RUN      ] SIFT.Scale50
[ORB_OCV] Points detected: 500 -> 500 (in 0.013775 sec)
[ORB_OCV] 463/500 (recall=0.926) with average error=0.927987
[ORB_OCV] average size ratio between matched points: 0.829127
[ORB_OCV] average angle difference between matched points: 2.9143 degrees
[ORB_OCV] average descriptor distance between matched points: 89.7322 (random distance: 124.84) => differentiability=0.718776
[SIFTOCV] Points detected: 453 -> 191 (in 0.083072 sec)
[SIFTOCV] 235/453 (recall=0.518764) with average error=1.81213
[SIFTOCV] average size ratio between matched points: 0.90594
[SIFTOCV] average angle difference between matched points: -0.218442 degrees
[SIFTOCV] average descriptor distance between matched points: 362.817 (random distance: 526.31) => differentiability=0.68936
[SIFT_MY] Points detected: 1224 -> 542 (in 1.66214 sec)
[SIFT_MY] 848/1224 (recall=0.69281) with average error=2.11248
[SIFT_MY] average size ratio between matched points: 1.03262
[SIFT_MY] average angle difference between matched points: 4.36916 degrees
[SIFT_MY] average descriptor distance between matched points: 3.81994 (random distance: 4.08529) => differentiability=0.935048
[       OK ] SIFT.Scale50 (1838 ms)
[ RUN      ] SIFT.Scale70
[ORB_OCV] Points detected: 500 -> 500 (in 0.016434 sec)
[ORB_OCV] 488/500 (recall=0.976) with average error=0.902066
[ORB_OCV] average size ratio between matched points: 0.884398
[ORB_OCV] average angle difference between matched points: 1.14689 degrees
[ORB_OCV] average descriptor distance between matched points: 70.2889 (random distance: 124.695) => differentiability=0.563688
[SIFTOCV] Points detected: 453 -> 335 (in 0.086691 sec)
[SIFTOCV] 307/453 (recall=0.677704) with average error=1.1649
[SIFTOCV] average size ratio between matched points: 0.92551
[SIFTOCV] average angle difference between matched points: -8.88537 degrees
[SIFTOCV] average descriptor distance between matched points: 272.272 (random distance: 530.603) => differentiability=0.513138
[SIFT_MY] Points detected: 1224 -> 691 (in 1.78477 sec)
[SIFT_MY] 802/1224 (recall=0.655229) with average error=1.52934
[SIFT_MY] average size ratio between matched points: 1.03644
[SIFT_MY] average angle difference between matched points: -4.01888 degrees
[SIFT_MY] average descriptor distance between matched points: 3.58555 (random distance: 4.08718) => differentiability=0.877269
[       OK ] SIFT.Scale70 (1967 ms)
[ RUN      ] SIFT.Scale90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014334 sec)
[ORB_OCV] 489/500 (recall=0.978) with average error=0.823308
[ORB_OCV] average size ratio between matched points: 0.970324
[ORB_OCV] average angle difference between matched points: -0.183516 degrees
[ORB_OCV] average descriptor distance between matched points: 60.3333 (random distance: 125.059) => differentiability=0.482438
[SIFTOCV] Points detected: 453 -> 469 (in 0.087471 sec)
[SIFTOCV] 354/453 (recall=0.781457) with average error=0.59984
[SIFTOCV] average size ratio between matched points: 1.00052
[SIFTOCV] average angle difference between matched points: -4.5203 degrees
[SIFTOCV] average descriptor distance between matched points: 193.204 (random distance: 523.29) => differentiability=0.369209
[SIFT_MY] Points detected: 1224 -> 975 (in 1.97679 sec)
[SIFT_MY] 977/1224 (recall=0.798203) with average error=0.863896
[SIFT_MY] average size ratio between matched points: 1.01171
[SIFT_MY] average angle difference between matched points: -2.80524 degrees
[SIFT_MY] average descriptor distance between matched points: 2.5985 (random distance: 4.0283) => differentiability=0.64506
[       OK ] SIFT.Scale90 (2158 ms)
[ RUN      ] SIFT.Scale110
[ORB_OCV] Points detected: 500 -> 500 (in 0.014317 sec)
[ORB_OCV] 462/500 (recall=0.924) with average error=0.912118
[ORB_OCV] average size ratio between matched points: 1.02967
[ORB_OCV] average angle difference between matched points: -0.905967 degrees
[ORB_OCV] average descriptor distance between matched points: 59.7468 (random distance: 125.225) => differentiability=0.477115
[SIFTOCV] Points detected: 453 -> 600 (in 0.089066 sec)
[SIFTOCV] 349/434 (recall=0.804147) with average error=0.534994
[SIFTOCV] average size ratio between matched points: 1.1646
[SIFTOCV] average angle difference between matched points: -4.57053 degrees
[SIFTOCV] average descriptor distance between matched points: 182.986 (random distance: 530.751) => differentiability=0.344769
[SIFT_MY] Points detected: 1224 -> 1026 (in 1.84513 sec)
[SIFT_MY] 891/1164 (recall=0.765464) with average error=0.517751
[SIFT_MY] average size ratio between matched points: 1.04566
[SIFT_MY] average angle difference between matched points: 0.488037 degrees
[SIFT_MY] average descriptor distance between matched points: 2.37282 (random distance: 4.05361) => differentiability=0.585361
[       OK ] SIFT.Scale110 (2029 ms)
[ RUN      ] SIFT.Scale130
[ORB_OCV] Points detected: 500 -> 500 (in 0.014265 sec)
[ORB_OCV] 400/475 (recall=0.842105) with average error=1.02537
[ORB_OCV] average size ratio between matched points: 1.10237
[ORB_OCV] average angle difference between matched points: -4.78444 degrees
[ORB_OCV] average descriptor distance between matched points: 67.4875 (random distance: 126.4) => differentiability=0.53392
[SIFTOCV] Points detected: 453 -> 705 (in 0.090903 sec)
[SIFTOCV] 324/409 (recall=0.792176) with average error=0.534364
[SIFTOCV] average size ratio between matched points: 1.36874
[SIFTOCV] average angle difference between matched points: -4.48225 degrees
[SIFTOCV] average descriptor distance between matched points: 173.002 (random distance: 530.946) => differentiability=0.325837
[SIFT_MY] Points detected: 1224 -> 1150 (in 2.01992 sec)
[SIFT_MY] 721/984 (recall=0.732724) with average error=0.62018
[SIFT_MY] average size ratio between matched points: 1.13981
[SIFT_MY] average angle difference between matched points: -3.00776 degrees
[SIFT_MY] average descriptor distance between matched points: 3.19154 (random distance: 4.03292) => differentiability=0.791373
[       OK ] SIFT.Scale130 (2212 ms)
[ RUN      ] SIFT.Scale150
[ORB_OCV] Points detected: 500 -> 500 (in 0.014543 sec)
[ORB_OCV] 325/445 (recall=0.730337) with average error=1.18695
[ORB_OCV] average size ratio between matched points: 1.16446
[ORB_OCV] average angle difference between matched points: -1.92861 degrees
[ORB_OCV] average descriptor distance between matched points: 75.4954 (random distance: 125.905) => differentiability=0.599624
[SIFTOCV] Points detected: 453 -> 796 (in 0.091609 sec)
[SIFTOCV] 283/387 (recall=0.731266) with average error=0.48326
[SIFTOCV] average size ratio between matched points: 1.57659
[SIFTOCV] average angle difference between matched points: -7.53255 degrees
[SIFTOCV] average descriptor distance between matched points: 170.593 (random distance: 533.13) => differentiability=0.319983
[SIFT_MY] Points detected: 1224 -> 1254 (in 2.1593 sec)
[SIFT_MY] 607/877 (recall=0.692132) with average error=0.901434
[SIFT_MY] average size ratio between matched points: 1.22204
[SIFT_MY] average angle difference between matched points: -0.254649 degrees
[SIFT_MY] average descriptor distance between matched points: 3.48657 (random distance: 4.04187) => differentiability=0.862612
[       OK ] SIFT.Scale150 (2349 ms)
[ RUN      ] SIFT.Scale175
[ORB_OCV] Points detected: 500 -> 500 (in 0.014531 sec)
[ORB_OCV] 235/380 (recall=0.618421) with average error=1.3217
[ORB_OCV] average size ratio between matched points: 1.25586
[ORB_OCV] average angle difference between matched points: 4.13008 degrees
[ORB_OCV] average descriptor distance between matched points: 84.1617 (random distance: 124.894) => differentiability=0.673867
[SIFTOCV] Points detected: 453 -> 860 (in 0.092381 sec)
[SIFTOCV] 273/354 (recall=0.771186) with average error=0.549137
[SIFTOCV] average size ratio between matched points: 1.80138
[SIFTOCV] average angle difference between matched points: -1.28444 degrees
[SIFTOCV] average descriptor distance between matched points: 176.811 (random distance: 520.652) => differentiability=0.339596
[SIFT_MY] Points detected: 1224 -> 1321 (in 2.42152 sec)
[SIFT_MY] 444/767 (recall=0.578879) with average error=1.10117
[SIFT_MY] average size ratio between matched points: 1.32902
[SIFT_MY] average angle difference between matched points: -0.00990293 degrees
[SIFT_MY] average descriptor distance between matched points: 3.64261 (random distance: 4.02977) => differentiability=0.903926
[       OK ] SIFT.Scale175 (2613 ms)
[ RUN      ] SIFT.Scale200
[ORB_OCV] Points detected: 500 -> 500 (in 0.014579 sec)
[ORB_OCV] 174/333 (recall=0.522523) with average error=1.36043
[ORB_OCV] average size ratio between matched points: 1.34374
[ORB_OCV] average angle difference between matched points: -3.78969 degrees
[ORB_OCV] average descriptor distance between matched points: 86.1954 (random distance: 126.011) => differentiability=0.684028
[SIFTOCV] Points detected: 453 -> 811 (in 0.09333 sec)
[SIFTOCV] 250/324 (recall=0.771605) with average error=0.545408
[SIFTOCV] average size ratio between matched points: 2.04147
[SIFTOCV] average angle difference between matched points: -8.163 degrees
[SIFTOCV] average descriptor distance between matched points: 150.935 (random distance: 525.969) => differentiability=0.286966
[SIFT_MY] Points detected: 1224 -> 1566 (in 2.58588 sec)
[SIFT_MY] 354/690 (recall=0.513043) with average error=1.5265
[SIFT_MY] average size ratio between matched points: 1.28133
[SIFT_MY] average angle difference between matched points: 4.26238 degrees
[SIFT_MY] average descriptor distance between matched points: 3.63938 (random distance: 3.96909) => differentiability=0.91693
[       OK ] SIFT.Scale200 (2780 ms)
[ RUN      ] SIFT.Rotate10Scale90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014266 sec)
[ORB_OCV] 486/500 (recall=0.972) with average error=0.862656
[ORB_OCV] average size ratio between matched points: 1.00909
[ORB_OCV] average angle difference between matched points: 12.1602 degrees
[ORB_OCV] average descriptor distance between matched points: 61.9033 (random distance: 126.477) => differentiability=0.489442
[SIFTOCV] Points detected: 453 -> 464 (in 0.087084 sec)
[SIFTOCV] 351/453 (recall=0.774834) with average error=0.660494
[SIFTOCV] average size ratio between matched points: 0.970697
[SIFTOCV] average angle difference between matched points: 0.36928 degrees
[SIFTOCV] average descriptor distance between matched points: 210.278 (random distance: 528.178) => differentiability=0.39812
[SIFT_MY] Points detected: 1224 -> 929 (in 1.92583 sec)
[SIFT_MY] 944/1219 (recall=0.774405) with average error=0.884692
[SIFT_MY] average size ratio between matched points: 1.03276
[SIFT_MY] average angle difference between matched points: -0.145256 degrees
[SIFT_MY] average descriptor distance between matched points: 2.60429 (random distance: 4.03519) => differentiability=0.645396
[       OK ] SIFT.Rotate10Scale90 (2107 ms)
[ RUN      ] SIFT.Rotate30Scale75
[ORB_OCV] Points detected: 500 -> 500 (in 0.014172 sec)
[ORB_OCV] 471/500 (recall=0.942) with average error=0.873322
[ORB_OCV] average size ratio between matched points: 0.882831
[ORB_OCV] average angle difference between matched points: 32.7295 degrees
[ORB_OCV] average descriptor distance between matched points: 68.9915 (random distance: 123.987) => differentiability=0.55644
[SIFTOCV] Points detected: 453 -> 373 (in 0.085808 sec)
[SIFTOCV] 318/453 (recall=0.701987) with average error=0.961622
[SIFTOCV] average size ratio between matched points: 0.958296
[SIFTOCV] average angle difference between matched points: 6.75176 degrees
[SIFTOCV] average descriptor distance between matched points: 241.741 (random distance: 528.552) => differentiability=0.457364
[SIFT_MY] Points detected: 1224 -> 726 (in 1.73065 sec)
[SIFT_MY] 835/1217 (recall=0.686113) with average error=1.43882
[SIFT_MY] average size ratio between matched points: 1.05588
[SIFT_MY] average angle difference between matched points: 6.90136 degrees
[SIFT_MY] average descriptor distance between matched points: 3.46856 (random distance: 4.05303) => differentiability=0.855795
[       OK ] SIFT.Rotate30Scale75 (1910 ms)
[ RUN      ] SIFT.HerzJesu19RotateM40
[ORB_OCV] Points detected: 500 -> 500 (in 0.227021 sec)
[ORB_OCV] 494/500 (recall=0.988) with average error=1.25431
[ORB_OCV] average size ratio between matched points: 1.00708
[ORB_OCV] average angle difference between matched points: -36.7101 degrees
[ORB_OCV] average descriptor distance between matched points: 48.3603 (random distance: 121.69) => differentiability=0.397405
[SIFTOCV] Points detected: 3154 -> 2639 (in 3.08354 sec)
[SIFTOCV] 2513/2588 (recall=0.97102) with average error=2.59085
[SIFTOCV] average size ratio between matched points: 1.07519
[SIFTOCV] average angle difference between matched points: -21.3234 degrees
[SIFTOCV] average descriptor distance between matched points: 188.891 (random distance: 524.107) => differentiability=0.360407
[SIFT_MY] Points detected: 20745 -> 13575 (in 58.8498 sec)
[SIFT_MY] 16987/17622 (recall=0.963965) with average error=4.95013
[SIFT_MY] average size ratio between matched points: 0.939871
[SIFT_MY] average angle difference between matched points: -14.0613 degrees
[SIFT_MY] average descriptor distance between matched points: 2.96769 (random distance: 3.88069) => differentiability=0.764734
[       OK ] SIFT.HerzJesu19RotateM40 (64638 ms)
[----------] 22 tests from SIFT (110205 ms total)

[----------] Global test environment tear-down
[==========] 22 tests from 1 test suite ran. (110205 ms total)
[  PASSED  ] 22 tests.

@PolarNick239
Copy link
Member

7/8 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants