Task01 Вадим Бенкевич НИИЧАВО#10
Conversation
|
Здравствуйте, вроде как нет ответов на вопросы |
|
Здравствуйте, подумал, что эти вопросы для дополнительного размышления и не являются обязательными.
Не совсем ясно из вопроса с кем нужно сравнить SIFT и какую из двух реализаций. Предположу, что нужно сравнить вашу имплементацию с orb. Я предполагаю, что это может
Выкручивание параметра ORIENTATION_VOTES_PEAK_RATIO кажется не помогает улучшить определение угла. Тут кажется причина №3 уже не должна иметь сильный эффект, но остальные вроде бы Кстати, отключение параметра enable_orientation_bin_interpolation поднимает final score до 1056.
В целом какой-то я бы ожидал какое-то приличное ускорение в случае распараллеливания (хотя бы в несколько раз). Кажется, что вычисление Gaussian пирамиды можно параллелить и обработку ключевых точек,
С математической точки зрения должны совпадать, на практике скорее всего возможны отличия из-за проблем с точностью.
Может быть можно нарисовать квадратики/кружочки разных размеров и прикинуть на каких уровнях они должны исчезнуть и проверять с некоторым eps на совпадение?
// нужно +2 слоя для того чтобы крайних было по соседу для поиска максимума в scale space, и еще +1 слой, чтобы получить s DoG слоев (DoG = разность двух)
Возможно, что-то аналогичное пункту 4)
// чем больше слоев в октаве, тем меньше разница между ними
float kp_sigma_octave = (float)(sigma0 * std::pow(2.0, (double)layer / s));
float angle_invariant = angle - kp_angle_rad; |
|
Все хорошо, задача зачтена, 10/10 баллов 👍 |
Github Actions CI