Оценка глубины по 360-градусному изображению (Depth estimation from a 360-degree image)

Автор: | 23.12.2020

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

BiFuse: оценка глубины для монокуляра на 360° с помощью Bi-Projection Fusion (перевод статьи)

Аннотация
1. Введение
2. Ссылки на похожие работы (Related Work)
3. Наш подход

3.1. Введение
3.2 Предлагаемая процедура сферического наполнения (Proposed Spherical Padding )
3.3. Предлагаемая сеть BiFuse (Proposed BiFuse Network)
3.4. Детали реализации

4. Результаты экспериментов
4.1. Метрика оценки и наборы данных

Полезные ссылки:

Введение

Слияние данных (Data Fusion) — процесс объединения данных от разных источников для получения более согласующейся, точной и полезной информации, чем информация от одного отдельного источника

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

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

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

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

Проекции панорамных изображений

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

Поле зрения вокруг нас может рассматриваться как поверхность сферы. Сферическая панорама охватывает все 360 градусов (от +180 до -180) пространства по горизонтали и 180 градусов (от +90 до -90) по вертикали.

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

В результате имитации 3D пространства подобным образом получаем искажения, которые обусловлены следующими факторами:

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

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

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

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

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

Параллакс. Нодальная точка

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

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

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

Карты глубины в дополнение к двумерному изображению

В настоящее время системы компьютерного зрения получили широкое распространение во многих областях техники. Решение многих задач упрощается при использовании карты глубины в дополнение к двумерному изображению. Карта глубины представляет собой двумерное одноканальное изображение, содержащее информацию о расстоянии от плоскости сенсора до объектов сцены. В некотором смысле это значение координаты z (координаты x и y в данном случае относятся к плоскости сенсора). Получение карт глубины возможно несколькими способами:

  1. Из имеющейся трехмерной модели сцены;
  2. По паре стереоизображений;
  3. С помощью специализированных сенсоров.

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

BiFuse: оценка глубины для монокуляра на 360° с помощью Bi-Projection Fusion

Перевод и обработка статьи BiFuse: Monocular 360◦ Depth Estimation via Bi-Projection Fusion

Аннотация

Оценка глубины по монокулярному 360-градусному изображению — это задача, которая набирает популярность из-за доступности 360-градусных камер потребительского уровня , способных воспринимать окружающее пространство. В то время как стандарт 360-градусной визуализации быстро развивается, мы предлагаем прогнозировать карту глубины монокулярного 360-градусного изображения, имитируя как периферическое, так и фовеальное зрение человеческого глаза.
Одна из особенностей человеческого зрения заключается в его разделении на две зоны: узкую центральную (или фовеальную) зону, в которой острота зрения максимальна, а также периферическую, занимающую большую часть поля зрения. Разработчики устройств виртуальной реальности давно предлагают пользоваться этой особенностью для повышения воспринимаемого пользователем качества изображения. Концепция фовеального рендеринга означает, что компьютер тратит существенную часть вычислительных ресурсов на расчет изображения для узкой центральной части поля зрения, а на остальную часть тратит сопоставимую вычислительную мощность, хотя она гораздо больше по размеру
С этой целью мы применяем нейронную сеть с двумя ветвями, использующую две общие проекции: Equirectangular Projection и Cubemap Projection. В частности, равнопрямоугольная проекция включает в себя полное поле зрения, но вносит искажения, тогда как проекция кубической карты избегает искажений, но вносит прерывистость на границе куба. Таким образом, мы предлагаем схему слияния двух проекций вместе с обучаемыми масками, чтобы сбалансировать карту признаков из двух проекций. Более того, для проекции кубической карты мы предлагаем процедуру заполнения сферической области, которая смягчает разрыв на границе каждой грани. Мы применяем наш метод к четырем наборам панорамных данных и показываем положительные результаты по сравнению с существующими современными методами.

На рисунке мы даем подробную иллюстрацию преобразований из равнопрямоугольной проекции (Equirectangular Projection) в кубическую проекцию (Cubemap Projection)и наоборот (обозначены как E2C и C2E соответственно).

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

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

1.Введение

3D-реконструкция по 2D-изображениям широко изучалась благодаря многочисленным практическим приложениям. Например, для автономных систем, таких как беспилотные автомобили и домашние роботы, крайне важно ощущать трехмерную среду, поскольку им необходимо безопасно перемещаться в трехмерном пространстве. Среди известных методов 3D-реконструкции значительный прогресс был достигнут в оценке глубины монокуляра (monocular depth estimation) благодаря развитию глубокого обучения (deep learning) и доступности крупномасштабных данных для 3D-обучения. Например, FCRN  обеспечивает оценку глубины монокуляра с помощью предлагаемого модуля восходящей проекции. Однако, большинство существующих методов разработаны для камеры с нормальным полем обзора ( field-of-view, FoV). В последние годы  становятся все более популярными камеры с обзором 360 °.  Это послужило стимулом для изучения монокулярной оценки глубины 360 °.

Наша сеть BiFuse оценивает глубину на 360 ° по монокулярному изображению, используя как равнопрямоугольную проекцию, так и проекцию кубической карты. Компонент двухпроекционного слияния (bi-projection fusion) предлагается для использования обеих проекций. Это предложение основано как на периферическом, так и на фовеальном зрении человеческого глаза. Учитывая расчетную глубину с обзором в 360 °, можно реконструировать полное трехмерное облако точек, окружающее камеру, для обслуживания последующих приложений.

Рисунок 1. Наша сеть BiFuse оценивает глубину на 360 ° по монокулярному изображению, используя как равнопрямоугольную проекцию, так и проекцию кубической карты. Компонент двухпроекционного слияния (bi-projection fusion) предлагается для использования обеих проекций. Это предложение основано как на периферическом, так и на фовеальном зрении человеческого глаза. Учитывая расчетную глубину с обзором в 360 °, можно реконструировать полное трехмерное облако точек, окружающее камеру, для обслуживания последующих приложений.

В этой статье мы предлагаем сквозную обучаемую нейронную сеть, использующую две общие проекции — равнопрямоугольную проекцию и проекцию кубической карты — в качестве входных данных для прогнозирования карта глубины монокуляра 360◦ образ. Наша основная мотивация — объединить возможности как периферийного, так и фовеального зрения, подобно человеческому глазу (см. рис. 1).  Равнопрямоугольная проекция обеспечивает широкое поле зрения, имитируя периферическое зрение, тогда как проекция кубической карты обеспечивает меньшее, но неискаженное поле зрения, имитирующее фовеальное зрение. С одной стороны, равнопрямоугольная проекция позволяет наблюдать всю окружающее пространство по одному 2D-изображению, но при этом вводит искажение. С другой стороны, проекция кубической карты избегает искажение, но вносит разрыв на границах куба. Учитывая, что обе проекции будут иметь свойство дополнять друг друга, мы ссылаемся на наш метод как BiFuse.

Однако при этом диапазон фовеального зрения может быть слишком маленьким, что снижает эффективность схемы нашего синтеза (рис. 2).

Рисунок 2. Сравнение полей зрения (FoV). Равнопрямоугольная проекция имеет больший диапазон поля зрения по сравнению с каждой гранью на проекции кубической карты с (сплошная линия) или без (пунктирная линия) предлагаемого сферического заполнения.

Чтобы решить эту проблему, заполнение куба (cube padding, CP) были предложены методы для расширения поля зрения через соседние грани куба. Однако, использование заполнения куба может привести к геометрической несогласованности на границе, которая вносит заметный эффект искажения. Поэтому мы предлагаем сферическое заполнение (spherical padding, SP), которая выравнивает границу, учитывая сферическую геометрию и уменьшает несогласованность границ. Наконец, вместо наивного совмещения признаков обеих ветвей (например, мы предлагаем процедуру слияния двух проекций с обучаемыми масками, чтобы сбалансировать информацию, разделяемую двумя проекциями. Исходный код и предварительно обученные модели доступны для общественности.

Мы применяем наш метод к четырем наборам данных панорамы: Matterport3D , PanoSUNCG, 360D  и Stanford2D3D . Наши экспериментальные результаты показывают, что предложенный метод работает лучше, чем современные методы. Кроме того, мы представляем обширное исследование для каждого из предложенных модулей, включая схем сферического заполнения и слияния. Наши вклады резюмируются следующим образом:

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

2. Ссылки на похожие работы (Related Work)

Мы описываем соответствующие работы, которые относятся к оценке глубины монокуляра и обзорному восприятию в диапазоне 360◦.

Monocular Depth EstimationSaxena и др. — одна из первых работ по машинному обучению оценке глубины монокуляра. После нескольких лет разработки с использованием классических подходов машинного обучения, глубокое обучение внесло свой вклад в последнее значительное улучшение производительности. Eigen и др.  сначала используют глубокую нейронную сеть для оценки карты глубины по одному изображению. Позже Laina и др.  используют ResNet в качестве кодировщика и предлагают  up-projection модуль для процедуры upsampling (повышение дискретизации) вместе с reverse Huber loss для улучшения оценки глубины. Кроме того, Lee и др.  попробовали предсказать глубину, используя несколько обрезанных изображений, и объединить их в области Фурье. Для дальнейшего уточнения предсказаний глубины объединяют условные случайные поля (conditional random fields, CRF) в глубокую нейронную сеть для достижения лучшая производительность. Например, Cao и др.  сформулировал оценку глубины как проблему классификации, а использование CRF для уточнения окончательного прогноза.

Более того, были предприняты другие попытки продвинуть оценку глубины. Fu и др.  использовал расширенную свертку для увеличения воспринимающего поля и применил порядковую регрессию потерь для сохранения пространственных отношений между каждым соседним классом. С фотометрическими потерями может быть достигнуто обучение без учителя для оценки глубины. Godard и др. использовал стереопары для предсказания несоответствий, основанных на согласованности левого и правого, в то время как Zhou и др.  предлагают две сети для оценки глубины и эго-движение из видеопоследовательностей. Кроме того, Yang и др.  использовал согласованность нормалей глубины для улучшения предсказания глубины. Однако вышеупомянутые методы были разработаны для камер с нормальным полем обзора — без учета свойств  360◦. картинок.

Восприятие 360◦ . В последнее время всенаправленные камеры стали стать популярным в СМИ, что побуждает людей работать над задачами, связанными с панорамой. Например, из-за большого поля зрения, планировку комнаты можно определить по панораме . Однако, производительность обычно страдает искажением равноугольной проекции. Для решения этой проблемы предлагается несколько подходов. Cheng и др. преобразовывает панораму в кубическую карту. Для каждого плоскости куба, они заменяют исходный нулевой отступ на свой, предложили метод заполнения куба для устранения несогласованности границ. Основываясь на Cheng и др., Wang и др.  использует cubemap и cube padding для неконтролируемой оценки глубины панорамы.

Чтобы сеть узнала об искажении, методы сферической свертки (Spherical CNNs) недавно были предложены. Учитывая это свойство, Zioulis и др.  предлагают OmniDepth и используют сферические слои в качестве модуля предварительной обработки. Однако, все еще остается проблемой применение сферических CNN с использованием глубоких сетей. Ederet и др. рассматривают оценку глубины на 360 ° как многозадачное обучение глубины, нормали к поверхности, и плоская граница. Однако нормаль поверхности от карты глубины обычно зашумлена, особенно в реальных сценариях, что ограничивает масштабируемость вне синтетических сцен.

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

 3. Наш подход
Для улучшения оценки глубины монокуляра обзора 360 ° мы стремимся использовать преимущества двух различных представлений для изображений 360 ° —  равнопрямоугольной проекции и проекции кубической карты.  Далее мы последовательно детализируем:
  • проекцию кубической карты с предлагаемой нами процедурой сферического наполнения (разд. 3.1 и 3.2),
  • схему слияния 2-х проекций (разд. 3.3),
  • общую сетевую архитектуру (разд. 3.3).

3.1. Введение

Для представления кубической карты со сторонами равной длины w мы обозначим шесть его граней как

fi, где i ∈ {B, D, F, L, R, U},

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

Все камеры имеют один и тот же центр проекции (то есть центр куба), но в разных направлениях. Поскольку мы устанавливаем начало мировой системы координат в центр куба,  матрица внешних параметров каждой камеры может быть просто определена матрицей вращения Rfi и нулевым перемещением. Пиксель pi задается на плоскости изображения fi  координатами (x, y, z) в соответствующей системе камер, где 0 ≤ x,   y ≤ w — 1  и  z = w / 2. его можно преобразовать в равнопрямоугольное представление простым отображением:

где θfi и φfi — долгота и широта в равнопрямоугольной проекции; а qxi, qyi, qzi — компоненты x, y, z матрицы qi соответственно. Поскольку это отображение обратимо, мы можем легко выполнять преобразования как из равнопрямоугольника в куб, так и из куба в равнопрямоугольник. Преобразования обозначаются как E2C и C2E, соответственно.

3.2 Предлагаемая процедура сферического наполнения (Proposed Spherical Padding )

Из-за искажения в равнопрямоугольной проекции прямое обучение типичной сверточной нейронной сети для выполнения оценки глубины монокуляра на равнопрямоугольных изображениях может привести к нестабильному процессу обучения и неудовлетворительному прогнозу. Напротив, кубическая проекция меньше страдает от искажений, но  дает большие ошибки из-за неоднородности границ каждого вида. Чтобы решить эту проблему для проекции кубической карты, Cheng и др. предлагают метод заполнения куба (Cube padding, CP) для использования связи между гранями куба для заполнения изображения. Однако, простое заполнение карты признаков вида с использованием признаков соседних граней не соответствует характеристикам перспективной проекции. Поэтому здесь мы предлагаем метод сферического заполнения (Spherical padding, SP), который дополняет элемент в соответствии со сферической проекцией. Таким образом, мы можем связать каждый вид геометрической связью. Сравнение между заполнением куба  и предлагаемым нами сферическим заполнением показано на рис. 3.

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

Самый простой способ применить сферическое заполнение для cubemap:

  • — сначала преобразовать все грани в единое равнопрямоугольное изображение с помощью C2E.
  • затем продолжить исходное поле зрения от σ = 90◦ к  σ′  и сопоставить его с кубической картой пользователя E2C.

В результате мы можем заполнить их на каждой грани полностью без пропущенных частей (т.е. неопределенных областей в кубическом наполнении, см рис. 3) и с согласованной геометрией. В частности, для кубической карты с длиной стороны w и Fov σ = 90◦, преобразование C2E идентично обратному вычислению (1). Когда мы применяем сферическое наполнение с размером γ, который определяется размером заполнения в сверточном слое (например, γ = 1 для сверточного слоя 3 × 3), мы обновляем длину стороны грани куба до w′ = W + 2γ и соответствующее поле зрения становится  σ′ = 2 arctan ((w/2+γ)/(w/2)) после заполнения, как показано на рис. 5.

Рис. 5. Кубическая карта длиной w и размером заполнения γ. Мы сохраняем фокусное расстояние тем же (0.5w) и рассчитываем новое поле зрения σ ′.

Следовательно, для отображения от равнопрямоугольной проекции обратно к мягкой кубической карте, мы должны использовать как w′, так и σ′, чтобы получить правильную E2C трансформацию для сферического наполнения.

Эффективное преобразование. Мы описали общую концепцию нашей сферической набивки. Однако описанная выше процедура состоит из преобразований C2E и E2C, что может потребовать значительных вычислительных затрат. Поэтому мы упрощаем эту процедуру, выводя функцию прямого отображения между двумя гранями куба. Для двух граней куба fi и fj мы сначала обозначим геометрическое преобразование между системами координат их камер как матрицу вращения Rfi → fj. Тогда отображение пикселя pi в fi к fj может быть установлено на типичной проекционной моделью камеры-обскура:

где (x, y) представляет двумерное местоположение числа pi после отображения на плоскость изображения fj. Поскольку это отображение необходимо вычислить только один раз для всех пикселей в области заполнения, вычислительные затраты на применение сферического заполнения сравнимы с заполнением куба, без включения каких-либо преобразований E2C или C2E.

3.3. Предлагаемая сеть BiFuse (Proposed BiFuse Network)

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

Рис. 4. Предлагаемая сеть BiFuse. Наша сеть состоит из двух ветвей Be и Bc. Входом Be является равнопрямоугольное изображение RGB, а Bc принимает в качестве входных данных соответствующую кубическую карту. Мы заменяем первый слой свертки в Be на Pre-Block. Для декодера мы используем модули up-projection. Для каждого слоя свертки и восходящей проекции в Bc мы применяем наши сферические отступы, чтобы соединить карты характеристик шести граней. Самое главное, что между картами объектов из Be и Bc мы используем предлагаемый модуль слияния двух проекций для обмена информацией между двумя представлениями объектов. Наконец, мы добавляем модуль Conv, чтобы объединить два предсказания глубины из Be и Bc.

В целом наша модель состоит из двух кодировщиков-декодеров ветви, которые принимают равнопрямоугольное изображение и кубическую карту в качестве входных данных, соответственно, где мы обозначаем равнопрямоугольную ветвь как Be, а кубическую — как Bc. Как упоминалось в п. 1, каждая ветвь имеет свои преимущества, но также страдает некоторыми ограничениями. Чтобы совместно изучить лучшую модель, разделяя оба преимущества, мы используем блок слияния с двумя проекциями, который связывает информацию между двумя ветвями, которые будут описаны ниже. Чтобы сгенерировать окончательный прогноз, мы сначала преобразуем прогноз кубической карты в равнопрямоугольный вид и применяем модуль свертки для объединения обоих прогнозов.

Bi-Projection Fusion. Для поощрения информации разделенные на две ветви, мы эмпирически обнаружили, что прямое объединение карт признаков [31] из Be и Bc могло бы привести к нестабильным градиентам и процедуре обучения, и таким образом, он стремится разработать схему слияния, чтобы сбалансировать две ветви. Вдохновленные недавними работами в области многозадачности , мы фокусируемся на балансировании карты функций из двух разных представлений. Для достижения этой цели мы предлагаем модуль слияния би-проекций H: учитывая карты характеристик he и hc из Be и Bc в каждом слое соответственно, мы оцениваем соответствующие карты характеристик h′e = He (he) и h′c = Hc (C2E (hc)), где He и Hc обозначают сверточный слой.
Чтобы создать карты признаков, которые приносят пользу обеим ветвям, мы сначала объединяем h’e и h’c, а затем передаем их на сверточный слой с активацией сигмоида, чтобы оценить маску M, чтобы сбалансировать процедуру слияния. Наконец, мы генерируем карты характеристик h¯e и h¯c в качестве входных данных для следующего слоя как:

Обратите внимание, что мы используем операции C2E и E2C в процедуре слияния, чтобы гарантировать, что объекты и маска M находятся в одном пространстве проекции.

Loss Function. Мы принимаем обратные Huber loss [16] в качестве целевой функции для оптимизации прогнозов как от Be, так и от Bc:

Тогда общая целевая функция записывается как:

где De и Dc — прогнозы, произведенные Be и Bc соответственно; DGT — это глубина истины в
равнопрямоугольное представление; а P указывает все пиксели где есть действительное значение глубины на наземной карте истинности. Отметим, что операция C2E требуется для преобразования Dc в равнопрямоугольную форму перед вычислением потерь.

Network Architecture. Для каждой ветви мы принимаем архитектуру ResNet-50  в качестве кодировщика и используем модуль повышения проекции, предложенный, в качестве декодера. Подобно статье, где рассматривается свойство равнопрямоугольности, мы заменяем первый слой свертки ResNet-50 в Be на сферический пре-блок, который имеет многомасштабные ядра с размером (3,9), (5,11), (5,7) и (7,7), где их выходные карты характеристик объединены вместе как 64 -канальная карта признаков и далее подается в следующий слой. В ветке кубической карты Bc, мы заменяем исходную операцию заполнения нулями наш сферический наполнитель между каждым соседним слоем (рис. 4).
Кроме того, предлагаемый блок слияния двух проекций как в (3) вставляется между каждыми двумя слоями между Be и Bc как в кодере, так и в декодере, в котором каждый He и Hc
в одном модуле слияния содержит сверточный слой, который имеет тот же номер канала, что и на входной карте функций. В заключение, чтобы объединить предсказания Be и Bc, мы принимаем модуль с несколькими сверточными слоями как в статье.

3.4. Детали реализации

Мы реализуем сеть с помощью PyTorch фреймворк. Мы используем оптимизатор Adam с β1 = 0.9 и β2 = 0,999. Размер нашей партии составляет 16, а скорость обучения установлена
до 0,0003. Для обучения нашей модели мы сначала изучаем Be и Bc. разветвляется независимо без использования схемы слияния как этап разминки на 40 эпох, а затем обновление
только двухпроекционные термоядерные модули еще на 40 эпох. Наконец, мы обучаем всю сеть за 20 эпох.

4. Результаты экспериментов

В этом разделе мы проводим эксперименты на четырех наборах данных тестов Panorama: Matterport3D, PanoSUNCG, 360D и Stanford2D3D, как количественно, так и качественно. Мы в основном сравниваем наш метод с базовым FCRN и подходом OmniDepth, который в настоящее время является современным для оценки глубины одиночной панорамы. Кроме того, мы сравниваем различные варианты предлагаемой структуры чтобы проверить эффективность наших разработанных модулей. Источник код и модели будут доступны общественности.

4.1. Метрика оценки и наборы данных

Мы оцениваем производительность по стандартным метрикам оценка, включая MAE, MRE, RMSE, RMSE (журнал), и δ. Подробная информация о каждом наборе данных представлена ниже и мы используем одну и ту же настройку для сравнения всех методов.

Matterport3D. Matterport3D содержит 10 800 панорамы и соответствующую глубину глубины, снятую профессиональной 3D-камерой Matterport. Этот набор данных является самым большим набором данных в реальном мире для панорамных сцен в помещении, что делает его сложным, поскольку карта глубины от датчиков ToF обычно имеет шум или отсутствующее значение в определенных областях. На практике мы фильтруем области с пропущенными значениями во время обучения. Чтобы обучить и протестировать нашу сеть, мы следуем официальному разделению, в котором 61 комната предназначена для обучения, а остальные — для тестирования. Мы меняем разрешение изображения и карты глубины на 512 × 1024.

Stanford2D3D. Stanford2D3D is collected from three kinds of buildings in the real world, containing six largescale indoor areas. The dataset contains 1413 panoramas and we use one of official splits that takes fifth area (area 5) for testing, and the others are for training. During training and testing, we resize the resolution of image and depth map into 512 × 1024.

PanoSUNCG. PanoSUNCG contains 103 scenes of SUNCG and has 25,000 panoramas. In experiments, we use the official training and testing splits, where 80 scenes are for training and 23 for testing. For all panoramas, we resize them to 256 × 512 and filter out pixels with depth values larger than 10 meters.

360D. 360D dataset is collected by OmniDepth, including two synthetic datasets, SunCG and SceneNet and two realistic datasets, Stanford2D3D and Matterport3D. They use path tracing renderer to render four datasets and place spherical cameras in the virtual environment to acquire photo-realistic panoramas with the resolutions 256 × 512. For each panorama, they apply augmentation by 90◦, 180◦
and 270◦. In total, 360D contains 35,977 panoramas, where 34,679 of them are used for training and the rests are for testing.

Полезные ссылки: