Какие датчики использует ARCore? - PullRequest
0 голосов
/ 25 января 2019

Какие датчики использует ARCore: одиночная камера, двойная камера, IMU и т. Д. В совместимом телефоне?

Кроме того, является ли ARCore достаточно динамичным, чтобы по-прежнему работать, если датчик недоступен при переключении на менее точную версию самого себя?

1 Ответ

0 голосов
/ 25 января 2019

ОБНОВЛЕНО .

Google ARCore, а также Apple ARKit, используют те же типы датчиков для отслеживания реальной сцены. ARCore использует одну камеру RGB вместе с устройством IMU, что представляет собой комбинацию акселерометра , магнитометра и гироскопа . Ваш телефон может использовать 3D-отслеживание ARCore со скоростью 30 кадров в секунду (сейчас) / 60 кадров в секунду (сейчас) / 120 кадров в секунду (в ближайшем будущем). Кстати, инерциальный измерительный блок может работать с частотой до 1000 Гц.

Прочитайте, что Google говорит об этом о методе COM, построенном на Camera + IMU:

Concurrent Odometry and Mapping - Электронное устройство отслеживает свое движение в окружающей среде при построении трехмерного визуального представления окружающей среды, которое используется для correct drift в отслеживаемом движении.

Хотя в предыдущие годы Google склонялся к настройке Multicam + Depth-cam (в системе Tango), сейчас он стремится к Single-cam + IMU системе.

Вот Google US15595617 Патент: Система и способ одновременной одометрии и картирования .

Мы все знаем, что самая большая проблема для устройств Android - это калибровка. Устройства iOS не имеют этой проблемы (потому что элементы управления Apple, аппаратное и программное обеспечение). Низкое качество калибровки приводит к ошибкам в 3D-слежении, поэтому все ваши виртуальные 3D-объекты могут «плавать» в плохо отслеживаемой сцене. Таким образом, нет чудесной кнопки против плохого слежения (and you can't switch to a less accurate version of tracking). Единственное решение в такой ситуации - пересмотреть вашу сцену с нуля .

Три основных правила для хороших результатов отслеживания:

  1. Отслеживайте свою сцену не слишком быстро и не слишком медленно.

  2. Трек соответствующие поверхности и объекты.

  3. При отслеживании используйте хорошо освещенную среду.

А как насчет настройки двух камер в ARCore? Я должен дать вам два аргумента против двух камер для ARCore .

Первый аргумент: Следующая самая большая проблема ARCore (это тоже проблема ARKit) - Energy Impact. Мы понимаем, что чем выше частота кадров, тем лучше результаты отслеживания. Но влияние энергии при 30 кадрах в секунду составляет HIGH, а при 60 кадрах в секунду - VERY HIGH. Такое энергетическое воздействие быстро разрядит батарею вашего смартфона (из-за огромной нагрузки на процессор / графический процессор). Итак, представьте, что вы используете 2 камеры для ARCore - ваш телефон должен обрабатывать 2 последовательности изображений с высоким разрешением с частотой 60 кадров в секунду параллельно, а также обрабатывать и хранить отслеживаемые функции и привязки AR, и в то же время телефон должен одновременно отображать Анимированная 3D графика с текстурами Hi-Res при 60 кадрах в секунду. Это слишком много для вашего CPU / GPU. В таком случае батарея разряжается через 15 минут и будет такой же горячей, как солнце. Мне кажется, что пользователям это не нравится, потому что это плохой опыт AR.

Второй аргумент: Google производит одну камеру Pixel s и разрабатывает ARCore. Google считает, что второй объектив «ненужен» для Pixel 2 и Pixel 3 main rear camera. Для чего нужна вторая камера? Таким образом, у телефона с двумя камерами не должно быть преимуществ перед телефоном с одной камерой. Google должен продавать свои однокамерные пиксели с хорошо работающим ARCore. Оптимизация ARCore для телефонов с двумя камерами выходит за рамки возможностей Google. Вам так не кажется?

...