Устройство для восстановления карты глубины с поиском похожих блоков на основе нейронной сети
DEVICE FOR RECONSTRUCTING A DEPTH MAP WITH SEARCHING FOR SIMILAR BLOCKS BASED ON A NEURAL NETWORK

Изобретение относится к области вычислительной техники и может быть использовано в цифровых системах, автоматизированных системах, глобальных систем позиционирования и наблюдения.
Упрощенная математическая модель изображения представляет собой двумерный дискретный сигнал , (фиг. 1), где  – доступные пиксели неискаженного изображения,  - область изображения с отсутствующими пикселями,  – граница области .
Реконструкция и ретушь изображений предполагает удаление царапин, пятен, пыли, ненужных надписей, предметов и прочих дефектов с поверхности изображений и восстановление недостающих фрагментов с использованием доступных участков изображения. Одна из таких задач, где применяются методы реконструкции изображений, является восстановление карт глубины. Карта глубины может быть получена с помощью специальной камеры глубины, а также может быть построена по стереопаре изображений. Если высокая точность не требуется или требуется компромисс между ценой и качеством, карта глубины строится при помощи пары стереоизображений. Это повторяет принцип бинокулярного зрения у человека и позволяет отказаться от использования многочисленных и дорогостоящих датчиков, радаров или лидаров. Карта глубины по дальности строиться лишь при помощи двух камер, которые, делая фото, создают стереопару. Система, позволяющая строить карту глубины по дальности на основе стереоизображений, включает в себя пару камер, установленных на одной линии, которая параллельная плоскости изображения, с известными расстояниями между камерами и фокусным расстоянием. Важными факторам при построении карты глубины по дальности являются точность, качество и время создания карты. В большинстве случаев при построении карты глубины на ней появляются потерянные области, которые мешают отличить один объект от другого. Решить эту проблему можно с помощью методов реконструкции изображений.
Упрощенно способы реконструкции значений пикселей изображений можно разделить на следующие группы:
1) Способы на основе решения дифференциальных уравнений в частных производных.
2) Способы на основе ортогональных преобразований.
3) Способы на основе синтеза текстур.
4) Способы на основе работы нейронной сети.
Анализ существующих способов обработки показывает, что область их использования, в условиях ограниченного объема информации о составляющих обрабатываемого процесса крайне ограничена. Использование способов реконструкции значений пикселей изображений на основе решения дифференциальных уравнений в частных производных приводит к размытию резких перепадов яркостей и контуров и требует априорную информацию для выбора параметров способов и минимизации функционала. Неспособность восстанавливать текстуру изображений и изогнутые контуры ограничивает область использования данных способов, которые в основном применимы при удалении царапин и небольших дефектов на структуре изображений. Для использования способов на основе ортогональных преобразований требуется априорная информация для выбора порогового значения, ортогонального базиса и размера блоков спектрального представления. Так же следует отметить, что данные способы приводят к размытию текстуры и структуры при восстановлении больших областей с потерянными пикселями, а большое количество итераций приводит к значительным вычислительным затратам. Применение способов на основе синтеза текстур требует априорной информации о размере и формы области восстановления и геометрических свойствах изображения для выбора параметров способов.
Известен способ и устройство для обработки карты глубины [Заявка US № 20100215251 А1]. Данное изобретение используется для обработки карты глубины, причем способ включает восстановление карты глубины на основе сжатой с потерями карты глубины, при этом карта глубины включает в себя подробную информацию сцены из точки зрения сцены, содержащую объект. Устройство позволяет восстанавливать карту глубину при перекрытии объектами части фона. Устройства для обработки карты глубины, содержит блок устранения артефактов сжатия, блок восстановления карты глубины при перекрытии объектами, блок хранения оценки.
Недостатки известного устройства являются:
- большая погрешность при восстановлении контуров и границ объектов на карте глубины;
- априорная информация при выборе параметров метода при устранении артефактов сжатия.
Известно устройство генерирования карты глубины по двум изображениям из разных точек зрения [Заявка US № 20130009952 А1]. Карта глубины восстанавливается из моноскопических исходных изображений и асимметрично сглаживается. Карта глубины содержит значения глубины сосредоточены на краях локальных областей в исходном изображении. Каждое ребро определяется на заданном изображении, параметр, имеющий расчетное значение, превышает заданный порог. Глубина данной величины основана на соответствующих расчетных значениях параметров изображения. Карта глубины используется для обработки исходного изображения по глубине изображения на основе алгоритма рендеринга для создания одного изображения, которое образует с исходным изображением набора моноскопических изображений. По крайней мере, одна пара стереоскопических изображений выбирается из такого набора для использования в создании различных точек зрения, в том числе для неподвижных и движущихся изображений. Устройства для обработки карты глубины содержит блок хранения изображения, блок анализа границ, блок синтезирования карты глубины, блок сглаживания границ, блок сглаживания карты глубины, блок рендеринга 3D изображения, блок отображения 3D изображения.
Недостатками известного устройства являются:
- априорная информация при выборе параметров при расчете границ объектов на изображения;
- восстановление карты глубины только для границ объектов на1 изображении.
Известно устройство восстановления карты глубины сцены [Патент RU 2580466, МПК 06T 15/00, G06F 17/17, опубл. 10.04.2016]. Устройство содержит блок хранения входной реализации, блок хранения цветного изображения, блок поэлементного умножителя, блок определения участков квазистационарности, блок формирования маски, блок вычисления медианной оценки, блок хранения оценки полезной составляющей, блок счетчика текущей строки, блок задержки, блок задержки, блок счетчика текущего столбца,  блок хранения карты глубины, блок формирования маски для карты глубины, блок восстановления карты глубины, генератор тактовых импульсов.
Недостатками известного устройства являются:
– видимость границ на восстановленном изображении между найденными похожими блоками;
– неправильное восстановление при отсутствии похожего блока;
– зависимость эффективности восстановления от выбора размера блока.
Известен способ и устройство для заполнения объектов, на основе растеризации изображений (Filling of graphical regions) [Патент USA № 08/053, 212)]. Способ основан на растеризации изображений  и включает анализ на пересечение с различными объектами каждого пикселя вдоль растровой строки края области восстановления. Приоритетные пиксели для восстановления определяются исходя из выбранного уровня заполнения данных и одним из множества различных объектов с высоким уровнем приоритетности.
Недостатками известного способа и устройства его реализующего являются:
- априорная информация о структуре изображения и размере области восстановления для выбора параметров способа.
Известен способ восстановления изображений на основе решения дифференциальных уравнений в частных производных [Bertalmio M., Sapiro G., Caselles V., Ballester C. Image inpainting // Computer Graphics Proceedings, K. Akeley, Ed. ACM Press / ACM SIGGRAPH / Addison Wesley Longman, 2000. – P. 417–424.]. Данный способ позволяет соединять контуры постоянной яркости изображений поперек области восстановления с помощью решения дифференциальных уравнений в частных производных, минимизируя выбранный функционал. Направление линий задается с помощью граничных условий на краю области восстановления, которые определяются с помощью выражения:
.
Дифференциальное уравнение в частных производных имеет решение при условии:
.
Данное выражение определяет направление продолжение линий с помощью сглаживающего оператора  в область восстановления. Анизотропная диффузия вычисляется итерационно для всех пикселей с помощью выражения:
,
где  - искривление двумерной плоскости  в точке .
Граничные условия для восстановления изображения состоят в том, чтобы соответствовать интенсивности значений яркости изображения на границе области восстановления, а также направлению линий контуров.
Недостатками известного способа и устройства его реализующего являются:
- сглаживание резких яркостных переходов изображений, что значительно ухудшает визуальное качество восстановленного изображения.
Наиболее близким к изобретению является устройство обработки двумерных сигналов при реконструкции изображений [Патент RU № 2440614, МПК G06T 1/00, G09G 5/36, G06F 17/17, опубл. 20.01.2012]. Рассматриваемое устройство - прототип предполагает:
1) записываются значения входного изображения , ;
2) определяется значение коэффициента доверия , , ;
3) вычисляется значение приоритета  для каждого значения пикселя границы , где ;
4) определяется пиксель  с максимальным значением приоритета  на границе ;
5) для пикселя  с максимальным значением приоритета  на границе  с помощью способа инверсий адаптивно определяется форма области для поиска подобия;
6) вычисляется евклидова метрика для всех доступных значений пикселей изображения , ,;
7) количество блоков подобия  определяется с помощью доверительного интервала:
,
где ;  - уровень значимости.
8) значения пикселей в области  смежные к пикселю с максимальным приоритетом  восстанавливаются путем усреднения соответствующих пикселей найденных областей  из области доступных пикселей :
.
9) коэффициент доверия  для восстановленных пикселей присваивается равным текущему значению . После чего процедура пересчета приоритета и поиска похожих областей с последующей заменой повторяется.
Устройство для восстановления изображений содержит блок хранения изображения, блок хранения пикселей, блок создания словаря, блок хранения словаря, блок поиска подобия, блок обработки, блок вычисления приоритета, блок определения адаптивной формы, блок усреднения пикселей, блок заполнения изображения.
Недостатками известного устройства-прототипа являются:
– неправильное восстановление при отсутствии похожего блока;
– зависимость эффективности восстановления от структуры изображения.
Причины, препятствующие достижению требуемого технического результата, заключаются в следующем:
– отсутствие похожего блока приводит к неправильному восстановлению, так как замена пикселей происходи на пиксели блока, для которого евклидова метрика минимальна, даже в том случае если она имеет большое значение по абсолютной величине.
Задачей предлагаемого изобретения является восстановления значений пикселей карты глубины на основе работы нейронной сети.
Техническим результатом предлагаемого изобретения является уменьшение погрешности восстановления карты глубины за счет предварительно обученной нейронной сети.
Технический результат достигается за счет того, что устройство содержит блок хранения изображений, полученных со стереопары, блок построения карты глубины, блок обнаружения потерянных областей, блок хранения масок, блок хранения изображения, блок хранения пикселей, блок создания словаря, блок хранения словаря, блок обработки, блок вычисления приоритета, блок определения адаптивной формы, блок поиска подобия, блок оценки пикселей с помощью нейронной сети, блок заполнения изображения, генератор тактовых импульсов.
На Фиг. 1 представлена упрощенная математическая модель изображения.
На Фиг. 2 представлен принцип работы устройства для построения карты глубины. Определение смещения (а) и корреляционный анализ (б)
На Фиг. 3 изображено построение ортогональных векторов.
На Фиг. 4 представлен адаптивный выбор формы области для поиска подобия.
На Фиг. 5 представлен поиск похожих блоков.
На Фиг. 6 представлена структура нейронной сети.
На Фиг. 7 представлен оригинальный блок с удаленным пикселем и пять  похожих блоков.
На Фиг. 8 представлена схема обучения нейронной сети.
На Фиг. 9 представлена блок-схема устройства для восстановления карты глубины с поиском похожих блоков на основе нейронной сети.
Устройство для восстановления карты глубины с поиском похожих блоков на основе нейронной сети содержит блок хранения изображений, полученных со стереопары 1, вход которого является информационным входом устройства, выход которого подключен к входу блока построения карты глубины 2, первый выход которого подключен к первому входу блока  хранения изображения 5; второй выход блока построения карты глубины 2 подключен к входу блока обнаружения потерянных областей 3, выход которого подключен к входу блока хранения масок 4, выход которого подключен ко второму входу блока хранения изображения 5, второй выход которого подключен к входу блока хранения пикселей 6, выход которого подключен к входу блока создания словаря 7, выход которого подключен к входу блока хранения словаря 8, выход которого подключен ко второму входу блока поиска подобия 12; третий выход блока хранения изображения 5 подключен к входу блока обработки 9, выход которого подключен к входу блоку вычисления приоритета 10, выход которого подключен к входу блока определения адаптивной формы 11, выход которого подключен к первому входу блока поиска подобия 12, выход которого подключен к входу блока оценки пикселей с помощью нейронной сети 13, выход которого подключен к входу блока заполнения изображения 14, выход которого подключен к третьему входу блока хранения изображения 5, первый выход которого является информационным выход устройства; синхронность работы устройства обеспечивается генератором тактовых импульсов 15.
Устройство реализуют следующий алгоритм.
На первом шаге для каждого пикселя левого изображения с координатами  выполняется поиск пикселя на правом изображении. При этом предполагается, что пиксель на правом снимке должен иметь координаты , где  – величина, называемая несоответствие или смещение. Поиск соответствующего пикселя выполняется путем вычисления максимума функции отклика, в качестве которой может выступать, например, корреляция окрестностей пикселей. (Фиг. 2)
Собственно, значения глубины обратно пропорциональны величине смещения пикселей. Если использовать обозначения с Фиг. 2а, то зависимость между смещением и глубиной можно выразить следующим способом:
(1)
Далее используя пороговое значение определяем потерянные области на полученной карте глубины которые необходимо восстановить и сохраняем маску дефектов.
На втором шаге вычисляется значение приоритета  для каждого значения пикселя границы, который состоит из двух множителей (фиг. 3):
,(2)
,
где  - текущий пиксель на границе доступных пикселей;  - коэффициент доверия;  - коэффициент градиента;  - квадратный блок пикселей с центром в пикселе ;  - количество пикселей квадратного блока,  вектор, ортогональный градиенту в точке ; - вектор, ортогональный границе  в точке ;  - нормированный множитель, который для восьми битных изображений равен 255.
Вначале предполагается, что значение коэффициента доверия  для пикселей из области  равно 1, а для области  равно 0.
Вычисление приоритета с помощью выражения (2) позволяет придавать больший вес пикселям, которые находятся на перепадах яркости (границах), таким образом, восстанавливая их в первую очередь. Учет коэффициента доверия  позволяет присваивать меньший вес восстановленным пикселям при увеличении расстояния от доступных пикселей из области .
На третьем шаге, для пикселя  с максимальным значением приоритета  на границе  с помощью способа инверсий адаптивно определяется форма области для поиска подобия, что позволяет корректно учитывать форму области восстановления и не захватывать лишние границы, которые могут привести к неправильной реконструкции изображения.
Для формирования адаптивных областей двумерного сигнала для пикселя  задаются восемь направлений , в которых определяются интервалы квазистационарности. Условие квазистационарности проверяется с помощью вычисления случайной величины , равной сумме числа инверсий значений пикселей в каждом из направлений  двумерного сигнала , , в котором присутствуют доступные пиксели.
Например, сумма числа инверсий для направления 5 равна:
, ,
,
где ,  - текущее значение пикселя изображения с координатами (); ,  - последующие значения пикселей изображения по -ому столбцу (движение в направлении 5),  - максимальная длина интервала квазистационарности.
Количество сочетаний, для которых вычисляется сумма инверсий, составляет:
.
Первая альтернатива (убывающий сигнал) принимается, если .
Правило для принятия второй альтернативы (возрастающий сигнал) имеет вид ,
где α – значение ошибки первого рода.
Гипотеза о стационарности сигнала принимается, если
,
По полученным границам интервалов для каждого из восьми секторов, образованных направлениями 1-2, 2-3, 3-4, 5-6, 7-8, 8-1 происходит формирование областей квазистационарности. Для этого используется линейная интерполяция границ смежных интервалов уравнением прямой проходящей через две точки:
, ,
где  - координаты границы направления h,  - координаты границы направления h+1.
Значения пикселей, попавшие между всеми направлениями и интерполирующими прямыми проходящими через границы интервалов квазистационарности, объединяются в одну область .
Для пикселя границы смежного с пикселем , имеющего большее значение , также определяется адаптивно область с помощью способа инверсий. Каждая из полученных областей является квазистационарной, и они находятся по разные стороны от перепада яркости. Данные области объединяются в одну (фиг. 4), таким образом, определяется область  с адаптивными размерами и перепадом яркости.
Определяется пиксель  с максимальным значением приоритета  на границе  и выбирается адаптивная область , принадлежащая данному пикселю. Использование, которой позволяет корректно учитывать форму области восстановления и не захватывать лишние границы, которые могут привести к неправильной реконструкции изображения.
На четвертом шаге, находятся блоки ,  в области доступных пикселей , для которых евклидова метрика минимальна (фиг. 5):
при этом  обозначает порядковые номера подобных блоков, ранжированных по евклидовой метрике.
Количество блоков подобия  определяется с помощью доверительного интервала:
,
где ;  - уровень значимости.
Значения пикселей в области  смежные к пикселю с максимальным приоритетом  восстанавливаются путем усреднения соответствующих пикселей из найденных областей  в области доступных пикселей  с помощью нейронной сети, в качестве нейронной сети был выбран многослойный персептрон.
Коэффициент доверия  для восстановленных пикселей присваивается равным текущему значению . После чего процедура пересчета приоритета и поиска похожих областей с последующей заменой повторяется.
В данном устройстве используется нейронная сеть прямого распространения сигнала для формирования наиболее похожего блока, обученная с помощью алгоритма обратного распространения ошибки (фиг. 6). В качестве функции активации, используется сигмоидальная нелинейная функция (sigmoidal nonlinearity), а именно функция гиперболического тангенса:
где  - параметр наклона сигмоидальной функции активации.
На этапе обучения нейронной сети на вход подавались заранее подготовленные данные: на изображении выделялся блок со случайными координатами, размером , далее в нем удалялся центральный пиксель и находили пять наиболее похожих блоков на всем изображении сравнивая их по MSE (фиг. 7).
Далее процедура повторялась на тридцати пяти изображениях и было получено сто тысяч блоков, они использовались как обучающая последовательность для данной сети.
Данная сеть содержит три слоя: первый слой содержит двадцать нейронов, второй слой содержит так же двадцать нейронов, третий слой содержит десять нейронов. В сети создано десять входов, на пять из них подавались только центральные пиксели в найденных блоках, а на пять  других входов подавались MSE этих блоков (фиг. 8). В качестве выхода использовались центральные пиксели оригинальных блоков.
Устройство для восстановления карты глубины с поиском похожих блоков на основе нейронной сети работает следующим образом. На вход блок хранения изображений полученных со стереопары 1 поступают изображения полученные со стереопары, далее они поступают на вход блока построения карты глубины 2, где происходит построение карты глубины, полученная карта глубины поступает на первый вход блока хранения изображения 5 и на второй вход блока обнаружения потерянных областей 3, где используя пороговое значение определяются потерянные области на карте глубины, в блоке хранения масок 4, сохраняются маски  найденных дефектов, и поступают на второй вход блока хранения изображения 5. Доступные пиксели сохраняются в блоке хранения пикселей 6, далее они поступают на вход блока создания словаря 7. Результат формирования словаря сохраняется в блоке хранения словаря 8, полученные двумерные матрицы используются далее для восстановления карты глубины. Матрицы создаются путем формирования квадратных блоков размером  пикселей из исходного изображения карты глубины путем смещения блока по всем доступным пикселям изображения. В блоке обработки 9 происходит формирование граничных пикселей вокруг области с потерянными пикселями из блока хранения изображения 5. Далее информация о граничных пикселях поступает на вход блока вычисления приоритета 10, в котором вычисляется приоритет для всех граничных пикселей, который состоит из двух множителей: коэффициент доверия и коэффициент градиента. В данном блоке также осуществляется ранжировка приоритета и определение граничного пикселя с максимальным значением приоритета. В блоке определения адаптивной формы 11 вокруг пикселя с максимальным значением приоритета формируется адаптивная область близких по яркости пикселей с помощью способа инверсий. Адаптивная область поступает на вход блока поиска подобия 12, в котором осуществляется вычисление евклидовой метрики со всеми двумерными матрицам, которые хранятся в блоке хранения словаря 7. В блоке поиска подобия 12 также определяется количество похожих блоков, для которых евклидова метрика не превосходит порогового значения. Данные блоки поступают на вход блока оценки пикселей с помощью нейронной сети 13, в котором происходит формирование усредненной оценки с помощью предварительно обученной нейронной сети. Полученная оценка поступает в блок заполнения изображения 14, который копирует значения пикселей смежных к пикселю с максимальным приоритетом из усредненной оценки в блок хранения изображения 5 на соответственные координаты. Далее процесс вычисления приоритета с поиском похожих блоков и последующей заменой повторяется до тех пор, пока не будут восстановлены все значения в блоке хранения изображения 5. Синхронность работы устройства обеспечивается генератором тактовых импульсов 15.