ARCore, также известный как Google Play Services for AR — комплект разработки программного обеспечения, разработанный Google, который позволяет создавать приложения дополненной реальности[1]. Программный комплекс смешивает виртуальный контент с реальным миром, видимым через камеру смартфона или планшета. ARCore был интегрирован в множество устройств, работающих на Android, iOS и других платформах[2].
ARCore использует три основных технологии для интеграции виртуального контента с реальным миром[3]:
Отслеживание движения (motion tracking) позволяет устройству понимать и отслеживать свое положение относительно окружающего мира. ARCore определяет визуально отличимые особенности на захваченном изображении камеры, называемые точками признаков (feature points), и использует эти точки для вычисления изменения своего положения. Визуальная информация сочетается с инерционными измерениями от датчиков устройства, чтобы оценить положение (position) и ориентацию (orientation) камеры относительно мира во времени.
Понимание окружения (environmental understanding) позволяет устройству обнаруживать размер и расположение различных типов поверхностей: горизонтальных, вертикальных и наклонных, таких как пол, стол или стены. ARCore ищет кластеры точек признаков, которые, как предполагается, лежат на общих горизонтальных или вертикальных поверхностях, и делает эти поверхности доступными для приложения в виде геометрических плоскостей (planes). ARCore также может определить границу каждой геометрической плоскости и предоставить эту информацию приложению. Информацию можно использовать для размещения виртуальных объектов, опирающихся на плоские поверхности.
Оценка освещения (light estimation) позволяет устройству оценивать текущие условия освещения окружающей среды и предоставлять приложению среднюю интенсивность и цветокоррекцию данного изображения камеры. Что позволяет освещать виртуальные объекты в соответствии с условиями окружающей среды, повышая ощущение реалистичности.
ARCore также предоставляет и другие возможности дополненной реальности[4]:
Отслеживание движущихся изображений, например, рекламного щита на борту движущегося автобуса. Изображения могут быть скомпилированы офлайн для создания базы данных изображений или добавлены в реальном времени с устройства. После регистрации ARCore будет обнаруживать эти изображения, границы изображений и возвращать соответствующее положение.
Создание карт глубины (depth maps), изображений, содержащих данные о расстоянии между поверхностями от заданной точки, используя основную RGB-камеру поддерживаемого устройства. Информацию, предоставляемую картой глубины, можно использовать для создания погружающихся и реалистичных пользовательских сценариев, таких как заставление виртуальных объектов точно сталкиваться с наблюдаемыми поверхностями или делать их видимыми спереди или сзади реальных объектов.
Доступ к общей камере с ARCore, который позволяет приложениям использовать камеру устройства одновременно с ARCore или отключить ARCore.
Использование ARCore в качестве входных данных для моделей машинного обучения, которые могут распознавать объекты, жесты, эмоции и другие аспекты реального мира.