Заключительный отчет GSoC ’17

Этим летом мне посчастливилось поработать над проектом ViSP-Unity Augmented Reality Demonstration с моими замечательными наставниками Marc Poliquen и Fabien Spindler в рамках Программы Google Summer of Code. Я работал над обеспечением функциональности ViSP в движке Unity3D, и теперь, когда программа завершена, я хотел бы воспользоваться моментом, чтобы обобщить то, что я сделал, вспомнить многие вещи, которые я узнал из множества успехов и неудач, и поговорить о будущая работа в космосе.

Этот пост направлен на то, чтобы связать и перечислить все вехи, разработанные во время моего проекта, и соответствующие коммиты, а также пропущенные цели и работу, которую предстоит выполнить в будущем.

Достигнутые вехи

  1. Плагин веб-камеры

Вот коммиты, демонстрирующие работу, которую я проделал для фазы I проекта, которая заключалась в написании плагина, передающего веб-камеру из Unity в разделяемую библиотеку ViSP C++: https://github.com/aryamihirsingh/visp_unity/commits /webcam_plugin

2. Плагин отслеживания больших двоичных объектов ViSP

Следующая ссылка коммитов представляет собой работу, которую я проделал для фазы II проекта, который должен был обеспечить функциональность отслеживания отдельных BLOB-объектов: https://github.com/aryamihirsingh/visp_unity/commits/blob_tracker.

3. Обнаружение четырех пятен ViSP и оценка положения.

Наконец, переходим к части проекта с дополненной реальностью (фаза III), для которой код написан с целью симуляции оценки позы в Unity с использованием четырех BLOB-объектов. Вот коммиты, показывающие мою работу: https://github.com/aryamihirsingh/visp_unity/commits/four_blob_track

Некоторые ссылки

Вот несколько ссылок на демонстрацию дополненной реальности, предоставленных ViSP. Написание разделяемых библиотек в значительной степени было получено из следующего кода.





Вот ссылка на репозиторий Github для ViSP Unity:



Вот лайк моему форку, посвящённому всей моей работе GSoC’17



Уроки выучены

В то время как я узнал о таких инструментах, как Unity и различных типах приложений дополненной реальности в целом, я также получил несколько общих советов от своих наставников, которые обязательно буду использовать в будущем.

Всегда просите о помощи, если вам это нужно

Мне повезло, что у меня был легкий доступ к моим наставникам через слабый канал, разговоры Google Hangouts, и поэтому мы часто обсуждали различные приемы, о которых мы думали для приложения дополненной реальности и других аспектов кода. Кроме того, у нас было несколько видеозвонков, чтобы обсудить все, что было трудно передать через Интернет. Их постоянная доступность в огромной степени способствовала моему прогрессу, и я очень рад, что обращался за помощью всякий раз, когда мне это было нужно.

Никогда не думайте, что что-то легко

Когда я писал свое предложение, я предполагал, что внедрение приложения дополненной реальности в Unity будет простым делом. Действительно, написать несколько первых версий для начала работы было довольно просто. Однако более поздние части (отслеживание больших двоичных объектов) были гораздо более сложными. В результате я потратил на два последних этапа проекта гораздо больше времени, чем планировалось изначально, что ограничило количество времени, которое я должен был поработать над другими вещами, изначально изложенными в предложении.
Таким образом, важно быть быть гибким и быть готовым изменить свои рабочие приоритеты, когда возникают препятствия.

Пропущенные вехи / Будущая работа

  1. Одна из вещей, которая изначально планировалась в предложении и не могла быть реализована, заключалась в размещении GameObject в Unity в центре четырех BLOB-объектов, изображая правильную ориентацию GameObj, показывающую положение BLOB-объектов.
  2. Android-приложение для демонстрации дополненной реальности. Приложение для Android, которое может использоваться устройствами для предоставления функций дополненной реальности, предлагаемых ViSP.

Я собираюсь продолжать вносить свой вклад в ViSP и работать над улучшением функциональных возможностей ViSP в движке Unity. :)

Спасибо.