Task01 Кирилл Доровских СПбГУ#148
Closed
kerelGusb wants to merge 1 commit into
Closed
Conversation
Contributor
|
задача зачтена, 7/10 баллов |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 отвечает за порог определения выраженного пика по сравнению с наибольшим. Если поднять его почти до предела, то у нас почти для всех точек будет только одно выраженное направление. Это поднимет точность в вычислении направления, но количество ключевых точек упадет.
Как надежно замерить во сколько раз распараллеливание через OpenMP ускоряет ваш вариант SIFT? Попробуйте сделать это на вашем компьютере, какое ускорение относительно однопоточной версии оказалось? Сколько у вашего процессора ядер и сколько потоков?
Правда ли можно строить каждый слой в Gaussian пирамиде из самого первого слоя этой октавы? Или нужно обязательно делать так как предложено в статье - дополняя размытие предыдущего слоя этой октавы? Совпадают ли пирамиды визуально?
Да, вроде, в коде так и предложено делать. Как там и написано, это действительно работает дольше из-за более сильного размытия, и точность падает.
Слои становятся более размытыми с увеличением sigma. Детали пропадают, и к концу остается только константное значение - средняя яркость.
Так как мы размываем картинку до удвоения базового блюра, а октавы отличаются друг от друга в 2 раза (1024x1024->512x512 etc.), последняя картинка предыдущей октавы должна быть похожа на первую картинку текущей. Для сравнения, как вариант - заапскейлить маленькую картинку без интерполяции и посмотреть на разницу.
Мы находим DoG c помощью попарных разностей. Значит, нужно минимум s+1 картинки, чтобы получить корректные DoG для всех. Плюс, нам нужно как-то посчитать первый и последний слой, а значит, нужно еще 2 картинки.
Прежде всего, они должны быть неяркими, потому что их сумма - это буквально то, что получается, если вычесть среднюю яркость из оригинальной картинки. На первых слоях будут проступать четкие контуры, а дальше они будут все больше и больше размыты.
Со временем разность между соседними октавами уменьшается, поэтому порог тоже должен уменьшаться.
Github Actions CI