УСТРАНЕНИЕ РАЗМЫТИЯ ИЗОБРАЖЕНИЯ
ELIMINATING IMAGE BLUR

Область техники
Настоящее изобретение относится к обработке изображений, в частности, к устранению размытия изображения.
Уровень техники
В настоящее время при захвате изображения устройствами захвата изображения (например, фото- или видеокамерами) во время движения/поворота полученные изображения зачастую получаются размытыми. Данная проблема присуща, например, для устройств захвата изображения, установленных на роботах, транспортных средствах, включая автономные транспортные средства, и т.д. Так как в таких применениях очень важной является возможность распознавания объектов на захваченных изображениях, то проблема размытия полученных изображений серьезно ограничивает работоспособность таких решений. Кроме того, такая проблема также может проявляться и вследствие дрожания рук оператора, осуществляющего съемку какой-то сцены с помощью фото- или видеокамеры. В таком случае качество полученного изображения может не соответствовать ожиданиям оператора.
В существующем уровне техники известно множество способов устранения размытия изображения. Многие из них основаны либо на традиционных методах деконволюции или фильтрации изображения, либо на нейронных сетях. Так как задача устранения размытия достаточно сложная, все эти способы обладают рядом известных недостатков.
Во-первых, они являются вычислительно сложными медленными алгоритмами, применение которых на портативных маломощных устройствах затруднительно. Задача устранения размытия в таких алгоритмах решается посредством множества итераций сложной с вычислительной точки зрения обработки изображения. Таким образом, упомянутые способы не могут применяться в маломощных устройствах для обработки изображений или видео в реальном времени.
Во-вторых, многие известные способы устранения размытия приводят к появлению артефактов вследствие эффекта Гиббса вблизи контуров объектов на изображении.
В-третьих, существующие способы устранения размытия изображения зачастую не справляются с обработкой изображений, захваченных при съемке сцен с динамическим размытием, в которых движущийся объект снимается движущейся камерой, особенно, если движения происходят в разные стороны. В таких случаях сложно одновременно оценивать направление движения объекта в плоскости кадра и фона.
В-четвертых, существующие нейронные сети для решения задачи устранения размытия изображения также являются сложными, используют большое количество весов, требуют серьезные вычислительные мощности и чаще всего не могут быть реализованы в мобильных портативных устройствах.
Например, из уровня техники известно решение, раскрытое в документе US 20190236452 A1, в котором применяется сверточная нейронная сеть (CNN, convolutional neural network), решающая задачу за счет подачи на вход трех последовательных изображений. Таким образом оценивается движение камеры. Основным недостатком этого способа является существенное увеличение размера нейронной сети, вследствие необходимости обработки трех изображений вместо одного. Кроме того, этот способ недостаточно хорошо справляется с обработкой сцен с динамическим размытием.
Также из уровня техники известно решение, раскрытое в документе US 20190244331 A, в котором оценивают оптический поток между последовательностью изображений и используют данные оптического потока для того, чтобы компенсировать размытие. Однако, данный подход зависит от точности оценки оптического потока. Недостаточная точность оценки приводит к плохому качеству результирующего изображения. А высококачественные алгоритмы оценки являются достаточно сложными и медлительными.
Решение, раскрытое в документе US 9,767,538 B2, основано на том, что входное изображение предварительно сегментируется, чтобы обнаружить объекты, которые присутствуют на изображении. Движение каждого объекта оценивается по отдельности. Устранение размытия осуществляется отдельно для каждого сегмента на основании движения этого сегмента. Однако, качество устранения размытия строго зависит от точности сегментации. При этом сегментацию сложно реализовать, если изображение размыто сильно, потому что невозможно оценить с необходимой точностью, где заканчиваются границы одного объекта и начинаются границы другого.
В решении, раскрытом в документе US 10,007,972 B2, устранение размытия выполняется посредством моделирования простого ядра размытия с использованием Гауссового размытия. Устранение размытия осуществляется отдельно для каждой области изображения. Однако, этот способ не позволяет справиться с размытием в движении, т.к. размытие в движении не всегда описывается простым Гауссовым ядром, особенно, если движение сложное. Кроме того, на границах различных областей при использовании данного способа появляются артефакты.
J. Zhang и другие авторы в статье «Dynamic Scene Deblurring Using Spatially Variant Recurrent Neural Networks» (SenseTime Research, 2018) раскрывают способ, в котором используются три CNN для извлечения признаков из изображения, формирования весов RNN (Recurrent neural network) и восстановления изображения. RNN используется для деконволюции. Данный способ обладает высокой вычислительной сложностью, вследствие того, что подразумевает снижение размытия при полном незнании о том, как работает система.
Таким образом, в уровне техники существует потребность в разработке методики, решающей вышеперечисленные проблемы, т.е. методики устранения размытия изображения, позволяющей упростить вычислительную сложность обработки, увеличить ее скорость, обеспечить высокое качество результирующего изображения. При этом предпочтительно, чтобы такая методика была подходящей для реализации, в том числе, в маломощных мобильных устройствах формирования изображений.
Сущность изобретения
Настоящее изобретение направлено на решение по меньшей мере некоторых из приведенных выше проблем.
В соответствии с первым аспектом изобретения предложен блок обработки изображений, включающий в себя:
- кодировщик, выполненный с возможностью приема данных размытого изображения и формирования глобального признакового представления изображения,
- блок объединения, выполненный с возможностью объединения глобального признакового представления и информации размытия, характеризующей движение блока захвата изображения в момент захвата изображения,
- декодировщик, выполненный с возможностью приема результата объединения из блока объединения и формирования тензора признаков, а также тензоров весов,
- рекуррентный улучшающий модуль, выполненный с возможностью осуществления рекуррентной фильтрации признаков на основании тензора признаков и тензоров весов, полученных из декодировщика, и
- модуль реконструкции изображений, выполненный с возможностью реконструкции изображения с устраненным размытием на основании тензора признаков, полученного из декодировщика или рекуррентного улучшающего модуля,
причем блок обработки изображения выполнен с возможностью оценки глобального сдвига изображения и активации или деактивации рекуррентного улучшающего модуля на основании упомянутой оценки.
В соответствии с одним вариантом осуществления блок обработки изображений реализован в виде искусственной нейронной сети.
Согласно второму аспекту изобретения предложен способ обработки изображения, выполняемый упомянутым выше блоком обработки изображений, включающий в себя следующие этапы, на которых:
- принимают размытое изображение и осуществляют оценку глобального сдвига для определения, является ли размытие равномерным или динамическим;
- на основании данных входного размытого изображения формируют посредством кодировщика глобальное признаковое представление входного изображения;
- осуществляют объединение глобального признакового представления входного изображения и информации размытия, характеризующей движение блока захвата изображения в момент захвата изображения;
- формируют посредством декодировщика тензор признаков и тензоры весов на основании результатов упомянутого выше объединения;
- если размытие изображения является равномерным, то осуществляют реконструкцию изображения с устраненным размытием посредством модуля реконструкции изображения на основании упомянутого тензора признаков; и
- если размытие изображения является динамическим, то осуществляют рекуррентную фильтрацию признаков посредством рекуррентного улучшающего модуля на основании сформированного тензора признаков и тензоров весов, и осуществляют реконструкцию изображения с устраненным размытием посредством модуля реконструкции изображения на основании полученного фильтрованного тензора признаков.
В соответствии с одним вариантом осуществления способа обработки изображения рекуррентная фильтрация включает в себя четыре RNN-операции, каждая из которых состоит из четырех рекуррентных проходов изображения. В этом случае декодировщик формирует шестнадцать тензоров весов.
В соответствии с другим вариантом осуществления способа обработки изображения рекуррентная фильтрация включает в себя одну RNN-операцию, каждая из которых состоит из четырех рекуррентных проходов изображения. В этом случае декодировщик формирует четыре тензора весов.
В соответствии с другим вариантом осуществления способа обработки изображения рекуррентная фильтрация включает в себя RNN-операции, состоящие из двух рекуррентных проходов изображения. В этом случае декодировщик формирует два тензора весов на каждую RNN-операцию и обходы осуществляются по кривой Гильберта, позволяющей сократить количество рекуррентных проходов по изображению с четырех до двух.
В соответствии с другим вариантом осуществления способа обработки изображения на входном размытом изображении отфильтровывают пиксели, относящиеся к областям изображения с равномерным размытием, и обрабатывают посредством рекуррентного улучшающего модуля пиксели, относящиеся к областям изображения с динамическим размытием, после чего обработанные области изображения с динамическим размытием связывают с областями изображения с равномерным размытием в модуле реконструкции изображений для формирования выходного изображения с устраненным размытием.
В соответствии с другим вариантом осуществления способа обработки изображения данные размытого изображения принимают из блока захвата изображения.
В соответствии с другим вариантом осуществления способа обработки изображения информацию размытия получают из датчика движения блока захвата изображения.
В соответствии с другим вариантом осуществления способа обработки изображения дополнительно получают последовательность изображений, захватываемых дополнительной камерой, имеющей более высокую скорость захвата кадров и более низкое разрешение по сравнению с упомянутым блоком захвата изображений, оценивают движение блока захвата изображения на основании полученной последовательности изображений и используют упомянутую информацию о движении в качестве информации размытия.
В соответствии с другим вариантом осуществления способа обработки изображения информацию размытия получают в отношении движения блока захвата изображения только в одной плоскости.
Согласно третьему аспекту изобретения предложено устройство формирования изображений, включающее в себя описанный выше блок обработки изображений и блок захвата изображений.
Согласно четвертому аспекту изобретения предложен компьютерно-читаемый носитель, хранящий компьютерную программу, которая при ее исполнении посредством процессора предписывает упомянутому процессору выполнять описанный выше способ обработки изображения.
Настоящее изобретение позволяет снизить сложность обработки изображений, увеличить ее скорость и повысить качество результирующего изображения.
Краткое описание чертежей
В дальнейшем изобретение поясняется описанием предпочтительных вариантов осуществления изобретения со ссылками на сопроводительные чертежи, на которых:
Фиг. 1 изображает блок-схему блока обработки изображений в случае обработки захватываемого изображения сцены с равномерным размытием.
Фиг. 2 изображает блок-схему блока обработки изображений в случае обработки захватываемого изображения сцены с динамическим размытием.
Фиг. 3 изображает блок-схему формирования тензора признаков и тензоров весов.
Подробное описание
Варианты осуществления не ограничиваются описанными здесь вариантами осуществления, специалисту в области техники на основе информации изложенной в описании и знаний уровня техники станут очевидны и другие варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.
В соответствии с настоящим изобретением в качестве входных данных используется не только исходное размытое изображение, но и информация о движении сцены. Если на вход подается только изображение, этих данных может быть недостаточно, потому что нейронная сеть, которая применяется на следующих этапах, не знает, как именно испорчены изображения и поэтому она должна включать в себя дополнительный модуль для оценки искажения. Поэтому на вход в соответствии с настоящим изобретением подается также информация размытия, которая может быть получена на основании информации о движении камеры в момент съемки. На практике можно подавать любую информацию, которая подскажет нейронной сети, как осуществлялось движение камеры. В частности, это может быть информация от датчика движения, либо информация с некоторой дополнительной скоростной камеры низкого разрешения, которая захватывает последовательность кадров, с помощью которых можно оценить, каким образом осуществлялось движение, и т.д.
Соответственно схема работы алгоритма достаточно проста. Входная информация о размытии конвертируется в набор некоторых признаков и затем эти признаки подаются на вход искусственной нейронной сети. Нейронная сеть получает на вход исходное размытое изображение, переводит его в обучаемое признаковое пространство, в котором осуществляется фильтрация набором сверток. К признаковому описанию добавляется информация размытия и после набора сверточных слоев данные подаются в рекуррентный улучшающий модуль (улучшающий модуль RNN, Recurrent neural network), фильтрующий признаки в четырех направлениях: по горизонтали два раза и по вертикали два раза. Рекуррентный улучшающий модуль увеличивает поле восприятия (receptive field) модели, агрегируя глобальную информацию в пределах тензора, что положительно сказывается на результате обработки. Т.е. внутри нейронной сети по сути работает рекуррентный фильтр в четырех направлениях. Соответственно на выходе можно получить изображение без ярко выраженного размытия.
В общем виде, способ устранения размытия в соответствии с примерным вариантом осуществления изобретения включает в себя несколько этапов.
Сначала блок обработки изображений принимает данные изображения с размытием (размытое изображение). Упомянутые данные могут приниматься в реальном времени от блока захвата изображений, интегрированного в одном устройстве с блоком обработки изображений, либо от отдельного блока захвата изображений. В альтернативном варианте осуществления упомянутые данные изображений могут представлять собой предварительно сохраненные данные захваченного изображения.
Блок обработки изображений, таким образом, может быть реализован как в интегрированном с блоком захвата изображений устройстве, так и в виде удаленного сервера, либо посредством облачных технологий.
В примерном варианте осуществления изобретения захватываемое изображение с размытием включает в себя изображение человека. Однако, вследствие размытия не представляется возможным распознать лицо или позу человека на изображении.
Далее блок обработки изображений определяет, является ли сцена динамической, т.е. осуществляется ли движение объекта (объектов) в захватываемой сцене. Для этого входные данные размытого изображения обрабатываются в блоке обработки изображений посредством способа оценки глобального сдвига. Результатом такой оценки является определение, является ли сдвиг изображения глобальным по всей сцене или он имеет локальный характер в отдельных областях изображения. Если оцененный глобальный сдвиг имеет высокую достоверность, т.е. движение сцены описывается глобальным сдвигом, то можно сделать вывод, что сцена является по существу статической, а, следовательно, размытие изображения вызвано движением камеры (равномерное или однородное размытие). В противном случае определяется, что сцена является динамической, а размытие вызвано и движением камеры, и движением объекта в сцене (динамическое или неоднородное размытие).
Для оценки глобального сдвига может применяться любая известная в уровне техники подходящая методика, например, оценка фазовой корреляции между последовательными размытыми кадрами. В альтернативном варианте осуществления для оценки глобального сдвига может применяться информация о движении самой камеры, получаемая, например, от датчика движения в камере. Таким датчиком движения может быть акселерометр, гироскоп и т.д.
Далее блок обработки изображений осуществляет обработку изображений для устранения размытия. Упомянутая обработка для устранения размытия изображения зависит от результатов оценки глобального сдвига.
Далее со ссылкой на фиг. 1 раскрывается обработка изображения для устранения размытия изображения в случае захвата сцены с равномерным размытием.
Размытое изображение, захваченное блоком захвата изображения, подается в кодировщик блока обработки изображений. Результатом работы кодировщика является глобальное признаковое представление входного изображения размера , где , и - ширина, высота и глубина глобального признакового представления изображения, соответственно.
W
H
W
H
W
H
Тензор информации размытия формируется посредством дублирования каждого из двух компонентов (x и y) вектора глобального сдвига на две плоскости размером . Если нам известен вектор (x, y) глобального размытия сцены, то в таком случае в качестве информации размытия подается тензор формы (/8, /8, 2), где  и  - исходные размеры входного размытого изображения. Последняя размерность 2 означает, что тензор представляет собой две двумерные карты размера (/8, /8), заполненные постоянными x и y соответственно.
W, H, D
W, H, D
W, H, D
+D
1
2
1
2
Далее глобальное признаковое представление и тензор информации размытия конкатенируются в блоке объединения (не изображен), причем глобальное признаковое представление и тензор информации размытия имеют один и тот же уровень абстракции. В случае наличия двух тензоров с размерами () и (), конкатенация выдает результат формы: (). То есть осуществляется простое склеивание двух тензоров по третьей размерности (иными словами по глубине).
i
j
k -
Результирующий конкатенированный тензор подается в декодировщик, где обрабатывается сверточными слоями, повышающими пространственное разрешение, с учетом пространственной связи с соответствующими слоями кодировщика, для получения тензора признаков , где , , индексы, указывающие позицию элемента в тензоре, а , , представляют собой ширину, высоту и глубину тензора признаков, соответственно.
Таким образом, кодировщик в процессе своей работы постепенно уменьшает пространственные размеры обрабатываемого тензора, захватывая все более глобальную информацию сцены, и увеличивает глубину обрабатываемого тензора, увеличивая размерность кодирующего признакового пространства.
Декодировщик действует противоположно. В процессе своей работы он постепенно увеличивает пространственные размеры обрабатываемого тензора и уменьшает глубину обрабатываемого тензора.
Полученный тензор признаков подается в модуль реконструкции изображения, который формирует изображение с устраненным размытием.
1
Стоит отметить, что в представленном примерном варианте осуществления блок обработки изображений с входящими в его состав отдельными функциональными модулями реализован посредством искусственной нейронной сети, в частности, сверточной нейронной сети (CNN). Вся сеть в данном примере является нейронной сетью, обученной посредством сквозного обучения с использованием функции потерь SSIM+L между изображением с устраненным размытием и эталонным резким (четким) изображением :
.
Благодаря использованию информации размытия такой способ устранения равномерного размытия позволяет увеличить скорость обработки в десятки раз по сравнению с известными решениями, при этом обеспечивая высокое качество выходного изображения.
Таким образом, в соответствии с одним вариантом осуществления настоящего изобретения блок обработки изображений, выполняющий описанный выше способ, включает в себя кодировщик, блок объединения (не изображен), декодировщик и модуль реконструкции изображений. При этом кодировщик выполнен с возможностью приема данных размытого изображения и формирования глобального признакового представления изображения. Блок объединения выполнен с возможностью объединения глобального признакового представления и информации размытия, характеризующей движение блока захвата изображения в момент захвата изображения. Декодировщик выполнен с возможностью приема результата объединения из блока объединения и формирования тензора признаков. Модуль реконструкции изображения выполнен с возможностью приема тензора признаков из декодировщика и реконструкции изображения с устраненным размытием.
Далее со ссылкой на фиг. 2 раскрывается обработка изображения для устранения размытия изображения в случае захвата сцены с динамическим размытием.
В случае, если на этапе оценки глобального сдвига определено, что сцена имеет динамический характер, то блок обработки изображений выполняет обработку для устранения размытия в соответствии со схемой, изображенной на фиг. 2. Блок обработки изображений, показанный на фиг. 2, дополнительно включает в себя рекуррентный улучшающий модуль, встроенный между декодировщиком и модулем реконструкции изображений.
Описание этапов обработки устранения размытия изображения сцены с динамическим размытием, совпадающих с этапами обработки устранения размытия изображения сцены с равномерным размытием, будет опущено.
i
j
k
В отличие от обработки по фиг.1, помимо тензора признаков декодер формирует также и тензоры весов. В примерном варианте осуществления в соответствии с настоящим изобретением декодер формирует 16 тензоров весов , каждый из которых имеет такую же высоту, ширину и глубину, что и тензор признаков, причем , ,  - индексы, определяющие позицию конкретного значения веса в тензоре весов, r - индекс каждого (всего 16) тензора весов (четыре тензора весов на каждую из четырех RNN-операций, так как осуществляется взвешенный проход справа-налево и обратно, сверху-вниз и обратно). Таким образом, в соответствии с настоящим изобретением и тензоры весов, и тензор признаков формируются одной и той же сетью.
m
Далее последовательно выполняют четыре RNN-операции, причем -ая RNN-операция использует четыре тензора весов , принимая в качестве входных данных тензор признаков и выводя тензор признаков .
Каждая RNN-операция включает в себя четыре рекуррентных прохода изображения (слева-направо, справа-налево, сверху-вниз и снизу вверх), результирующую конкатенацию тензоров и свертку до 32 каналов.
n
m
Каждый -ый рекуррентный проход изображения -ой RNN-операции использует тензор весов , принимает в качестве ввода тензор признаков и выводит тензор , используя рекуррентный фильтр, например, для прохода слева-направо:
.
Приведенная формула представляет собой формулу для обновления столбцов при проходе слева-направо. Аналогично происходит рекуррентная обработка столбцов при проходе справа-налево и обработка строк при проходе сверху-вниз и снизу-вверх.
Вывод последней RNN-операции обрабатывается модулем реконструкции изображений для получения выходного изображения с устраненным размытием.
2
Вся сеть в данном примере является нейронной сетью, обученной посредством сквозного обучения с использованием функции потерь L между изображением с устраненным размытием и эталонным резким изображением.
Таким образом, в соответствии с дополнительным вариантом осуществления настоящего изобретения блок обработки изображений, выполняющий описанный выше способ, включает в себя кодировщик, блок объединения (не изображен), декодировщик, рекуррентный улучшающий модуль и модуль реконструкции изображений. При этом кодировщик выполнен с возможностью приема данных размытого изображения и формирования глобального признакового представления изображения. Блок объединения выполнен с возможностью объединения глобального признакового представления и информации размытия. Декодировщик выполнен с возможностью приема результата объединения из блока объединения и формирования тензора признаков, а также тензоров весов. Рекуррентный улучшающий модуль выполнен с возможностью осуществления рекуррентной фильтрации признаков на основании тензора признаков и тензоров весов, полученных из декодировщика. Модуль реконструкции изображения выполнен с возможностью приема фильтрованного тензора признаков из рекуррентного улучшающего модуля и реконструкции изображения с устраненным размытием.
В соответствии с предпочтительным вариантом осуществления настоящего изобретения блок обработки изображений комбинирует признаки описанных выше вариантов осуществления. Данный блок обработки изображений включает в себя кодировщик, блок объединения, декодировщик, рекуррентный улучшающий модуль и модуль реконструкции изображений. При этом блок обработки изображений в зависимости от результатов оценки глобального сдвига активирует или деактивирует рекуррентный улучшающий модуль.
Далее со ссылкой на фиг. 3 подробнее раскрывается формирование тензора признаков и тензоров весов.
W
H
Декодировщик извлекает промежуточное признаковое представление формы , где  и  представляют собой пространственные размеры входного размытого изображения.
Для формирования тензора признаков, подаваемого в рекуррентный улучшающий модуль, производится выделение главных признаковых компонент формы (аналогия с PCA в классическом машинном обучении), с помощью проецирования на некоторое многообразие меньшей размерности. Проецирование осуществляется с помощью свертки с ядром 1х1.
Для формирования тензоров весов промежуточное признаковое представление отображается в пространство большей размерности: четыре связанных тензора весов формы .
Далее подают входные признаки и соответствующие тензоры весов в рекуррентный улучшающий модуль для каждой RNN-операции (четыре рекуррентных прохода изображения: слева-направо, справа-налево, сверху-вниз и снизу вверх).
Веса и признаки в данном варианте осуществления обучены с помощью сквозного обучения с использованием алгоритма оптимизации Адам. Алгоритм оптимизации Адам - это часто используемая модификация стандартного градиентного спуска.
Таким образом, в случае захвата сцены с динамическим размытием блоком захвата изображения настоящее изобретение обеспечивает высокое отношение качества результирующего изображения к скорости обработки.
Исходя из представленной выше информации, видно, что рекуррентный улучшающий модуль является опциональным и активируется только в случае обработки захватываемого изображения сцены с динамическим размытием. В то же время в случае обработки захватываемого изображения сцены с равномерным размытием, упомянутый рекуррентный улучшающий модуль не задействуется.
Далее приведена таблица, иллюстрирующая последовательность слоев нейронной сети, реализующей функции блока обработки изображений в соответствии с примерным вариантом осуществления настоящего изобретения.
Таблица. Слои нейронной сети.
Слой
Входные данные
Выходные данные
Кодировщик
conv1
<img file="00000024.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" />
<img file="00000025.jpg" he="5" wi="25" img-content="undefined" img-format="jpg" />
conv2
conv1
<img file="00000025.jpg" he="5" wi="25" img-content="undefined" img-format="jpg" /><i></i>
conv3
conv2<img file="00000026.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv4
conv3
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv5
conv4<img file="00000026.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />
<img file="00000028.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv6
conv5
<img file="00000028.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv7
conv6
<img file="00000028.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv8
conv7<img file="00000026.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />
<img file="00000029.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" /><i></i>
conv9
conv8
<img file="00000029.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv10
conv9
<img file="00000030.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
Декодировщик
conv11
conv10<img file="00000031.jpg" he="5" wi="6" img-content="undefined" img-format="jpg" />conv6
<img file="00000032.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv12
conv11
<img file="00000032.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv13
conv12<img file="00000031.jpg" he="5" wi="6" img-content="undefined" img-format="jpg" />conv4
<img file="00000033.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv14
conv13
<img file="00000034.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv15
conv13
<img file="00000035.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" />
RNN1
conv15, conv14[1:128]
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv16
RNN1
<img file="00000035.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" />
RNN2
conv16, conv14[129:256]
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv17
RNN2
<img file="00000035.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" />
RNN3
conv17, conv14[257:384]
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv18
RNN3
<img file="00000035.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" />
RNN4
conv18, conv14[385:512]
<img file="00000027.jpg" he="8" wi="27" img-content="undefined" img-format="jpg" />
conv19
RNN4
<img file="00000035.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" />
conv20
conv19<img file="00000036.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" />conv15
<img file="00000037.jpg" he="8" wi="24" img-content="undefined" img-format="jpg" /><i></i>
conv21
conv20<img file="00000031.jpg" he="5" wi="6" img-content="undefined" img-format="jpg" />conv1
<img file="00000024.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" />
Все свертки используют ядро 3х3 и функцию активации leaky ReLU за исключением свертки генерации RNN весов conv14, в которой используется гиперболический тангенc в качестве функции активации, а также свертки генерации RNN признаков conv15 и результирующей свертки модели conv21, в которых отсутствует функция активации.
В приведенной таблице использованы следующие обозначения:
- означает применение слоя максимальной подвыборки (англ. max pooling) с ядром 2×2;
- означает применение билинейной интерполяции;
означает выборку признаковых описаний, находящихся в диапазоне от до ;
- операция конкатенации вдоль размерности глубины.
В соответствии с альтернативным вариантом осуществления настоящего изобретения рекуррентный улучшающий модуль выполняет только одну RNN-операцию. При этом формируются только два тензора весов вместо шестнадцати за счет совместного использования весов во время RNN-операции: проходы справа-налево и слева-направо совместно используют один тензор весов, проходы сверху-вниз и снизу-вверх также используют совместно один тензор весов. Данный вариант осуществления может быть предпочтительным для реализации на мобильных устройствах, т.к. обладает высокой скоростью и сниженной вычислительной сложностью.
В еще одном альтернативном варианте осуществления каждая RNN-операция включает в себя не четыре рекуррентных прохода, а только два. При этом рекуррентные проходы осуществляются не справа-налево или сверху-вниз, а по некоторой кривой, например, кривой Гильберта, а затем в обратном направлении. Это и позволяет снизить количество проходов на каждую RNN-операцию. Данный вариант осуществления также позволяет снизить вычислительную сложность и повысить скорость обработки.
Согласно дополнительному альтернативному варианту осуществления настоящего изобретения в качестве информации размытия можно получать информацию размытия только в отношении одной плоскости вместо двух. В частности, такая упрощенная архитектура может использоваться при возникновении только горизонтального размытия, возникающего, например, при повороте робота.
В еще одном альтернативном варианте осуществления в информацию размытия добавляется набор кадров, заснятых дополнительной высокоскоростной камерой низкого разрешения. Эти кадры используются совместно с информацией размытия, помогая декодировщику обнаружить основное направление размытия во входном изображении. Упомянутый набор кадров может использоваться не только в дополнение к информации размытия, но и в качестве альтернативы ей.
В соответствии с еще одним вариантом осуществления блок обработки изображений дополнительно включает в себя модуль пространственного внимания (spatial attention), устанавливаемый между декодировщиком и рекуррентным улучшающим модулем. Модуль пространственного внимания может отфильтровывать на входном размытом изображении пиксели, относящиеся к глобальному размытию. При этом модуль пространственного внимания позволяет выделять пиксели, относящиеся к локальному размытию, вызванному движущимися объектами, и обрабатывать их посредством рекуррентного улучшающего модуля. Это позволяет сочетать преимущества описанных выше вариантов осуществления настоящего изобретения. Данный вариант осуществления функционирует следующим образом:
- подают на модуль пространственного внимания размытое изображение и отображают входное размытое изображение в многомерное признаковое описание (признаковое пространство): , где W и H представляют собой пространственные размеры входного размытого изображения;
- подают на модуль пространственного внимания информацию размытия и отображают информацию размытия в многомерное признаковое описание: ;
- подают из декодировщика промежуточное признаковое представление формы ;
- преобразуют представление признаков размытого изображения: . Эта операция изменяет пространственное расположение значений тензора таким образом, чтобы он стал двумерным и принял форму ;
- преобразуют представление признаков информации размытия: . Эта операция изменяет пространственное расположение значений тензора таким образом, чтобы он стал двумерным и принял форму ;
косинусное сходство
- вычисляют обратную косинусную меру: (-1∙), при этом CNN изучает меру различия между реальным размытием изображения и полученной информацией размытия от датчиков. Иными словами, вычисляется карта обратной корреляции между признаковым описанием информации размытия и признаковым описанием размытого изображения. Области (пиксели), в которых обратная корреляция признаковых описаний ниже порогового значения, обладают схожими характерами размытия и не нуждаются в дальнейшей обработке рекуррентным улучшающим модулем. Области (пиксели) изображения, в которых обратная косинусная мера превышает пороговое значение, относятся к областям локального размытия, т.е. к объектам, осуществляющим движение в сцене. В таких областях реальное размытие противоречит информации размытия от датчиков. Такие области изображения в дальнейшем подвергаются обработке посредством рекуррентного улучшающего модуля. После этого обработанные области изображения с динамическим размытием связываются с областями изображения с равномерным размытием для формирования выходного изображения с устраненным размытием в модуле реконструкции изображений.
Такой вариант осуществления настоящего изобретения позволяет обрабатывать области размытого изображения, на которых изображены движущиеся объекты, посредством способа обработки, предназначенного для сцен с динамическим размытием, в то время как остальные области изображения обрабатываются посредством способа обработки, предназначенного для сцен с равномерным размытием. Это обеспечивает высокую скорость обработки изображений и высокое качество полученных изображений с устраненным размытием.
В соответствии с еще одним аспектом настоящего изобретения представлено устройство формирования изображений, включающее в себя описанный выше блок обработки изображений, а также блок захвата изображений.
Согласно дополнительному аспекту настоящего изобретения предложен компьютерно-читаемый носитель, хранящий компьютерную программу, которая при ее исполнении посредством процессора предписывает упомянутому процессору выполнять описанный выше способ обработки изображения.
Очевидно, что, когда речь идет о хранении данных, программ и т.п., подразумевается наличие компьютерно-читаемого носителя данных, примеры компьютерно-читаемых носителей данных включают в себя постоянное запоминающее устройство, оперативное запоминающее устройство, регистр, кэш-память, полупроводниковые запоминающие устройства, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD), а также любые другие известные в уровне техники носители данных.
Настоящее изобретение может найти применение в устройствах захвата и обработки изображения, таких как фото- и видеокамеры, в том числе встроенные в оборудование на основе SoC (смартфоны, планшеты, видеорегистраторы и т.д.). Возможность получения изображений хорошего качества обеспечивает преимущества при использовании настоящего изобретения в системах видеонаблюдения, устройствах захвата изображения в автономных транспортных средствах, роботах и т.д. При этом настоящее изобретение обеспечивает возможность обработки захватываемого изображения в реальном времени даже на маломощном оборудовании с ограниченной вычислительной мощностью.
Дополнительно стоит отметить, что описанный выше способ, выполняемый электронным устройством, может быть выполнен с использованием модели искусственного интеллекта. Модель искусственного интеллекта может быть получена посредством обучения. Здесь «полученный посредством обучения» означает, что предварительно определенное правило операции или модель искусственного интеллекта, сконфигурированная для выполнения желаемой функции (или цели), получается путем обучения базовой модели искусственного интеллекта с использованием множества фрагментов обучающих данных с помощью алгоритма обучения. Модель искусственного интеллекта может включать в себя множество слоев нейронной сети.
Способы, раскрытые здесь, содержат один или несколько этапов или действий для достижения описанного способа. Этапы и/или действия способа могут заменять друг друга, не выходя за пределы объема формулы изобретения. Другими словами, если не определен конкретный порядок этапов или действий, порядок и/или использование конкретных этапов и/или действий может изменяться, не выходя за пределы объема формулы изобретения.
В заявке не указано конкретное программное и аппаратное обеспечение для реализации блоков на чертежах, но специалисту в области техники должно быть понятно, что сущность изобретения не ограничена конкретной программной или аппаратной реализацией, и поэтому для осуществления изобретения могут быть использованы любые программные и аппаратные средства известные в уровне техники. Так аппаратные средства могут быть реализованы в одной или нескольких специализированных интегральных схемах, цифровых сигнальных процессорах, устройствах цифровой обработки сигналов, программируемых логических устройствах, программируемых пользователем вентильных матрицах, процессорах, контроллерах, микроконтроллерах, микропроцессорах, электронных устройствах, других электронных модулях, выполненных с возможностью осуществлять описанные в данном документе функции, компьютере либо комбинации вышеозначенного.
Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать более широкое изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку различные другие модификации могут быть очевидны специалистам в соответствующей области.
Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное.
Признаки, упомянутые в различных зависимых пунктах формулы, а также реализации раскрытые в различных частях описания могут быть скомбинированы с достижением полезных эффектов, даже если возможность такого комбинирования не раскрыта явно.