ARCore может отслеживать статические поверхности в соответствии с его документацией, но ничего не упоминает о движущихся поверхностях, поэтому мне интересно, может ли ARCore отслеживать плоские поверхности (конечно, с достаточным количеством характерных точек), которые могут двигаться.
Может ли ARCore отслеживать движущиеся поверхности?
Ответы (3)
Да, вы определенно можете отслеживать движущиеся поверхности и движущиеся объекты в ARCore
.
Если вы отслеживаете статическую поверхность с помощью ARCore
– полученные признаки в основном подходят для так называемого Camera Tracking
. Если вы отслеживаете движущийся объект/поверхность – полученные признаки больше всего подходят для Object Tracking
.
Вы также можете маскировать движущиеся/неподвижные части изображения и, конечно же, инвертировать шесть степеней свободы (перевести xyz
и повернуть xyz
) камеры.
Посмотрите это видео, чтобы узнать, как им это удалось.
Да, ARCore отслеживает характерные точки, оценивает поверхности, а также предоставляет доступ к данным изображения с камеры, поэтому также можно писать собственные алгоритмы компьютерного зрения.
Я думаю, это должно быть возможно теоретически.
Тем не менее, я протестировал его с некоторыми вещами в моем ДОМЕ (запуская S8 и приложение с unity и arcore), и проблема более или менее заключается в том, что он отказывается даже начинать отслеживать подвижные вещи, такие как книги, тарелки и т. д.:
из-за особенностей окружающего пола и т. д. он всегда замечает тех, кто первым.
Редактировать: провел еще несколько тестов, и мне удалось заставить его отслеживать простыню, однако он не приспосабливается к какому-либо движению. Это означает, что на данный момент самолет остается фиксированным, хотя я видел некоторое колебание, но я предполагаю, что это было из-за того, что он пытался настроить позиционирование самолета после того, как его исходные характерные точки были перемещены.