Skip to content

Task04 Савелий Барковский ИТМО#92

Open
ssssaveliy wants to merge 1 commit into
PhotogrammetryCourse:task04from
ssssaveliy:task04
Open

Task04 Савелий Барковский ИТМО#92
ssssaveliy wants to merge 1 commit into
PhotogrammetryCourse:task04from
ssssaveliy:task04

Conversation

@ssssaveliy
Copy link
Copy Markdown

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

  1. test_ceres_solver/FitLine: почему найденная прямая и эталонная - не совпадают? Как это исправить пост-обработкой? Как это исправить формулировкой задачи?

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

  1. BA: представьте что вы написали преобразование phg::Calibration -> блок параметров и обратное блок параметров -> phg::Calibration. Как проверить простым образом что эти преобразования сделаны корректно? Что должно быть в логе про процент inliers до/после BA если runBA() вызывать всегда два раза пордяд? Иначе говоря - что следует из того что в идеале runBA() должна быть (мне очень нравится это слово) - идемпотентна?

  2. Какое максимальное число кадров у вас получилось хорошо выравнять для каждого из датасетов? (проверьте хотя бы saharov32 и herzjesu25) Не забудьте приложить скриншоты.

  3. Если бы вычисления в double были абсолютно точны - можно ли было бы назвать вычисления в Calibration::project/unproject строго зеркальными?

Да.

  1. Почему фокальная длина меняется от того что мы уменьшаем картинку? Почему именно f/downscale?

При уменьшении изображения все координаты в пикселях масштабируются в downscale раз, значит и фокус в пикселях масштабируется так же. Поэтому новый фокус равен f / downscale

  1. Имеет ли право BA двигать точку отсчета системы координат (т.е. добавить константу ко всем координатам)? Как это повлияет на суммарную Loss?

Да, если сдвинуть все камеры и все точки на одну и ту же константу, относительная геометрия не изменится.

  1. Каким образом можно гарантировать чтобы при сравнении нескольких последовательно построенных облаков точек одного и того же датасета (созданных по мере добавления фотографии за фотографией) в MeshLab - облака не были хаотично смещены/отмасштабированы/повернуты друг от друга?

Нужно жёстко зафиксировать gauge freedom: одинаковую систему координат, масштаб и опорные камеры/точки для всех запусков. Тогда все облака будут строиться в одном и том же базисе и не будут хаотично плавать.

// Создайте PR.
// Дождитесь отработки Github Actions CI, после чего нажмите на зеленую галочку -> Details -> The build -> скопируйте весь лог тестирования.
// Откройте 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)
...
Final score: 239001
[       OK ] SIFT.PairMatching (0 ms)
[----------] 25 tests from SIFT (7264 ms total)
[----------] Global test environment tear-down
[==========] 25 tests from 1 test suite ran. (7264 ms total)
[  PASSED  ] 25 tests.

@simiyutin
Copy link
Copy Markdown
Contributor

Не забудьте приложить скриншоты.

кажется, вы забыли приложить скриншоты

@simiyutin
Copy link
Copy Markdown
Contributor

Да.

почему?

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