Devdays Осень 2017/depth map — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(→‎Мотивация)
Строка 4: Строка 4:
 
* Лапко Данила
 
* Лапко Данила
  
−
== В общем ==
+
== Мотивация ==
  
 
=== Карта (матрица) глубины ===
 
=== Карта (матрица) глубины ===
Строка 16: Строка 16:
 
Самое простое и распространенное решение - это использовать стереозрение или радар.
 
Самое простое и распространенное решение - это использовать стереозрение или радар.
 
Для стереозрения нужна очень точная калибровка, которая может легко нарушиться со временем.
 
Для стереозрения нужна очень точная калибровка, которая может легко нарушиться со временем.
−
Радары очень хороши, но они дорогие. Лазерные дальномеры среднего качества стоят порядка 30 000 руб, а цены на портативные СВЧ радары
+
Радары очень хороши, но они дорогие.
−
начинаются от 100 000.
+
−
 
+
  
 
=== Задача ===
 
=== Задача ===
  
 
Написать скрипт, который строит матрицу глубины с одного изображения, без использования бинокулярного зрения или радаров.
 
Написать скрипт, который строит матрицу глубины с одного изображения, без использования бинокулярного зрения или радаров.
−
 
  
 
== Функциональность ==
 
== Функциональность ==

Версия 14:54, 5 ноября 2017

Состав команды:

  • Никулин Даниил
  • Гостевский Дмитрий
  • Лапко Данила

Мотивация

Карта (матрица) глубины

Матрица глубины (depth map) - это некоторая матрица, каждый элемент которой содержит дальность до объекта. Другими словами, если имеется некотороые изображение, то матрица глубины говорит о том, какого расстояние до каждого нарисованного объекта. С помощью матрицы глубины воссоздается трехмерная модель пространства.

Проблема

Создание 3D модели пространства невозможно без карты глубины. Самое простое и распространенное решение - это использовать стереозрение или радар. Для стереозрения нужна очень точная калибровка, которая может легко нарушиться со временем. Радары очень хороши, но они дорогие.

Задача

Написать скрипт, который строит матрицу глубины с одного изображения, без использования бинокулярного зрения или радаров.

Функциональность

Запланировано и сделано:

  • Нахождение всех кубиков на картинке
  • выделение каждого кубика в отдельное изображение
  • edge detection
  • Hough transform (нахождение линий)
  • выделение псевдо параллельных прямых
  • нахождение точек схода
  • построение функции градиента глубины

Запланировано и не сделано:

  • Нахождение отдельных граней кубика ( не понадобилось )
  • Обработка, когда кубик частично закрыт другим кубиком

Не запланировани и сделано:

  • совмещение нескольких картинок
  • нахождение ближайшей точки к зрителю


Список известных багов:

  • Высокая чувствительность к шумам и постороним предметам
  • Градиент глубины считается очень долго
  • Яркие тени детектируются как объект
  • Не работает в случае, когда кубик частично закрыт другим кубиком


Ссылки

Репозиторий

Ссылка на видео