Устройство колоризации черно-белых изображений
Иллюстрации
Показать всеИзобретение относится к средствам обработки цифровых изображений. Техническим результатом является уменьшение цветовых искажений при колоризации монохроматических изображений. Устройство содержит блоки преобразователя RGB→NTSC (1), (20), блок выделения маски маркеров (2), блоки перемножителя (3), (18), (19), блок разбиения (4), блок расчета дисперсии (6), блок формирования весовой функции (10), блок определения координат маркеров (5), блоки буфера (7), (8), (12), (21) блоки задержки (11), (13), (14), (15), (16), блок формирования разреженной матрицы (17), блок управления (9), генератор тактовых импульсов (22). 1 ил.
Реферат
Изобретение относится к области вычислительной техники и может быть использовано в цифровых, телевизионных и фотосистемах.
Основная решаемая задача - колоризация черно-белых изображений.
Колоризация (раскрашивание) - компьютерный процесс добавления цвета к монохроматическому (черно-белому) изображению или видео. Этот процесс, как правило, включает в себя сегментацию изображения в областях и отслеживание этих областей через последовательность изображений. Современные методы и устройства не позволяют выполнению достоверной сегментации на практике, следовательно, раскрашивание требует вмешательства оператора, требующего большого количества временных затрат.
В настоящее время в России и за рубежом ведется большая работа по восстановлению цветности старых кинофильмов и фотографических материалов. Помимо кинематографа, методы восстановления цвета цифровых полутоновых изображений могут применяться в таких областях, как реставрация архивных фотографий и пленочных видеозаписей, восстановление при неверной гаммакорекции.
Упрощенно способы окрашивания монохроматических изображений можно разделить на следующие группы:
1) Способы с использованием цветовой маркировки.
2) Автоматические способы окрашивания с использованием эталонных изображений.
Анализ существующих способов окрашивания показывает, что они
требуют априорную информацию о объекте. Использование автоматических способов окрашивания приводит к заполнению цветом всех локальных областей изображения и требует, чтобы разноцветные области на изображении имели различные группы яркости. В изображениях, где эти параметры похожи, визуально наблюдается подмена цветов пикселей изображений, т.е. неокрашивание пикселей изображения. К тому же, для использования автоматических способов окрашивания требуется эталонное изображение, цвета которого сходны с желаемыми цветами обрабатываемого изображения. Для использования способов на основе цветовой маркировки требуется нанесение цветовых маркеров в локальных областях изображения, цвета которых могут выбираться на основе экспертных оценок, либо могут задаваться «желаемые» цвета. Следует отметить, что результат окрашивания напрямую зависит от способа выбора цветовых маркеров, а также от количества их нанесения.
Известен метод и система для цифровой колоризации изображений [Patent №5,093,717, USA, МПК H04N 1/46]. Способ основан на ручном задании масок объектов изображения, имеющих сходные оттенки, и определении для каждой маски функции передачи цвета, преобразования информации шкалы яркости изображения в уникальные значения оттенка, яркости и насыщенности. Значение шкалы яркости в пределах каждой области обрабатывается с помощью функции передачи цвета. Результат операций сохраняется для последующего извлечения и отображения.
Признаки метода и системы - аналога, совпадающие с признаками заявляемого технического решения, следующие: окрашивание монохроматического изображения.
Недостатками известного метода и системы являются: в изображениях, где разноцветные области имеют схожие группы яркости, возможна подмена цветов; используется ручная задача областей колоризации.
Известен метод восстановления цвета полутоновых изображений на основе нейронной сети [Варламов А.Д. «Восстановление цвета полутоновых изображений нейронной сетью» // Алгоритмы, методы и системы обработки данных - Муром: изд-во Муромский институт (филиал) Государственного образовательного учреждения высшего профессионального образования "Владимирский государственный университет им. Александра Григорьевича и Николая Григорьевича Столетовых", 2010. - с.6]. Данный метод базируется на машинном обучении, то есть используется технология, при которой алгоритм преобразования полутонового изображения к цветному будет формироваться автоматически на основе отобранных человеком примеров. Колоризация осуществляется следующими шагами: на цветных изображениях с однородным по типу содержанием (например, закат солнца, дорожное асфальтовое полотно и другие) однотипные объекты имеют примерно одинаковый цвет. Для оценки цвета каждой точки исходного полутонового изображения используется следующая информация относительно ее и самого изображения:
1. Тип сцены изображения (определяет, что изображено на сцене).
2. Яркость точки.
3. Набор значений локальных признаков, которые позволят более точно определить вид объекта и соответственно более точно "подобрать" цвет.
Тип сцены изображения предопределяет, какие объекты могут присутствовать на сцене. Яркость точки берется из входного полутонового изображения; значения локальных признаков вычисляются детерминированными алгоритмами обработки изображений. Непосредственно "подбор" цвета выполняет нейронная сеть, на вход которой поступает набор значений локальных признаков и яркость точки, а на выходе формируются интенсивности цветовых компонент (красная, зеленая и синяя). Сеть предварительно обучается для каждого типа сцены.
Признаки метода и системы - аналога, совпадающие с признаками заявляемого технического решения, следующие: окрашивание монохроматического изображения.
Недостатками известного метода и системы являются: в изображениях, где разноцветные области имеют схожие группы яркости, возможна подмена цветов; невозможность задачи и обучения всех типов сцен; ошибки в обучении нейронной сети.
Известен метод и устройство для окрашивания изображений [Патент №US 2009/0096807 А1]. Данный метод окрашивания изображений включает в себя: на первом шаге производится назначение первого цвета из карты цветов к пикселю максимальной яркости, для определения первого графического элемента; на следующем шаге производится назначение второго цвета цветовой карты к пикселю другой яркости; производится перерасчет яркости первого графического элемента и второго графического элемента; на следующем шаге производится регулировка яркости, связанной с первым графическим элементом, относительно яркости в первом заданном диапазоне яркостей и коррекция насыщенности графического элемента; процедура повторяется для второго графического элемента относительно яркости во втором заданном диапазоне.
Структурная схема устройства, реализующего рассмотренный алгоритм, содержит блок определения первого графического элемента; блок определения второго графического элемента; блок расчета первой яркости; блок расчета второй яркости; блок регулировки яркостей; блок проверки условия; блок коррекции насыщенности; блок подачи следующей точки данных.
Известен метод преобразования черно-белого изображения в цветное [Т. Welsh, M. Ashikhmin, К. Mueller "Transferring Color to Greyscale Images" // IJCSNS International Journal of Computer Science and Network Security, 2007 p. 1-4.]. В данном методе используется цветное (источник) изображение представлено в RGB пространстве и черно-белое (целевое) изображения. На первом шаге они преобразуются в декоррелируемое lαβ цветовое пространство для последующего анализа. Для того, чтобы передать значения цветности от цветного изображения к монохроматическому, необходимо, чтобы каждый пиксель черно-белого изображения был согласован с пикселем цветного изображения. Сравнение основано на значениях яркости и статистики окрестности данного пикселя. Значение яркости определено l каналом в lαβ цветовом пространстве. Для того, чтобы уменьшить различия в яркости между двумя изображениями, выполняется преобразование яркости путем линейного перемещения и масштабирования гистограммы яркости цветного изображения.
Поскольку большинство визуально существенных различий между значениями пикселей связаны с различиями в яркости, то можно ограничить число образцов, используемых в качестве исходных цветовых пикселей. Это позволяет сократить число сравнений, сделанных для каждого пикселя в монохроматическом изображении и уменьшить время вычислений. Для каждого пикселя монохроматического изображения в растровой строке отбирается наиболее подходящий образец соответствия цвета, который выбирается в зависимости от средневзвешенной яркости (50%) и стандартного отклонения (50%). Как только найдено лучшее соответствие пикселей, α и β значения цветности передаются целевому пикселю, в то время как исходное значение яркости сохраняется.
Признаки способа - аналога, совпадающие с признаками заявляемого технического решения, следующие: окрашивание черно-белых изображений.
Недостатками известного способа является: если области в эталонном изображении не имеют близких значений яркостей для соответствующих структур в исходном изображении, то наблюдается подмена цветов локальных областей изображения; большие вычислительные затраты; в следствии использования итерационного алгоритма требуется большое время обработки.
Наиболее близким к изобретению является метод и устройство колоризации с использованием оптимизации по цветовой интенсивности [Патент №US 2010/0085372 А1]. Настоящее изобретение производит добавление цвета в изображение или видеопоследовательность или изменяет цвет одного или нескольких элементов в изображении.
Метод колоризации реализуется с помощью следующего алгоритма. На первом шаге минимизируется сумма квадратов разницы между цветом U(r) в пикселе r и взвешенным средним числом цвета Σ s ∈ N ( r ) w r s U ( s ) в соседних пикселях s:
J ( U ) = Σ r ( U ( r ) − Σ s ∈ N ( r ) U ( s ) ) 2 ( 1 )
где wrs - весовая функция, принимающая большие значения, при Y(r)~Y(s), и маленькие, когда эти две интенсивности отличаются, Y(r) - монохроматическая интенсивность пикселя r, s∈N(r) является областью пикселей вокруг r.
Решение целевой функции (1) проводится с использованием двух весовых функций wrs.
Первая весовая функция wrs использует алгоритмы сегментации изображений и основана на квадрате разности между двумя интенсивностями:
w r s ∞ e − ( Y ( r ) − Y ( s ) ) 2 2 σ r 2 ( 2 )
Вторая весовая функция wrs основана на нормализованной корреляции между двумя интенсивностями:
w r s ∞ 1 + 1 σ r 2 ( Y ( r ) − μ r ) ( Y ( s ) − μ r ) ( 3 )
где µr и σr - среднее значение и дисперсия интенсивности в области N(r).
Корреляция находится с помощью принятия локального линейного отношения между цветом и интенсивностью. Предполагается, что цвет пикселя U(r) является линейной функцией интенсивности Y(r):
U ( r ) = a i Y ( r ) + b i ( 4 )
где a i, bi - линейные коэффициенты, которые одинаковы для всех пикселей в малой окрестности N(r).
Учитывая ряд местоположений ri, где цвета заданы исходными маркерами u(ri)=ui; ν(ri)=νi минимизируется J(U),J(V) выражения (1) с учетом ограничений, введенных уравнениями (2)-(4).
Признаки способа - аналога, совпадающие с признаками заявляемого технического решения, следующие: использование цветовой маркировки, окрашивание монохроматического изображения.
Недостатками известного способа и устройства, его реализующего, являются: результат восстановления цветов в большей степени зависит от способа выбора цветов маркеров, локальных участков для их нанесения и площади окрашивания; несущественное изменение исходных параметров может привести к значительным цветовым искажениям; большие вычислительные затраты.
Структурная схема устройства, реализующего рассмотренный алгоритм, содержит блок определения значений интенсивности изображений, блок ввода ограничений, блок определения координат маркеров, блок минимизации целевой функции.
Предлагаемое устройство колоризации черно-белых изображений позволяет окрашивать черно-белые изображения, производить замену цветов на изображении. Устройство реализует следующий алгоритм. На первом шаге оператором производится ручное нанесение цветовых маркеров на известные области и преобразование исходного изображения I с нанесенными на него цветовыми маркерами из RGB цветового пространства в YUV цветовое пространство.
Основные уравнения, которые используются для преобразования между пространством RGB и YUV, имеют вид:
Y=0,299·R+0,587·G+0,114·В;
Y = 0,299 ⋅ R + 0,587 ⋅ G + 0,114 ⋅ B ; U = 0,492 ⋅ ( B − Y ) = − 0,147 ⋅ R − 0,289 ⋅ G + 0,436 ⋅ B ; ( 5 ) V = 0,877 ⋅ ( R − Y ) = 0,615 ⋅ R − 0,515 ⋅ G + 0,100 ⋅ B .
В результате преобразования формируется три канала: канал яркостной составляющей Y; канал первой цветоразностной составляющей U; канал второй цветоразностной составляющей V.
На втором шаге выделяется маска маркеров, представляющая собой бинарный массив m, элементы которого принимают значение 1, если они соответствуют помеченным областям, в противном случае принимается значение 0.
На следующем шаге происходит последовательное разбиение исходного изображения скользящим окном 3×3 на перекрывающиеся подобласти. Во всех локальных областях производится расчет значений дисперсий и выделения абсолютных x, y координат маркеров.
На четвертом шаге на основе рассчитанной дисперсии происходит расчет весовых коэффициентов для каждого элемента подблоков, определенных выражением (2).
На следующем шаге формируется разреженная матрица А размерностью N×n на основе весовых коэффициентов и их абсолютных x, y координат.:
N = h ⋅ w ( 6 )
где h - высота изображения, w - ширина изображения.
На шестом шаге происходит перемножение разреженной матрицы А на вектор значений цветоразностного канала U и V.
В конце происходит преобразование окрашенного изображения из YUV цветового пространства в RGB цветовое пространство.
Устройство колоризации черно-белых изображений (фиг.1) содержит блок преобразователя RGB→NTSC 1 и блок выделения маски маркеров 2, входы которых являются информационными входами устройства, выход блока выделения маски маркеров 2 подключен к первому входу блока перемножителя 3; первый выход блока преобразователя RGB→NTSC 1 подключен ко второму входу блока перемножителя 3, выход которого подключен к первому входу блока разбиения 4, выход которого подключен ко входу блока расчета дисперсии 6, ко второму входу блока формирования весовой функции 10, ко входу блока определения координат маркеров 5; выход блока расчета дисперсии 6 подключен к первому входу блока формирования весовой функции 10, выход которого подключен к первому входу буфера 12, выход которого подключен к первому входу блока формирования разреженной матрицы 17; первый выход блока определения координат маркеров 5 подключен к первому входу блока буфера 7, выход которого подключен ко входу блока задержки 13, выход которого подключен ко второму входу блока формирования разреженной матрицы 17; второй выход блока определения координат маркеров 5 подключен к первому входу блока буфера 8, выход которого подключен ко входу блока задержки 14, выход которого подключен к третьему входу блока формирования разреженной матрицы 17; первый выход блока преобразователя RGB→NTSC 1 подключен ко входу блока управления 9, первый выход которого подключен ко второму входу блока буфера 8, ко второму входу блока буфера 7, ко второму входу блока буфера 12; второй выход блока управления 9 подключен ко второму входу блока разбиения 4, к четвертому входу блока формирования разреженной матрицы 17; второй выход блока преобразователя RGB→NTSC 1 подключен ко входу блока задержки 11, выход которого подключен ко второму входу блока перемножителя 18; третий выход блока преобразователя RGB→NTSC 1 подключен ко входу блока задержки 15, выход которого подключен ко второму входу блока перемножителя 19; выход блока формирования разреженной матрицы 17 подключен к первому входу блока перемножителя 18, к первому входу блока перемножителя 19; выход перемножителя 18 подключен ко второму входу блока преобразователя NTSC→RGB 20; выход перемножителя 19 подключен к третьему входу блока преобразователя NTSC→RGB 20; первый выход блока преобразователя RGB→NTSC 1 подключен ко входу блока задержки 16, выход которого подключен к первому входу блока преобразователя NTSC→RGB 20, выход которого подключен ко входу блока буфера 21, выход которого является информационным выходом устройства. Синхронность работы устройства обеспечивается генератором тактовых импульсов 22.
Устройство колоризации черно-белых изображений работает следующим образом. Одновременно на вход блока преобразователя RGB→NTSC 1 и на вход блока выделения маски маркеров 2 поступает исходное изображение с нанесенными на него цветовыми маркерами. В блоке выделения маски маркеров 2 выделяется маска нанесенных на изображение цветных маркеров, представляющая собой бинарный массив, элементы которого, принимающие значение 1, соответствуют помеченным областям, в противном случае 0. В блоке преобразования RGB→NTSC 1 происходит преобразование входного изображения из формата RGB в формат NTSC. На выходах блока преобразования RGB→NTSC 1 формируется три канала изображения формата NTSC: на первом выходе формируется канал яркостной составляющей Y, на втором выходе - первая цветоразностная составляющая U и на третьем выходе - второй канал цветоразностной составляющей V. На входы блока перемножителя 3 подаются сигнал яркостного канала Y блока преобразования RGB→NTSC 1 и маска маркеров с выхода блока выделения маски маркеров 2, на выходе которого формируется матрица помеченных цветом областей. Результат перемножения с выхода блока перемножителя 3 поступает в блок разбиения 4, где происходит последовательное разбиение исходного изображения скользящим окном 3×3 на перекрывающиеся подобласти. Информация о размере скользящего окна поступает со второго выхода блока управления 9 на второй вход блока разбиения 4. С выхода блока разбиения 4 последовательно передаются подблоки в блок расчета дисперсии 6, в котором происходит расчет значений дисперсий для каждого подблока. В блоке формирования весовой функции 10 происходит расчет весовых коэффициентов для каждого элемента подблоков на основе рассчитанной дисперсии, значение которой подается на первый вход блока формирования весовой функции 10, а на второй его вход подаются подблоки исходного изображения с выхода блока разбиения 4. Значения рассчитанных весовых коэффициентов с выхода блока формирования весовой функции 10 поступают в блок буфера 12. С выхода блока разбиения 4 поблочно значения передаются в блок определения координат маркеров 5 для расчета абсолютных x, y значений координат, входящих в текущий подблок, относительно исходного обрабатываемого изображения. Значения абсолютных x координат с первого выхода блока определения координат маркеров 5 поступают на первый вход блока буфера 7. Одновременно значения абсолютных у координат со второго выхода блока определения координат маркеров 5 поступают на первый вход блока буфера 8. Размеры блоков буферов 7, 8 и 12 задаются значением с блока управления 9, определяемым на основе канала яркостной составляющей Y исходного обрабатываемого изображения, которое подается на вход блока управления 9 с первого выхода блока преобразователя RGB→NTSC 1.
Рассчитанные значения x координат с выхода блока буфера 7 поступают в блок задержки 13. Рассчитанные значения у координат с выхода блока буфера 8 поступают в блок задержки 14. Время хранения результатов в блоках задержки 13 и 14 задается таким образом, чтобы обеспечить синхронность поступления весовых значений и их абсолютных x, y координат на первый, второй и третий вход блока формирования разреженной матрицы 17. Размер формируемой разреженной матрицы определяется блоком управления 9, второй выход которого подключен к четвертому входу блока формирования разреженной матрицы 17, где формируется разреженная матрица на основе весовых коэффициентов и их абсолютных x, y координат. Со второго выхода блока преобразователя RGB→NTSC 1 сигнал в виде вектора значений первой цветоразностной составляющей U поступает на блок задержки 11, с выхода которого передается на второй вход блока перемножителя 18, на первый вход которого поступает разреженная матрица с выхода блока формирования разреженной матрицы 17. В блоке перемножителя 18 осуществляется матричное умножение разреженной матрицы на вектор значений цветоразностного канала U. С третьего выхода блока преобразователя RGB→NTSC 1 сигнал в виде вектора значений второй цветоразностной составляющей V поступает в блок задержки 15, с выхода которого передается на второй вход блока перемножителя 19, на первый вход которого поступает разреженная матрица с выхода блока формирования разреженной матрицы 17. В блоке перемножителя 19 осуществляется матричное умножение разреженной матрицы на вектор значений цветоразностного канала V. Время хранения информации в блоках задержки 11, 15 задается таким образом, чтобы обеспечить синхронность поступления данных с выхода блока формирования разреженной матрицы 17 и второго, третьего выхода блока преобразователя RGB→NTSC 1. На выходах блоков перемножителей 18 и 19 формируются сигналы первой U и второй V цветоразностной составляющей раскрашенного изображения, которые подаются на второй и третий вход блока преобразователя NTSC→RGB 20. Для восстановления полного изображения сигнал яркостного канала Y с первого выхода блока преобразователя RGB→NTSC 1 поступает на вход блока задержки 16, с выхода которого поступает на первый вход блока преобразователя NTSC→RGB 20. Время хранения информации в блоке задержки 16 задается таким образом, чтобы обеспечить синхронность поступления сигнала яркостного канала Y, сигнала первой цветоразностной составляющей U раскрашенного изображения и сигнала второй цветоразностной составляющей V раскрашенного изображения на первый, второй и третий входы блока преобразователя NTSC→RGB 20. В блоке преобразователя NTSC→RGB 20 происходит преобразование раскрашенного изображения из формата NTSC в формат RGB. С выхода блока преобразователя NTSC→RGB 20 раскрашенное изображение поступает в блок буфера 21, выход которого является информационным выходом устройства. Синхронность работы устройства обеспечивается генератором тактовых импульсов 22.
Технический результат - колоризация монохроматических изображений при ограниченных начальных условиях.
Устройство колоризации черно-белых изображений содержащее блок определения координат маркеров (5), отличающееся тем, что информационными входами устройства являются вход блока преобразователя RGB → NTSC (1) и вход блока выделения маски маркеров (2), выход блока выделения маски маркеров (2) подключен к первому входу блока перемножителя (3); первый выход блока преобразователя RGB → NTSC (1) подключен ко второму входу блока перемножителя (3), выход которого подключен к первому входу блока разбиения (4), выход которого подключен ко входу блока расчета дисперсии (6), ко второму входу блока формирования весовой функции (10); выход блока расчета дисперсии (6) подключен к первому входу блока формирования весовой функции (10), выход которого подключен к первому входу буфера (12), выход которого подключен к первому входу блока формирования разреженной матрицы (17); выход блока буфера (7) подключен ко входу блока задержки (13), выход которого подключен ко второму входу блока формирования разреженной матрицы (17); выход блока буфера (8) подключен ко входу блока задержки (14), выход которого подключен к третьему входу блока формирования разреженной матрицы (17); первый выход блока преобразователя RGB → NTSC (1) подключен ко входу блока управления (9), первый выход которого подключен ко второму входу блока буфера (8), ко второму входу блока буфера (7), ко второму входу блока буфера (12); второй выход блока управления (9) подключен ко второму входу блока разбиения (4), к четвертому входу блока формирования разреженной матрицы (17); второй выход блока преобразователя RGB → NTSC (1) подключен ко входу блока задержки (11), выход которого подключен ко второму входу блока перемножителя (18); третий выход блока преобразователя RGB → NTSC (1) подключен ко входу блока задержки (15), выход которого подключен ко второму входу блока перемножителя (19); выход блока формирования разреженной матрицы (17) подключен к первому входу блока перемножителя (18), к первому входу блока перемножителя (19); выход перемножителя (18) подключен ко второму входу блока преобразователя NTSC → RGB (20); выход перемножителя (19) подключен к третьему входу блока преобразователя NTSC → RGB (20); первый выход блока преобразователя RGB → NTSC (1) подключен ко входу блока задержки (16), выход которого подключен к первому входу блока преобразователя NTSC → RGB (20), выход которого подключен ко входу блока буфера (21), выход которого является информационным выходом устройства, синхронность работы устройства обеспечивается генератором тактовых импульсов (22).