Перейти к содержимому
Compvision.ru
erly

Опыт работы с камерой Intel Realsense

Recommended Posts

Всем привет.

Коллеги, есть у кого-нибудь опыт работы с 3D камерой Intel Realsense 435i? Пытаюсь освоить, но идет тяжело.
Примеры откомпилились, запускаются. Работаю под Ubuntu 18.04.
Ближайшая задача: научиться задавать положение камеры в реальном мире, фильтровать получившееся облако точек по заданному объему в пространстве.
Дальнейшая задача: с помощью библиотеки PCL распознавать положение людей, перемещающихся перед камерой.
Глобальная задача: совместная обработка данных от нескольких таких камер, размещенных вокруг целевого объема пространства. В этом объеме перемещаются люди, все так же требуется вычислять положение их тел/рук/ног.

Может кто-либо помочь мне с этими вопросами?

PS. Пакет Nuitrak для скелетного распознавания, поддерживающий эту камеру, я видел. Он классный. Но распознает только людей, стоящих на земле. В моем случае он полностью бессилен - люди могут принимать произвольные положения, например висеть вниз головой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Реалсенсе даёт большие погрешности от 5 метров. Мы его использовали в проекте для анализа объема кузова, намучились изрядно. В итоге заменили на стерео-пару и датчик расстояния.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за подсказку. 

И тем не менее... Может быть знаете, как задать положение камеры? В принципе, вращать координаты можно уже после получения облака точек. А нельзя ли раньше, чтобы не тратить процессор на это? Чтобы в выходном потоке камеры сразу честные 3D координаты присутствовали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробовал применять трансформацию снаружи, т.е. после получения облака точек... тяжелая операция, проц сильно тормозит на ней. Так что применение поворотов внутри камеры было бы очень кстати.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если есть RGBD, то поставьте где-нибудь маркер в виде ортов системы координат. Распознавайте ее точки на цветном изображении, затем, используя глубину, получайте 3Д точки. Есть базис, есть координаты и ориентация камеры. Преобразование x,y,D в 3д точку должно быть в API камеры.

В принципе, при известных размерах маркера, задача решается даже без компоненты глубины, гуглите opencv solvepnp.

По поводу скелетов посмотрите здесь: https://github.com/topics/skeleton-tracking

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насчет позиционирования я имел в виду, что координаты камеры и углы ее поворотов известны. Надо только их куда-то ввести в API. Куда? По API документация не особо обширная, автогенеренная по коду. Поэтому так сразу не видно, можно ли где-то в свойствах девайса задать его положение. Автоопределять положение камеры буду на поздних этапах, сейчас бы хоть как-то сделать.. )

По поводу точности вычисления глубины.. да, уже ощутил, что дрожание матрицы глубины на удалении метра 4-5 уже очень существенные. Когда покупал камеру, была мысль брать прямо с нее облако точек и по нему скелет определять. Сейчас вижу, что это вряд ли получится. Надо более хитро выкручиваться. Кроме того, обнаружилась большая зависимость дрожания от освещения. Как ни странно, при хорошей яркой сцене глубина определяется фигово, наверное потому что засветки от собственного лазерного проектора не видно. И наоборот, при темной схеме качество улучшается. Но при темной схеме будет проблема с динамичным перемещением объекта съемки - экспозиция требуется слишком большая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если облако точек относительно системы координат камеры известно, и известны координаты камеры во внешнем мире, то преобразование производится переносом и поворотом точек на разницу. Чтобы сделать быстро, можно использовать шейдеры, opencl, cuda, ... короче GPU.  Подружиться с GPU все равно придется. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начал биться с OpenCL ). В моем ноуте стоит видяха Nvidia MX 150, думал ее использовать. Работал в Ubuntu в виртуалке, хост - винда. Соответственно, к видеокарте нормального доступа нет. Поставил Ubuntu второй хостовой системой, пытаюсь драйвера прикрутить, чтобы opencl нашел видеокарту. Пока безуспешно, продолжаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Докер не подойдет?

https://github.com/NVIDIA/nvidia-docker

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Думаю, нет. У меня же хостовая ОС была - Windows. А сейчас Ubuntu - вторая хостовая ось. Пытаюсь пока хотя бы в безвиртуальном режиме драйвера видюхи подцепить..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Драйверы проприетарные ? CUDA работает?  С дефолтными дровами мало что заводится. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Драйверы пытаюсь ставить проприетарные. Пока это сделать не удалось, гуглю как обходить возникшие трудности. Вечером продолжу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставил наконец-то драйвера. В итоге драйвер заработал после отключения Secure Boot :wacko:.

Теперь следующий шаг - подцепить CUDA к обработке потока от камеры. После гугления решил отдать предпочтение CUDA вместо OpenCL. Мне надо сделать преобразование системы координат для облака точек от камеры и его фильтрацию по координатам. Изучаю сорцы librealsense и pcl по работе с CUDA... должно же в них где-то уже быть такое реализовано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделал обе эти функции на CUDA, отлично работают. Готовых в librealsense и pcl не нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×