Ринат Ахметов: "Восстановление модели трехмерного объекта по видеопотоку"
1. Восстановление
модели трехмерного объекта
по видеопотоку
Казанский Федеральный Университет
Высшая Школа Информационных Технологий и Информационных Систем
Выпускная квалификационная работа
Выполнил: Ахметов Р.Р., студент 4 курса ИТИС
Научный руководитель: Цивильский И.В., м.н.с. ВНИЛ “3D-визуализация” ИТИС
2. Проблема восстановления 3D поверхности по серии
фотоснимков
Требуются:
1) высокая вычислительная мощность
2) большое число исходных изображений
Восстановление трехмерной модели
Колизея: 1837 снимков, кластер 128 ядер,
1 неделя рабочего времени
3. Цель работы
Разработка и реализация алгоритма 3D реконструкции
статичных объектов с меньшими ресурсозатратами и с
меньшим количеством шумов
4. Задачи
1)Поиск точек признаков объекта (2D)
2)Комбинация точек в “трек”
3)Расчет метрических смещений точек (3D)
4)Фильтрация облака точек и триангуляция
5. Алгоритм
1)Поиск ключевых точек (SIFT)
2)Фильтрация ключевых точек вблизи их геометрической окрестности
3)Восстановление матрицы камеры (нахождение фундаментальной
матрицы методом RANSAC)
4)Триангуляция (Делоне)
Язык разработки: Python
Программная реализация
6. Фильтрация точек признаков объекта
Текущий кадр Следующий кадр
точки признаков объекта
Стандартный алгоритм
сопоставления точек: сложность ~
N2
Поиск в окрестности точек:
сложность < N
Поиск в окрестности точек с учетом
прогнозируемого смещения
признаков (метод фазовой кросс-
корреляции):
сложность < N/2убираем из рассмотрения
точки, не вошедшие в
окрестность искомой точки
7. Экспериментальная апробация
Cинтетические снимкиРеальные снимки
Тестовые
объекты
Тестируемые алгоритмы:
1. Стандартный structure from motion (SFM)
2. Улучшенный SFM (Speedup Robust SFM): за счет стадии предварительной фильтрации точек
8. Результаты восстановления положения камеры и
поверхности объекта по снимкам
Рассчитанные индивидуальные точки
положения камеры
Восстановленная трехмерная поверхность
(облако точек) и траектория камеры
9. Затраты времени на реконструкцию поверхности
Сравнение производительности
Быстрее на 6,4 %
Восстановленные 3D модели
после триангуляции
t - время, с
n - число фотоснимков
10. Количество шумовых объектов
N - количество шумовых точек
n - число фотоснимков
Точнее на 5,5 %
Сравнение эффективности
Восстановленная
поверхность
синтезированного
тестового кубика
11. Результаты
1)Разработан и реализован алгоритм восстановления трехмерной
поверхности по серии фотоснимков с разных ракурсов
a) Ключевая особенность: фильтрация точек вблизи их геометрической окрестности
2)По сравнению с аналогами, предложенный алгоритм позволяет:
a) снизить шумы при восстановлении поверхности на 5,5%
b) сократить время обработки на 6,4%
3)Реализация алгоритма кросс-платформенная, характерное время
восстановления 3D объекта ~1 мин (на 16 кадрах, CPU: Intel Core-i3,
#3: Реконструкция 3д поверхности по серии фотоснимков является актуальной задачей и в частности реализуется для воссозданиея городов в системе гугл мапс. Основной проблемой существуюших систем является требования высоких вычислительнаых мощностей и большое количество исходных изображений.
#4: Значит, целью работы является Разработка и реализация
алгоритма 3D реконструкции
статичных объектов с меньшими ресурсозатратами и с меньшим количеством шумов
#5: Для этого необходимо решить следующие задачи:
Найти точки признаков объекта,
комбинировать их в трек,
Рассчитать метрические смещение точек,
и последним этапов дет фильтрация облака точек и триангуляция
#6: алгоритм имеет схожую структуру.
Для поиска ключевых точек используется детектор инвариантный к скалярным преобразованиям
После Фильтрация ключевых точек вблизи их геометрической окрестности.
Восстановление матрицы камеры ( фундаментальная матрица вычисляется методом RANSAC)
Завершает
Триангуляция делоне для облака точек.
Программно реализовано с помощью библиотек scipy numpu opencv на языке python
#7: Алгоритм применчателен, тем что мы имеем информацию о смещение кадров, а значит мы можем искать ключевую точку в некоторой эпсилон окрестности с центром координаами точки на предыдущем кадре тем самым отбрасывает поиск по остальным точкам
#8: Алгоритм апробирован на 2х генерированных моделях кубов, а так же на 3 реальных объектов.
Так же рассматривались Алгоритмы Структура из движения и предложенное улучшение алгоритма
#9: По алгоритму рассчитаны индивидуальные точки положения камер, 3D поверхность и траектория камеры
#10: Алгоритм позволяет снизить затраты времени на 6 и 4%
#12: В итоге, разработан и реализован алгоритм восстановления трехмерной поверхности по серии снимков, ключевой особенностью, которого является фильтрация точек вблизи их геометрической окрестности
Алгоритм быстрее и выдает меньше шумов, чем стандартный SFM 6 и 4% и на 5и 5 % соотвественно
Реализация кросплатформенная характерное время восстановления 1 минута для 16 кадров на компьютер средней мощности