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

Task02 Игорь Коркин СПбГУ #23

Closed
wants to merge 3 commits into from

Conversation

Jarlid
Copy link

@Jarlid Jarlid commented Jun 3, 2024

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

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

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

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

Перед использованием Ratio-теста у нас очень много мусорных мэтчей. Эти мусорные мэтчи, очевидно, далеко не всегда двигаются кластерами, а ещё засоряют рассматриваемых соседей у правильных мэтчей, из-за чего правильный мэтч может не прости CF.

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

Мы живем в предположении H33 = 1 для однозначности, ибо мы, по сути, можем всё на H33 поделить. Но тогда проблемы возникают в матрицах, где H33 = 0. Это мы обсуждали на лкеции, и там говорилось, что можно использовать SVD.

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

У нас все наши вычисления и склейки обладают неточностями. И если для одного-двух слоёв-склеек эти неточности терпимы, то для склейки-бамбука неточности будут накладываться друг на друга и становиться куда больше.

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

Если определить вес ребра, как "хорошесть" сопоставления картинок (например, количество мэтчей?), то можно построить максимальное остовное дерево, а корень выбрать, чтобы его глубина была минимальной (чтобы приколы из предыдущего вопроса были менее вероятны).

6) и 7)

Учёба убивает.

Travis CI

Travis CI

Я не понял, нужно прикладывать логи test_sift'а, но на всякий случай приложу.

test_sift

Run ./build/test_sift
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.015492 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.095737 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: 1909 -> 2032 (in 2.35683 sec)
[SIFT_MY] 1776/1909 (recall=0.93033) with average error=0.130677
[SIFT_MY] average size ratio between matched points: 1.00077
[SIFT_MY] average angle difference between matched points: -3.8298 degrees
[SIFT_MY] average descriptor distance between matched points: 1.57275 (random distance: 4.78582) => differentiability=0.328628
[       OK ] SIFT.MovedTheSameImage (2588 ms)
[ RUN      ] SIFT.MovedImageRight
[ORB_OCV] Points detected: 500 -> 500 (in 0.014078 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.087456 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: 1909 -> 1853 (in 2.17502 sec)
[SIFT_MY] 1610/1757 (recall=0.916335) with average error=0.136923
[SIFT_MY] average size ratio between matched points: 0.997912
[SIFT_MY] average angle difference between matched points: -2.88091 degrees
[SIFT_MY] average descriptor distance between matched points: 1.59233 (random distance: 4.78616) => differentiability=0.332694
[       OK ] SIFT.MovedImageRight (2360 ms)
[ RUN      ] SIFT.MovedImageLeft
[ORB_OCV] Points detected: 500 -> 500 (in 0.014022 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.088809 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: 1909 -> 1809 (in 2.2087 sec)
[SIFT_MY] 1513/1684 (recall=0.898456) with average error=0.152768
[SIFT_MY] average size ratio between matched points: 0.997546
[SIFT_MY] average angle difference between matched points: -4.97597 degrees
[SIFT_MY] average descriptor distance between matched points: 1.60578 (random distance: 4.77057) => differentiability=0.336602
[       OK ] SIFT.MovedImageLeft (2395 ms)
[ RUN      ] SIFT.MovedImageUpHalfPixel
[ORB_OCV] Points detected: 500 -> 500 (in 0.013973 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.087058 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: 1909 -> 1556 (in 2.18325 sec)
[SIFT_MY] 1400/1746 (recall=0.801833) with average error=0.783025
[SIFT_MY] average size ratio between matched points: 1.02136
[SIFT_MY] average angle difference between matched points: -1.30993 degrees
[SIFT_MY] average descriptor distance between matched points: 2.5803 (random distance: 4.78328) => differentiability=0.539443
[       OK ] SIFT.MovedImageUpHalfPixel (2369 ms)
[ RUN      ] SIFT.MovedImageDownHalfPixel
[ORB_OCV] Points detected: 500 -> 500 (in 0.014059 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.087381 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: 1909 -> 1499 (in 2.18582 sec)
[SIFT_MY] 1370/1785 (recall=0.767507) with average error=0.789686
[SIFT_MY] average size ratio between matched points: 1.01976
[SIFT_MY] average angle difference between matched points: -2.66203 degrees
[SIFT_MY] average descriptor distance between matched points: 2.49849 (random distance: 4.76763) => differentiability=0.524054
[       OK ] SIFT.MovedImageDownHalfPixel (2371 ms)
[ RUN      ] SIFT.Rotate10
[ORB_OCV] Points detected: 500 -> 500 (in 0.014166 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.088923 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: 1909 -> 1451 (in 2.25625 sec)
[SIFT_MY] 1329/1824 (recall=0.728618) with average error=0.788087
[SIFT_MY] average size ratio between matched points: 1.01936
[SIFT_MY] average angle difference between matched points: 0.666971 degrees
[SIFT_MY] average descriptor distance between matched points: 2.91509 (random distance: 4.80693) => differentiability=0.606435
[       OK ] SIFT.Rotate10 (2443 ms)
[ RUN      ] SIFT.Rotate20
[ORB_OCV] Points detected: 500 -> 500 (in 0.014141 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.087917 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: 1909 -> 1391 (in 2.11281 sec)
[SIFT_MY] 1250/1718 (recall=0.72759) with average error=0.862027
[SIFT_MY] average size ratio between matched points: 1.03365
[SIFT_MY] average angle difference between matched points: 11.4352 degrees
[SIFT_MY] average descriptor distance between matched points: 3.5048 (random distance: 4.80771) => differentiability=0.728996
[       OK ] SIFT.Rotate20 (2300 ms)
[ RUN      ] SIFT.Rotate30
[ORB_OCV] Points detected: 500 -> 500 (in 0.014028 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.088906 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: 1909 -> 1301 (in 2.25286 sec)
[SIFT_MY] 1213/1660 (recall=0.730723) with average error=0.930131
[SIFT_MY] average size ratio between matched points: 1.02634
[SIFT_MY] average angle difference between matched points: 16.2373 degrees
[SIFT_MY] average descriptor distance between matched points: 3.98399 (random distance: 4.78161) => differentiability=0.833189
[       OK ] SIFT.Rotate30 (2438 ms)
[ RUN      ] SIFT.Rotate40
[ORB_OCV] Points detected: 500 -> 500 (in 0.01415 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.087096 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: 1909 -> 1264 (in 2.09711 sec)
[SIFT_MY] 1182/1628 (recall=0.726044) with average error=1.01463
[SIFT_MY] average size ratio between matched points: 1.03245
[SIFT_MY] average angle difference between matched points: 25.8374 degrees
[SIFT_MY] average descriptor distance between matched points: 4.48131 (random distance: 4.79842) => differentiability=0.933913
[       OK ] SIFT.Rotate40 (2282 ms)
[ RUN      ] SIFT.Rotate45
[ORB_OCV] Points detected: 500 -> 500 (in 0.014128 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.088267 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: 1909 -> 1317 (in 2.12185 sec)
[SIFT_MY] 1184/1621 (recall=0.730413) with average error=1.01445
[SIFT_MY] average size ratio between matched points: 1.03046
[SIFT_MY] average angle difference between matched points: 29.0536 degrees
[SIFT_MY] average descriptor distance between matched points: 4.64482 (random distance: 4.82272) => differentiability=0.96311
[       OK ] SIFT.Rotate45 (2308 ms)
[ RUN      ] SIFT.Rotate90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014029 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.086805 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: 1909 -> 1664 (in 2.17475 sec)
[SIFT_MY] 1403/1588 (recall=0.883501) with average error=1.04546
[SIFT_MY] average size ratio between matched points: 1.00261
[SIFT_MY] average angle difference between matched points: 71.1292 degrees
[SIFT_MY] average descriptor distance between matched points: 5.18035 (random distance: 4.8525) => differentiability=1.06756
[       OK ] SIFT.Rotate90 (2360 ms)
[ RUN      ] SIFT.Scale50
[ORB_OCV] Points detected: 500 -> 500 (in 0.013736 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.084714 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: 1909 -> 723 (in 1.66873 sec)
[SIFT_MY] 1170/1909 (recall=0.612886) with average error=2.28076
[SIFT_MY] average size ratio between matched points: 1.03763
[SIFT_MY] average angle difference between matched points: 3.39644 degrees
[SIFT_MY] average descriptor distance between matched points: 4.26464 (random distance: 4.79177) => differentiability=0.889992
[       OK ] SIFT.Scale50 (1847 ms)
[ RUN      ] SIFT.Scale70
[ORB_OCV] Points detected: 500 -> 500 (in 0.013816 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.085944 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: 1909 -> 878 (in 1.83893 sec)
[SIFT_MY] 1034/1909 (recall=0.541645) with average error=1.57649
[SIFT_MY] average size ratio between matched points: 0.998417
[SIFT_MY] average angle difference between matched points: -1.81059 degrees
[SIFT_MY] average descriptor distance between matched points: 3.96467 (random distance: 4.78856) => differentiability=0.827947
[       OK ] SIFT.Scale70 (2019 ms)
[ RUN      ] SIFT.Scale90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014017 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.088026 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: 1909 -> 1326 (in 2.23549 sec)
[SIFT_MY] 1327/1909 (recall=0.695128) with average error=0.991623
[SIFT_MY] average size ratio between matched points: 1.01053
[SIFT_MY] average angle difference between matched points: -5.51007 degrees
[SIFT_MY] average descriptor distance between matched points: 2.98621 (random distance: 4.8037) => differentiability=0.621646
[       OK ] SIFT.Scale90 (2419 ms)
[ RUN      ] SIFT.Scale110
[ORB_OCV] Points detected: 500 -> 500 (in 0.014053 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.089376 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: 1909 -> 1511 (in 2.14548 sec)
[SIFT_MY] 1234/1750 (recall=0.705143) with average error=0.727345
[SIFT_MY] average size ratio between matched points: 1.04172
[SIFT_MY] average angle difference between matched points: -2.5221 degrees
[SIFT_MY] average descriptor distance between matched points: 2.76773 (random distance: 4.78234) => differentiability=0.578739
[       OK ] SIFT.Scale110 (2332 ms)
[ RUN      ] SIFT.Scale130
[ORB_OCV] Points detected: 500 -> 500 (in 0.014064 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.090209 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: 1909 -> 1762 (in 2.33016 sec)
[SIFT_MY] 951/1342 (recall=0.708644) with average error=0.776906
[SIFT_MY] average size ratio between matched points: 1.12374
[SIFT_MY] average angle difference between matched points: -5.02006 degrees
[SIFT_MY] average descriptor distance between matched points: 3.58562 (random distance: 4.73797) => differentiability=0.756785
[       OK ] SIFT.Scale130 (2520 ms)
[ RUN      ] SIFT.Scale150
[ORB_OCV] Points detected: 500 -> 500 (in 0.014288 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.092571 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: 1909 -> 2033 (in 2.61994 sec)
[SIFT_MY] 762/1126 (recall=0.676732) with average error=1.02564
[SIFT_MY] average size ratio between matched points: 1.19593
[SIFT_MY] average angle difference between matched points: -2.01788 degrees
[SIFT_MY] average descriptor distance between matched points: 3.96344 (random distance: 4.69177) => differentiability=0.844765
[       OK ] SIFT.Scale150 (2814 ms)
[ RUN      ] SIFT.Scale175
[ORB_OCV] Points detected: 500 -> 500 (in 0.014301 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.092876 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: 1909 -> 2089 (in 2.79918 sec)
[SIFT_MY] 522/915 (recall=0.570492) with average error=1.24535
[SIFT_MY] average size ratio between matched points: 1.28546
[SIFT_MY] average angle difference between matched points: -3.84854 degrees
[SIFT_MY] average descriptor distance between matched points: 4.15258 (random distance: 4.69587) => differentiability=0.884305
[       OK ] SIFT.Scale175 (2995 ms)
[ RUN      ] SIFT.Scale200
[ORB_OCV] Points detected: 500 -> 500 (in 0.014254 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.092693 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: 1909 -> 2523 (in 2.77656 sec)
[SIFT_MY] 421/787 (recall=0.534943) with average error=1.63622
[SIFT_MY] average size ratio between matched points: 1.24092
[SIFT_MY] average angle difference between matched points: 8.26832 degrees
[SIFT_MY] average descriptor distance between matched points: 4.16194 (random distance: 4.6956) => differentiability=0.886349
[       OK ] SIFT.Scale200 (2974 ms)
[ RUN      ] SIFT.Rotate10Scale90
[ORB_OCV] Points detected: 500 -> 500 (in 0.014039 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.087259 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: 1909 -> 1315 (in 2.04617 sec)
[SIFT_MY] 1288/1902 (recall=0.677182) with average error=0.998323
[SIFT_MY] average size ratio between matched points: 1.01565
[SIFT_MY] average angle difference between matched points: 1.83569 degrees
[SIFT_MY] average descriptor distance between matched points: 3.23761 (random distance: 4.80836) => differentiability=0.673331
[       OK ] SIFT.Rotate10Scale90 (2231 ms)
[ RUN      ] SIFT.Rotate30Scale75
[ORB_OCV] Points detected: 500 -> 500 (in 0.014016 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.086019 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: 1909 -> 943 (in 1.92719 sec)
[SIFT_MY] 1068/1896 (recall=0.563291) with average error=1.56374
[SIFT_MY] average size ratio between matched points: 0.999298
[SIFT_MY] average angle difference between matched points: 13.0554 degrees
[SIFT_MY] average descriptor distance between matched points: 4.36166 (random distance: 4.83074) => differentiability=0.902896
[       OK ] SIFT.Rotate30Scale75 (2110 ms)
[ RUN      ] SIFT.HerzJesu19RotateM40
[ORB_OCV] Points detected: 500 -> 500 (in 0.227247 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.02874 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: 28549 -> 20690 (in 80.6828 sec)
[SIFT_MY] 22818/22907 (recall=0.996115) with average error=2.65223
[SIFT_MY] average size ratio between matched points: 1.0076
[SIFT_MY] average angle difference between matched points: -21.6486 degrees
[SIFT_MY] average descriptor distance between matched points: 4.38932 (random distance: 4.67018) => differentiability=0.93986
[       OK ] SIFT.HerzJesu19RotateM40 (86756 ms)
[----------] 22 tests from SIFT (137232 ms total)

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

test_matching

Run ./build/test_matching
Running main() from /home/runner/work/PhotogrammetryTasks2024/PhotogrammetryTasks2024/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: 1005/1005
estimateHomographyRANSAC : best support: 1005/1005
keypoints RMSE: 0.116314, color RMSE: 5.6938
[       OK ] MATCHING.SimpleStitching (649 ms)
[ RUN      ] MATCHING.SimpleMatching
testing sift detector/descriptor...
flann matching...
cv flann matching...
brute force matching
BruteforceMatcher::knnMatch : n query desc : 3919, n train desc : 3522
filtering matches by ratio test...
filtering matches by clusters...
filtering matches by ratio & clusters
estimating homography...
estimateHomographyRANSAC : support: 1005/1005
estimateHomographyRANSAC : best support: 1005/1005
evaluating homography...
nn_score: 0.610615, nn2_score: 0.26716, nn_score_cv: 0.613167, nn2_score_cv: 0.266139, time_my: 0.070082, time_cv: 0.069205, time_bruteforce: 4.43826, good_nn: 0.260015, good_ratio: 0.970392, good_clusters: 0.996587, good_ratio_and_clusters: 0.999005
[       OK ] MATCHING.SimpleMatching (4922 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: 755/758
estimateHomographyRANSAC : best support: 755/758
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.085899, time_cv: 0.086203, time_bruteforce: 0, good_nn: 0.180403, good_ratio: 0.870927, good_clusters: 0.917127, good_ratio_and_clusters: 0.912929
[       OK ] MATCHING.Rotate10 (660 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: 766/766
estimateHomographyRANSAC : best support: 766/766
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.086114, time_cv: 0.086925, time_bruteforce: 0, good_nn: 0.201582, good_ratio: 0.941748, good_clusters: 0.967254, good_ratio_and_clusters: 0.994778
[       OK ] MATCHING.Rotate20 (637 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: 750/751
estimateHomographyRANSAC : best support: 750/751
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.086439, time_cv: 0.086574, time_bruteforce: 0, good_nn: 0.182445, good_ratio: 0.880202, good_clusters: 0.913649, good_ratio_and_clusters: 0.921438
[       OK ] MATCHING.Rotate30 (663 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: 754/754
estimateHomographyRANSAC : best support: 754/754
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.08702, time_cv: 0.086598, time_bruteforce: 0, good_nn: 0.196224, good_ratio: 0.949495, good_clusters: 0.9729, good_ratio_and_clusters: 0.984085
[       OK ] MATCHING.Rotate40 (639 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: 685/765
estimateHomographyRANSAC : support: 764/765
estimateHomographyRANSAC : best support: 764/765
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.087347, time_cv: 0.086657, time_bruteforce: 0, good_nn: 0.200561, good_ratio: 0.957764, good_clusters: 0.988372, good_ratio_and_clusters: 0.996078
[       OK ] MATCHING.Rotate45 (669 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: 631/831
estimateHomographyRANSAC : support: 759/831
estimateHomographyRANSAC : support: 830/831
estimateHomographyRANSAC : best support: 830/831
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.077843, time_cv: 0.077463, time_bruteforce: 0, good_nn: 0.217147, good_ratio: 0.964368, good_clusters: 0.988662, good_ratio_and_clusters: 0.99639
[       OK ] MATCHING.Rotate90 (640 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: 137/165
estimateHomographyRANSAC : support: 159/165
estimateHomographyRANSAC : support: 164/165
gauss: infinitely many solutions found
gauss: xs0: 587.709, 588.803, 749.701, 749.701, 
gauss: ys0: 483.456, 495.729, 412.857, 412.857, 
estimateHomographyRANSAC : support: 165/165
estimateHomographyRANSAC : best support: 165/165
evaluating homography...
too few matches: 0
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.046138, time_cv: 0.04497, time_bruteforce: 0, good_nn: 0.0441439, good_ratio: 0.787736, good_clusters: 0, good_ratio_and_clusters: 0.987879
[       OK ] MATCHING.Scale50 (351 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: 375/376
estimateHomographyRANSAC : support: 376/376
estimateHomographyRANSAC : best support: 376/376
evaluating homography...
too few matches: 28
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.056649, time_cv: 0.056074, time_bruteforce: 0, good_nn: 0.0969635, good_ratio: 0.869359, good_clusters: 0, good_ratio_and_clusters: 0.962766
[       OK ] MATCHING.Scale70 (432 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: 657/657
estimateHomographyRANSAC : best support: 657/657
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.071499, time_cv: 0.070861, time_bruteforce: 0, good_nn: 0.169686, good_ratio: 0.941945, good_clusters: 0.987854, good_ratio_and_clusters: 0.980213
[       OK ] MATCHING.Scale90 (567 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: 789/789
estimateHomographyRANSAC : best support: 789/789
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.093825, time_cv: 0.093492, time_bruteforce: 0, good_nn: 0.202858, good_ratio: 0.930205, good_clusters: 0.957014, good_ratio_and_clusters: 0.970849
[       OK ] MATCHING.Scale110 (707 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: 836/838
estimateHomographyRANSAC : support: 837/838
estimateHomographyRANSAC : best support: 837/838
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.129534, time_cv: 0.130481, time_bruteforce: 1e-06, good_nn: 0.218423, good_ratio: 0.951522, good_clusters: 0.991952, good_ratio_and_clusters: 0.990453
[       OK ] MATCHING.Scale130 (935 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: 655/790
estimateHomographyRANSAC : support: 676/790
estimateHomographyRANSAC : support: 787/790
estimateHomographyRANSAC : support: 788/790
estimateHomographyRANSAC : support: 789/790
estimateHomographyRANSAC : best support: 789/790
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.177138, time_cv: 0.179184, time_bruteforce: 0, good_nn: 0.195968, good_ratio: 0.89916, good_clusters: 0.927813, good_ratio_and_clusters: 0.936709
[       OK ] MATCHING.Scale150 (1188 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: 418/769
estimateHomographyRANSAC : support: 754/769
estimateHomographyRANSAC : support: 767/769
gauss: infinitely many solutions found
gauss: xs0: 722.329, 757.175, 593.969, 722.329, 
gauss: ys0: 580.209, 354.07, 423.467, 580.209, 
estimateHomographyRANSAC : best support: 767/769
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.230527, time_cv: 0.230758, time_bruteforce: 0, good_nn: 0.189844, good_ratio: 0.89532, good_clusters: 0.934924, good_ratio_and_clusters: 0.936281
[       OK ] MATCHING.Scale175 (1530 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: 852/856
estimateHomographyRANSAC : support: 854/856
estimateHomographyRANSAC : best support: 854/856
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.256531, time_cv: 0.25612, time_bruteforce: 0, good_nn: 0.217913, good_ratio: 0.944072, good_clusters: 0.968692, good_ratio_and_clusters: 0.975467
[       OK ] MATCHING.Scale200 (1775 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: 506/649
estimateHomographyRANSAC : support: 507/649
estimateHomographyRANSAC : support: 536/649
estimateHomographyRANSAC : support: 636/649
estimateHomographyRANSAC : support: 644/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.077793, time_cv: 0.077339, time_bruteforce: 0, good_nn: 0.155907, good_ratio: 0.86087, good_clusters: 0.913223, good_ratio_and_clusters: 0.904468
[       OK ] MATCHING.Rotate10Scale90 (606 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: 128/440
estimateHomographyRANSAC : support: 437/440
estimateHomographyRANSAC : support: 438/440
estimateHomographyRANSAC : best support: 438/440
evaluating homography...
nn_score: 0, nn2_score: 0, nn_score_cv: 0, nn2_score_cv: 0, time_my: 0.065051, time_cv: 0.06527, time_bruteforce: 0, good_nn: 0.113549, good_ratio: 0.912206, good_clusters: 0.917647, good_ratio_and_clusters: 0.963636
[       OK ] MATCHING.Rotate30Scale75 (486 ms)
[----------] 18 tests from MATCHING (18056 ms total)
[----------] 2 tests from STITCHING
[ RUN      ] STITCHING.SimplePanorama
estimateHomographyRANSAC : support: 998/1002
estimateHomographyRANSAC : support: 999/1002
estimateHomographyRANSAC : best support: 999/1002
bbox: [1272.23, 641.37], [0, -3.50796]
[       OK ] STITCHING.SimplePanorama (1240 ms)
[ RUN      ] STITCHING.Orthophoto
estimateHomographyRANSAC : support: 331/2218
estimateHomographyRANSAC : support: 349/2218
estimateHomographyRANSAC : support: 586/2218
estimateHomographyRANSAC : best support: 586/2218
estimateHomographyRANSAC : support: 459/1335
estimateHomographyRANSAC : support: 516/1335
estimateHomographyRANSAC : best support: 516/1335
estimateHomographyRANSAC : support: 323/1446
estimateHomographyRANSAC : support: 334/1446
estimateHomographyRANSAC : support: 533/1446
estimateHomographyRANSAC : best support: 533/1446
estimateHomographyRANSAC : support: 14/1145
estimateHomographyRANSAC : support: 308/1145
estimateHomographyRANSAC : support: 363/1145
estimateHomographyRANSAC : support: 419/1145
estimateHomographyRANSAC : best support: 419/1145
bbox: [1347.18, 1870.21], [-203.926, -312.844]
estimateHomographyRANSAC : support: 68/1165
estimateHomographyRANSAC : support: 137/1165
estimateHomographyRANSAC : support: 459/1165
estimateHomographyRANSAC : best support: 459/1165
estimateHomographyRANSAC : support: 501/1451
estimateHomographyRANSAC : support: 541/1451
gauss: infinitely many solutions found
gauss: xs0: 31.4734, 31.4734, 32.1711, 254.596, 
gauss: ys0: 730.168, 730.168, 707.454, 719.492, 
estimateHomographyRANSAC : support: 550/1451
estimateHomographyRANSAC : best support: 550/1451
estimateHomographyRANSAC : support: 37/2184
estimateHomographyRANSAC : support: 194/2184
estimateHomographyRANSAC : support: 470/2184
estimateHomographyRANSAC : support: 636/2184
estimateHomographyRANSAC : best support: 636/2184
estimateHomographyRANSAC : support: 80/1314
estimateHomographyRANSAC : support: 170/1314
estimateHomographyRANSAC : support: 316/1314
estimateHomographyRANSAC : support: 338/1314
estimateHomographyRANSAC : support: 476/1314
estimateHomographyRANSAC : support: 601/1314
estimateHomographyRANSAC : best support: 601/1314
bbox: [1305.39, 864], [-167.992, -896.854]
n stable ortho kpts: : 20341
[       OK ] STITCHING.Orthophoto (22944 ms)
[----------] 2 tests from STITCHING (24184 ms total)
[----------] Global test environment tear-down
[==========] 20 tests from 2 test suites ran. (42240 ms total)
[  PASSED  ] 20 tests.

@simiyutin
Copy link

Все хорошо, задача зачтена, 8/10 баллов 👍

@simiyutin simiyutin closed this Jun 18, 2024
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