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 Марат Аграновский МКН #4

Closed
wants to merge 2 commits into from

Conversation

vselenaya
Copy link

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

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

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

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

Конечно, можно строить из самого первого слоя (можно просто вывести формулу, с какой сигмой сворачивать из ассоциативности свёртки). Более того, это помогает распараллелить построение пирамиды. Визуально результаты не отличаются.

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

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

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

В пирамиде DOG нужен паддинг (доп картинка в начале октавы и в хвосте), чтобы брать экстремумы: для этого в пирамиде DOG нужно +2 картинки,
но сама пирамида DOG состоит из на 1 меньше картинок исходной пирамиды. Поэтому в пирамиде гауссиан нужно +3 картинки.

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

Должны появляться пятна - чем глубже, тем пятна крупнее.

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

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

  3. За какой строки вашего кода дескриптор инвариантен к повороту картинки?
    cv::transform(shiftInVector, shiftInVector, relativeShiftRotation);

// Создайте PR.
// Дождитесь отработки Github Actions CI, после чего нажмите на зеленую галочку -> Details -> test_sift -> скопируйте весь лог тестирования.
// Откройте PR на редактирование (сверху справа три точки->Edit) и добавьте сюда скопированный лог тестирования внутри тега

 для сохранения форматирования и под спойлером для компактности и удобства:

Github Actions CI

$ ./build/test_sift
Running main() from /home/runner/work/PhotogrammetryTasks2023/PhotogrammetryTasks2023/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.021269 sec)
...
[       OK ] SIFT.HerzJesu19RotateM40 (7730 ms)
[----------] 22 tests from SIFT (12918 ms total)
[----------] Global test environment tear-down
[==========] 22 tests from 1 test suite ran. (12918 ms total)
[  PASSED  ] 22 tests.

@PolarNick239
Copy link
Member

6 Должны появляться пятна - чем глубже, тем пятна крупнее

не уверен, интерпретация этих локальных экстремумов (их размер в смысле оригинального разрешения картинки) - у нас в голове, поэтому любой экстремум соответствует некоему "пятну" в картинке, но почему есть пятнца в самой DoG? И подтвердилась ли эта гипотеза на практике - нашел ли ты там пятна?

пожалуйста допиши ответы 1, 2, 7 и скопируй полный вывод CI

@PolarNick239
Copy link
Member

закрываю т.к. ты не планируешь в этом семестре закрывать курс

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