Skip to content

Задания по Фотограмметрии (трехмерная реконструкция) для студентов МКН/ИТМО/ВШЭ

Notifications You must be signed in to change notification settings

petrukhinandrew/PhotogrammetryTasks2024

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

В этом репозитории предложены задания курса по Фотограмметрии для студентов МКН/ИТМО/ВШЭ.

Остальные задания.

Задание 1. Локальные ключевые точки SIFT (детектор и дескриптор)

Build Status

  1. Сделать fork проекта (обратите внимание что задание не в ветке master, а в ветке task01)
  2. Установите OpenCV 4.5.1
  3. Выполнить задания ниже (при тестировании Github Actions CI использует GCC 11, поэтому если вы используете фичи свежее чем C++17 - есть риск что не скомпилируется, в таком случае поправьте пожалуйста)
  4. Отправить Pull-request с названиемTask01 <Имя> <Фамилия> <Аффиляция>:
  • Скопируйте в описание шаблон
  • Обязательно отправляйте PR из вашей ветки task01 (вашего форка) в ветку task01 (основного репозитория)
  • Перечислите свои мысли по вопросам поднятым в коде и просто появившиеся в процессе выполнения задания (выписывайте их с самого начала в отдельный текстовый файл, в шаблоне предложены некоторые вопросы)
  • Создайте PR
  • Затем дождавшись отработку Github Actions CI (около 15 минут) - скопируйте в описание PR вывод исполнения вашей программы на CI (через редактирование описания PR)

Мягкий дедлайн: начало лекции 19 февраля. Мягкий дедлайн - ориентировочная рекомендация "здорово если успеете".

Жесткий дедлайн: начало лекции 26 февраля. Жесткий дедлайн - предполагается что все в него укладываются. Не доделали - зашлите хотя бы что-то. После дедлайна досылать тоже можно (но будет небольшой штраф в баллах).

Задание 1.0.

Ознакомьтесь со структурой проекта:

  1. src/phg/sift/ - основная часть где вы будете реализовывать алгоритм

  2. tests/test_sift.cpp - тесты которые будут прогонять ваш алгоритм на каких-то относительно простых манипуляциях с маленькой картинкой, если вам хочется добавить другие сценарии тестирования (возможно с другими метриками) - здорово!

  3. data/src - исходные данные используемые при тестировании (к ним используются относительные пути, поэтому нужно выставить Working directory = путь к проекту)

  4. data/debug/test_sift/SIFT - сюда тесты сохранят картинки с визуализацией результата

  5. data/debug/test_sift/debug - сюда вам предлагается сохранять любые промежуточные картинки-визуализации, это очень полезно для отладки, оценки качества, уверенности и в целом один из немногих способов качественно "заглянуть в черную коробку"

Задание 1.1.

  1. Убедитесь что у вас все компилируется и тесты проходят.

  2. Ознакомьтесь с тем как проводится тестирование - tests/test_sift.cpp:

  3. Обратите внимание что там сравнивается ORB и SIFT реализованные в OpenCV

  4. Посмотрите и сравните результаты этих двух дескрипторов:

  • по логам в т.ч. пишущим угол поворота, перепад масштаба и расстояние между дескрипторами)
  • по картинкам с результатами в папке data/debug/test_sift/SIFT

Задание 1.2.

Включите тестирование вашего SIFT - см. TODO в test/test_sift.cpp

Реализуйте SIFT в src/phg/sift/sift.cpp:

  • Либо с чистого листа самостоятельно - просто удалите оттуда весь код (тогда если все хорошо - 10 баллов)
  • Либо выполняя TODO один за другим (через Ctrl+F сверху вниз) (тогда если все хорошо - 8 баллов)
  • Либо выполняя TODO один за другим, а если на каких-то отдельных этапах вы хотите сделать больше самостоятельно - смело удаляйте окружающий код заготовки :) (тоже если все хорошо - 8 баллов)

About

Задания по Фотограмметрии (трехмерная реконструкция) для студентов МКН/ИТМО/ВШЭ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published