Task01 Александр Ващилко Huawei#8
Closed
VashchilkoAV wants to merge 2 commits into
Closed
Conversation
Contributor
|
Здравствуйте, если хотите зачесть домашку, то надо оформить имя pr по шаблону и ответить на текстовые вопросы |
Contributor
|
Все хорошо, задача зачтена, 10/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 имеет ошибки в определении угла, т.к. помимо экстремума гистограммы углов, в качестве потенциальной ключевой точки рассматривается точка, имеющая магнитуду peak_ratio(ORIENTATION_VOTES_PEAK_RATIO) * max_val, что может привести и судя по всему приводит к потенциальному матчу точек с разной ориентацией.
На практике порог 0.999 лучше в 9/22 случаев (см. angle_difference_pr0_8.txt и angle_difference_pr0999.txt).
Теоретически:
На практике же стоит иметь в виду:
Правда ли можно строить каждый слой в Gaussian пирамиде из самого первого слоя этой октавы? Или нужно обязательно делать так как предложено в статье - дополняя размытие предыдущего слоя этой октавы? Совпадают ли пирамиды визуально?
Теоретически -- да, противоречия нет, на практике -- все тесты альтернативное решение проходит, значит все пирамиды и DoGи проходят сравнение с заданными EPS. Логи logs_instant.txt и logs_sequential.txt относятся к блюррингу первоначальной картинки и предыдущей соответственно. В них можно увидеть что численно разница есть (наиболее вероятный источник ошибки -- вычисление размера кернела Гауссового блюра из sigma -- при последовательном заблюривании ошибка округления кернела накапливается, при заблюривании изначальной картинки она не накапливается), но она не оказывает значительного влияния на результат работы алгоритма.
Какие ожидания от картинок в Gaussian пирамиде можно придумать? Как проверить что работает корректно? С какой другой картинкой предыдущей октавы должна визуально совпадать конкретная картинка конкретной октавы? Как их визуально сравнить, ведь они разного размера?
В пределах одной октавы каждая последующая картинка блюрнее предыдущей -- это значит что в каждой последующей картинке срезаются верхние частоты. Также по построению уровень блюра на октаве j+1
на слое i равен уровню брюра на октаве j на слое i + s => картинки будут очень близки, т.к. функция сохранения апсемлит, что нивелирует неравенство размеров картинок на разных октавах.
Почему в октаве Gaussian пирамиды s+3 картинки а не s+2 например?
Для нахождения экстремума в scale-space размера октавы s необходимо иметь s + 2 слоя DoG в октаве (по одному дополнительному "сверху" и "снизу"). Для нахождения DoG также требуется на 1 gaussian pyramid больше, т.к. значение DoG вычисляется в виде их разности. Итого для нахождения экстремума в scale-space размера октавы s необходимо иметь s + 3 слоя gaussian piramid.
Какие ожидания от картинок в DoG пирамиде можно придумать?
Картинки из DoG отвечают за разные частоты деталей -- чем выше номер уровня в октаве, тем меньше частота деталей -- больше их пространственный размер.
Почему порог контрастности должен уменьшаться при увеличении числа слоев в октаве?
По построению мы имеем инвариант -- от октавы к октаве sigma увеличивается в 2 раза, следовательно разность sigma на смежных слоях внутри октавы тем меньше, чем больше слоев в октаве. Это означает, что магнитуда признаков в DoG (вычисляется в виде разности соседних слоев gaussian pyramid) будет тем меньше, чем больше слоев в октаве, следовательно при увеличении числа слоев в октаве порог необходимо уменьшать.
Какая строка ответственна за определение сигмы (или что почти то же самое - радиуса) которая задает окрестность по которой определяется ориентация ключевой точки?
Github Actions CI