Sketchar
Назад к блогу

Мы нашли решение одной из главных проблем компьютерного зрения с белыми поверхностями

Автор: Sketchar2 мин чтения

Спустя два года мы готовы показать вам один из важнейших этапов в развитии SketchAR. А также в компьютерном зрении в целом.

Вы уже знаете, как мы разрабатывали некоторые из наших методов в области компьютерного зрения (CV). Эти методы помогают закреплять виртуальные объекты на поверхностях, даже на плоских.

Лучший маркер — это отсутствие маркера! Сложность разработки усугублялась нехваткой информации в области CV. Самые продвинутые наработки в CV на сегодняшний день сделаны в сфере распознавания лиц. Также есть успехи с текстами, знаками и объектами, но не так много — с плоскими поверхностями. Поэтому нам пришлось шаг за шагом искать решения этих фундаментальных проблем.

Sketch AR-Anchors.

Метод трекинга SketchAR без маркеров способен распознавать плоские поверхности. Более того, он остаётся стабильным даже в экстремальных условиях, например, когда камера не видит окружение чётко при приближении и смотрит только на белую поверхность.

Как это работает?

Помните фильм «50 оттенков серого»? Даже если нет, одного названия достаточно, чтобы понять: мы реализовали распознавание более чем «50 оттенков белого». Камера смартфона способна различать множество тонов белого цвета. Не забывайте, что задача усложняется ещё и тем, что рука постоянно пересекает поверхность. Кроме того, мы используем машинное обучение и нейронные сети для анализа окружения. Мы собираем все данные в виде связей и отношений между опорными точками, а затем анализируем положение виртуального объекта относительно реальной поверхности.

Посмотрите на пример ниже, где «якоря» на бумаге теряют свои точки из-за движения руки по поверхности.

Проблемы ARKit/ARCore: виртуальное изображение «улетает», если камера приближается к плоской поверхности.

Наш алгоритм решает эту проблему лучше, чем ARKit или ARCore, которые дают низкую точность на плоской поверхности и при удалении виртуального объекта от текущей позиции.

В примере видно, как сильно «дёргается» виртуальное изображение, потому что камера не видит никакого окружения, только белую плоскую поверхность. Проблема смещения виртуальных объектов при каждом их размещении перед плоскими поверхностями — огромная проблема для любой компании, работающей с дополненной реальностью.

Метод трекинга SketchAR без маркеров основан на матрице трансформации (+ ML и NN). Связи между точками не позволяют виртуальному рисунку смещаться (виртуальный скетч не отображается на видео). Более того, происходит переинициализация, и точки в сетке возвращаются в исходное положение. Когда рука покидает кадр или перемещается в другой квадрат, нужный пиксель на её месте распознаётся заново.

Метод SketchAR против ARKit/ARCore

С STMWM виртуальное изображение (лягушка) остаётся стабильным, даже если рука перекрывает поверхность более чем на 60%. (ARKit/ARCore здесь не задействованы).

Мы решили эту проблему, и внедрение технологии — процесс непрерывный. Мы продолжим использовать наше прежнее решение с маркерами до тех пор, пока STMWM не сможет полностью взять всю работу на себя позже в этом году.

Спасибо,

Команда SketchAR

Поделиться

Похожие статьи

Подпишитесь на новости компании

Новые посты, обновления продуктов и истории сообщества – прямо на почту. Без спама.