Skip to content
102 changes: 51 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
В этом репозитории предложены задания курса по Фотограмметрии для студентов МКН/ИТМО/ВШЭ/CsSpace.

[Остальные задания](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/).

# Задание 3. Structure from motion

[![Build Status](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/actions/workflows/cmake.yml/badge.svg?branch=task03&event=push)](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/actions/workflows/cmake.yml)

0. Установить Eigen
1. Выполнить задания ниже (при тестировании Github Actions CI использует GCC 11, поэтому если вы используете фичи свежее чем C++17 - есть риск что не скомпилируется, в таком случае поправьте пожалуйста)
2. Отправить **Pull-request** с названием```Task03 <Имя> <Фамилия> <Аффиляция>```:

- Скопируйте в описание [шаблон](https://raw.githubusercontent.com/PhotogrammetryCourse/PhotogrammetryTasks2026/task03/.github/pull_request_template.md)
- Обязательно отправляйте PR из вашей ветки **task03** (вашего форка) в ветку **task03** (основного репозитория)
- Перечислите свои мысли по вопросам поднятым в коде и просто появившиеся в процессе выполнения задания (выписывайте их с самого начала в отдельный текстовый файл, в шаблоне предложены некоторые вопросы)
- Создайте PR
- Затем дождавшись отработку Github Actions CI (около 15 минут) - скопируйте в описание PR вывод исполнения вашей программы **на CI** (через редактирование описания PR)

**Мягкий дедлайн**: вечер 22 марта.

**Жесткий дедлайн**: вечер 29 марта.

Желательно начать заранее, так как домашка (потенциально) довольно объемная.

Задание 3.0.
=========

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

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

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

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

4. ```data/debug/test_sfm``` - сюда тесты сохранят картинки с визуализацией результата. Так же будут сохранены облака точек (.ply файлы). Их можно просмотреть во внешней программе, например, в [Meshlab](https://www.meshlab.net/)

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

Задание 3.1.
=========

1. Убедитесь что у вас все компилируется. В этот раз не будет зеркальной реализации на openCV, но тесты организованы от простого к сложному и вам не нужно иметь полностью готовый алгоритм, чтобы следить за прогрессом.

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

3. Включите тестирование вашего алгоритма - см. **ENABLE_MY_SFM** в ```test/test_sfm.cpp```

5. Реализуйте пропущенные участки алгоритма, проверьте, что все тесты проходят``

- Если все хорошо, за выполненное задание дается **10 баллов**
В этом репозитории предложены задания курса по Фотограмметрии для студентов МКН/ИТМО/ВШЭ/CsSpace.
[Остальные задания](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/).
# Задание 3. Structure from motion
[![Build Status](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/actions/workflows/cmake.yml/badge.svg?branch=task03&event=push)](https://github.com/PhotogrammetryCourse/PhotogrammetryTasks2026/actions/workflows/cmake.yml)
0. Установить Eigen
1. Выполнить задания ниже (при тестировании Github Actions CI использует GCC 11, поэтому если вы используете фичи свежее чем C++17 - есть риск что не скомпилируется, в таком случае поправьте пожалуйста)
2. Отправить **Pull-request** с названием```Task03 <Имя> <Фамилия> <Аффиляция>```:
- Скопируйте в описание [шаблон](https://raw.githubusercontent.com/PhotogrammetryCourse/PhotogrammetryTasks2026/task03/.github/pull_request_template.md)
- Обязательно отправляйте PR из вашей ветки **task03** (вашего форка) в ветку **task03** (основного репозитория)
- Перечислите свои мысли по вопросам поднятым в коде и просто появившиеся в процессе выполнения задания (выписывайте их с самого начала в отдельный текстовый файл, в шаблоне предложены некоторые вопросы)
- Создайте PR
- Затем дождавшись отработку Github Actions CI (около 15 минут) - скопируйте в описание PR вывод исполнения вашей программы **на CI** (через редактирование описания PR)
**Мягкий дедлайн**: вечер 22 марта.
**Жесткий дедлайн**: вечер 29 марта.
Желательно начать заранее, так как домашка (потенциально) довольно объемная.
Задание 3.0.
=========
Ознакомьтесь со структурой проекта:
1. ```src/phg/sfm/``` - основная часть где вы будете реализовывать алгоритм
2. ```tests/test_sfm.cpp``` - тесты которые будут прогонять ваш алгоритм на каких-то относительно простых манипуляциях с маленькими картинками, если вам хочется добавить другие сценарии тестирования (возможно с другими метриками) - здорово!
3. ```data/src``` - исходные данные используемые при тестировании (к ним используются относительные пути, поэтому нужно выставить Working directory = путь к проекту)
4. ```data/debug/test_sfm``` - сюда тесты сохранят картинки с визуализацией результата. Так же будут сохранены облака точек (.ply файлы). Их можно просмотреть во внешней программе, например, в [Meshlab](https://www.meshlab.net/)
5. ```data/debug/test_sfm``` - сюда вам предлагается сохранять любые промежуточные картинки-визуализации, это очень полезно для отладки, оценки качества, уверенности и в целом один из немногих способов качественно "заглянуть в черную коробку"
Задание 3.1.
=========
1. Убедитесь что у вас все компилируется. В этот раз не будет зеркальной реализации на openCV, но тесты организованы от простого к сложному и вам не нужно иметь полностью готовый алгоритм, чтобы следить за прогрессом.
2. Ознакомьтесь с тем как проводится тестирование - ```tests/test_sfm.cpp```:
3. Включите тестирование вашего алгоритма - см. **ENABLE_MY_SFM** в ```test/test_sfm.cpp```
5. Реализуйте пропущенные участки алгоритма, проверьте, что все тесты проходят``
- Если все хорошо, за выполненное задание дается **10 баллов**
Loading
Loading