Весна 2026
Курс
ПОМИ РАН

Фотограмметрия: трехмерная реконструкция

Фотограмметрия позволяет по большому числу (от тысяч до сотен тысяч и больше) фотографий одной и той же неподвижной сцены/объекта получить трехмерную модель.

Примеры применения: сшивка спутниковых снимков, построение карт и ортофотопланов, создание трехмерных моделей городов, сканирование замков/статуй/предметов искусства для сохранения культурного наследия, построение цифровых моделей людей/объектов для игровой/кино-индустрии, различная аналитика (здоровье растительности в сельском хозястве, мониторинг ЛЭП, поиск трещин в мостах/огромных трубах ядерных реакторов).

В рамках курса не будет машинного обучения.

В рамках курса рассказываются и в формате домашних заданий предлагаются для реализации ключевые этапы фотограмметрической обработки: от поиска и сопоставления ключевых точек на фотографиях и определения взаимного расположения этих фотографий (Multiple View Geometry) до построения попиксельных карт глубины фотографий и реконструкции цветной высокодетальной полигональной модели поверхности (Multi-View Stereo).

Пререквизиты:

  • умение писать простой C++-код на уровне работы с арифметикой указателей
  • понимание асимптотического анализа, базовых алгоритмов, структур данных, что такое производная, операции над векторами и матрицами
  • базовые знания многопоточности
  • для выполнения заданий рекомендуется Ubuntu или Windows, на MacOS потребуются дополнительные усилия

Содержание:

  • Сопоставление ключевых точек фотографий (SIFT, RANSAC).
  • Определение калибровочных параметров фотографий (например фокусного расстояния и параметров искажений объектива) и их взаимного расположения (Bundle Adjustment).
  • Построение карт глубины для набора фотографий с уже определенным точным положением в пространстве - в каждом пикселе в дополнению к цвету алгоритм определит расстояние до поверхности.
  • Построение трехмерной поверхности (состоящей из множества треугольников) по картам глубины.
  • Построение цветной спутниковой карты подобной maps.yandex.ru - но при этом чтобы не было видно фасадов стен и не было заметно швов и перепадов яркости в переходах между фотографиями.
  • Построение цветной текстуры для трехмерной поверхности (без швов и перепадов яркости).

Вы научитесь

  • работать с трехмерным пространством;
  • использовать библиотеку ceres-solver для нелинейной оптимизации и автоматического дифференцирования;
  • адаптировать алгоритмы на многоядерные процессоры (OpenMP) и видеокарты;
  • адаптировать алгоритмы на неограниченно большие датасеты (out-of-core - т.е. ограничить константой используемый объем RAM).

Занятия

25 лекций

Лекция 1

Введение

Expand icon
17.02.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Введение

  • Что такое фотограмметрия
  • Основные шаги пайплайна
  • Применения фотограмметрии в индустрии, сохранении культурного наследия
  • Обзор курса

Лекция 2

Детектор SIFT

Expand icon
17.02.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Детектор SIFT

  • Локальные ключевые точки и дескрипторы
  • Требования к инвариантности ключевых точек и дескрипторов к преобразованиям изображений
  • Разбор деталей реализации алгоритма SIFT

Лекция 3

Сопоставление ключевых точек, оптимизации по скорости

Expand icon
24.02.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Сопоставление ключевых точек, оптимизации по скорости

  • Оптимизации скорости подсчета расстояния между парой дескрипторов
  • SIFT: Сокращение размерности, бинаризация
  • Бинарные дескрипторы
  • Оптимизации поиска ближайших соседей между парой кадров
  • Hardware оптимизации на GPU
  • Approximate Nearest Neighbors, Flann, проклятие размерности
  • Оптимизации количества пар сопоставляемых кадров
  • Преселекции по порядку кадров, по GPS привязке, по грубым матчам

Лекция 4

Сопоставление ключевых точек, оптимизации по качеству

Expand icon
24.02.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Сопоставление ключевых точек, оптимизации по качеству

  • Виды ошибочных сопоставлений, шумы и честные false positives
  • Ratio test: фильтрация false positives
  • Left-right check, cluster filtering
  • Фильтрация очень шумных матчей с помощью GMS matcher

Лекция 5

Learned дескрипторы и матчеры

Expand icon
03.03.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Learned дескрипторы и матчеры

  • Сложные примеры матчинга
  • История learned дескрипторов, LIFT, HyNet, Superpoint, ALIKED
  • Learned матчеры, SuperGlue, LightGlue
  • Learned sfm: Mast3r, DepthAnything3

Лекция 6

Однородные координаты, гомография, панорама

Expand icon
03.03.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Однородные координаты, гомография, панорама

  • Однородные координаты
  • Поиск гомографии по матчам
  • Склейка фотографий в панораму по гомографии

Лекция 7

Модели камеры

Expand icon
10.03.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Модели камеры

  • Pinhole camera, Brown distortion model
  • Fisheye & spherical cameras
  • Rolling shutter

Лекция 8

Structure from Motion

Expand icon
10.03.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Structure from Motion

  • Эпиполярная геометрия
  • Фундаментальная матрица
  • Триангуляция, резекция

Лекция 9

Expand icon
17.03.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Лекция 10

Expand icon
17.03.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Лекция 11

Expand icon
24.03.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 12

Expand icon
24.03.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 13

Expand icon
31.03.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 14

Expand icon
31.03.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 15

Expand icon
07.04.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 16

Expand icon
07.04.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 17

Expand icon
14.04.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 18

Expand icon
14.04.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 19

Expand icon
21.04.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 20

Expand icon
21.04.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 21

Expand icon
28.04.2026 / ВТ
18:00-19:00
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 22

Expand icon
28.04.2026 / ВТ
19:15-20:15
Лекция
avatar
Полярный НиколайПреподаватель

Лекция 23

Expand icon
12.05.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Лекция 24

Expand icon
12.05.2026 / ВТ
19:15-20:15
Лекция
avatar
Симиютин БорисПреподаватель

Лекция 25

Expand icon
19.05.2026 / ВТ
18:00-19:00
Лекция
avatar
Симиютин БорисПреподаватель

Лекторы

avatar
Полярный НиколайПреподаватель
avatar
Симиютин БорисПреподаватель

Партнеры