Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Перечислите идеи и коротко обозначьте мысли которые у вас возникали по мере выполнения задания, в частности попробуйте ответить на вопросы:
Почему SIFT менее точно угадывает средний угол отклонения? изменяется ли ситуация если выкрутить параметр ORIENTATION_VOTES_PEAK_RATIO=0.999? почему?
Как надежно замерить во сколько раз распараллеливание через OpenMP ускоряет ваш вариант SIFT? Попробуйте сделать это на вашем компьютере, какое ускорение относительно однопоточной версии оказалось? Сколько у вашего процессора ядер и сколько потоков?
Правда ли можно строить каждый слой в Gaussian пирамиде из самого первого слоя этой октавы? Или нужно обязательно делать так как предложено в статье - дополняя размытие предыдущего слоя этой октавы? Совпадают ли пирамиды визуально?
Конечно, можно строить из самого первого слоя (можно просто вывести формулу, с какой сигмой сворачивать из ассоциативности свёртки). Более того, это помогает распараллелить построение пирамиды. Визуально результаты не отличаются.
Чем больше номер картинки в октаве, тем более размыта картинка. Конкретная картинка конкретной октавы визуально
должна совпадать с последней картинкой предыдыущей октавы. Чтобы их сравнить, можно просто каждый пиксель более маленькой картинки рамножить на 4 копии, получив картинку того же размера.
В пирамиде DOG нужен паддинг (доп картинка в начале октавы и в хвосте), чтобы брать экстремумы: для этого в пирамиде DOG нужно +2 картинки,
но сама пирамида DOG состоит из на 1 меньше картинок исходной пирамиды. Поэтому в пирамиде гауссиан нужно +3 картинки.
Должны появляться пятна - чем глубже, тем пятна крупнее.
Почему порог контрастности должен уменьшаться при увеличении числа слоев в октаве?
Какая строка ответственна за определение сигмы (или что почти то же самое - радиуса) которая задает окрестность по которой определяется ориентация ключевой точки?
int oriRadius = (int) (ORIENTATION_WINDOW_R * (1.0 + k * (layer - 1)));
За какой строки вашего кода дескриптор инвариантен к повороту картинки?
cv::transform(shiftInVector, shiftInVector, relativeShiftRotation);
// Создайте PR.
// Дождитесь отработки Github Actions CI, после чего нажмите на зеленую галочку -> Details -> test_sift -> скопируйте весь лог тестирования.
// Откройте PR на редактирование (сверху справа три точки->Edit) и добавьте сюда скопированный лог тестирования внутри тега