СПОСОБ И СИСТЕМА ДЛЯ УТОЧНЕНИЯ ПОЗЫ КАМЕРЫ С УЧЕТОМ ПЛАНА ПОМЕЩЕНИЯ Российский патент 2023 года по МПК G06T7/70 G06T7/80 

Описание патента на изобретение RU2794441C1

Область техники, к которой относится изобретение

Настоящее изобретение относится в общем к области компьютерного зрения и более конкретно к фотограмметрическим приложениям, системам позиционирования объектов, мобильным и статическим системам 3D сканирования для различных помещений (квартир, офисов, магазинов и т.п.).

Уровень техники

При современном интенсивном развитии методов компьютерного зрения компьютеры получили способность автоматически выполнять различные задачи трехмерного (3D) моделирования и/или картирования реальных, содержащих объекты пространств, таких как комнаты, визуальной локализации объектов в 3D сценах, визуального анализа содержимого сцены и т.п.

Многие такие применения компьютерного зрения требуют захвата 3D сканов различных сцен внутри помещений, включая большие сцены, содержащие более одной комнаты и множество стен и перегородок. Такие сцены невозможно захватить сразу из-за ограничений диапазона глубины и наличия перекрытий, вызванных заполнением и стенами. Поэтому такие сцены необходимо захватывать несколькими сканами. Их можно получить путем непрерывного перемещения датчика с некоторым оценщиком позы камеры внутри (например, любой модели SLAM или Google ARCore) или путем регистрации нескольких частичных сканов. Чтобы получить точную информацию о положении объектов в таких 3D сценах, очень важно иметь информацию о точной позе камеры (т.е. положении камеры+ориентации) для каждого данного скана в последовательности одного или более сканов, полученных с использованием такой одной или более камер. Следовательно, существует потребность в уточнении (точном определении) информации о позе камеры и/или уточнении (оценке) траектории камеры, в частности, в таких сценариях генерации сканов 3D сцены внутри помещения.

Существует несколько подходов к регистрации сканов и оценке траектории камеры. Однако в случае больших сцен все эти подходы подвержены ошибкам и не позволяют получить точные сканы. При сканировании накапливаются небольшие ошибки положения, приводящие к раздвоению стен и полов (одни и те же стены и полы не накладываются друг на друга после завершения цикла) и искажению геометрии. Кроме того, похожие паттерны и отсутствие «значимых» точек (например, в случае большой стены) приводят к ошибкам в совмещении ключевых точек в алгоритмах локализации, а также к искажению скана.

Такие сканы необходимо оптимизировать для дальнейшего использования. Большинство подлежащих моделированию сцен обычно имеют план помещения, созданный во время конструирования. Планы помещения обычно содержат информацию о геометрии и основных структурных признаках сцены (стены, перегородки, двери и т.п.), но не о внутреннем содержании (например, мебели), и могут использоваться в качестве контрольных данных для уточнения модели. Выравнивание скана, отражающего текущее состояние сцены, с планом помещения может не только помочь улучшить скан, но и автоматически получить полную схему данной сцены.

Один из подходов к решению вышеупомянутой проблемы основан на так называемой «регулировке пучка» (Bundle Adjustment, BA), которая рассматривает геометрические пучки световых лучей, исходящих от каждого 3D объекта и сходящихся в оптическом центре каждой камеры, которые оптимально корректируются в соответствии с критерием оптимальности с использованием соответствующих проекций изображений всех точек.

При наличии необработанной последовательности RGB-D кадров с позами камеры, захваченной по меньшей мере одним датчиком, и контрольных данных плана помещения с корректной геометрией может возникнуть необходимость в получении нового набора поз камеры, так чтобы структура стен нового скана, полученного с использованием этого нового набора поз камеры, была максимально приближена к контрольным данным плана помещения.

Алгоритм 3D реконструкции на основе последовательности RGB-D, захваченной датчиками, обычно состоит из модуля трекинга, который применяется к данной последовательности RGB-D, и оптимизации глобальной корректировки пучка (BA), которая принимает исходную последовательность RGB-D с позами и корректирует позы так, что данная последовательность становится более согласованной. Иными словами, модуль трекинга предназначен для первичной оценки позы (положения+ориентации) камеры. Камеры, с помощью которых осуществляется позиционирование, также называются трекинговыми камерами. Оптимизация BA выполняется после упомянутой первичной оценки.

Однако при стремлении к согласованности BA решает проблему замыкания цикла, но не гарантирует, что геометрия всех объектов и частей скана будет точной. Плоскости могут по-прежнему быть искривленными, углы закругленными, а весь скан может быть искажен.

Целью BA является уточнение поз камеры и 3D точек для улучшения согласованности между 3D точками и их 2D проекциями на изображения моделируемой сцены. В стандартной формулировке BA функция стоимости основана на ошибках репроецирования. Однако она не определена универсально, поэтому имеет особенности, что делает процесс оптимизации чувствительным к начальным условиям и выбросам. В частности, в формулировках BA, таких как описанные, например, в [17], [6], функция стоимости основана на минимальном расстоянии между световыми лучами двух камер, направленных на один и тот же объект. В других известных источниках в целевую функцию BA может быть включена глубина (см. например [11], [15], [16]).

В более сложных моделях сцены, включающих в себя семантические метки точек, геометрические примитивы или объекты, могут быть дополнительные связи, отражающие структуру сцены. В некоторых случаях в процессе оптимизации следует учитывать дополнительные ограничения, например, компланарность некоторых точек. Одним из самых больших преимуществ BA является его способность адаптироваться практически к любой произвольно выбранной сцене.

Для обеспечения структурной согласованности в 3D пространстве используется функция стоимости, которая представляет трехмерное несоответствие оценок точек из двух представлений. В частности, штрафуется расстояние между оценками одной и той же 3D точки, преобразованными в общую систему координат. Такая функция потерь может тривиально обобщаться в несколько представлений. Включение данных глубины повышает ошибкоустойчивость BA и позволяет обрабатывать сложные конфигурации, не подвергаясь рискам, связанным с функцией репроецирования.

Различные способы определения геометрической рассогласованности предложены в подходах RGB-D SLAM. BAD SLAM [18] был первым решением плотного BA для RGB-D SLAM, который объединял геометрические ограничения на основе карт глубины, и фотометрические ограничения в функции стоимости. В BAD SLAM оптимизация применяется к скану, представленному в виде сурфелей - ориентированных 3D дисков, снабженных скалярными визуальными дескрипторами; этот геометрический член штрафует угол между нормалью к сурфелю и нормалью, преобразованной в координаты камеры из другого кадра. CPA-SLAM [10] представляет скан с моделью глобальной плоскости и использует плоскости для трекинга и оптимизации глобального графа; как и в случае с сурфелями, углы между нормалями к плоскости минимизируются. PL-GM [22] включает в функцию стоимости абсолютную ошибку глубины. KDP-SLAM [8] использует итеративный метод спроецированной плоскости для вычисления геометрической ошибки.

В других известных решениях применяется, в частности, формализация геометрической рассогласованности на основе рассогласованности лучей камеры. Например, при выполнении реконструкции в одном представлении может использоваться дифференцируемая согласованность лучей (DRC, см. например, [20]) в качестве целевой функции.

Системы SLAM используют семантическую информацию различными способами: от штрафов за несовпадающие семантические метки при репроецировании точек до более инновационных объектно-ориентированных подходов. Например, Frost et. al. (см. [4]) добавляет дополнительный член, основанный на размере обнаруженных объектов, к функции стоимости BA и доказывает, что это предотвращает дрейф масштаба на длинной траектории вне помещения. Galvez-Lopez et al. (см. [5]) собрал базу данных объектов и использует 3D модели объектов для оценки масштаба этой среды. Atanasov et al. (см. [1]) установил вероятностные связи между объектами и включил их в процесс оптимизации. Nicholson et al. (см. [12]) используют двойные квадрики для захвата формы и позы объекта.

Howard et. al. (см. [7]) использует априорную 3D модель, основанную на плане помещения, для локализации внутри помещения. Для каждого изображения запроса его сверточные признаки сравниваются с признаками структуры 3D модели, визуализируемой из разных положений, и итеративно уточняется ближайшее положение в сетке.

Wijmans et. al. (см. [21]) использует план помещения и выравнивание скана с учетом панорам RGB-D больших сцен внутри помещения. Исходный масштаб скана выбирается вручную, после чего выравнивание оценивается как трансформация скана путем композиции одного из четырех поворотов (0, 90, 180, 270) и 2D сдвига.

Последнее решение можно считать ближайшим аналогом настоящего изобретения.

Раскрытие изобретения

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

Настоящее изобретение направлено в общем на создание моделей 3D сцен в таких областях техники, как фотограмметрия, системы позиционирования объектов, мобильные и статические системы 3D сканирования для различных помещений (квартир, офисов, магазинов и т.п.).

Техническая задача, решаемая настоящим изобретением, заключается в оптимизации (уточнении) позы камеры в 3D сцене, сканируемой по меньшей мере одной камерой.

Задача настоящего изобретения состоит в создании способа и системы для уточнения позы камеры с учетом плана помещения.

Технический результат, достигаемый при применении настоящего изобретения, заключается в повышении точности по меньшей мере одного скана 3D сцены при автоматическом получении полной схемы этой сцены.

В первом аспекте вышеупомянутая задача решается способом уточнения позы камеры с учетом плана помещения, причём способ содержит этапы, на которых: получают план помещения трехмерной (3D) структуры сцены, отражающий априорную структуру этой сцены; получают один или более сканов изображения сцены с помощью камеры; находят направление силы тяжести для одного или более сканов изображения; строят скан границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами; выравнивают скан границ с планом помещения; извлекают структурные элементы из одного или более сканов изображения, и оптимизируют трехчленную функцию стоимости на основе геометрического члена, члена пола и члена стен, путем притягивания точек на одном или более сканах изображений, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D сцене.

Трехчленная функция стоимости сформулирована как:

,

где Lgeom - геометрический член, Lfloor - член пола, и Lwalls - член стен, λfloor и λwalls - весовые коэффициенты, рассчитанные так, чтобы уравнять вклады всех членов трехчленной функции стоимости. План помещения представляет собой 3D план помещения, полученный из набора 3D точек, сгенерированного из векторного изображения со стенами, изображенными в виде сегментов. Один или более сканов изображения сцены представляют собой скан RGB-D с позами, который содержит один или более кадров изображения RGB, данные глубины и информацию о позе камеры. В одном или более неограничивающих вариантах осуществления план помещения может быть представлен набором плоскостей, аппроксимирующих стены в 3D сцене, при этом притягивание точек на одном или более сканах изображений к соответствующим точкам на плане помещения содержит этапы, на которых: притягивают точки к ближайшим плоскостям плана помещения путем нахождения для каждой упомянутой точки ее ближайшей точки на плане помещения и оценивают расстояние до соответствующей плоскости стены, и усредняют упомянутые расстояния для множества точек для получения члена стен Lwalls. В одном или более неограничивающих вариантов осуществления притягивание точек на одном или более сканах изображения к соответствующим точкам на плане помещения может содержать этапы, на которых: кластеризуют множество упомянутых точек в соответствии с их нормалью в один или более кластеров точек; оценивают вертикальные плоскости стен для одного или более кластеров точек путем определения одной или более вертикальных плоскостей стен таким образом, чтобы отклонение точек в одном или более кластерах от заданной плоскости было минимальным; совмещают плоскости стен с соответствующими плоскостями стен на плане помещения, при допущении, что данная плоскость стены и данная плоскость стены на плане помещения соответствуют друг другу, если они являются взаимно ближайшими и параллельными; вычисляют расстояние между точкой и плоскостью для каждой пары данного кластера точек и соответствующей вертикальной плоскости стены, и суммируют расстояния между точкой и плоскостью для получения члена стен Lwalls. Выравнивание скана границ с планом помещения и оптимизацию трехчленной функции стоимости можно чередовать итерационным образом.

Во втором аспекте упомянутая задача решается системой для уточнения позы камеры с учетом плана помещения, содержащей: память и по меньшей мере один процессор, соединённый с памятью, причем по меньшей мере один процессор, под управлением извлеченных из памяти инструкций, выполнен с возможностью: получения плана помещения трехмерной (3D) структуры сцены, отражающего априорную структуру сцены; получения одного или более сканов изображения сцены с помощью камеры; определения направления силы тяжести для одного или более сканов изображений; построения скана границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами; выравнивания скана границ с планом помещения; извлечения структурных элементов из одного или более сканов изображений, и оптимизации трехчленной функции стоимости на основе геометрического члена, члена пола и члена стен путем притягивания точек на одном или более сканах изображения, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D сцене.

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

Специалистам в данной области техники будет понятно, что изобретательский замысел не ограничен аспектами, изложенными выше, и изобретение может принимать форму других объектов, таких как устройство, компьютерная программа или компьютерный программный продукт. Дополнительные признаки, которые могут характеризовать конкретные варианты осуществления настоящего изобретения, будут очевидны специалистам в данной области техники из подробного описания вариантов осуществления, приведенного ниже.

Краткое описание чертежей

Чертежи представлены в настоящем документе, чтобы облегчить понимание сущности настоящего изобретения. Чертежи имеют схематичный характер и выполнены не в масштабе. Они предназначены только для иллюстрации, а не для определения объема настоящего изобретения.

Фиг.1 - схематическая иллюстрация примерной структуры общего конвейера, реализующего способ согласно изобретению.

Фиг. 2 - пример отфильтрованного скана (слева) и выравнивание этого скана с облаками точек плана помещения (справа).

Фиг. 3 - примерный вариант построения облака точек пола и стены, где пол (фиг. 3b) и стена (фиг. 3c) сегментированы в каждом кадре (фиг. 3a) и спроецированы обратно в 3D пространство для получения соответствующих облаков точек (фиг. 3e, 3f).

Фиг. 4 - пример оптимизации скана из набора SMapper, где комната повернута относительно плоскости необработанного скана (вид а), член притягивания пола делает пол более гладким и уменьшает отверстия (вид b), притягивание стен позволяет вернуть комнату на место (вид c), но искажает внутренние объекты, а совместное применение притягивания пола и стен (вид d) корректирует геометрию.

Фиг. 5 - пример оптимизации скана из набора Redwood, где пол неровный на необработанном скане (сверху) и стал плоским после оптимизации (снизу).

Фиг. 6 - примерная оптимизация скана из набора Smapper, где завершение цикла не удалось при необработанном скане (сверху), что привело к раздвоению пола и мебели, а после оптимизации (снизу) эти раздвоения исчезли.

Фиг.7 - пример оптимизации скана с помощью SMapper.

Фиг. 8 - визуализация метрики NSD для облака точек стены W до (фиг. 8а) и после (фиг. 8b) уточнения позы камеры.

Фиг.9 - блок-схема способа уточнения позы камеры с учетом плана помещения в соответствии с изобретением.

Осуществление изобретения

Ниже будут подробно описаны примерные варианты осуществления настоящего изобретения. Примерные варианты осуществления проиллюстрированы на прилагаемых чертежах, где одинаковые или аналогичные ссылочные позиции могут обозначать одинаковые или аналогичные элементы или элементы, которые имеют одинаковые или аналогичные функции. Примерные варианты осуществления, описанные с обращением к сопровождающим чертежам, являются иллюстративными и используются только для пояснения настоящего изобретения и не должны рассматриваться как его ограничения.

В настоящем изобретении предложен новый подход к уточнению позы камеры, который расширяет концепцию регулировки пучка (сокращенно "BA" от Bundle Adjustment). Общеизвестно, что регулировка пучка представляет собой одновременное уточнение 3D координат, описывающих геометрию сцены, параметров относительного движения и оптических характеристик камеры (камер), используемых для получения изображений 3D сцены, при наличии набора изображений, изображающих ряд 3D точек с различных точек зрения. Регулировка пучка касается геометрических пучков световых лучей, исходящих от каждого 3D объекта и сходящихся к оптическому центру каждой камеры, которые оптимально корректируются в соответствии с критерием оптимальности с использованием соответствующих проекций изображения всех точек.

В предлагаемом способе получают кадры RGB-D с позами камер и обновляют позы камеры в соответствии с априорной структурой среды, представленной в виде плана помещения. Каждый кадр RGB-D представляет собой часть данных, состоящую из изображения RGB и соответствующего изображения глубины, исходящих из камеры, которая требует уточнения информации о позе камеры. В применениях фотограмметрии и компьютерного зрения под позой объекта (в частности, камеры) принято понимать комбинацию положения и ориентации. В данном контексте план помещения можно рассматривать как часть данных, которая описывает схематическое представление структуры данной 3D сцены как вид сверху, показывая взаимосвязи между частями 3D сцены, такими как комнаты, пространства, перегородки, например, стены, и другие физические объекты на одном уровне структуры 3D сцены. В контексте 3D сцены внутри помещения, например, внутри комнаты, базовым уровнем структуры 3D сцены может быть, в качестве неограничивающего примера, уровень пола.

В данном контексте кадры RGB-D получают с помощью камер RGB-D, которые, в общем, также могут называться дальномерными камерами, являющимися сенсорными устройствами, которые используются для создания «изображения на основе расстояний». Дальномерные камеры могут работать в соответствии с рядом различных методов. В качестве неограничивающего примера это могут быть, в частности, времяпролетные (ToF) камеры (например, камера смартфона Samsung Galaxy S20+) или лазерные датчики (например, лидары, такие как Intel RealSense L515). Для специалистов в данной области техники также будут очевидны другие типы дальномерных камер, пригодных для использования в настоящем изобретении, и настоящее изобретение не ограничивается какими-либо конкретными типами дальномерных камер или технологиями.

Выравнивание скана, который отражает текущее состояние сцены, с планом помещения может помочь не только улучшить скан, но и автоматически получить полную схему данной сцены.

Новый алгоритм оптимизации, лежащий в основе настоящего изобретения, расширяет обычный BA путем использования априорного знания о структуре сцены. Во-первых, если известно, что реконструируемая сцена является внутренним помещением, то поверхность пола должна быть ровной и близкой к некоторой плоскости. Во-вторых, имеются какие-то стены, которые также должны быть плоскими и должны соответствовать стенам на плане помещения. Эти соображения обычно приводят к дополнительным слагаемым, которые добавляются к оптимизируемой функции в ходе уточнения 3D скана. В дополнение к функции потерь BA извлекаются пол и стены 3D сцены, и эти структурные элементы притягиваются к соответствующим элементам на плане помещения.

В контексте настоящего изобретения предполагается, что план помещения, такой как план 300 помещения, показанный на фиг. 1, представляет собой векторное изображение со стенами, изображенными в виде сегментов. Для последующей оптимизации на основе этого векторного изображения создается 3D план помещения. Для сегмента 2D плана помещения учитываются координаты его конечных точек (например, конечные точки стен, такие как углы комнаты), и для каждой из конечных точек генерируются две 3D точки путем добавления третьей координаты, которая соответствует высоте и имеет минимум и максимум, равные высоте пола и потолка (минимальное и максимальное значения ymin, ymax, соответственно). В результате получается две 3D точки для каждого угла и четыре точки (по 2 точки для каждого из двух его концов) для каждого сегмента. Созданный прямоугольник (состоящий из 2 пар точек: по две для каждой конечной точки сегмента) аппроксимирует 3D положение стены, изображенной как сегмент плана помещения. Затем для создания 3D поверхности стены, соответствующей этому сегменту, точки равномерно сэмплируются (выбираются произвольным образом в пределах созданного прямоугольника). В результате применения этой процедуры к каждому сегменту плана помещения из результирующего набора 3D точек получается 3D план помещения.

Настоящее изобретение направлено на реализуемый компьютером способ уточнения позы камеры с учетом плана помещения и соответствующую систему, которая может быть реализована с использованием ряда модулей. Специалистам в данной области техники будет понятно, что эти модули могут быть реализованы с помощью программного и/или аппаратного обеспечения в различных конкретных реализациях, без ограничения настоящего изобретения каким-либо конкретным выбором программных и/или аппаратных средств для реализации упомянутых модулей. Упомянутые модули могут существовать в форме программы или программ, программных модулей, одного или более процессоров, запрограммированных на выполнение соответствующих функций, ASIC, интегральных схем, микрочипов, FPGA, где это применимо. Один или более модулей могут быть реализованы в виде нейронных сетей, как будет понятно специалистам в данной области техники.

На фиг. 1 представлен общий конвейер, реализующий предложенный способ. Как показано на фиг. 1, конвейер использует в качестве входных данных скан 100 RGB-D с позами и план 300 помещения. Скан 100 RGB-D с позами обычно состоит из одного или более изображений RGB 101 и одного или более изображений 102 глубины. Эти данные вводятся в модуль 110 трекинга для обработки и обеспечивают входную позу 103 камеры. Эта поза вводится в модуль 130 сегментации пола и стен для обработки, чтобы получить один из трех членов функции стоимости. Модуль 140 выравнивания скана с планом помещения получает входные данные позы 103 камеры и план 300 помещения и выполняет выравнивание этих данных, чтобы получить еще один из трех членов функции стоимости. Модуль 150 глобальной корректировки пучка также получает в качестве ввода входную позу 103 камеры. В качестве части модуля 150 глобальной корректировки пучка используется модуль 160 дополнительной функции потерь на основе плана помещения, который получает в качестве ввода вышеупомянутые члены функции потерь из модуля 130 сегментации пола и стен и модуля 140 выравнивания скана с планом помещения, а также план 300 помещения. Модуль 160 дополнительной функции потерь на основе плана помещения выполняет оптимизацию трехчленной функции стоимости, в результате чего получают оптимизированную позу 200 камеры (которая также может назваться уточненной позой камеры).

Для вычисления функции стоимости, которую следует минимизировать в рамках оптимизации, необходимо выполнить ряд вспомогательных этапов, а именно выравнивание скана с планом помещения и сегментацию структурных элементов сцены.

Согласно изобретению, способ уточнения позы камеры с учетом плана помещения, в общем, содержит следующие этапы, которые схематично показаны на фиг. 9.

На этапе S1 получают план помещения трехмерной (3D) структуры сцены, отражающий априорную структуру сцены. Согласно различным неограничивающим вариантам осуществления изобретения планом помещения является 3D план помещения, полученный из набора 3D точек, сгенерированных из векторного изображения со стенами, изображенными в виде сегментов, или представленный набором плоскостей, аппроксимирующих стены в 3D сцене.

На этапе S2 получают один или более сканов изображения сцены с помощью камеры.

На этапе S3 определяют направление силы тяжести для одного или более сканов изображения.

На этапе S4 строят скан границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами.

На этапе S5 скан границ выравнивают с планом помещения.

На этапе S6 извлекают структурные элементы на одном или более сканах изображения.

На этапе S7 трехчленную функцию стоимости на основе геометрического члена, члена пола и члена стен, оптимизируют путем притягивания точек на одном или более сканах изображения, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D сцене. Трехчленная функция стоимости формулируется как

,

где Lgeom - геометрический член, Lfloor - член пола, и Lwalls - член стен. В одном или более неограничивающих вариантах осуществления изобретения притягивание точек на одном или более сканах изображения к соответствующим точкам на плане помещения может содержать: притягивание точек к ближайшим плоскостям плана помещения путем нахождения для каждой упомянутой точки ближайшей к ней точки на плане помещения и оценки расстояния до соответствующей плоскости стены, и усреднение упомянутых расстояний для множества точек для получения члена стен Lwalls.

В одном или более неограничивающих вариантах осуществления изобретения притягивание точек на одном или более сканах изображения к соответствующим точкам на плане помещения может содержать: кластеризацию множества упомянутых точек в соответствии с их нормалью в один или более кластеров точек; оценку вертикальных плоскостей стен для одного или более кластеров точек путем определения одной или более вертикальных плоскостей стен таким образом, чтобы отклонение точек в одном или более кластерах от заданной плоскости было минимальным; совмещение плоскостей стен с соответствующими плоскостями стен на плане помещения, при допущении, что данная плоскость стены и данная плоскость стены на плане помещения соответствуют друг другу, если они являются взаимно ближайшими и параллельными; вычисление расстояния между точкой и плоскостью для каждой пары данного кластера точек и соответствующей вертикальной плоскостью стены, и суммирование расстояний между точкой и плоскостью для получения члена стен Lwalls.

В одном или более неограничивающих вариантах осуществления этапы S5 и S7 могут чередоваться итеративным образом.

Далее будут подробно рассмотрены основные этапы предложенного способа. Однако следует отметить, что изобретение не ограничено этими иллюстративными деталями и конкретными примерами, описанными ниже, а должно определяться только прилагаемой формулой изобретения со всеми возможными эквивалентами, которые будут очевидны для специалиста в данной области техники в контексте настоящего раскрытия.

Выравнивание скана с планом помещения

Модуль 140 выравнивания скана с планом помещения в ходе своей обработки выполняет определение направления силы тяжести. При обработке любого скана 100 RGB-D с позами необходимо сначала обеспечить, чтобы ось y была направлена вверх, а поверхность пола была горизонтальна. Если имеются измерения инерциального измерительного блока (IMU), можно корректно определить направление силы тяжести (вертикальное). В любом другом случае направление силы тяжести можно оценить с помощью нормалей скана. В частности, в соответствии с изобретением модуль 140 выравнивания скана с планом помещения в ходе своей обработки проецирует нормали скана на сферу. Предполагается, что наиболее частый вектор определяет направление силы тяжести. Это предположение было экспериментально подтверждено авторами изобретения. Скан 100 RGB-D с позами поворачивают так, чтобы его ось y совпала с направлением силы тяжести.

Затем строят скан границ. Выравнивание двух неидентичных облаков точек является самым простым, когда они максимально похожи. План 300 помещения содержит только стены, поэтому предполагается, что было бы полезно удалить из скана пол и мебель. Для удаления пола строится гистограмма y-координат точек скана с шагом 15 сантиметров (см). Пиковое значение гистограммы соответствует плоскости пола, поэтому удаляются точки, расположенные на высоте менее 15 см от пола. Для удаления мебели отфильтровываются точки, горизонтальные проекции которых являются статистическими выбросами. В дальнейшем отфильтрованный скан называется «скан границ», поскольку он представляет границы между комнатами.

Затем скан границ, полученный, как описано выше, выравнивают с планом 300 помещения в модуле 140 выравнивания скана с планом помещения. Для выравнивания скана границ с планом помещения необходимо оценить поворот вокруг оси y, сдвиг и масштаб.

Сначала в обработке модулем 140 выравнивания скана с планом помещения продолжают оценивать поворот вокруг оси y на основе нормалей скана границ. Так же, как и в случае оценки направления силы тяжести, описанной выше, нормали проецируются на сферу и выбираются три наиболее часто встречающихся ортогональных направления. Обеспечивают, чтобы одно из этих направлений совпадало с направлением силы тяжести. Затем два других вектора проецируют на горизонтальную плоскость, и скан границ поворачивают таким образом, чтобы наиболее часто встречающееся направление было параллельно оси x. План 300 помещения подвергают аналогичной процедуре в модуле 140 выравнивания скана с планом помещения: оценивают нормали в горизонтальной плоскости, находят наиболее часто встречающееся направление нормалей, и поворачивают план 300 помещения таким образом, чтобы он стал параллельным оси x.

Для оценки масштаба, ширины и высоты проекции скана и плана помещения вычисляют коэффициенты масштабирования в соответствии с отношением ширины к высоте. И наконец, выбирают величину сдвига таким образом, чтобы геометрические центры скана 100 RGB-D с позами и плана 300 помещения совпали.

На фиг. 2 представлен пример выравнивания отфильтрованного скана и плана помещения. В то время как внешние границы выровнены достаточно точно, внутренние стены скана и плана помещения заметно различаются; по всей вероятности, геометрия скана нарушена и требует дополнительной коррекции.

Извлечение пола и стен

Для притягивания структурных элементов скана к структурным элементам плана помещения, их сначала нужно найти на скане. В ходе обработки модулем 130 сегментации пола и стен, поскольку дальнейшая оптимизация проводится относительно поз камеры, а 3D точки определяются как проекции точек 2D изображения в 3D пространство, результаты сегментации изображения переносятся в 3D пространство. В частности, в каждом 2D видеокадре пол сегментируется с помощью модели семантической сегментации (выбираются категории пола, поверхности и ковра), после чего в 3D пространство проецируются только точки, помеченные как «пол», так что образуется облако F точек пола. Аналогичная процедура выполняется на стенах для получения каркаса стены (облако точек W), который в дальнейшем будет притягиваться к стенам плана помещения. На фиг. 3 показана визуализация построения облака точек.

Процесс оптимизации функции стоимости

Обработка выполняется модулем 150 глобальной корректировки пучка и модулем 160 дополнительной функции потерь на основе плана помещения, работающим как часть последнего. Как отмечалось выше, рассматривается трехчленная функция стоимости: геометрический член сфокусирован на согласованности реконструкции, член пола направлен на то, чтобы сделать поверхность пола плоской, а член стен штрафует несоответствие между реконструированными стенами и планом 300 помещения.

Сначала рассмотрим геометрический член Lgeom. Чтобы обеспечить структурную согласованность в 3D пространстве, используется геометрический член, который отвечает за 3D несоответствие оценок 3D точек с двух точек зрения. Далее этот член также будет именоваться «погрешностью 3D точки». Включение глубины в скан 100 RGB-D с позами повышает ошибкоустойчивость регулировки пучка (BA), выполняемой модулем 150 глобальной корректировки пучка, и позволяет обрабатывать сложные конфигурации, не подвергаясь рискам, связанным с функцией стоимости на основе репроецирования.

Сначала из всех заданных кадров извлекаются ключевые точки с помощью SuperPoint (см. например, [3]), и эти ключевые точки совмещаются во всех кадрах. Используя карты глубины, извлеченные ключевые точки проецируют обратно в 3D пространство, и вычисляют расстояния между 3D точками, спроецированными из разных кадров.

Пусть Ki будут ключевыми точками, обнаруженными в данном кадре RBG-D, для i-го кадра RGB-D Ii. Для ключевой точки k из Ki пусть p(k) означает ее обратную проекцию в 3D пространство относительно i-той камеры.

Для каждой пары совмещенных ключевых точек (k, k') эти ключевые точки проецируются обратно, что дает пару 3D точек (p, p'). Обозначив все такие пары как M, сформулируем геометрический член как:

Поскольку пол и стены обычно не имеют текстуры или покрыты повторяющимися паттернами, могут возникать многочисленные рассогласования. Lgeom нацелен на сближение совмещенных точек, поэтому рассогласования создают риск нарушения скана. Но на практике притягивание несовмещенных точек компенсируется притягиванием пола к плоскости и стены к плану помещения.

Под притягиванием в контексте настоящего изобретения следует понимать «сближение» («привязку») точек, соответствующих структурным элементам скана RGB-D с позами (стенам/полу, извлеченным на соответствующем этапе способа), с соответствующими стенами/полами на плане помещения. Это «притягивание» по существу является сущностью оптимизации члена пола и члена стен функции стоимости.

Притягивание пола к плоскости (F2P)

Член пола Lfloor функции стоимости обеспечивает плоскую поверхность пола. Для устранения неровностей и слоистости пола точки пола притягиваются к плоскости , оцениваемой по облаку точек пола. Статистические выбросы (в качестве неограничивающего примера, 2% самых высоких и самых низких точек) облака точек пола отфильтровываются, и плоскость подгоняется в это облако точек. Эта плоскость вычисляется один раз и остается фиксированной во время оптимизации функции стоимости. При оценке плоскости пола потеря F2P вычисляется как среднее расстояние между точками, сегментированными как пол, и плоскостью пола по следующей формуле:

Этот член добавляется к потере с весовым коэффициентом λfloor. Данный весовой коэффициент выбирается эвристически для каждого набора данных. Он выбирается таким образом, чтобы вклад всех членов функции потерь был равным, и чтобы при оптимизации минимизировалась не только сумма, но и каждый член. В качестве неограничивающего примера, в случае примерных наборов данных, которые будут дополнительно описаны ниже, для набора данных Redwood λfloor=10 и λwalls=0,6, а для набора данных, собранного с помощью Samsung S20+, λfloor=10 и λwalls=0,5. Следует понимать, что эти значения приведены в качества примера, и объем настоящего изобретения никоим образом не ограничивается ими.

Притягивание стен к плану помещения (W2P)

В отличие от пола, который можно представить в виде одной плоскости, стены состоят из многочисленных плоских сегментов. Эти сегменты должны не только быть плоскими, но и соответствовать стенам из плана 300 помещения. Аналогично полу, точки, сегментированные как стены, притягиваются к стенам плана 300 помещения. Из-за множества границ в сцене сначала необходимо выяснить, какие точки следует притягивать к каким стенам. В качестве неограничивающего примера в контексте настоящего изобретения можно использовать несколько подходов к притягиванию стен к плану помещения: на основе ближайшей точки, на основе итеративной ближайшей стены и на основе фиксированной ближайшей стены. Эти подходы будут дополнительно описаны ниже.

В подходе на основе ближайшей точки для каждой точки p из PW находят ближайшую точку q(p) на плане помещения и вычисляют расстояние между этими двумя точками. В этом случае член стены является средним значением таких расстояний:

Эта стратегия притягивания во многом зависит от того, насколько плотно 3D план помещения покрыт точками. На практике это покрытие может быть недостаточным, чтобы обеспечить стабильную сходимость. Кроме того, из-за шума притягивание точки к точке приближает точки стены к контрольным данным, но не делает стены более плоскими.

В качестве альтернативы, в подходе на основе итеративной ближайшей стены точки в PW могут притягиваться к ближайшим плоскостям плана помещения вместо ближайших точек плана помещения. При таком подходе план 300 помещения представлен набором плоскостей , аппроксимирующих стены. Для каждой точки p из PW находится ее ближайшая точка q(p) плана помещения и оценивается расстояние до соответствующей плоскости стены. Эти расстояния усредняются для получения члена стены:

В этой стратегии ближайшие точки нужно находить на каждом этапе, что сильно замедляет оптимизацию функции. Еще одним существенным недостатком является то, что две точки в PW облака, принадлежащие одной и той же стене, могут быть притянуты к разным плоскости плана 300 помещения, особенно в тех областях, где стены пересекаются.

В подходе на основе фиксированной ближайшей стены для ускорения процесса оптимизации функции стоимости устанавливается соответствие между точками в PW и плоскостях стен на плане 300 помещения, которое сохраняют неизменным во время оптимизации функции стоимости.

Сначала точки PW кластеризуют в соответствии с их нормалями и оценивают вертикальные плоскости стен, т.е. для каждого кластера точек вертикальная плоскость оценивается таким образом, чтобы отклонение точек кластера от этой плоскости было минимальным. Таким образом, для каждого кластера определяется плоскость стены. Затем плоскости стен совмещаются с плоскостями стен плана 300 помещения, при допущении, что плоскость стены and плоскость стены плана помещения соответствуют друг другу, если они являются взаимно ближайшими и параллельными.

Для каждой точки p из PW, принадлежащей плоскости стены , устанавливается соответствие между этой точкой и совпадающей с ней плоскостью стены плана помещения. Следовательно, оптимизация функции стоимости выполняется на наборе П из (p, ), где оценивается один раз относительно исходного положения p и остается фиксированным в течение оптимизации функции стоимости. Расстояние между точкой и плоскостью вычисляется для каждой пары в П, и такие расстояния суммируются, чтобы получить следующий член стен:

Эти установленные соответствия зависят от взаимного соответствия точек в плоскостях стен PW и плана 300 помещения, что предотвращает соответствие двух соседних точек разным плоскостям и их последующее притягивание в разных направлениях. Кроме того, когда соответствия зафиксированы, на каждом этапе оптимизации функции стоимости необходимо оценивать только расстояния между точкой и плоскостью, что делает эту стратегию более быстрой, чем две другие.

Член стены функции потерь берется с весовым коэффициентом λwalls. По аналогии с λfloor этот весовой коэффициент подбирается эвристически для каждого набора данных.

Поскольку совмещения между действительными стенами (сканом 100 RGB-D с позами) и стенами плана 300 помещения могут измениться во время оптимизации, этап минимизации потерь (минимизации трехчленной функции стоимости) и этап выравнивания, как описано выше, чередуются.

Описанные выше система и способ ее работы обеспечивают оптимизацию (уточнение) поз камеры в 3D сцене, сканируемой по меньшей мере одной камерой, на основе скана 100 RGB-D с позами и плана 300 помещения. Следует отметить, что точки на скане 100 RGB-D с позами 3D сцены (например, комнаты) являются обратными проекциями двумерных (2D) точек из кадров изображения последовательности изображений RGB-D в 3D пространство, которые соответствуют заданным позам камеры. Уточнение этих 3D точек (рассчитанных с использованием поз камеры, т.е. являющихся функциями поз камеры) уточняет позы камеры как таковые.

Другими словами, начальные позы камеры используются для вычисления 3D точек на основе скана 100 RGB-D с позами, как описано выше, и вычисляются трехкомпонентные функции потерь (функции потерь L). Функция потерь в контексте настоящего изобретения является функцией позы камеры. Изобретение минимизирует эту функцию потерь путем нахождения набора аргументов (поз камеры), при которых значения функции потерь будут наименьшими. Оптимизация функции стоимости (включая три компонента функции потерь, упомянутые выше) приводит к получению нового (уточненного) набора поз камеры.

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

С помощью экспериментов на Redwood и набора данных сканов RGB-D, созданного авторами изобретения, было продемонстрировано, что данный изобретательский подход повышает точность 3D реконструкции из данных RGB-D.

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

Наборы данных

Поскольку проблема оптимизации позы камеры с учетом плана помещения до сих пор не рассматривалась, не существует проверочных данных, которые можно было бы использовать непосредственно для экспериментов и оценки эффективности любых решений этой проблемы. Проблема решается двумя путями: дополнительной аннотацией существующего набора данных RGB-D и сбором нового набора данных.

Хотя существует ряд наборов данных SLAM, содержащих последовательности RGB-D с позами, отсутствие контрольных данных плана помещения не позволяет экспериментировать с ними. Однако набор данных Redwood [13] оказался подходящим для проверки. Этот набор данных содержит как содержащие позу последовательности RGB-D, так и истинные плотные поверхности, снятые различными датчиками (в качестве неограничивающего примера, камерой Asus Xtion Live и сканером FARO Focus 3D X330 HDR). Истинные поверхности позволяют получить план помещения независимо от датчика глубины и результатов трекинга. Помимо этого, в отличие от многих других наборов данных SLAM для помещений, Redwood содержит крупномасштабные данные, содержащие сцены с несколькими помещениями и большим количеством перегородок. Траектории камеры в этом наборе данных были получены по их алгоритму [13].

Однако, поскольку принципы трекинга быстро развиваются, к необработанным данным RGB-D применяется новый SLAM для инициализации положений. Работа [19] была выбрана, поскольку она показывает самые современные результаты на проверочных данных SLAM и меньше подвержена сбоям, чем другие подходы. Однако даже такой успешный алгоритм иногда может быть неточным и нуждается в доработке.

Второй использованный набор данных SMapper был собран в ходе экспериментов. Он состоит из 5 средних и крупных сцен квартир и офисных помещений. Эти сцены были сняты смартфоном Samsung Galaxy S20+ с датчиком глубины ToF и системой трекинга Google ARCore внутри. Ко всем 3D сценам прилагаются изображения их планов помещения.

Хотя технология Google ARCore широко используется для различных приложений 3D реконструкции, включая дополненную реальность, она подвержена ошибкам, которые могут быть незаметны во время выполнения онлайн, но проявляются при рассмотрении полной оцениваемой траектории (т.е. набора или последовательность поз камеры). На фиг. 4(а) показан скан с наиболее очевидной ошибкой: одна из комнат повернута относительно всей другой сцены.

Метрики

Для проверки подхода использовались два типа метрик. Метрики первого типа измеряют качество реконструированного облака точек. Поскольку набор данных SMapper не содержит реконструкций контрольных данных, использовались безреференсные метрики: средняя энтропия карты (MME) [14], средняя дисперсия плоскости (MPV) [14] и взаимно ортогональная метрика (MOM) (дополнительную информацию см. например, в [9]). MME - это средняя энтропия точек в их окрестности. MPV и MOM оценивают плоскостность поверхностей на скане. Ключевое различие между ними заключается в допущении планарности: MPV допускает, что большинство поверхностей на скане плоские, а MOM - нет. Вместо этого MOM оценивает триплеты ортогональных плоскостей, покрытых точками скана, и вычисляет MPV только для этих точек.

Для вычисления MME и MPV было реконструировано облако точек путем обратного проецирования карт глубины. Для каждой точки рассчитывались энтропия и соответствующая ошибка плоскости в локальной окрестности . Для вычисления аппроксимировали плоскость из 3D точек и оценивали расстояние от каждой точки до упомянутой плоскости. Для оценки МОМ ошибку плоскости усредняли не по всем точкам, а только по точкам, расположенным на трех ортогональных плоскостях. Эти плоскости оценивались дискретно для обратных проекций карт глубин, а MPV выбранных точек усреднялись по картам.

Эти три метрики (MME, MPV, MOM) измеряют, насколько структурирован данный скан RGB-D с позами (высокие энтропия и плоскостная дисперсия точек отражают зашумленность и отсутствие структуры, а низкие энтропия и плоскостная дисперсия подтверждают, что данные более структурирован и содержат меньше шума). Это значит, что чем ниже значения этих метрик, тем выше качество сканов RGB-D с позами.

В дополнение к этим безреференсным метрикам для набора данных Redwood вычислялось расстояние от ближайшего соседа (NND) до контрольных данных, которое представляет собой среднее расстояние от точек реконструкции до ближайшей точки поверхности контрольных данных. Для вычисления этого расстояния сначала необходимо выровнять реконструированное облако точек с контрольными данными. Использовался метод глубокой глобальной регистрации для оценки относительного положения (для дополнительной информации см., например, [2]).

Второй тип метрики показывает, насколько близок каркас стены на скане к 2D плану помещения. Для каждой 3D точки, помеченной как стена, исключалась ее вертикальная координата, и вычислялись расстояния между полученной 2D точкой и всеми сегментами плана помещения (s1, s2,…, sn). Расстояние рассчитывали как евклидово расстояние между прямой и точкой, но затем проверяли, близка ли проекция точки к какому-то сегменту. Затем выбирали ближайший сегмент, соответствующий минимальному расстоянию между точкой и сегментом, и такие расстояния по всем точкам усреднялись. Эта метрика называется расстоянием до ближайшего сегмента (NSD).

В этом уравнении функция d(p, s) определяется как:

Здесь (∙,∙) - скалярное произведение, а (∙×∙) - перекрестное произведение.

Результаты

Для проверки предложенного подхода применялись описанные выше условия оптимизации, и результаты реконструкции сравнивались. В следующих таблицах 1 и 2 сравнивается применение различных членов потерь к наборам данных SMapper и Redwood.

Как показали эксперименты, даже применение чистого BA улучшало качество сканов RGB-D. Разница была особенно заметна на наборе данных SMapper, аннотированном с помощью Google ARCore, который работает быстро, но не совсем точно. Однако качество реконструкций, полученных с помощью Droid SLAM, также улучшилось после регулировки пучка. Следующие ряды таблиц соответствуют применению притягивающих членов и подтверждают дополнительное улучшение. Это абсолютно ожидаемо для F2P, который делает пол более плоским и, следовательно, уменьшает энтропию и плоскостную дисперсию. Фиг. 5 и 6 иллюстрируют изменения в реконструкциях.

Однако W2P стремится сделать стены ближе к плану помещения, и выравнивание является второстепенной целью в этом члене. Тем не менее, притягивание стен также повышает величину метрик. Более того, эксперименты показывают, что, хотя полы и стены притягивались в различных направлениях и можно было предотвратить их схождение друг с другом, совместное использование обоих членов притягивания еще больше улучшило качество.

Что касается расстояния на плане помещения, чистый BA и притягивание пола не оптимизировали его, но введение членов притягивания стен значительно уменьшило это расстояние. Согласно таблицам 1 и 2, наилучшее расстояние на плане помещения было достигнуто при применении обоих членов, однако разница между методами с притягиванием пола и без него была незначительной. Метрика NSD была ожидаемо ниже для W2P, потому что в нем стены притягиваются к плану помещения.

Визуализация метрики на фиг. 8 иллюстрирует этот эффект, поэтому фиг. 8b содержит точки, которые находятся ближе к плану помещения (темнее), чем на фиг. 8a. На фиг. 7 показан вид сверху этого скана, выровненного с планом помещения. Стены на двух нижних сканах явно ближе к плану помещения, чем на верхних.

Таблица 1. Результаты абляционных исследований на членах потерь для набора данных SMapper

MME↓ MPV↓ MOM↓ NSD↓ Необработанные позы -3.53 30.01 81.55 28.23 BA -3.61 25.51 65.19 28.17 BA+F2P -3.62 25.01 61.62 28.49 BA+W2P -3.61 25.13 61.84 25.14 BA+F2P+W2P -3.63 24.86 59.08 25.10

Здесь BA соответствует чистой 3D регулировке пучка, F2P - притягивание пола к плоскости, W2P - притягивание стены к плану помещения.

Таблица 2. Результаты абляционных исследований членов потерь для набора данных Redwood

MME↓ MPV↓ MOM↓ NND↓ NSD↓ Необработанные позы -3.81 18.68 33.07 9.43 8.37 BA -3.84 17.98 32.63 9.09 8.49 BA+F2P -3.99 14.72 29.23 8.48 8.97 BA+W2P -3.94 15.52 29.61 8.62 6.53 BA+F2P+W2P -4.02 14.46 28.94 8.38 6.31

Здесь BA соответствует чистой 3D регулировке пучка, F2P - притягивание пола к плоскости, W2P - притягивание стены к плану помещения.

В этих экспериментах фиксированная ближайшая стена была принята в качестве члена W2P. Однако все три подхода сравнивались, чтобы выяснить, насколько они различаются. Согласно приведенной ниже таблице 3, притягивание фиксированной ближайшей плоскости продемонстрировало значительные преимущества по сравнению с двумя другими методами на наборе данных SMapper. Это объясняется более низким качеством исходных данных в этом наборе данных, так как Google ARCore, являющийся инструментом трекинга онлайн, более подвержен ошибкам, и геометрия искажается в большей степени. Следовательно, выравнивание стен скана и плоскостей стен на плане помещения, основанное только на расстоянии между точками, может быть неверным.

В этом случае стратегия фиксированной плоскости учитывала больше информации и обеспечивала более стабильное выравнивание. Что касается набора данных Redwood (см. таблицу 4 ниже), инициализация траектории камеры была достаточно точной. Таким образом, стратегии на основе итеративной плоскости было достаточно для хорошей сходимости. Результаты этого подхода были немного лучше, чем у фиксированной плоскости, но разница была незначительной. Помимо качества скана как такового, рассматривалось, как различные стратегии притягивания стен влияют на расстояние на плане помещения (см. последний столбец в таблицах 3 и 4). Как и ожидалось подход на основе ближайшей точки показал наилучшие результаты, поскольку он напрямую минимизировал расстояние до плана помещения. Две другие стратегии были нацелены на более стабильное притягивание и привели к более слабым коррекциям в обмен на лучшее качество реконструкции.

Таблица 3. Результаты абляционных исследований на различных стратегиях притягивания стен к плану помещения для набора данных SMapper

MME↓ MPV↓ MOM↓ NSD↓ Ближайшая точка -3.59 25.45 63.81 16.60 Итеративная плоскость -3.60 25.50 63.88 24.18 Фиксированная плоскость -3.61 25.13 61.84 25.14

Хотя подходы на основе итеративной плоскости и фиксированной плоскости показали довольно схожие результаты оценки, был выбран последний, поскольку он продемонстрировал гораздо более высокую производительность. Таблица 5 ниже содержит измерения среднего времени вычисления на миллион точек для каждого члена. Это подтвердило теоретический вывод о том, что поиск ближайшего соседа сильно влияет на продолжительность вычисления функции стоимости.

Таблица 4. Результаты абляционных исследований на различных стратегиях притягивания стен к плану помещения для набора данных Redwood

MME↓ MPV↓ MOM↓ NSD↓ Ближайшая точка -3.93 16.88 31.04 4.84 Итеративная плоскость -3.96 15.39 30.91 6.31 Фиксированная плоскость -3.94 15.52 29.61 6.53

Таблица 5. Время вычисления каждого члена функции стоимости для миллиона точек

Время, мс 15.09 6.97 66.52 70.47 6.90

Выше были описаны способ и система для уточнения позы камеры с учетом плана помещения. Они могут применяться для получения точной информации о позе камеры (т.е. положении+ориентации) путем уточнения информации о позе камеры для каждого заданного скана в последовательности одного или более сканов RGB-D, а также уточнения (оценки) траектории камеры в различных сценариях генерации 3D сканов сцены в помещении.

Специалистам в данной области техники будет понятно, что данный способ можно реализовать с помощью различных комбинаций аппаратных и программных средств, и любые такие конкретные комбинации не ограничивают объем настоящего изобретения. Описанные выше модули, образующие предложенную систему, могут быть реализованы в виде отдельных аппаратных средств, или два или более модуля могут быть реализованы одним аппаратным средством, или же предложенная система изобретения может быть реализована одним или более компьютерами, процессорами (CPU), такими как процессоры общего назначения или специализированные процессоры, такие как графические процессоры (GPU), или с помощью одной или более ASIC, FPGA, логических элементов и т.п. В качестве альтернативы, один или более модулей могут быть реализованы в виде программных средств, таких как, например, программа или программы, элемент (элементы) компьютерной программы или модуль (модули), управляющие одним или более компьютерами, центральными процессорами и т.п. для реализации этапов и/или операций способа, подробно описанных выше. Эти программные средства могут быть реализованы на одном или более машиночитаемых носителях, которые хорошо известны специалистам в данной области техники, могут храниться в одном или более запоминающих устройствах, таких как ПЗУ, ОЗУ, флэш-память, EEPROM и т.д., или переданы при необходимости, например, с удаленных серверов через одно или более проводных и/или беспроводных сетевых подключений, Интернет, Ethernet-соединение, локальную сеть (сети) или другие локальные или глобальные компьютерные сети.

Специалистам в данной области техники будет понятно, что выше были описаны и проиллюстрированы на чертежах только некоторые из возможных примеров способов и материалов и технических средств, с помощью которых могут быть реализованы варианты осуществления настоящего изобретения. Подробное описание вариантов осуществления изобретения, представленное выше, не предназначено для ограничения или определения объема правовой охраны настоящего изобретения.

Специалисты в данной области техники смогут предложить другие варианты осуществления, которые могут входить в объем настоящего изобретения, после тщательного изучения приведенного выше описания со ссылкой на прилагаемые чертежи, и все такие очевидные модификации, изменения и/или эквивалентные замены считаются включенными в объем настоящего изобретения. Все источники из уровня техники, цитируемые и описанные в данном документе, настоящим включены в данное раскрытие путём ссылки, где это применимо.

Хотя настоящее изобретение было описано и проиллюстрировано с обращением к различным вариантам его осуществления, специалистам в данной области техники следует понимать, что различные модификации его формы и конкретных деталей могут быть осуществлены, не выходя за рамки объема настоящего изобретения, который определяется только формулой изобретения, представленной ниже, и её эквивалентами.

Литература:

[1] Pappas. A unifying view of geometry, semantics, and data association in slam. In IJCAI, pages 5204-5208, 2018.

[2] Christopher Choy, Wei Dong, and Vladlen Koltun. Deep global registration. In CVPR, 2020.

[3] Daniel DeTone, Tomasz Malisiewicz, and Andrew Rabinovich. Super-point: Self-supervised interest point detection and description. pages 337-33712, 06 2018.

[4] Duncan P Frost, Olaf Kahler, and David W Murray. Object-aware bundle adjustment for correcting monocular scale drift. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pages 4770-4776. IEEE, 2016.

[5] Dorian Galvez-Lopez, Marta Salas, Juan D Tardos, and JMM Montiel. Real-time monocular object slam. Robotics and Autonomous Systems, 75:435-449, 2016.

[6] Mauricio Hess-Flores, Daniel Knoblauch, Mark Duchaineau, Kenneth Joy, and Falko Kuester. Ray divergence-based bundle adjustment conditioning for multi-view stereo. pages 153-164, 11 2011.

[7] Henry Howard-Jenkins, Jose-Raul Ruiz-Sarmiento, and Victor Adrian Prisacariu. Lalaloc: Latent layout localisation in dynamic, unvisited environments. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 10107-10116, 2021.

[8] Ming Hsiao, Eric Westman, Guofeng Zhang, and Michael Kaess. Keyframe-based dense planar slam. In 2017 IEEE International Conference on Robotics and Automation (ICRA), pages 5110-5117. IEEE, 2017.

[9] Anastasiia Kornilova and Gonzalo Ferrer. Be your own benchmark: No-reference trajectory metric on registered point clouds, 2021.

[10] Lingni Ma, Christian Kerl, Jorg Stuckler, and Daniel Cremers. Cpa- slam: Consistent plane-model alignment for direct rgb-d slam. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pages 1285-1291. IEEE, 2016.

[11] Kathia Melbouci, Sylvie Naudet Collette, Vincent Gay-Bellile, Omar Ait-Aider, Mathieu Carrier, and Michel Dhome. Bundle adjustment revisited for slam with rgbd sensors. In 2015 14th IAPR International Conference on Machine Vision Applications (MVA), pages 166-169. IEEE, 2015.

[12] Lachlan Nicholson, Michael Milford, and Niko Siinderhauf. Quadric-slam: Dual quadrics from object detections as landmarks in object- oriented slam. IEEE Robotics and Automation Letters, 4(1):1-8, 2018.

[13] Jaesik Park, Qian-Yi Zhou, and Vladlen Koltun. Colored point cloud registration revisited. In ICCV, 2017.

[14] Jan Razlaw, David Droeschel, Dirk Holz, and Sven Behnke. Evaluation of registration methods for sparse 3d laser scans. In 2015 European Conference on Mobile Robots (ECMR), pages 1-7, 2015.

[15] Sebastian A Scherer, Daniel Dube, and Andreas Zell. Using depth in visual simultaneous localisation and mapping. In 2012 IEEE International Conference on Robotics and Automation, pages 5216¬5221. IEEE, 2012.

[16] Sebastian A Scherer and Andreas Zell. Efficient onbard rgbd-slam for autonomous mavs. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1062-1068. IEEE, 2013.

[17] Dale Schinstock, Chris Lewis, and Craig Buckley. An alternative cost function to bundle adjustment used for aerial photography from uavs. 04 2009.

[18] Thomas Schops, Torsten Sattler, and Marc Pollefeys. Bad slam: Bundle adjusted direct rgb-d slam. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019.

[19] Zachary Teed and Jia Deng. DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras. Advances in neural information processing systems, 2021.

[20] Shubham Tulsiani, Tinghui Zhou, Alexei A Efros, and Jitendra Malik. Multi-view supervision for single-view reconstruction via differentiable ray consistency. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2626-2634, 2017.

[21] Erik Wijmans and Yasutaka Furukawa. Exploiting 2d floorplan for building-scale panorama rgbd alignment. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 308¬316, 2017.

[22] Chenyang Zhang. Pl-gm: Rgb-d slam with a novel 2d and 3d geometric constraint model of point and line features. IEEE Access, 9:9958 9971, 2021.

Похожие патенты RU2794441C1

название год авторы номер документа
ВИЗУАЛИЗАЦИЯ РЕКОНСТРУКЦИИ 3D-СЦЕНЫ С ИСПОЛЬЗОВАНИЕМ СЕМАНТИЧЕСКОЙ РЕГУЛЯРИЗАЦИИ НОРМАЛЕЙ TSDF ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ 2023
  • Соколова Анна Ильинична
  • Воронцова Анна Борисовна
  • Лимонов Александр Георгиевич
RU2825722C1
НЕЙРОННАЯ ТОЧЕЧНАЯ ГРАФИКА 2019
  • Алиев Кара-Али Алибулатович
  • Ульянов Дмитрий Владимирович
  • Лемпицкий Виктор Сергеевич
RU2729166C1
СПОСОБ ВИЗУАЛИЗАЦИИ 3D ПОРТРЕТА ЧЕЛОВЕКА С ИЗМЕНЕННЫМ ОСВЕЩЕНИЕМ И ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ НЕГО 2021
  • Севастопольский Артём Михайлович
  • Лемпицкий Виктор Сергеевич
RU2757563C1
Способ и электронное устройство для обнаружения трехмерных объектов с помощью нейронных сетей 2021
  • Рухович Данила Дмитриевич
  • Воронцова Анна Борисовна
  • Конушин Антон Сергеевич
RU2776814C1
Способ обеспечения компьютерного зрения 2022
  • Рухович Данила Дмитриевич
  • Воронцова Анна Борисовна
  • Конушин Антон Сергеевич
RU2791587C1
Система для построения модели трехмерного пространства 2023
  • Человьян Дмитрий Владимирович
RU2812950C1
УСТРОЙСТВО, СПОСОБ И СИСТЕМА ДЛЯ РЕКОНСТРУКЦИИ 3D-МОДЕЛИ ОБЪЕКТА 2015
  • Чернов Виталий Владимирович
  • Шамсуаров Артём Геннадьевич
  • Муратов Олег Фанилевич
  • Слынько Юрий Вячеславович
  • Любимцева Мария Михайловна
  • Буча Виктор Валентинович
RU2642167C2
СПОСОБ И СИСТЕМА ДЛЯ ДИСТАНЦИОННОГО ВЫБОРА ОДЕЖДЫ 2020
  • Федюков Максим Александрович
  • Посконин Андрей Владимирович
  • Климентьев Сергей Михайлович
  • Гузов Владимир Владимирович
  • Петров Илья Алексеевич
  • Коваль Андрей Васильевич
  • Патакин Николай
  • Федотов Антон Владимирович
  • Корнеев Олег Владимирович
RU2805003C2
ИЗМЕРЕНИЕ ТЕЛА 2013
  • Уотсон Элеанор
  • Эванс Дэвид
RU2635226C2
СИСТЕМА И СПОСОБ РЕКОНСТРУКЦИИ СВОЙСТВ ПОВЕРХНОСТИ И ОПРЕДЕЛЕНИЯ ПОЛОЖЕНИЯ ОЦИФРОВАННЫХ 3D ОБЪЕКТОВ 2022
  • Пискунов Дмитрий Евгеньевич
  • Суворина Анастасия Сергеевна
  • Груздев Алексей Михайлович
  • Осипов Алексей Александрович
  • Федорова Дарья Андреевна
RU2806729C1

Иллюстрации к изобретению RU 2 794 441 C1

Реферат патента 2023 года СПОСОБ И СИСТЕМА ДЛЯ УТОЧНЕНИЯ ПОЗЫ КАМЕРЫ С УЧЕТОМ ПЛАНА ПОМЕЩЕНИЯ

Группа изобретений относится к области компьютерного зрения. Техническим результатом является повышение точности по меньшей мере одного скана 3D-сцены при автоматическом получении полной схемы этой сцены. Способ содержит этапы, на которых: получают план помещения трехмерной (3D) структуры сцены, отражающий априорную структуру этой сцены; получают один или более сканов изображения сцены с помощью камеры; находят направление силы тяжести для одного или более сканов изображения; строят скан границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами; выравнивают скан границ с планом помещения; извлекают структурные элементы из одного или более сканов изображения и оптимизируют трехчленную функцию стоимости на основе геометрического члена, члена пола и члена стен путем притягивания точек на одном или более сканах изображений, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D-сцене. 3 н. и 12 з.п. ф-лы, 9 ил., 5 табл.

Формула изобретения RU 2 794 441 C1

1. Способ уточнения позы камеры с учетом плана помещения, причем способ содержит этапы, на которых:

получают план помещения трехмерной (3D) структуры сцены, отражающий априорную структуру этой сцены;

получают один или более сканов изображения сцены с помощью камеры;

находят направление силы тяжести для одного или более сканов изображения;

строят скан границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами;

выравнивают скан границ с планом помещения;

извлекают структурные элементы из одного или более сканов изображения, и

оптимизируют трехчленную функцию стоимости на основе геометрического члена, члена пола и члена стен путем притягивания точек на одном или более сканах изображений, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D-сцене.

2. Способ по п.1, отличающийся тем, что трехчленная функция стоимости сформулирована как:

,

где Lgeom - геометрический член, Lfloor - член пола и Lwalls - член стен, λfloor и λwalls - весовые коэффициенты, вычисляемые таким образом, чтобы уравнять вклады всех членов трехчленной функции стоимости.

3. Способ по п.1, в котором план помещения представляет собой 3D-план помещения, полученный из набора 3D-точек, сгенерированного из векторного изображения со стенами, изображенными в виде сегментов.

4. Способ по п.1, в котором один или более сканов изображения сцены представляют собой скан (сканы) RGB-D с позами, содержащий один или более кадров изображения RGB, данные глубины и информацию о позе камеры.

5. Способ по п.1, в котором план помещения представлен набором плоскостей, аппроксимирующих стены в 3D-сцене, при этом притягивание точек на одном или более сканах изображений к соответствующим точкам на плане помещения содержит этапы, на которых:

притягивают точки к ближайшим плоскостям плана помещения путем нахождения для каждой упомянутой точки ее ближайшей точки на плане помещения и оценивают расстояние до соответствующей плоскости стены, и

усредняют упомянутые расстояния для множества точек для получения члена стен Lwalls.

6. Способ по п.1, в котором притягивание точек на одном или более сканах изображения к соответствующим точкам на плане помещения содержит этапы, на которых:

кластеризуют множество упомянутых точек в соответствии с их нормалью в один или более кластеров точек;

оценивают вертикальные плоскости стен для одного или более кластеров точек путем определения одной или более вертикальных плоскостей стен таким образом, чтобы отклонение точек в одном или более кластерах от заданной плоскости было минимальным;

совмещают плоскости стен с соответствующими плоскостями стен на плане помещения при допущении, что данная плоскость стены и данная плоскость стены на плане помещения соответствуют друг другу, если они являются взаимно ближайшими и параллельными;

вычисляют расстояние между точкой и плоскостью для каждой пары данного кластера точек и соответствующей вертикальной плоскости стены; и

суммируют расстояния между точкой и плоскостью для получения члена стен Lwalls.

7. Способ по п.1, в котором выравнивание скана границ с планом помещения и оптимизацию трехчленной функции стоимости чередуют итерационным образом.

8. Система для уточнения позы камеры с учетом плана помещения, содержащая:

память и

по меньшей мере один процессор, соединенный с памятью, причем по меньшей мере один процессор под управлением извлеченных из памяти инструкций выполнен с возможностью:

получения плана помещения трехмерной (3D) структуры сцены, отражающего априорную структуру сцены;

получения одного или более сканов изображения сцены с помощью камеры;

определения направления силы тяжести для одного или более сканов изображений;

построения скана границ путем отфильтровывания точек на одном или более сканах изображений, горизонтальные проекции которых являются статистическими выбросами;

выравнивания скана границ с планом помещения;

извлечения структурных элементов из одного или более сканов изображений, и

оптимизации трехчленной функции стоимости на основе геометрического члена, члена пола и члена стен путем притягивания точек на одном или более сканах изображения, которые соответствуют структурным элементам, к соответствующим точкам на плане помещения для уточнения позы камеры в 3D-сцене.

9. Система по п.8, в которой трехчленная функция стоимости сформулирована как:

,

где Lgeom - геометрический член, Lfloor - член пола, а Lwalls - член стен, λfloor и λwalls - весовые коэффициенты, вычисляемые таким образом, чтобы уравнять вклад всех членов трехчленной функции стоимости.

10. Система по п.8, в которой план помещения представляет собой трехмерный план помещения, полученный из набора 3D-точек, сгенерированного из векторного изображения со стенами, изображенными в виде сегментов.

11. Система по п.8, в которой один или более сканов изображения сцены представляют собой скан (сканы) RGB-D с позами, содержащий один или более кадров изображения RGB, данные глубины и информацию о позе камеры.

12. Система по п.8, в которой план помещения представлен набором плоскостей, аппроксимирующих стены в 3D-сцене, при этом для выполнения притягивания точек на одном или более сканах изображения к соответствующим точкам на плане помещения по меньшей мере один процессор выполнен с возможностью:

притягивания точек к ближайшим плоскостям плана помещения путем нахождения для каждой упомянутой точки ее ближайшей точки на плане помещения и оценки расстояния до соответствующей плоскости стены; и

усреднения упомянутых расстояний для множества точек для получения члена стен Lwalls.

13. Система по п.8, в которой для выполнения притягивания точек на одном или более сканах изображений к соответствующим точкам на плане помещения по меньшей мере один процессор выполнен с возможностью:

кластеризации множества упомянутых точек в соответствии с их нормалью в один или более кластеров точек;

оценки вертикальных плоскостей стен для одного или более кластеров точек путем определения одной или более вертикальных плоскостей стен таким образом, чтобы отклонение точек в одном или более кластерах от заданной плоскости было минимальным;

совмещения плоскостей стен с соответствующими плоскостями стен на плане помещения при допущении, что данная плоскость стены и данная плоскость стены на плане помещения соответствуют друг другу, если они являются взаимно ближайшими и параллельными;

вычисления расстояний между точкой и плоскостью для каждой пары данного кластера точек и соответствующей вертикальной плоскости стены; и

суммирования расстояний между точкой и плоскостью для получения члена стен Lwalls.

14. Система по п.8, в которой по меньшей мере один процессор выполнен с возможностью чередования упомянутого выравнивания скана границ с планом помещения и упомянутой оптимизации трехчленной функции стоимости итерационным образом.

15. Машиночитаемый носитель, содержащий хранящееся на нем программное обеспечение, которое при его выполнении по меньшей мере одним процессором побуждает по меньшей мере один процессор выполнять способ по п.1.

Документы, цитированные в отчете о поиске Патент 2023 года RU2794441C1

US 20210279957 A1, 09.09.2021
WO 2018201019 A1, 01.11.2018
US 20190005711 A1, 03.01.2019
СПОСОБ И УСТРОЙСТВО СОЗДАНИЯ ПАНОРАМНОГО ИЗОБРАЖЕНИЯ 2020
  • Сысоев Никита Аркадьевич
RU2759965C1
СПОСОБ И СИСТЕМА ОПРЕДЕЛЕНИЯ МЕСТОПОЛОЖЕНИЯ ПОЛЬЗОВАТЕЛЯ 2020
  • Шафаростов Артем Алексеевич
  • Рыбаков Алексей Алексеевич
  • Козлов Максим Александрович
  • Батурин Илья Викторович
  • Евграшин Александр Сергеевич
RU2759773C1

RU 2 794 441 C1

Авторы

Соколова Анна Ильинична

Лимонов Александр Георгиевич

Никитин Филипп Александрович

Конушин Антон Сергеевич

Даты

2023-04-18Публикация

2022-05-27Подача