СПОСОБ ОБУЧЕНИЯ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ ВОССТАНОВЛЕНИЯ ИЗОБРАЖЕНИЯ И СИСТЕМА ДЛЯ ФОРМИРОВАНИЯ КАРТЫ ГЛУБИНЫ ИЗОБРАЖЕНИЯ (ВАРИАНТЫ)
METHOD OF TRAINING A CONVOLUTIONAL NEURAL NETWORK FOR IMAGE RECONSTRUCTION AND A SYSTEM FOR FORMING AN IMAGE DEPTH MAP (VERSIONS)

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области обработки изображений, в частности к системе и способу для оценки карты глубины на основе одного изображения.
УРОВЕНЬ ТЕХНИКИ
Как правило, двумерное изображение представляет собой отображение некоторой трехмерной сцены на плоскость, поэтому важной задачей среди прочего является оценка карты глубины для двумерного изображения. Карта глубины - это изображение, на котором для каждого пикселя, вместо цвета, хранится его расстояние до камеры. Карта глубины может быть получена с помощью специальной камеры (например, лазерного сканера - LIDAR или инфракрасного сканера), а так же может быть построена по стереопаре изображений. Однако построение карты глубины по стереопаре изображений требует получения нескольких видов одной и той же сцены с разных ракурсов (как правило, двух - стереопара или четырех), для чего необходима специальная стереокамера, при этом стереокамера требует проведение точной калибровки, требующей задания расстояния между центрами камер, параметров камеры и получения диспаратности из двух/четырех изображений. Более того, по получению этих двух/четырех изображений для каждой точки на одном изображении выполняется поиск парной ей точки на другом изображении, что также может являться достаточно трудоемкой задачей в зависимости от типа сцены. Кроме того, важно отметить, что алгоритм построения карты глубины по стереопаре изображений полагается на точно заданное взаимное расположение камер на основе расстояния между центрами этих камер. Малейшее изменение в этой жесткой конструкции (смещение камер относительно друг друга, например, вследствие сотрясения камеры) приводит к значительному ухудшению получаемых результатов.
Применение инфракрасного сканера также является довольно дорогостоящим, при этом карта глубины, получаемая с его помощью, является достаточно шумной. Кроме того, при его применении накладываются дополнительные ограничения на дальность при сканировании сцены, в частности, рабочее расстояние инфракрасного сканера равно приблизительно от 5 до 10 метров. Применение же лазерного сканера является не только очень дорогостоящим, но и нецелесообразным в том случае, если, например, сканируемая сцена движется. Это вызвано тем фактом, что лазерный сканер при сканировании получает отдельные точки, а получение каждой точки требует определенного времени. Следовательно, если во время сканирования сцена сдвинулась, то результат, выданный лазерным сканером, будет некорректен. Кроме того, применение как инфракрасного сканера, так и лазерного сканера требует установку дополнительного аппаратного обеспечения в виде этих сканеров.
Существуют также способы оценки карты глубины, основанные на машинном обучении на размеченных данных. Однако данные способы работают точно только в отношении тех сцен, которые похожи на сцены, содержащиеся в размеченных данных. Для обучения этих способов адаптироваться к различным сценам требуются громадные наборы размеченных данных, создание которых также является дорогостоящим и трудоемким. Далее приведены некоторые примеры таких способов.
Из уровня техники известно решение, раскрытое в US 9750399 B2 («Real-time depth estimation from monocular endoscope images»), которое использует оптический поток, вычисленный в отношении последовательности изображений, полученной посредством перемещения устройства формирования изображения для вычисления карты глубины на основе векторов движения. Следовательно, для вычисления карты глубины согласно данному решению требуется не только множество изображений для обработки, но и перемещающаяся камера, выполненная с возможностью их получения. Кроме того, алгоритмы с использованием оптического потока зачастую выдают некорректные результаты для гомогенных областей и периодических текстур, тем самым негативно влияя на точность вычисления карты глубины.
Решение, раскрытое в US 20160012567 A1 («Systems and methods for stereo depth estimation using global minimization and depth interpolation»), раскрывает способ, который строит пирамиды изображений, т.е. представления изображений в нескольких масштабах (с разным разрешением), для стереопары и вычисляет карту глубины для уровней с низким разрешением с помощью глобальных методов оптимизации, сопровождаемых масштабированием карты глубины и уточнением на основе контуров. Таким образом, данное решение для создания карты глубины основывается на стереопаре, т.е. на паре изображений одного объекта, полученных с разных ракурсов. Более того, уточнение карты глубины на основе контуров не работает в отношении сложных областей изображения, что приводит к чрезмерно сглаженной или неправильной карте глубины.
Из уровня техники также известно решение, раскрытое в CN 107274445 («Image depth estimation method and system»), в котором используется сверточная нейронная сеть с автокодером U-Net архитектуры, которая обучается «с учителем» (с использованием эмпирически полученных карт глубины), для получения модели прогнозирования глубины. Следовательно, для вычисления карты глубины согласно данному решению требуется набор данных для обучения, который содержит эмпирически полученные карты глубины, что также очень трудоемко. Более того, применение обученной модели к изображениям, отличным от тех, которые присутствуют в наборе данных для обучения, требует очень дорогостоящего и трудоемкого создания набора данных для обучения с учителем, как упомянуто выше.
Решение, раскрытое в US 20160350906 А1 («Method of tracking a mobile device and method of generating a geometrical model of a real environment using a camera of a mobile device»), описывает способ, который также использует два изображения (стереопару видеопоследовательности, полученной с помощью перемещающейся камеры) для нахождения и соотнесения признаков изображений, в отношении которых строится карта глубины. Однако данное решение также требует наличия множества изображений, полученных с разных ракурсов. Кроме того, нахождение и соотнесение признаков для многих полученных сцен не является надежным методом построения карты глубины, при этом получаемая карта глубины является разреженной.
Решение, раскрытое в публикации ʺA Compromise Principle in Deep Monocular Depth Estimationʺ (H. Fu и др., 2017), описывает модель сверточной нейронной сети с учителем, в которой используется каскадная сеть с регрессионной классификацией, дискретная карта глубины и расширенные свертки. Следовательно, для вычисления карты глубины согласно данному решению требуется набор данных для обучения, который содержит эмпирически полученные карты глубины, что также очень трудоемко. Более того, применение обученной модели к изображениям, отличным от тех, которые присутствуют в имеющемся наборе размеченных данных для обучения, также требует очень дорогостоящего и трудоемкого создания набора данных для обучения с учителем.
Из уровня техники также известно решение, раскрытое в «Learning Depth from Monocular Videos using Direct Methods» (C. Wang и др., 2017), причем это решение описывает модель сверточной нейронной сети без учителя (без заранее размеченных данных), которая обучается на видео последовательностях, используя сиамские сети и предсказание положения камеры с помощью визуальной одометрии. Для обучения в этом решении требуются видео последовательность и матрица внутренних параметров камеры; однако точность предсказания глубины согласно данному решению является достаточно низкой.
В качестве прототипа заявленного изобретения рассматривается решение, раскрытое в «Unsupervised Monocular Depth Estimation with Left-Right Consistency» (C. Godard и др., 2017), в котором описывается модель сверточной нейронной сети без учителя, которая основывается на приеме стереопары, получения диспаратности для левого и правого изображений стереопары и восстановления правого изображения на основе левого изображения и диспаратности для правого изображения (и наоборот: левого изображения на основе правого изображения и диспаратности для левого изображения). Затем восстановленное изображение сравнивается с оригинальным изображением стереопары, а результат сравнения используется в качестве обучающего сигнала для данной модели. Таким образом, для данного решения требуется набор данных для обучения, содержащий стереопару, причем обученная модель оценивает глубину также на основе пары изображений. Однако данное решение не является устойчивым при изменении различных настроек камеры, таких как фокусная длина, стереобаза и пр.
Таким образом, существует необходимость в точном способе оценки карты глубины, устойчивом к разнообразию обучающих выборок и настроек камеры и способном к оценке карты глубины на основе одного изображения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача настоящего изобретения состоит в устранении упомянутых выше недостатков, присущих известным из уровня техники решениям, в частности, в обеспечении точного способа осуществления оценки карты глубины анализируемой сцены, показанной на одном изображении, который является устойчивым к изменению различных параметров камеры, с помощью которой снята эта сцена.
Указанная задача решается посредством способов и систем, которые охарактеризованы в независимых пунктах формулы изобретения. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах формулы изобретения.
Согласно первому аспекту настоящего изобретения предложен способ обучения сверточной нейронной сети для восстановления изображения, содержащий этапы, на которых:
- получают стереопару изображений, включающую в себя первоначальные левое и правое изображения;
- подают каждое из первоначальных левого и правого изображений на вход соответствующей сиамской сверточной нейронной подсети для оценки карты глубины;
- обрабатывают поданные левое и правое изображения для получения карт высокоуровневых признаков и карт обратных глубин для левого и правого изображений, соответственно;
- подают полученные карты высокоуровневых признаков на вход сверточной нейронной подсети для оценки параметров камеры;
- обрабатывают полученные карты высокоуровневых признаков для получения параметров камеры, с помощью которой были сняты первоначальные левое и правое изображения;
- применяют аффинное преобразование к картам обратных глубин для левого и правого изображений, соответственно, с учетом полученных параметров камеры для получения карт диспаратности для левого и правого изображений, соответственно;
- применяют билинейно-интерполирующую выборку к первоначальному левому изображению с учетом полученной карты диспаратности для правого изображения для получения восстановленного правого изображения;
- применяют билинейно-интерполирующую выборку к первоначальному правому изображению с учетом полученной карты диспаратности для левого изображения для получения восстановленного левого изображения;
- применяют билинейно-интерполирующую выборку к карте диспаратности для левого изображения с учетом полученной карты диспаратности для правого изображения для получения восстановленной карты диспаратности для правого изображения;
- применяют билинейно-интерполирующую выборку к карте диспаратности для правого изображения с учетом полученной карты диспаратности для левого изображения для получения восстановленной карты диспаратности для левого изображения;
- применяют билинейно-интерполирующую выборку к первоначальному левому изображению с учетом восстановленной карты диспаратности для правого изображения для получения вспомогательного правого изображения;
- применяют билинейно-интерполирующую выборку к первоначальному правому изображению с учетом восстановленной карты диспаратности для левого изображения для получения вспомогательного левого изображения,
- формируют общую функцию потерь на основе первоначальных левого и правого изображений, восстановленных левого и правого изображений, карт диспаратности, восстановленных карт диспаратности для левого и правого изображений и вспомогательных изображений, и
- обучают нейронную сеть на основе сформированной функции потерь.
Согласно второму аспекту настоящего изобретения предложен способ обучения сверточной нейронной сети для восстановления изображения, содержащий этапы, на которых:
- получают стереопару изображений, включающую в себя первоначальные левое и правое изображения;
- подают каждое из первоначальных левого и правого изображений на вход соответствующей сиамской сверточной нейронной подсети для оценки карты глубины;
- обрабатывают поданные левое и правое изображения для получения карт высокоуровневых признаков, карт обратных глубин и карт коррекции для левого и правого изображений, соответственно;
- подают полученные карты высокоуровневых признаков на вход сверточной нейронной подсети для оценки параметров камеры;
- обрабатывают полученные карты высокоуровневых признаков для получения параметров камеры, с помощью которой были сняты первоначальные левое и правое изображения;
- применяют аффинное преобразование к картам обратных глубин для левого и правого изображений, соответственно, с учетом полученных параметров камеры для получения карт диспаратности для левого и правого изображений, соответственно;
- применяют карту коррекции для правого изображения к первоначальному правому изображению для получения скорректированного правого изображения;
- применяют карту коррекции для левого изображения к первоначальному левому изображению для получения скорректированного левого изображения;
- применяют билинейно-интерполирующую выборку к скорректированному левому изображению с учетом полученной карты диспаратности для правого изображения для получения восстановленного правого изображения;
- применяют билинейно-интерполирующую выборку к скорректированному правому изображению с учетом полученной карты диспаратности для левого изображения для получения восстановленного левого изображения;
- применяют билинейно-интерполирующую выборку к карте диспаратности для левого изображения с учетом полученной карты диспаратности для правого изображения для получения восстановленной карты диспаратности для правого изображения;
- применяют билинейно-интерполирующую выборку к карте диспаратности для правого изображения с учетом полученной карты диспаратности для левого изображения для получения для получения восстановленной карты диспаратности для левого изображения;
- применяют билинейно-интерполирующую выборку к скорректированному левому изображению с учетом восстановленной карты диспаратности для правого изображения для получения вспомогательного правого изображения;
- применяют билинейно-интерполирующую выборку к скорректированному правому изображению с учетом восстановленной карты диспаратности для левого изображения для получения вспомогательного левого изображения,
- формируют общую функцию потерь на основе скорректированных левого и правого изображений, восстановленных левого и правого изображений, карт коррекции, карт диспаратности, восстановленных карт диспаратности для левого и правого изображений и вспомогательных изображений, и
- обучают нейронную сеть на основе сформированной функции потерь.
Согласно другому аспекту настоящего изобретения предложена система для формирования карты глубины изображения, содержащая:
- монокулярную камеру, выполненную с возможностью получения изображения;
- устройство обработки, выполненное с возможностью обработки полученного изображения с помощью сверточной нейронной сети для восстановления изображения, обученной согласно способу обучения сверточной нейронной сети для восстановления изображения согласно первому аспекту настоящего изобретения, и
- память, выполненную с возможностью хранить полученные изображения и данные, получаемые в результате обработки изображения с помощью сверточной нейронной сети,
причем обработка полученного изображения включает в себя формирование карты глубины для упомянутого полученного изображения на основе полученных карт обратных глубин.
Согласно четвертому аспекту настоящего изобретения предложена система для формирования карты глубины изображения, содержащая:
- монокулярную камеру, выполненную с возможностью получения изображения;
- устройство обработки, выполненное с возможностью обработки полученного изображения с помощью сверточной нейронной сети для восстановления изображения, обученной согласно способу обучения сверточной нейронной сети для восстановления изображения согласно второму аспекту настоящего изобретения, и
- память, выполненную с возможностью хранить полученные изображения и данные, получаемые в результате обработки изображения с помощью сверточной нейронной сети,
причем обработка полученного изображения включает в себя формирование карты глубины для упомянутого полученного изображения на основе полученных карт обратных глубин.
Технический результат, достигаемый посредством использования настоящего изобретения, заключается в обеспечении точной системы для формирования карты глубины анализируемой сцены на основе одного изображения, устойчивой к разнообразию обучающей выборки и настроек камеры, причем обеспеченная система может адаптироваться практически к любым сценам за счет возможности неограниченного выбора наборов данных для обучения. В качестве дополнительного достигаемого технического результата отмечается снижение вычислительной сложности по сравнению с решениями, известными из уровня техники, что приводит к быстрой обработке данных и получению результата оценки.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Эти и другие признаки и преимущества настоящего изобретения станут очевидны после прочтения нижеследующего описания и просмотра сопроводительных чертежей, на которых:
На Фиг. 1 показана схема способа обучения сверточной нейронной сети для оценки карты глубины анализируемого изображения в соответствии с примерным вариантом осуществления настоящего изобретения.
На Фиг. 2 показаны примеры карт и изображений, получаемых в ходе применения способа обучения сверточной нейронной сети для оценки карты глубины анализируемого изображения в соответствии с примерным вариантом осуществления настоящего изобретения.
На Фиг. 3 показана подробная схема способа оценки параметров камеры и применения этих параметров для получения карт диспаратности в соответствии с примерным вариантом осуществления настоящего изобретения.
На Фиг. 4 показана подробная схема способа оценки параметров камеры и применения этих параметров для получения карт диспаратности в соответствии с другим примерным вариантом осуществления настоящего изобретения.
На Фиг. 5 показана схема способа обучения сверточной нейронной сети для оценки карты глубины анализируемого изображения в соответствии с другим примерным вариантом осуществления настоящего изобретения.
На Фиг. 6a показана подробная схема обработки с помощью сиамской сверточной нейронной подсети для оценки карты глубины в соответствии с примерным вариантом осуществления настоящего изобретения.
На Фиг. 6b показана подробная схема обработки с помощью сиамской сверточной нейронной подсети для оценки карты глубины в соответствии с другим примерным вариантом осуществления настоящего изобретения.
На Фиг. 7 показана таблица сравнения результатов оценки карты глубины согласно способам в соответствии с примерным вариантом осуществления настоящего изобретения и в соответствии с известными решениями уровня техники.
На Фиг. 8 показаны анализируемое изображение и карта глубины, сформированная в соответствии с примерным вариантом осуществления настоящего изобретения.
Представленные на чертежах фигуры служат только для иллюстрации вариантов реализации настоящего изобретения и никак его не ограничивает.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Различные варианты осуществления настоящего изобретения описываются в дальнейшем более подробно со ссылкой на чертежи. Однако настоящее изобретение может быть воплощено во многих других формах и не должно истолковываться как ограниченное любой конкретной структурой или функцией, представленной в нижеследующем описании. На основании настоящего описания специалист в данной области техники поймет, что объем правовой охраны настоящего изобретения охватывает любой вариант осуществления настоящего изобретения, раскрытый в данном документе, вне зависимости от того, реализован ли он независимо или в сочетании с любым другим вариантом осуществления настоящего изобретения. Например, система может быть реализована или способ может быть осуществлен на практике с использованием любого числа вариантов осуществления, изложенных в данном документе. Кроме того, следует понимать, что любой вариант осуществления настоящего изобретения, раскрытый в данном документе, может быть воплощен с помощью одного или более элементов формулы изобретения.
Слово «примерный» используется в данном документе в значении «служащий в качестве примера или иллюстрации». Любой вариант реализации, описанный в данном документе как «примерный», необязательно должен истолковываться как предпочтительный или обладающий преимуществом над другими вариантами реализации.
Согласно настоящему изобретению предложено использование нейронной сети для построения парного изображения на основе анализируемого изображения таким образом, что построенное изображение и анализируемое вместе образуют стереопару. Построение выполняется с использованием карт диспаратности, которые получены из карт обратных глубин, сформированных сиамскими нейронными подсетями, которые применяются как к одному, так и к другому изображению стереопары. Затем осуществляют формирование функции потерь, которая используется для обучения сиамской сверточной нейронной подсети оценивать карту глубины на основе одного изображения.
L
R
L
R
L
R
Далее способ обучения сверточной нейронной сети для восстановления анализируемого изображения описывается подробно со ссылкой на Фиг. 1. Изначально для обучения нейронной сети получают стереопару, т.е. левое изображение I и правое изображение I стереопары. Данные изображения обрабатываются по-отдельности сиамскими сверточными нейронными подсетями для оценки карты глубины, причем упомянутые сиамские сверточные нейронные подсети имеют одинаковые веса для единообразной обработки обоих изображений стереопары. В частности, на вход каждой из сиамских сверточных нейронных подсетей подается соответствующee изображение. На выходе этих сиамских подсетей получают (S01) карты 1/z и 1/z обратных глубин для левого и правого изображений, соответственно. В частности, на выходе каждой из сиамских сверточных нейронных подсетей получают пирамиду изображений для карт обратных глубин для левого и правого изображений, соответственно. Кроме того, во время обработки входных левого и правого изображений упомянутыми сиамскими сверточными нейронными подсетями получают соответствующие карты высокоуровневых признаков. В частности, обработка изображения любой из упомянутых сиамских сверточных нейронных подсетей включает в себя этап сжимающего кодирования данных и затем этап декодирования данных, при этом упомянутые карты высокоуровневых признаков формируют по завершению этапа сжимающего кодирования до начала этапа декодирования данных. Опционально, на выходе этих сиамских подсетей дополнительно формируют (S02) карты ΔI и ΔI коррекции левого и правого изображений, соответственно. Таким образом, аналогично вышесказанному на выходе каждой из сиамских сверточных нейронных подсетей также получают и пирамиду изображений для карт коррекции для левого и правого изображений, соответственно.
L
R
L
R
L
R
R
L
L
R
R
L
Сформированные карты высокоуровневых признаков для левого и правого изображений направляются на вход другой сверточной нейронной подсети - сверточной нейронной подсети для оценки параметров камеры. После обработки полученных карт высокоуровневых признаков данной сетью на выходе сети получают параметры стереокамеры, с помощью которой были получены первоначальные левое и правое изображения стереопары, что будет далее описано более подробно со ссылкой на Фиг. 3 и Фиг. 4. В частности, этими параметрами стереокамеры являются коэффициент усиления (g) и коэффициент смещения (b). Затем производится аффинное преобразование карт 1/z и 1/z обратных глубин с использованием полученных параметров g и b стереопары для получения (S03) карт d и d диспаратности, т.е. с помощью аффинного преобразования формируется пирамида изображений для карт диспаратности для левого и правого изображений, соответственно. Карты d и d диспаратности для левого и правого изображений используются для восстановления (S04) соответствующих изображений с использованием первоначальных изображений для противоположных изображений. В частности, для восстановления правого изображения используются карта d диспаратности для правого изображения и первоначальное левое изображение, а для восстановления левого изображения используются карта d диспаратности для левого изображения и первоначальное правое изображение. Если на выходе упомянутых сиамских подсетей были дополнительно сформированы карты ΔI и ΔI коррекции левого и правого изображений, тогда для восстановления левого и правого изображений используются соответствующие карты диспаратности и первоначальные изображения для противоположных изображений, скорректированные с помощью сформированных карт коррекции. В этом случае, для восстановления правого изображения используются карта d диспаратности для правого изображения и скорректированное левое изображение, а для восстановления левого изображения используются карта d диспаратности для левого изображения и скорректированное правое изображение. В частности, пирамида изображений для карт диспаратности используется для получения пирамиды восстановленных изображений для левого и правого изображений, соответственно.
L
R
L
L
L
x,y
x+d
(x,y),y
x+d
(x,y) не
Таким образом, к карте d диспаратности для левого изображения и первоначальному правому изображению/скорректированному правому изображению применяют билинейно-интерполирующую выборку (БИВ) для получения восстановленного левого изображения , а к карте d диспаратности для правого изображения и первоначальному левому изображению/скорректированному левому изображению применяют билинейно-интерполирующую выборку для получения восстановленного правого изображения . В частности, под применением билинейно-интерполирующей выборки, например, для получения восстановленного левого изображения  подразумевается применение билинейно-интерполирующей выборки точек из первоначального или скорректированного правого изображения с применением карты d диспаратности для левого изображения. Таким образом, чтобы получить точку восстановленного левого изображения с координатами () нам нужна точка из первоначального или скорректированного правого изображения с координатами (). В силу того, что первая координата является целым числом, значение пикселя в этой точке интерполируется по 4-м соседним точкам с целочисленными координатами (т.е. по точкам на первоначальном или скорректированном правом изображении с координатами , , , ), при этом значение интерполируется согласно методу билинейной интерполяции.
L
R
R
L
R
L
x,y
x+d
(x,y),y
Кроме того, учитывая то, что оператор преобразования, применяемый к левому изображению для получения правого, должен соответствовать оператору преобразования, применяемому к карте глубины левого изображения для получения карты глубины правого изображения, билинейно-интерполирующую выборку дополнительно применяют и к самим картам d и d диспаратности для получения восстановленных карт  и  диспаратности, соответственно, т.е. для получения восстановленной карты  диспаратности билинейно-интерполирующая выборка применяется к карте d диспаратности с картой d диспаратности, и наоборот (в частности, пирамиды изображений для восстановленных карт диспаратностей). Следовательно, чтобы получить точку восстановленной карты карты  диспаратности с координатами () нам нужна точка из карты d диспаратности с координатами () и т.д. К полученным восстановленным картам  и  диспаратности для правого и левого изображений совместно с первоначальными или скорректированными изображениями для противоположных изображений снова применяется билинейно-интерполирующая выборка для получения вспомогательных изображений  и  (в частности, пирамиды изображений для вспомогательных изображений), которые вычисляются для усиления обучающего сигнала за счет применения большего объема данных. Подытоживая вышесказанное, можно отметить, что при рассмотрении пирамиды изображений на любом этапе подразумевает дальнейшее применение указанных операций для каждого уровня пирамиды и, следовательно, получение в результате этих операций также пирамиды изображений.
L
R
L
R
L
R
L
R
Первоначальные или скорректированные левое и правое изображения Iи I, восстановленные левое и правое изображения  и , карты d и d диспаратности, восстановленные карты  и  диспаратности для левого и правого изображений и вспомогательные изображения  и  далее используются для формирования функции потерь, которая используется в качестве обучающего сигнала для всей сверточной нейронной сети для восстановления анализируемого изображения, т.е. сформированная функция потерь используется для обучения всей упомянутой сети (подбора весовых коэффициентов сети) в соответствии с методом обратного распространения ошибки. В частности, для формирования функции потерь восстановленные изображения  и  и вспомогательные изображения  и  сравниваются с первоначальными или скорректированными изображениями Iи I, а восстановленные карты  и  диспаратности сравниваются с изначально полученными картами d и d диспаратности. Обученная сиамская подсеть в результате выполнена с возможностью оценки карты глубины на основе одного изображения. Использование скорректированных изображений с помощью сформированных карт коррекции левого и правого изображений для получения восстановленных изображений  и  и вспомогательных изображений  и  является предпочтительным, так как значительно повышает точность при оценке карты глубины посредством обученной сиамской подсети.
На Фиг. 2 приводится пример карт и изображений, получаемых в ходе применения заявленного способа обучения сверточной нейронной сети для восстановления анализируемого изображения. В частности, в качестве первоначального входного изображения было взято произвольное изображение улицы, на которой припарковано множество машин и по которой проезжают велосипедисты, и близлежащих строений. Первоначальное входное изображение изображено снизу на Фиг. 2. Над первоначальным входным изображением изображена карта обратных глубин, полученная в отношении упомянутого первоначального входного изображения в соответствии с заявленным способом. Следующее изображение, расположенное над картой обратных глубин, представляет собой соответствующую карту диспаратности. Как карта обратных глубин, так и карта диспаратности, обе, наглядно отображают основные объекты, которые запечатлены на первоначальном входном изображении. Далее изображена карта коррекции, полученная в отношении упомянутого первоначального входного изображения, причем карта коррекции включает в себя достаточно разреженные поправки, которые, как правило, концентрируются на границах рельефа/в местах наличия окклюзий, например, на границах тех объектов, которые загораживают собой другие более дальние объекты. Над картой коррекции представлено восстановленное изображение, которое восстановлено в соответствии с заявленным способом, а над восстановленным изображением представлено соответствующее вспомогательное изображение. Как наглядно изображено на фигуре, восстановленное изображение и вспомогательное изображения достаточно близки к первоначальному входному изображению. Справа и снизу от карты коррекции изображена карта глубины, оцененная в соответствии с настоящим изобретением без применения карты коррекции (т.е. сравнение производилось с первоначальным изображением, а не со скорректированным). На изображенной карте глубин без учета карт коррекции выделены прямоугольные области, в которых карта глубины без учета карт коррекции, очевидно, содержит погрешности, которые как раз концентрируются на границах рельефа/в местах наличия окклюзий, например, на границах тех объектов, которые загораживают собой другие более дальние объекты. Справа и сверху от карты коррекции изображена карта глубины, оцененная в соответствии с настоящим изобретением с применением карты коррекции. На изображенной карте глубин с учетом карт коррекции выделены прямоугольные области, соответствующие прямоугольным областям, в которых карта глубины без учета карт коррекции содержит очевидные погрешности. Как наглядно следует из изображений этих двух карт глубин, при применении способа согласно настоящему изобретению с учетом карт коррекции (т.е. при сравнении со скорректированным изображением) погрешности сглаживаются, и точность оценки карты глубин значительно повышается.
Функция потерь, основанная только на сравнении восстановленного изображения и исходного изображения, используемая в известных решениях для оценки карты глубины без учителя, на некотором шаге сети порождает ошибку, за счет которой сеть начинает обучаться некорректно, максимально сглаживая геометрию объектов на изображении, что приводит к значительному ухудшению точности оценки карты глубины.
L
R
L
R
L
R
corr
corr
corr
Для предотвращения этого недостатка в настоящем изобретении в дополнение к получению карт обратных глубин сверточная нейронная подсеть для оценки карты глубины выводит карты ΔI и ΔI коррекции левого и правого изображений, причем упомянутые карты ΔI и ΔI коррекции выводятся только для двух нижних уровней пирамиды изображений. Выведенные карты ΔI и ΔI коррекции складываются с соответствующими первоначальными входными изображениями для получения скорректированных изображений, которые далее используются для вычисления фотометрической разницы между восстановленным изображением и скорректированным изображением, например, вычисляется усредненный по каналам и по высоте и ширине изображения модуль разницы между изображениями. Для ограничения карт коррекции и, тем самым, регуляризации обучения для приоритетного изучения геометрии объектов на изображении, а не просто разницы между изображениями (в частности, между цветами пикселей), вводится дополнительная функция L потерь для коррекции. В частности, в процессе обучения сверточной нейронной сети для восстановления анализируемого изображения разница между восстановленным изображением и скорректированным изображением минимизируется как за счет коррекции изображения, так и за счет распознавания геометрии объектов на изображении. Введенная дополнительная функция L позволяет при анализе области изображения, в которой разница между восстановленным и исходным изображением объяснятся геометрией сцены, применять в дальнейшем практически нулевую коррекцию, а при анализе области изображения, в которой разница между этими изображениями не объясняется геометрией, применять в дальнейшем полноценную коррекцию. Функция L потерь для коррекции вычисляется следующим образом:
corr
corr
corr
corr
(i)
причем w представляет собой положительный параметр, который был подобран итеративно и экспериментально при обучении сверточной нейронной сети для восстановления анализируемого изображения по произвольным образом выбранной стереопаре изображений из базы данных KITTI в комбинации с базой данных Cityscapes, а N представляет собой количество точек карты коррекции для левого или правого изображений на i-ом уровне пирамиды изображений карт коррекции для левого или правого изображений. Количество точек карт коррекции для левого и правого изображений на одном уровне пирамиды изображений одинаковое, поэтому не важно, количество точек какой именно карты коррекции берется. Чем выше качество анализируемых изображений, тем параметр w будет больше, и тем больше функция потерь для коррекции (требование минимизации коррекции). Параметр, равный w, является существенным, так как он отвечает за контроль «грани» между способностью сети объяснять изображения геометрически и способностью сети объяснять изображения за счет коррекции, при этом результаты оценки глубины не сильно зависят от этого параметра, поэтому он может быть выбран в достаточно широких пределах значений (значение может приблизительно в 1.5 раза больше или меньше) без требования высокой точности оценки этого параметра. Данная дополнительная функция L потерь для коррекции дополняет общую функцию потерь, основанную на вышеописанных разницах, полученных при сравнении изображений.
L
R
Для определения общей функции потерь, основанной на вышеописанных разницах, полученных при сравнении изображений, кроме восстановленных изображений  и  и карт d и d диспаратности используются также восстановленные карты  и  диспаратности и вспомогательные изображения  и , полученные с помощью этих восстановленных карт  и  диспаратности, при этом упомянутая общая функция потерь для восстановленных изображений вычисляется следующим образом:
где индекс L отвечает за общую функцию потерь для восстановленного левого изображения, а индекс R - правого изображения.
aux
(i)
Второе слагаемое общей функции потерь для восстановленных изображений отвечает за сравнение первоначального входного или скорректированного изображения с полученным вспомогательным изображением, таким образом, это слагаемое дополняет функцию потерь для восстановленных изображений для достижения большей точности оценки глубины, так как процесс обучается оценивать глубину, которая удовлетворяла бы не только полученным восстановленным изображениям, но и вспомогательным изображениям, тем самым устраняя часть ошибочных направлении при поиске глубины. Параметр w представляет собой положительный параметр, который также был подобран эмпирически при обучении сети по произвольным образом выбранной стереопаре изображений из базы данных KITTI в комбинации с базой данных Cityscapes, а N представляет собой количество точек первоначального изображения или восстановленного изображения для левого или правого изображений на i-ом уровне пирамиды изображений первоначальных изображений или восстановленных изображений для левого или правого изображений. Аналогично, количество точек первоначального и восстановленного изображения для левого и правого изображений на одном уровне пирамиды изображений одинаковое, поэтому не важно, количество точек какого именно изображения берется. Общая функция потерь для восстановленных изображений равна сумме функции потерь для восстановленного левого изображения и функции потерь для восстановленного правого изображения.
В качестве дополнительного варианта осуществления важно отметить, что заявленный способ обучения сверточной нейронной сети для восстановления изображения также осуществим и без получения вспомогательных изображений  и  и их сравнения с первоначальным входным или скорректированным изображением соответственно. В таком случае упомянутое второе слагаемое функции потерь для восстановленного изображения будет отсутствовать, что закономерно отразится на точности получаемой в результате карты глубин.
L
R
Кроме того, заявленный способ обучения сверточной нейронной сети для восстановления изображения также работает и без получения карт ΔI и ΔI коррекции изображения, как это было указано выше. В таком случае сравнение восстановленных и вспомогательных изображений производится с первоначальными входными изображениями. Такой вариант осуществления также сказывается на итоговой точности оценки карты глубины.
В качестве дополнительного варианта осуществления способ обучения сверточной нейронной сети для восстановления изображения может быть осуществлен с заменой сверточной нейронной сети для оценки параметров камеры на непосредственное получение параметров камеры от внешнего источника (например, путем установки дополнительного датчика или просто путем обращения к внешней базе данных, содержащей значения таких параметров в отношении используемой камеры). Альтернативно, сверточная нейронная сеть для оценки параметров камеры может быть заменена непосредственно на измеритель расстояния между камерами или измеритель фокусного расстояния. Данный вариант осуществления подвержен возможности получения неточных данных от внешних источников; кроме того, аппаратная реализация данного варианта осуществления значительно сложнее реализации предпочтительного варианта осуществления способа.
Кроме того, согласно еще одному варианту осуществления способ обучения сверточной нейронной сети для восстановления изображения также осуществим и без применения сиамских подсетей, а именно, данный способ может также обучаться на стереопаре изображений, но глубина при этом может оцениваться только для одного из изображений стереопары, второе же будет использоваться только для получения восстановленного и вспомогательного изображений и, соответственно, подсчета функции потерь для обучения, что также отразится на точности итоговой карты глубины. Кроме того, такой способ обучения сверточной нейронной сети для восстановления изображения менее устойчив к разнообразию выборок данных.
В качестве дополнительного варианта осуществления способ осуществления оценки карты глубины также может осуществляться с использованием первоначальных входных изображений вместо карт высокоуровневых признаков для их направления на вход сверточной нейронной сети для оценки параметров камеры. После обработки полученных первоначальных входных изображений данной сетью на выходе сети также получают параметры стереокамеры - фокусное расстояние (F) и стереобазу (B), что будет подробнее рассмотрено далее.
На Фиг. 3 схематично изображен способ оценки и использования параметров камеры. А именно, на фигуре показаны два изображения - левое и правое, которые подаются на вход сиамских подсетей для оценки карты глубины. Как было описано выше в отношении Фиг. 1, на выходе этих сиамских подсетей получают карты обратных глубин для левого и правого изображений, соответственно. Кроме того, во время обработки входных левого и правого изображений упомянутыми сиамскими сверточными нейронными подсетями получают соответствующие карты высокоуровневых признаков для левого и правого изображений, соответственно, как это было описано выше. Комбинация данных карт высокоуровневых признаков для левого и правого изображений далее поступает на вход отдельной сверточной нейронной сети для оценки параметров камеры - коэффициента усиления и коэффициента смещения.
По сути, карты высокоуровневых признаков описывают не параметры объектов, указанных на изображениях, а распознают и определяют сами объекты через их свойства. Таким образом, карта высокоуровневых признаков представляет собой трехмерный массив W x H x d, причем W - это ширина карты высокоуровневых признаков, H - ее высота, а d - глубина, равная 512. Далее из массива выделяется слой с той же высотой и шириной, но с глубиной, равной 32. Данный слой используется подсетью для оценки параметров камеры, позволяя ей распознать наиболее отличимые большие объекты, которые позволят при сравнении этих объектов на левом и правом изображениях получить максимально точную информацию о параметрах камеры. Соотношение 32 к 512 подобрано эмпирически.
Далее выделенные слои из карт высокоуровневых признаков для левого и правого изображений конкатенируются, т.е. прикладываются друг к другу вдоль оси d и подаются на вход сверточной нейронной подсети для оценки параметров камеры. После конкатенации этих двух слоев получается массив с глубиной 64 (64 карты признаков). После обработки внутри упомянутой подсети (свертка (conv) 3×3, функция активации ELU)) получается массив с глубиной 128, затем после аналогичной обработки (свертка 3×3, функция активации ELU)) получается массив с глубиной 256. Далее внутри подсети применяется операция усреднения (avg pool) по осям W и H, при этом глубина массива, получаемого в результате по-прежнему равна 256. Далее применяется операция Fully-connected («полносвязный слой», т.е. входной вектор умножается на матрицу обучаемых весов, в результате чего получается выходной вектор) с функцией активации ELU, при этом глубина массива, получаемого в результате по-прежнему равна 256. Далее снова применяется операция Fully-connected, в результате которой получаемый массив имеет глубину 2, при этом применяемая функция активации меняется на функцию активации sigmoid или tanh, т.е. получено 2 параметра, которые и представляют собой коэффициент усиления (g) и коэффициент смещения (b).
Далее по данным коэффициентам вычисляются диспаратности согласно обозначенной ниже формуле, и формируются соответствующие карты диспаратности (применяется вышеупомянутое аффинное преобразование):
где  и  представляют собой обратные глубины для левого и правого изображений, соответственно, определенные согласно соответствующим картам обратных глубин.
Глубина для левого и правого изображений при этом определяется следующим образом:
Технический эффект, получаемый в результате, заключается в устойчивости модели к разнообразию обучающих выборок, т.е. к различным фокусным расстояниям и стереобазам. В решениях, известных из уровня техники, при обучении нейронных сетей предполагалось, что наборы данных для обучения являются одинаковыми в отношении параметров камеры, которой были получены эти изображения, что в итоге приводило к неустойчивости этих систем к разнообразию данных для обучения. Данный технический эффект позволяет обучать заявленную сеть на основе различных интересных и разнообразных по контенту наборах данных, например, по 3D-фильмам (которые имеют изменяющиеся параметры камеры).
На Фиг. 4 подробно рассматривается вариант осуществления, согласно которому на вход сверточной нейронной подсети для оценки параметров камеры подаются не карты высокоуровневых признаков, а первоначальные входные левое и правое изображения.
Сначала левое и правое изображения конкатенируются (получая массив размером W x H x 6 за счет конкатенации двух RGB изображений, каждое из которых имеет три цветовых канала), после чего к ним внутри этой подсети применяется операция свертки 7×7, операция подвыборки (pool) 2×2 с функцией активации ReLU. В результате получается массив, ширина и высота которого уменьшается вдвое, а количество карт признаков становится 16 (W/2 x H/2×16). Далее применяется операция свертки 5×5, операция подвыборки 2×2 с функцией активации ReLU. В результате получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков становится 32 (W/4 x H/4×32). Далее применяется операция свертки 3×3, операция подвыборки 2×2 с функцией активации ReLU. В результате получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков становится 64 (W/8 x H/8×64). Далее снова применяется операция свертки 3×3, операция подвыборки 2×2 с функцией активации ReLU, при этом получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков становится 128 (W/16 x H/16×128). Далее снова применяется операция свертки 3×3, операция подвыборки 2×2 с функцией активации ReLU, при этом получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков становится 256 - W/32 x H/32×256. Далее снова применяется операция свертки 3×3, операция подвыборки 2×2 с функцией активации ReLU, при этом получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков остается неизменным (W/64 x H/64×256). Далее снова применяется операция свертки 3×3, операция подвыборки 2×2 с функцией активации ReLU. В итоге получается массив, ширина и высота которого уменьшается еще вдвое, а количество карт признаков снова остается неизменным (W/128 x H/128×256). Далее применяется операция свертки 1×1, в результате применения которой получают массив со следующими параметрами: W/128 x H/128×2. Применяется операция усреднения по осям W и H, в результате которой получаются 2 итоговых параметра. Данная подсеть является более глубокой и на ее выходе получаются не просто коэффициенты усиления и смещения, а сами параметры камеры - фокусное расстояние (F) и стереобаза (B)
Затем карты обратных глубин, нормированные по среднему, преобразуются в карты диспаратности, причем диспаратность для левого и правого изображений вычисляются следующим образом:
На Фиг. 5 подробно рассматривается вариант осуществления, согласно которому не используются карты коррекции, скорректированные изображения и вспомогательные изображения.
Согласно данному варианту осуществления на вход сверточной нейронной подсети для оценки параметров камеры также подаются не карты высокоуровневых признаков, а первоначальные входные левое и правое изображения.
Однако, дополнительно при сравнении восстановленных изображений с первоначальными входными изображениями учитывается индекс структурного подобия (SSIM) - мера с учетом текстур, градиентов и т.п. (пиксели могут быть не одинаковы, но окружение должно быть схоже).
Функция потерь для восстановленных изображений с учетом SSIM вычисляется следующим образом:
(i)
N представляет собой количество точек первоначального изображения или восстановленного изображения для левого или правого изображений на i-ом уровне пирамиды изображений карт диспаратности или восстановленных карт диспаратности для левого или правого изображений. Аналогично, на одном уровне пирамиды изображений количество точек этих изображений одинаковое, поэтому не важно, количество точек какого именно изображения берется.
Кроме того, при формировании карт диспаратностей вычисляется дополнительная функция потерь с учетом эвристики максимальной дистанции (MDH):
(i)
Параметр, равный 0,1, получен эмпирически, однако его незначительное изменение (например, в 1,5 раза) не оказывает особого влияния на результат. N представляет собой количество точек карты диспаратности для левого или правого изображений на i-ом уровне пирамиды изображений карт диспаратности для левого или правого изображений. Аналогично, на одном уровне пирамиды изображений количество точек этих изображений одинаковое, поэтому не важно, количество точек какого именно изображения берется.
Данная функция потерь применяется при наличии схожих пикселей на изображении (например, при анализе однородных областей), обучая сверточную нейронную сеть выбирать пиксель на основе наименьшей диспаратности т.е. на основе наибольшего расстояния. В однородных областях, а так же периодических регионах, трудно сопоставить точки на левом/правом изображении, т.к. все точки однородного региона подходят по цвету для любой точки этого же региона на другой картинке. Упомянутая эвристика вводится для устранения этой многозначности, т.к. она предписывает сети в такой ситуации выбирать точки с минимальной диспаратностью, т.е. максимальным расстоянием от точки съемки.
Аналогично предыдущему варианту осуществления карты обратных глубин нормируются по среднему перед применением к ним аффинного преобразования для получения карт диспаратностей.
На Фиг. 6a подробно рассматривается структура сиамской сверточной нейронной подсети для оценки карты глубины.
Данная подсеть имеет U-Net архитектуру (часть сжимающего кодирования, за которой следует часть декодирования, как упомянуто выше в отношении Фиг. 1). Как было указано выше, на выходе этой подсети получают 4-уровневую пирамиду изображений для карт обратных глубин, которая затем используется для формирования 4-уровневой пирамиды изображений для карт диспаратности, при этом параллельно с получением карт обратных глубин формируют только 2-уровневую пирамиду изображений для карт коррекции для снижения вычислительной сложности, т.к. эмпирическим путем было выяснено, что использование большего количества уровней для пирамиды изображений для карт коррекции не оказывает влияния на результат. Применение именно пирамид изображений обуславливается тем, что, как правило, изображение, имеющее разрешение более чем в 4 раза меньшее, чем разрешение первоначального входного изображения, уже достаточно сглаженное, и присутствующие на нем аберрации незначительны. Следовательно, заявленная сеть учится игнорировать информацию, не связанную с глубиной (в частности, менее зависеть от качества и шумности изображений обучающей выборки).
Как наглядно изображено на фигуре, при обработке в части сжимающего кодирования подсети высота и ширина изображения уменьшаются (в итоге в 64 раза), а количество карт признаков растет вплоть до 512 карт признаков. Затем в части декодирования размер изображения снова увеличивается. Операция подвыборки согласно данному варианту осуществления представляет собой «выбор максимального» (max-pooling), согласно которому из квадрата 2×2 выбирается максимальное значение. Кроме того, как наглядно изображено на Фиг. 6a, в заявленной сиамской сверточной нейронной подсети для оценки карты глубины используются так называемые skip-связи (связи переноса), которые связывают слои упомянутой подсети, которые не соседствуют друг с другом, для сохранения деталей первоначального входного изображения путем переноса соответствующего массива из части сжимающего кодирования в часть декодирования и его конкатенации с массивом, имеющем соответствующие высоту и ширину. Например, как изображено на Фиг. 1, первая операция skip-связи (отмеченная на фигуре как «skip») переносит выход второго слоя, т.е. массив размера W x H x 32, в часть декодирования и конкатенирует его с выходом очередного слоя, имеющего размеры W x H x 16, и т.п. Операция увеличения разрешения, применяемая в части декодирования, отмечена на чертеже как «upsample». Пирамиды изображений для карт обратных глубин формируются в итоге с помощью операций свертки (conv 3×3) и функций активации (tanh). В частности, верхний уровень пирамиды изображений для карт обратных глубин (т.е. массив размера W/8 x H/8 X 1), получают из массива части декодирования размера W/8 x H/8 X 128 путем применения операции свертки 3×3 и функции активации tanh.
Для регуляризации формирования карты обратных глубин при формировании карты диспаратности вычисляется функция потерь согласованности левого и правого изображений:
(i)
Данная функция потерь «напоминает» подсети, что анализируется одна сцена с двух разных ракурсов. Параметр, равный 0,6, получен эмпирически, однако его незначительное изменение (например, в 1,5 раза) не оказывает особого влияния на результат. N представляет собой количество точек карты диспаратности или восстановленной карты диспаратности для левого или правого изображений на i-ом уровне пирамиды изображений карт диспаратности или восстановленных карт диспаратности для левого или правого изображений. Аналогично, на одном уровне пирамиды изображений количество точек этих изображений одинаковое, поэтому не важно, количество точек какого именно изображения берется.
На фиг. 6b показан альтернативный вариант сиамской сверточной нейронной подсети для оценки карты глубины, используемой в варианте осуществления, согласно которому не формируются карты коррекции.
Как наглядно изображено на фигуре, при обработке в части сжимающего кодирования подсети высота и ширина изображения уменьшаются (в итоге в 128 раза), а количество карт признаков растет вплоть до 512 карт признаков. Затем в части декодирования размер изображения снова увеличивается. Операция подвыборки согласно данному варианту осуществления представляет собой децимирующую выборку, согласно которой из квадрата 2×2 выбирается значение с фиксированным положением, например, в левом верхнем углу квадрата 2×2.
Кроме того, этот вариант осуществления также отличается от описанного ранее тем, что вместо функции активации tanh при получении карт обратных глубин применяют функцию активации softplus, которая выдает только положительные значения, вследствие чего в данном варианте осуществления для вычисления глубин из обратных глубин не нужно применять процентили. В данном варианте осуществления глубина вычисляется просто как обратное число к обратной глубине.
Функция потерь согласованности левого и правого изображений согласно данному варианту осуществления вычисляется следующим образом:
(i)
Аналогичным образом, как описано выше, параметр, равный 4, получен эмпирически. N представляет собой количество точек карты диспаратности или восстановленной карты диспаратности для левого или правого изображений на i-ом уровне пирамиды изображений карт диспаратности или восстановленных карт диспаратности для левого или правого изображений. Аналогично, на одном уровне пирамиды изображений количество точек этих изображений одинаковое, поэтому не важно, количество точек какого именно изображения берется.
Таким образом, заявленный способ обладает следующими техническими эффектами:
- легко адаптируется к различным сценам за счет применения обучения «без учителя» с помощью самообучения на стереопаре изображений. Это позволяет любому пользователю самостоятельно сфотографировать любую сцену для получения неразмеченных данных для обучения;
- лучшая точность оценки глубины, достигаемая за счет вышеописанной коррекции изображений. Для оценки глубины и коррекции изображений применяется одна и та же сверточная нейронная подсеть, что позволяет более эффективно использовать обучающий сигнал функции потерь для восстановленных изображений для обучения более точным оценкам глубины. Кроме того, лучшая точность оценки глубины достигается за счет применения подсети для оценки параметров камеры;
- более устойчивая и менее шумная оценка глубины за счет получения вспомогательных изображений. Сформированные карты диспаратности используются для восстановления «противоположных» изображений и вычисления функции потерь для восстановленных вспомогательных изображений, что дополнительно регуляризует процесс обучения, получая в результате оценку менее шумную и более устойчивую к вариациям процесса получения изображения (шумам матрицы, особенностям отражения света от разных поверхностей и т.п.);
- устойчивость к разнообразию выборок данных для обучения, которая достигается за счет применения подсети для оценки параметров камеры, которые в дальнейшем учитываются при преобразовании карты обратных глубин в карту диспаратности.
На Фиг. 7 показана таблица сравнения точности результатов оценки глубины согласно обученному способу в соответствии с заявленным изобретением и в соответствии с известными решениями на основе наборов данных KITTI, CityScapes и их комбинации (KITTI+CityScapes или CityScapes->KITTI). Под обозначением KITTI+CityScapes подразумевается объединение наборов данных KITTI и CityScapes в единый набор данных, а под обозначением CityScapes->KITTI подразумевается предварительное обучение на наборе данных CityScapes и последующая отработка (корректировка обучения) на наборе данных KITTI. Так как в данной области техники нет единой метрики ошибок для оценки количества неверных результатов оценки глубины, то приводится сравнение по множеству известных метрик ошибки, таких как: метрика абсолютной величины относительной погрешности (ARD), метрика относительной квадратичной погрешности (SRD), метрика средней квадратичной ошибки (RMSE), метрика логарифмической средней квадратичной ошибки (RMSE (log)), метрика масштабно-инвариантной средней квадратичной ошибки (RMSE (sc.inv.)). Следовательно, чем меньше значение ошибки, вычисленное в данных метриках, тем точнее оценка глубины указанным методом.
2
3
Кроме того, в таблице сравнения точности приводятся также результаты сравнения по метрике точности, согласно которой определяется процент точек карты глубин, для которых σ<1,25, где , причем  представляет собой истинную глубину изображения, полученную с помощью лазерного сканера (LIDAR), а  представляет собой оцененную глубину, вычисленную с помощью указанного метода, точность которого определяется. Дополнительно в таблице сравнения точности приводятся также результаты сравнения по квадратичной метрике точности, согласно которой определяется процент точек карты глубин, для которых σ<1,25, и кубической метрике точности, согласно которой определяется процент точек карты глубин, для которых σ<1,25. Следовательно, чем больше значение точности, вычисленное в данных метриках, тем точнее оценка глубины указанным методом.
Последний столбец отвечает за количество весовых коэффициентов, обучаемых в рассматриваемых методах оценки глубины, т.е. отражает вычислительную сложность рассматриваемых методов оценки глубины (чем больше весовых коэффициентов, тем выше вычислительная сложность).
В таблице сравнения точности приводятся результаты в отношении следующих методов оценки глубины: оценка глубины с помощью способа обучения сверточной нейронной сети для восстановления изображения в соответствии с одним вариантом осуществления настоящего изобретения, описанным в отношении Фиг. 1, оценка глубины с помощью способа обучения сверточной нейронной сети для восстановления изображения в соответствии с другим вариантом осуществления настоящего изобретения, описанным в отношении Фиг. 5, способы согласно решениям, описанным в разделе уровень техники (H. Fu и др., 2017, C. Wang и др., 2017, C. Godard и др., 2017, с использованием нейронной сети VGG и C. Godard, 2017, с использованием нейронной сети ResNet). Важно отметить, что в решении, описанном в публикации C. Wang и др., 2017, в качестве обучающих данных также используются предварительно заданные параметры камеры. Кроме того, важно отметить и то, что решение H. Fu и др., 2017 использует модель сверточной нейронной сети с учителем, а решения Wang и др., 2017 и C. Godard и др., 2017 используют модель сверточной нейронной сети без учителя.
Как наглядно следует из таблицы, только способ согласно решению H. Fu и др., 2017 обладает лучшей точностью по сравнению с заявленным изобретением в соответствии с обоими вариантами осуществления, однако данный способ использует во много раз большее количество весовых коэффициентов (более чем в 7 раз больше), т.е. он обладает гораздо большей вычислительной сложностью, а значит и требует больше времени на выполнение операций для оценки глубины. Остальные способы согласно известным решениям являются менее точными по сравнению с заявленным изобретением, при этом заявленное изобретение обладает одной из самых малых вычислительных сложностей. При этом среди известных решений, которые используют модель сверточной нейронной сети без учителя, заявленное изобретение обладает самой лучшей точностью и самой меньшей (или сравнимой) вычислительной сложностью.
Кроме того, было приведено сравнение со способом оценки глубины, основанном на поиске соответствий между изображениями (стерео сопоставление), в частности, со способом оценки глубины с использованием каскадных остаточных нейронных сетей (CRL, 2017). Данная нейронная сеть обучалась на наборе данных KITTI, при этом ошибка согласно метрике ошибок RMSE (основная метрика) равна 3,358 метра, однако количество весовых коэффициентов, обучаемых в этом известном способе, равно 78,7М. Таким образом, заявленное изобретение по вычислительной сложности более эффективно, чем и это известное решение, а по точности уступает известным решениям лишь с достаточно небольшим отрывом.
Дополнительно было выявлено, что при обучении заявленной нейронной сети по гибридным наборам данных, включающим стереопары, полученные разными стереокамерами, точность заявленного способа только увеличивается, в то время как при обучении известных способов на таких гибридных наборах данных ухудшаются результаты оценки глубины с помощью этих способов, так как соответствующие нейронные сети «переобучаются».
Таким образом, несмотря на то, что при обучении настоящего способа требуется некоторый набор неразмеченных стереоизображений, при обработке посредством обученной сети на вход достаточно подать одно изображение. Это, в том числе, значительно увеличивает скорость обработки изображения, так как отсутствует необходимость в сканировании всей сцены или получении пары стереоизображений, достаточно получить лишь одно изображение с помощью любой стандартной монокулярной камеры, которая в настоящее время есть у большинства людей, например, в их персональных мобильных телефонах.
На Фиг. 8 изображено первоначальное входное изображение, снятое на такой персональный мобильный телефон (один из примеров монокулярной камеры) и которое было обработано сверточной нейронной сетью для восстановления изображения, обученной согласно заявленному способу обучения сверточной нейронной сети для восстановления изображения, а также карта глубины, полученная в результате применения вышеупомянутого способа, причем обучение сверточной нейронной сети для восстановления изображения производилось на основе данных из произвольно взятых стереофильмов. В частности, карта глубины формируется на основе полученных карт обратных глубин. На фигуре наглядно изображено, что силуэт девушки, которая стоит ближе всех к камере, изображен самым светлым, силуэт мужчины, который стоит за ней, изображен серым, а силуэт мужчины, который стоит дальше всех, изображен более темно серым. Далекий фон (в частности, небо, деревья вдалеке и пр.) изображены черным.
Настоящее изобретение может быть применено во многих отраслях, в частности:
- в беспилотных автомобилях для отслеживания окружения при поездке и при парковке;
- для навигации роботов, например, робота-пылесоса (в текущее время используется лидар: он чувствителен к дрожанию, дорогой, не столь быстр, т.к. сканирует всю сцену);
- для обработки фотографий: применение эффектов к фотографии, таких как дефокусировка всей фотографии кроме наиболее близко расположенного к камере объекта, изменение цвета всей фотографии кроме наиболее близко расположенного к камере объекта, цветовое насыщение наиболее близко расположенного к камере объекта и т.п.
- для выделения и распознавания объектов в сцене путем выделения объектов согласно их глубине;
- для идентификации пользователя по фотографии, выделяя пользователя как наиболее близко расположенный объект, без установки дополнительного аппаратного обеспечения, например, датчика глубины;
- для сегментации изображения при слиянии схожих объектов путем разделения схожих объектов на отдельные объекты с учетом их глубины;
- для оценки взаимных скоростей на трассе путем оценки дальности других автомобилей и изменении этой дальности во времени;
- для реализации дополненной реальности путем «ввода» объектов в пространство дополненной реальности с соблюдением соответствующих масштаба и размеров объектов;
- в медицине, например, для ориентирования эндоскопа внутри пациента на основе карты глубины;
- для преобразования двумерных фильмов в трехмерные фильмы путем предсказания карты глубины изображения и восстановления левого или правого изображения для него.
Специалистам в данной области техники должно быть понятно, что по мере необходимости количество структурных элементов или компонентов системы может изменяться. Предполагается, что объем охраны настоящего изобретения охватывает все возможные различные расположения указанных выше конструктивных элементов системы. В одном или более примерных вариантах осуществления функции, описанные в данном документе, могут быть реализованы в аппаратном обеспечении, программном обеспечении, аппаратно-программном обеспечении или любой их комбинации. Будучи реализованными в программном обеспечении, упомянутые функции могут храниться на или передаваться в виде одной или более инструкций или кода на машиночитаемом носителе. Машиночитаемые носители включают в себя любой носитель информации, который обеспечивает перенос компьютерной программы из одного места в другое. Носитель информации может быть любым доступным носителем, доступ к которому осуществляется посредством компьютера. В качестве примера, но не ограничения, такие машиночитаемые носители могут представлять собой RAM, ROM, EEPROM, CD-ROM или другой накопитель на оптических дисках, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель информации, который может использоваться для переноса или хранения требуемого программного кода в виде инструкций или структур данных и доступ к которому можно осуществлять с помощью компьютера. Кроме того, если программное обеспечение передается из веб-сайта, сервера или другого удаленного источника с использованием коаксиальных кабелей, оптоволоконных кабелей, витой пары, цифровой абонентской линии связи (DSL) или с использованием беспроводных технологий, таких как инфракрасные, радио и микроволны, то такие проводные и беспроводные средства подпадают под определение носителя. Комбинации вышеозвученных носителей информации должны также попадать в объем охраны настоящего изобретения.
Хотя в настоящем описании показаны примерные варианты реализации изобретения, следует понимать, что различные изменения и модификации могут быть выполнены, не выходя за рамки объема охраны настоящего изобретения, определяемого прилагаемой формулой изобретения. Функции, этапы и/или действия, упоминаемые в пунктах формулы изобретения, характеризующих способ, в соответствии с вариантами реализации настоящего изобретения, описанными в данном документе, необязательно должны выполняться в каком-то конкретном порядке, если не отмечено или не оговорено иное. Более того, упоминание элементов системы в единственном числе не исключает множества таких элементов, если в явном виде не указано иное.