Область техники, к которой относится изобретение
Предлагаемое изобретение относится к области обработки изображений, и более конкретно к оценке векторов движения на последовательности фото- или видеоизображений. Изобретение может быть использовано в различных технологиях, где задействована оценка плотного поля векторов движения (MVF). В частности, изобретение может быть использовано в области компьютерного зрения, формирования фото- и видеоизображений, например в формировании изображений с расширенным динамическим диапазоном (HDR) или в многокадровой съемке.
Уровень техники
В настоящее время при съемке фото- и видеоизображений с расширенным динамическим диапазоном (HDR) в качестве одной из возможных технологий используется многокадровая съемка. Однако, поскольку при последовательной съемке нескольких кадров в изображаемой сцене могут присутствовать движущиеся объекты, для формирования качественного итогового изображения HDR необходима компенсация движения этих движущихся объектов, в особенности при ночной съемке на относительно длинных выдержках. Современные алгоритмы обработки изображений используют оценку плотного оптического потока (поля векторов движения, MVF), состоящего в каждом пикселе изображения из двумерного вектора, показывающего перемещение данного пикселя, в частности, при помощи так называемого сопоставления блоков.
Известным на сегодняшний день алгоритмам обработки изображений присуща, в частности, проблема, вызванная допущением о постоянной освещенности при съемке последовательности изображений.
Известные алгоритмы оценки движения (ME) основаны на допущении о постоянстве параметров освещенности. Однако следующие характеристики условий съемки изображений в реальности не соответствуют данному допущению:
а) различные параметры экспозиции и коэффициентов усиления датчика изображения на различных кадрах в пределах последовательности кадров брекетинга HDR;
б) мерцание электрического освещения;
в) изменения естественного освещения от кадра к кадру вследствие движения;
г) размытие при движении объектов и/или камеры, а также текущих в кадре жидкостей или летящего пара;
д) автоматическая подстройка баланса белого в камере и/или сдвиг цветокоррекции от кадра к кадру.
Еще одна проблема, присущая существующим подходам к оценке движения, состоит в формировании шума на датчике изображения. Известные алгоритмы оценки движения, основанные на сопоставлении блоков, могут производить оценку поля векторов движения (MVF) с высокой точностью, однако при этом они могут обладать высокой чувствительностью к качеству содержимого изображения и уровням шума на нем. В видеоизображениях, снятых в условиях низкой освещенности, применяемый рекурсивный процесс темпорального шумоподавления (TNR) формирует движущиеся артефакты (так называемый «кипящий шум»), которые в значительной мере снижают воспринимаемое качество изображения. При ночной съемке изображений HDR кадры, снятые с различными параметрами экспозиции, могут иметь различные уровни шума после регулировки яркости вследствие различных сочетаний параметров выдержки и светочувствительности датчика изображения. Присутствие шума и различие в уровнях шума на разных кадрах затрудняет сопоставление блоков изображения, которое является основной алгоритмов ME, основанных на сопоставлении блоков.
При съемке в условиях искусственного освещения, например, электрическими источниками света в изображаемой сцене может присутствовать мерцание, которое ошибочно воспринимается алгоритмом оценки векторов движения как движение в кадре. В процессе темпорального шумоподавления упомянутый шум, формируемый на датчике изображения, может также приводить к формированию ложных векторов движения, к накоплению ошибки от кадра к кадру, и в результате к нарушению контуров предметов, присутствующих в формируемом изображении, вследствие упомянутой некорректной оценки векторов движения.
В технике широко известен алгоритм ME, основанный на сопоставлении блоков методом полного перебора. Для каждого блока в первом кадре находят соответствующий ему блок в втором кадре на основании минимального значения функционала ошибки. В качестве функционала ошибки часто используют SAD: сумму модулей разности значения интенсивности каждого пиксела в блоке. Недостатками метода полного перебора являются высокие вычислительные затраты и низкая точность оценки движения, связанная с тем, что при сопоставлении блоков путем полного перебора не учитывают физической природы движения в кадре. Для повышения точности МЕ используют методы регуляризации функционала ошибки, например, вводят ограничение на полную вариацию поля векторов движения.
В источнике US 10341574 B2 (Apple Inc., опубликован 02.07.2019) раскрыт способ захвата изображения сцены с расширенным динамическим диапазоном (HDR), в котором захватывают и сохраняют множество изображений с первым уровнем экспозиции изображения. Далее захватывают первое изображение со вторым уровнем экспозиции изображения, выбирают второе изображение из упомянутого множества захваченных изображений. На основе первого и второго изображений формируют составное изображение сцены с расширенным динамическим диапазоном (HDR). Для этого используют совмещение изображений на основе бинаризации канала яркости с использованием множества пороговых значений, причем совмещение изображений проводят на полном разрешении и как минимум на одном уменьшенном масштабе изображения. Сопоставление блоков выполняется в отношении вышеупомянутых пар изображений и по существу состоит в сравнении значимых признаков на изображениях. К недостаткам данного способа можно отнести отсутствие регуляризации, что может вызывать описанные выше общие проблемы, связанные с шумом, ложными векторами движения и т.п. Результат осуществления данного известного способа может быть ближе по характеристикам к алгоритмам ME с полным перебором.
В источнике US 20210306528 A1 (Oppo Mobile, опубликован 30.09.2021) раскрыт способ оценки движения, в котором получают множество значений функционала ошибки между блоками для блока, подлежащего сопоставлению, и каждого из опорных блоков. Среди опорных блоков определяют по меньшей мере один блок-кандидат на основании упомянутого множества ошибок. Определяют диапазон случайных чисел согласно смещению между блоком, подлежащим сопоставлению, и каждым из множества опорных блоков. Получают множество случайных векторов движения, используя вектор движения между блоком, подлежащим сопоставлению, и каждым из по меньшей мере одного блока-кандидата в качестве базового вектора движения, а также случайные числа в пределах упомянутого диапазона случайных чисел в качестве приращений. Определяют целевой вектор движения, соответствующий блоку, подлежащему сопоставлению, согласно упомянутым случайным векторам движения. В данном алгоритме сопоставления блоков используется функция потерь при сопоставлении, представляющая собой комбинацию SAD, градиента краев блоков, Евклидова расстояния и штрафного члена. Блоки-кандидаты могут сортироваться на основании различных компонентов упомянутой функции потерь. К недостаткам данного известного решения можно отнести формирование слишком большого количества случайных векторов движения-кандидатов на основании сопоставления с упомянутыми блоками-кандидатами, что ограничивает рабочие характеристики системы, в которой используется данный алгоритм.
В источнике US 9153027 B2 (Nvidia Corp., опубликован 06.10.2015) раскрыт способ выполнения быстрого нежесткого совмещения по меньшей мере двух изображений в стеке изображений для формирования изображения с расширенным динамическим диапазоном. Способ включает в себя этапы формирования деформированного изображения на основе набора соответствующих пикселей, анализа деформированного изображения для обнаружения ненадежных пикселей на деформированном изображении, и формирования скорректированных значений пикселей для каждого ненадежного пикселя в деформированном изображении. Набор соответствующих пикселей включает в себя множество пикселей исходного изображения, причем каждый из упомянутого множества пикселей связан с потенциальным признаком на исходном изображении и сопоставляется с соответствующим пикселем на опорном изображении, который по существу соответствует пикселю на исходном изображении. К недостаткам данного известного решения можно отнести то, что для описанной выше обработки в реальном масштабе времени необходимо применение графического процессора (GPU), имеющего характеристики, соответствующие уровню настольных компьютеров. Кроме того, в данном известном решении осуществляется непосредственная компенсация движения без построения оптического потока. Данное решение не подходит для преобразований видеоизображения с повышением частоты кадров (FRUC) и других аналогичных применений, которые требуют истинной оценки движения.
В источнике CN 115619816 A (Xiamen University, опубликован 17.01.2023) раскрыт способ динамического измерения смещения для устранения помех от освещения, основанный на динамической коррекции карты переменной освещенности пространства. Способ содержит извлечение низкочастотного компонента освещенности из изображения, используя карту освещенности, построение двухмерной функции гамма-коррекции и объединение ее с упомянутой картой освещенности, и выполнение отслеживания целевых объектов на корректируемом изображении на основе сопоставления шаблонов, причем способ отличается точным установлением координат пикселей на шаблоне. Регулируется интенсивность темных зон в пространстве значений освещенности, за счет чего обеспечивается возможность отображения деталей входного изображения в условиях низкой неравномерной освещенности. К недостаткам данного известного решения можно отнести ограничивающее допущение о том, что истинное изображение представляет собой низкочастотную составляющую, а свет представляет собой высокочастотный модификатор, что не всегда корректно отражает условия реального мира при выполнении фото- и видеосъемки.
В источнике CN 114862902 A (Liaoning University of Science and Technology, опубликован 05.08.2022) раскрыт способ извлечения и сопоставления признаков из объектно-реляционной базы данных (ORB) с самоадаптацией к параметрам освещенности изображаемой сцены, причем способ содержит получение параметров состояния движения камеры, построение пирамиды изображений (т.е. получение из исходного изображения уменьшенных изображений в масштабах ½, ¼ и т.д.) в соответствии с состоянием движения камеры, извлечение ключевых точек, их добавление или отбрасывание на основе усовершенствованного алгоритма квадратичного дерева, получение пар сопоставленных точек признаков, отбрасывание ошибочных пар точек признаков с использованием алгоритма оценки параметров модели на основе случайных выборок (RANSAC). К недостаткам данного известного решения можно отнести то, что в результате осуществления способа формируется разреженный оптический поток (MVF) (не обеспечивается полное поле векторов движения), и применение алгоритма RANSAC не позволяет использовать данный способ в реальном времени в случае съемки изображений с качеством 4K+.
В источнике GB 2599217 B (Intel Corp., опубликован 29.03.2023) раскрыт способ оценки оптического потока на основе глубокого обучения и слияния совпадающих частей оптического потока. В способе обрабатывают пары изображений, причем первое и второе изображения каждой пары разделяют на первый и второй наборы фрагментов, соответственно. Процесс формирования оптического потока на основе модели глубокого обучения применяют либо к третьему и четвертому фрагментам из первого и второго наборов фрагментов, соответственно, либо к изображениям после понижающей дискретизации, соответствующим первому и второму изображениям, соответственно, для формирования вторых результатов формирования оптического потока, после чего первые и вторые результаты формирования оптического потока объединяют, формируя карту оптического потока для пары изображений. К недостаткам данного известного решения можно отнести то, что методы оценки движения на основе глубокого обучения являются требовательными к памяти и вычислительной мощности, что ограничивает их применение в мобильных устройствах. Кроме того, для реализации данного способа требуется особое средство для объединения оптических потоков в совпадающих фрагментах.
В источнике US 20210099727 A1 (Intel Corp., опубликован 01.04.2021) раскрыт способ оценки движения в структуре смежных блоков для кодирования видеоданных. В нем используются блоки изображения переменных размеров, а также имеющие вертикально ориентированную, горизонтально ориентированную и квадратную форму. Используются заданные наборы кандидатов для различных размеров блоков. Количество кандидатов является постоянным для каждого размера блока. При этом данный способ не обеспечивает возможность адаптации к содержимому изображения.
В источнике WO 2021025375 A1 (Samsung Electronics Co., Ltd., опубликован 11.02.2021) раскрыт способ оценки движения на основе «пирамидального» метода полного перебора, после чего поле векторов движения уточняют путем удаления выбросовых векторов движения с использованием квадратичных ограничений для сетки вершин, основанной на структуре изображения. В способе принимают опорное изображение и неопорное изображение, разделяют опорное изображение на множество блоков, определяют карту векторов движения с использованием алгоритма сначала грубой, а затем более точной оценки векторов движения, и формируют выходной кадр с использованием карты векторов движения, опорного изображения и неопорного изображения.
К недостаткам данного способа можно отнести то, что он основан на полном переборе (полном поиске по всему полю изображения) для нахождения исходных векторов движения, хотя в нем и используется физически достоверная регуляризация для коррекции найденных векторов движения.
В источнике US 11343526 B2 (Realtek Semiconductor Corp., опубликован 24.05.2022) раскрыт способ обработки видеоизображений, включающий в себя разделение кадра на множество блоков, формирование вектора движения для каждого блока из множества блоков на основе текущего блока данного кадра и соответствующего блока предыдущего кадра. Далее формируется глобальный вектор движения согласно полученному множеству векторов движения, вычисляется сумма абсолютных разностей пикселей для каждого блока текущего кадра на основе упомянутого глобального вектора движения. Распределение суммы абсолютных разностей пикселей в области, содержащей набор блоков текущего кадра, сопоставляют с множеством моделей для определения наиболее подходящей модели, и на основе выбранной наиболее подходящей модели размечают каждый блок в упомянутой области текущего кадра как либо блок переднего плана, либо блок заднего плана. В данном известном способе сегментация движения основана на распределении SAD, а также на уточнении поля векторов движения в области границы движущегося объекта. К недостаткам данного способа можно отнести необходимость вначале выполнить глобальную оценку движения, а также оценку SAD для каждого блока по отношению к глобальному движению, и поиск модели, наиболее соответствующей упомянутому распределению.
Решение по источнику US 20210306528, охарактеризованное выше, можно рассматривать в качестве ближайшего аналога предлагаемого изобретения.
Учитывая недостатки уровня техники, необходимо решение для повышения точности оценки оптического потока (поля векторов движения, MVF) в условиях изменяющейся освещенности и в широком диапазоне уровней шума на изображениях.
Раскрытие изобретения
Данный раздел, в котором раскрыты различные аспекты заявляемого изобретения, предназначен для обеспечения краткого обзора заявленных объектов изобретения и их вариантов осуществления. Ниже приведены подробные характеристики технических средств и способов, которыми реализованы сочетания признаков настоящего изобретения. Ни данное раскрытие изобретения, ни подробное описание, приведенное ниже вместе с сопровождающими чертежами, не следует рассматривать как определяющие объем правовой охраны заявляемого изобретения. Объем правовой охраны изобретения определяется только нижеследующей формулой изобретения.
Техническая проблема, решаемая настоящим изобретением, состоит в уменьшении влияния сложных условий съемки (разная освещенность, разная экспозиция и разные уровни шума между кадрами, мерцающее электрическое освещение) на оценку оптического потока при съемке фотоизображения с расширенным динамическим диапазоном (HDR) или видеоизображения.
Технический результат, достигаемый при использовании заявляемого изобретения, состоит в повышении точности оценки векторов движения по полю изображения. Кроме того, обеспечивается высокое быстродействие системы при оценке векторов движения по полю изображения.
Задача, решаемая изобретением, состоит в создании способа и системы пространственно параметризованной оценки поля векторов движения (формирования оптического потока), в которой по меньшей мере частично или полностью были бы устранены недостатки описанных выше известных решений из уровня техники.
В первом аспекте настоящего изобретения указанная задача решается способом оценки движения в последовательности изображений, содержащим этапы, на которых: получают по меньшей мере два изображения из входящего битового потока, содержащего множество изображений, выполняют предварительную обработку изображений, содержащую по меньшей мере регулировку яркости; оценивают карту М параметров алгоритма оценки движения (ME) для упомянутых по меньшей мере двух изображений с использованием предварительно конфигурированной модели прогнозирования пространственных параметров алгоритма оценки движения к упомянутым по меньшей мере двум изображениям, причем размерность карты M параметров алгоритма оценки движения зависит от способа разбиения изображения на блоки; сохраняют карту М параметров алгоритма оценки движения; выполняют оценку движения путем применения алгоритма оценки движения и параметров с карты М параметров алгоритма оценки движения к каждому блоку упомянутых по меньшей мере двух изображений, причем карта М параметров алгоритма оценки движения определяет параметры алгоритма оценки движения отдельно для каждого блока; и выводят поле векторов движения (MVF) в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении из упомянутых по меньшей мере двух изображений.
Предварительная обработка упомянутых по меньшей мере двух изображений может содержать этап уменьшения масштаба изображений с формированием пирамиды изображений с по меньшей мере двумя уменьшенными масштабами. Уменьшение масштаба изображений может содержать этап, на котором выполняют пространственную фильтрацию пикселей необработанного изображения. Получение упомянутых по меньшей мере двух изображений из битового потока может дополнительно содержать этап, на котором получают по меньшей мере одно из предварительной оценки MVF, кодированных метаданных, относящихся к параметрам съемки изображения, данных датчиков, не относящихся к формированию изображения, или этап, на котором получают по меньшей мере одно из данных канала яркости, трехканальных цветных изображений в цветовых пространствах RGB или YUV.
В одном или более вариантах выполнения предварительно конфигурированная модель прогнозирования пространственных параметров алгоритма оценки движения имеет архитектуру сверточной нейронной сети или дискриминационной или регрессионной модели машинного обучения. Алгоритм оценки движения может быть выбран из по меньшей мере одного из алгоритма, основанного на сопоставлении блоков методом полного перебора, использующего в качестве минимального значения функционала ошибки сумму модулей разности значения интенсивности каждого пиксела в блоке (SAD), алгоритма 3D рекурсивного поиска (3DRS), алгоритма блочной эрозии с субпиксельным уточнением векторов движения (MV), алгоритма субпиксельной дискретизации блоков-кандидатов.
Во втором аспекте указанная задача решается системой оценки движения в последовательности изображений, содержащей: блок предварительной обработки изображений, выполненный с возможностью осуществления предварительной обработки по меньшей мере двух изображений, полученных из входящего битового потока, содержащего множество изображений; блок формирования карты M параметров алгоритма оценки движения (ME) для упомянутых по меньшей мере двух изображений, выполненный с возможностью формирования карты М параметров (ME) с использованием предварительно конфигурированной модели прогнозирования пространственных параметров алгоритма оценки движения и сохранения карты М параметров, причем размерность карты M параметров алгоритма оценки движения зависит от способа разбиения изображения на блоки; блок оценки движения, выполненный с возможностью оценки движения на упомянутых по меньшей мере двух изображениях путем применения алгоритма оценки движения и параметров с карты М параметров алгоритма оценки движения к каждому блоку упомянутых по меньшей мере двух изображений, причем карта М параметров алгоритма оценки движения определяет параметры алгоритма оценки движения отдельно для каждого блока; и вывода поля векторов движения (MVF) в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении из упомянутых по меньшей мере двух изображений.
Система может дополнительно содержать блок обучения модели прогнозирования пространственных параметров алгоритма оценки движения, выполненный с возможностью обучения упомянутой модели прогнозирования пространственных параметров алгоритма оценки движения путем итеративного выполнения алгоритма оценки параметров с N вариантами параметров и прогнозирования значения параметров для каждого из блоков изображения, которое дает наилучший результат. Значение параметров для каждого из блоков изображения, которое дает наилучший результат, может определяться посредством вычисления функции потерь между векторами поля векторов движения и эталонными векторами движения.
Система может быть дополнительно выполнена с возможностью получения по меньшей мере одного из предварительной оценки MVF, кодированных метаданных, относящихся к параметрам съемки изображения, данных датчиков, не относящихся к формированию изображения. Система может быть выполнена с возможностью получения пары изображений в виде по меньшей мере одного из данных канала яркости, трехканальных цветных изображений в цветовых пространствах RGB или YUV.
Предварительно конфигурированная модель прогнозирования пространственных параметров алгоритма оценки движения может иметь архитектуру сверточной нейронной сети или дискриминационной или регрессионной модели машинного обучения. В одном или более вариантах выполнения изобретения алгоритм оценки движения может быть выбран из по меньшей мере одного из алгоритма, основанного на сопоставлении блоков методом полного перебора, использующего в качестве минимального значения функционала ошибки сумму модулей разности значения интенсивности каждого пиксела в блоке (SAD), алгоритма 3D рекурсивного поиска (3DRS), алгоритма блочной эрозии с субпиксельным уточнением векторов движения (MV), алгоритма субпиксельной дискретизации блоков-кандидатов.
В третьем аспекте изобретение относится к способу обучения модели прогнозирования пространственных параметров алгоритма оценки движения, содержащему этапы, на которых: выбирают индекс k пары кадров; вычисляют оцененную карту параметров y: y=Y(SRCk, REFk), где SRCk - исходный кадр, REFk - опорный кадр; формируют поле векторов движения MVFk(y) из MVFi, k, где i=1..N, относительно оцененной карты параметров y путем вычисления взвешенной суммы MVF1..N, чтобы оценить выход пространственно адаптивного алгоритма ME; вычисляют функцию потерь L между векторами поля векторов движения MVFy, k и эталонными векторами движения GTk; обновляют модель прогнозирования пространственных параметров алгоритма оценки движения путем обратного распространения градиента функции потерь L; определяют, достигнута ли требуемая сходимость в модели прогнозирования пространственных параметров алгоритма оценки движения; и сохраняют модель прогнозирования пространственных параметров алгоритма оценки движения в памяти.
На этапе формирования поля векторов движения для вычисления взвешенной суммы могут использоваться весовые коэффициенты, полученные путем применения функции Softmax.
В четвертом аспекте изобретение относится к системе обучения модели прогнозирования пространственных параметров алгоритма оценки движения, содержащей: блок рендеринга, выполненный с возможностью рендеринга последовательностей кадров с эталонным полем векторов движения (GT); блок оценки движения (ME), выполненный с возможностью оценки движения для упомянутых последовательностей кадров с каждым набором параметров с карты M параметров алгоритма оценки движения; блок обучения модели прогнозирования пространственных параметров алгоритма оценки движения, выполненный с возможностью обучения модели прогнозирования пространственных параметров алгоритма оценки движения посредством вычисления функции потерь L между векторами поля векторов движения, сформированного блоком оценки движения, и эталонными векторами движения, обновления модели прогнозирования пространственных параметров алгоритма оценки движения путем обратного распространения градиента функции потерь L, определения, достигнута ли требуемая сходимость в модели прогнозирования пространственных параметров алгоритма оценки движения; и блок хранения весовых коэффициентов обученной модели прогнозирования пространственных параметров алгоритма оценки движения.
Специалистам в данной области техники очевидно, что изобретательский замысел не ограничен изложенными выше аспектами, и изобретение может принимать форму других объектов изобретения, таких как по меньшей мере одно устройство, компьютерная программа или компьютерный программный продукт, содержащий машиночитаемый носитель, на котором записана компьютерная программа. Дополнительные признаки, которые могут характеризовать конкретные варианты осуществления настоящего изобретения, будут очевидны специалистам в данной области техники из приведенного ниже подробного описания вариантов осуществления.
Краткое описание чертежей
Чертежи приведены в данном документе для облегчения понимания сущности настоящего изобретения. Чертежи схематичны и не выполнены в масштабе. Они служат исключительно для иллюстрации и не предназначены для определения объема настоящего изобретения.
Фиг. 1 - блок-схема способа оценки движения по полю изображения по одному или более вариантам выполнения изобретения;
Фиг. 2 - блок-схема процесса конфигурирования модели прогнозирования пространственных параметров алгоритма оценки движения в соответствии с одним или более вариантами выполнения изобретения;
Фиг. 3 - блок-схема процесса обучения модели прогнозирования пространственных параметров алгоритма оценки движения в соответствии с одним или более вариантами выполнения изобретения;
Фиг. 4 - схематичное изображение возможных вариантов размеров и ориентации окон блоков движения в адаптивном алгоритме оценки движения согласно различным вариантам выполнения изобретения;
Фиг. 5 - принципиальная схема системы оценки движения в последовательности изображений по одному или более вариантам выполнения изобретения;
Фиг. 6 - принципиальная схема системы обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения по одному или более вариантам выполнения настоящего изобретения;
Фиг. 7 - схематичное изображение структуры модели формирования карты пространственных параметров алгоритма оценки движения согласно по меньшей мере одному варианту выполнения изобретения;
Фиг. 8 - схематичное изображение структуры модели формирования карты пространственных параметров алгоритма оценки движения согласно по меньшей мере одному другому варианту выполнения изобретения.
Осуществление изобретения
Иллюстративные варианты осуществления настоящего изобретения подробно описаны ниже и проиллюстрированы на сопровождающих чертежах, на которых одинаковые или аналогичные ссылочные позиции обозначают одинаковые или аналогичные элементы или элементы, которые имеют одинаковые или аналогичные функции. Иллюстративные варианты осуществления, описанные с обращением к сопровождающим чертежам, являются лишь иллюстративными и используются только для пояснения настоящего изобретения, и их не следует рассматривать в плане каких-либо ограничений объема изобретения.
Согласно изобретению, предложен алгоритм оценки плотного оптического потока или поля векторов движения (MVF), в котором используется сопоставление блоков. Такой алгоритм может быть востребован во многих сферах применения, связанных, например, с компьютерным зрением, а также для уменьшения шума на изображениях, сжатия видеоданных, реконструкции 3D сцен, SLAM, распознавания/обнаружения/сегментации объектов в видеоизображении, в сфере дополненной или виртуальной реальности (VR/AR), управления движением автономных транспортных средств и т.п. Алгоритм согласно изобретению может быть реализован в виде по меньшей мере одного программного модуля, по меньшей мере одного аппаратного блока, или любого сочетания программных модулей и аппаратных блоков, которое может быть очевидным для специалиста в данной области техники. Следует понимать, что изобретение не ограничено конкретным сочетанием аппаратных и программных блоков, используемых для его реализации в каждом возможном варианте выполнения изобретения.
Согласно изобретению, входные данные для оценки поля векторов движения (MVF) представляют собой по меньшей мере 2 кадра фото- или видеоизображения. Выходные данные представляют собой поле векторов движения (оптический поток), который является двухмерным (2D) массивом смещений из положения каждого пикселя в первом кадре в положение соответствующего пикселя во втором кадре.
При этом, как будет показано ниже, точность оценки MVF в соответствии с изобретением обеспечивается за счет использования адаптивной оценки движения (ME), что позволяет, в частности, адаптировать применяемый алгоритм к:
- различным уровням шума на различных кадрах вследствие различной светочувствительности/коэффициента усиления/времени выдержки при съемке серии кадров в рамках брекетинга HDR;
- различным параметрам экспозиции в серии кадров для получения изображения HDR;
- изменениям естественного освещения между кадрами серии, вызванным движением;
- размытию при движении в одном или более кадрах;
- автоматической регулировке баланса белого и/или сдвигам цветокоррекции в камере между кадрами; и
- величине (интенсивности) движения.
В предлагаемом изобретении применяется усовершенствованный алгоритм ME, основанный на сопоставлении блоков. Для каждого блока в первом кадре находят соответствующий ему блок в втором кадре на основании минимального значения функционала ошибки. В качестве функционала ошибки часто используют SAD: сумму модулей разности значения интенсивности каждого пиксела в блоке.
Кроме того, предлагаемый алгоритм отличается высоким быстродействием за счет исключения необходимости дополнительных итераций ME и основан на применении облегченной модели с прямыми связями для прогнозирования пространственной карты параметров алгоритма оценки движения, на основании которой движение адаптивно оценивается в каждом блоке, используя выбранный параметр алгоритма.
Способ оценки движения в последовательности изображений
В первом аспекте настоящее изобретение относится к способу оценки движения по полю изображения, получающему на входе по меньшей мере пару изображений из входящего битового потока, содержащего множество изображений, и выводящему на выходе поле векторов движения в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении в упомянутой паре изображений. Следует отметить, что в конкретных вариантах выполнения изобретения, в качестве альтернативы или дополнения к упомянутым по меньшей мере двум изображениям, способ может содержать получение по меньшей мере одного кадра изображения. В одном или более вариантах выполнения изобретения получение пары изображений может дополнительно содержать этап, на котором получают по меньшей мере одно из предварительной оценки MVF, кодированных метаданных, относящихся к параметрам съемки изображения, данных датчиков, не относящихся к формированию изображения. В одном или более вариантах выполнения получение пары изображений может содержать получение по меньшей мере одного из данных канала яркости, трехканальных цветных изображений в цветовых пространствах RGB или YUV.
В общем случае, в одном или более вариантах выполнения изобретения способ по первому аспекту настоящего изобретения содержит этапы S1-S12, которые будут подробно рассмотрены ниже с обращением к Фиг. 1.
На этапе S1 получают пару изображений из входящего битового потока, содержащего множество изображений. Специалистам в данной области техники следует понимать, что в конкретных неограничивающих вариантах выполнения изобретения входящий битовый поток может содержать как видеоизображение, так и последовательность из одного или более неподвижных (фото) изображений. Как описано выше, пара изображений из входящего битового потока может быть представлена кадрами (изображениями) в необработанном и несжатом формате (в качестве неограничивающего примера, формате Color Filter Array - CFA), либо в одном из других известных форматов, при этом изображения могут представлять собой, в качестве неограничивающего примера, трехканальные цветные изображения в цветовом пространстве RGB (красный, зеленый и синий цветовые каналы) или YUV (содержащем яркостную составляющую Y и две цветоразностные составляющие U и V, при этом компоненты YUV могут определяться на основе компонентов RGB как YCbCr).
На этапе S2 выполняется предварительная обработка полученной на этапе S1 пары изображений. В качестве неограничивающего примера, предварительная обработка может содержать по меньшей мере одно из регулировки яркости и по меньшей мере одной ступени уменьшения масштаба.
Так, в одном или более неограничивающих вариантах выполнения регулировка яркости пары изображений, содержащей опорное (REF) изображение и исходное изображение (SRC) может осуществляться с учетом следующих метаданных:
- показателя экспозиции EVref, EVsrc
- значений времени экспозиции Tref, Tsrc
- значений общего коэффициента усиления Gref, Gsrc
- битового разрешения на пиксель BPP
- уровня черного BL
Регулировка яркости необходима для приблизительного выравнивания интенсивностей пикселей при различии в уровне экспозиции для возможности сравнения блоков, например, функцией SAD. Например, если первый кадр снят с экспозицией 1, а второй кадр с экспозицией в 16 раз меньше, то необходимо интенсивности пикселей второго кадра умножить на 16.
Регулировка яркости может осуществляться, например, следующим образом:
Уменьшение масштаба представляет собой по существу процесс формирования «пирамиды» из изображений с разными уровнями уменьшения масштаба:
- имея опорное изображение в формате CFA Îref (Байеровскую мозаику), формируют по меньшей мере первый кадр с уменьшенным масштабом и второй кадр с уменьшенным масштабом в формате YUV (в предпочтительном варианте выполнения, ½ и ¼ масштаба исходного изображения, соответственно): Îref1, Îref2
- имея исходное изображение в формате CFA Îsrc (Байеровскую мозаику), формируют по меньшей мере первый кадр с уменьшенным масштабом и второй кадр с уменьшенным масштабом в формате YUV (в предпочтительном варианте выполнения, ½ и ¼ масштаба исходного изображения, соответственно): Îsrc1, Îsrc2.
На этапе S3 получают на входе предварительно конфигурированную модель Y прогнозирования пространственных параметров алгоритма оценки движения. Процесс обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения согласно одному или более конкретным вариантам выполнения изобретения описан ниже. Следует отметить, что в одном или более вариантах выполнения изобретения модель Y прогнозирования пространственных параметров алгоритма оценки движения может сохраняться в той же системе, которая реализует способ согласно изобретению, или может быть принята из внешних источников, в частности с одного или более внешних серверов, вычислительных устройств и т.п. посредством одного или более сетевых соединений.
На этапе S4 выполняют прогнозирование карты M параметров алгоритма оценки движения (ME) для упомянутой пары изображений. Для этих целей применяют предварительно конфигурированную модель прогнозирования пространственных параметров алгоритма оценки движения к упомянутой паре изображений.
Размерность карты М параметров алгоритма оценки движения зависит от способа разбиения изображения на блоки. Здесь следует отметить, что объем правовой охраны изобретения не ограничен конкретными способами разбиения изображений на блоки, которые сами по себе хорошо известны в данной области техники. Размеры и формы блоков также могут быть различными, в качестве неограничивающего примера - блоки могут быть квадратными и/или прямоугольными, могут иметь одинаковую форму и размеры по всему изображению или различную форму и размеры в зависимости от конкретного участка изображения, и т.п. При этом карта М параметров алгоритма оценки движения обеспечивает прогноз параметра для каждого блока в изображении вне зависимости от формы, размера конкретного блока, его расположения на изображении и т.п.
В качестве модели прогнозирования пространственных параметров алгоритма оценки движения могут использоваться различные модели, в качестве неограничивающего примера - модели с архитектурой сверточной нейронной сети, однако для прогнозирования пространственных параметров алгоритма оценки движения может использоваться по существу любой подходящий классификатор, такой как модель машинного обучения, в качестве неограничивающего примера - модель логистической регрессии, дерево решений и т.п.
Кроме того, в одном или более неограничивающих вариантах выполнения изобретения для оценки движения может использоваться алгоритм из семейства алгоритмов 3D рекурсивного поиска (3DRS), содержащих формирование «пирамиды» путем использования изображения с исходным разрешением, двух- или четырехкратного масштабирования изображения с уменьшением разрешения (что также называется в контексте настоящего изобретения уменьшением масштаба) и поочередной оценкой движения в полученных кадрах; при этом на определенном уровне упомянутой «пирамиды» используется различная структура кандидатов векторов движения и количество итераций.
Кроме того, может использоваться алгоритм блочной эрозии с субпиксельным уточнением векторов движения (MV), либо алгоритм субпиксельной дискретизации блоков-кандидатов.
По меньшей мере в одном неограничивающем варианте выполнения, для оценки карты M получают пару входных кадров (опорного и исходного) в первом пространственном разрешении: Îref1 , Îsrc1. Из этих кадров извлекают данные канала яркости: Yref, Ysrc. К этим данным может применяться предварительно конфигурированная модель, такая как, например, сверточная нейросеть. Входные данные модели представляют собой 2-канальный тензор (2xHxW), сформированный из Yref, Ysrc (где H, W - высота и ширина обрабатываемого фрагмента изображения). На выходе модель выдает тензор N x H/8 x W/8 (где N - мощность множества допустимых значений набора параметров ME). Карта М параметров получается посредством выполнения функции argmax по N каналам, и таким образом M представляет собой матрицу H/8 x W/8. Каждый элемент матрицы М может принимать одно из N значений.
Полученную карту параметров сохраняют в виде массива M данных, например, целочисленного типа.
На этапе S5 инициализируют счетчик итераций алгоритма оценки движения (ME) - S=0. На этапе S6 инициализируют индексы блоков обрабатываемых изображения - x, y=0, 0.
На этапе S7 выполняют оценку движения (ME) для каждого блока (x, y) с использованием параметра M[x, y] с карты M параметров алгоритма оценки движения, оцененной на этапе S4.
Для этого в одном или более вариантах выполнения изобретения используется алгоритм 3D рекурсивного поиска (3DRS). Алгоритм инициализируется, и для кадров «пирамиды» изображений, сформированной на этапе S2 предварительной обработки изображений, выбирается первое пространственное разрешение (в качестве неограничивающего примера, масштаб изображения ¼).
В масштабе ¼ оценивается движение от первого кадра ко второму кадру в соответствующей паре кадров с использованием параметра, субдискретизированного для соответствующего блока с индексом x, y с карты M параметров. В масштабе ¼ оценивается движение от второго кадра к первому кадру в упомянутой паре кадров, опять же, с использованием параметра, субдискретизированного для соответствующего блока с индексом x, y с карты М параметров. Затем выбирается второе пространственное разрешение для кадров «пирамиды» изображений, сформированной на этапе S2 предварительной обработки изображений (в качестве неограничивающего примера, масштаб изображения ½). Оценивается движение от второго кадра к первому кадру в упомянутой паре кадров в масштабе ½ с использованием параметра с карты М параметров в соответствии с индексом данного блока в алгоритме 3DRS. В качестве основного параметра алгоритма оценки движения 3DRS используется абсолютное значение попиксельной суммы абсолютных разностей блоков (SAD), к которому применяется определенное пороговое значение отсечки (SadClippingValue), которое в одном или более вариантах выполнения изобретения может находиться в определенном диапазоне (в качестве неограничивающего примера - 0..19 (N=20)).
На этом этапе выбирают вектор движения для текущего блока (x, y) из векторов-кандидатов.
В качестве альтернативных параметров адаптивного алгоритма ME в одном или более вариантах выполнения, кроме упомянутого выше значения отсечки SAD, могут быть использованы различные другие параметры, такие как, в качестве неограничивающего примера, размер или форма окна SAD, структура (паттерн) или ориентация окон или блоков изображения (см. Фиг. 4). В частности, расположение векторов движения (MV)-кандидатов. Размеры и форма (соотношение сторон прямоугольника) окон блоков оценки движения в соответствии различными вариантами выполнения изобретения могут быть выбраны из: 8×8, 16×16, 16×24, 24×16, 24×24 или других значений количества пикселей по двум сторонам прямоугольника (N=5). Величина N обозначает мощность множества допустимых значений адаптируемого параметра МЕ.
В одном или более неограничивающих вариантах выполнения изобретения в качестве параметра алгоритма ME может выступать структура MV-кандидатов, включающая в себя количество и расположение MV-кандидатов. Количество может быть, например, равным 5 или 10 MV-кандидатов на блок. Кроме того, могут использоваться различные типы MV-кандидатов - пространственные, временные, случайно обновляемые (RandomUpdate), иерархические и т.п. В качестве параметра алгоритма ME также может выступать диапазон генератора случайных чисел (диапазон случайного поиска) MV-кандидатов, а также приоритетность кандидатов (например, могут рассматриваться в первую очередь пространственные MV-кандидаты, граничащие с соседними блоками, либо MV-кандидаты из соседних кадров (т.е. темпоральные MV-кандидаты, либо кандидаты с другого уровня масштабирования изображения (например, с уровня «пирамиды» изображений с более низким разрешением)). Вышеперечисленные различные виды MV-кандидатов могут ранжироваться по степени приоритетности и рассматриваться в разном порядке.
Тип функции потерь при сопоставлении блоков может быть различным в разных частях изображения, и в одном или более вариантах выполнения могут адаптивно использоваться разные функции. В соответствии с изобретением, модель выполнена с возможностью определения того, какую функцию следует использовать в данном блоке, на основании статистического критерия, полученного в ходе обучения модели. Например, может использоваться функция суммы абсолютных разностей (SAD):
В одном или более других вариантах выполнения изобретения может использоваться функция суммы Евклидовой разности:
Также могут быть использованы, например, функция потерь Census (см., например, https://courses.cs.duke.edu/spring06/cps296.1/handouts/Zabih%20Woodfill%201994.pdf), обобщающая локальную структуру изображения, например:
или, в качестве ее частного случая, функция потерь Triple Census:
На этапе S8 обновляют индексы блоков x, y, чтобы далее выполнить оценку векторов движения для следующих блоков.
На этапе S9 проверяют, все ли блоки обработаны алгоритмом. Если нет - процесс возвращается к этапу S7 и повторяется для блоков со следующими значениями индексов x, y. Если да - процесс переходит к этапу S10, на котором обновляется счетчик итераций алгоритма оценки движения (ME) (к значению S добавляется 1), инициализированный на этапе S5, и процесс переходит к этапу S11, на котором проверяется, все ли итерации цикла алгоритма оценки движения выполнены. Если да - на этапе S12 выводится итоговое поле векторов движения (MVF). Если нет - процесс возвращается к этапу S6 инициализации индексов блоков обрабатываемых изображений x, y.
Следует отметить, что способ согласно изобретению не ограничен какими-либо конкретными параметрами алгоритма ME, приведенными выше, или их сочетаниями. Кроме того, специалистам в данной области техники могут быть очевидны другие параметры алгоритма ME и их сочетания, которые также могут быть использованы в процессе оценки векторов движения согласно изобретению, не выходящие за рамки объема правовой охраны изобретения.
Конфигурирование модели прогнозирования пространственных параметров алгоритма оценки движения
На Фиг. 2 показана блок-схема процесса подготовки обучающего набора данных для конфигурирования модели прогнозирования пространственных параметров алгоритма оценки движения в соответствии с одним или более вариантами выполнения изобретения
На этапе S11 принимают в качестве входных данных синтетический обучающий набор исходных данных, включающий К обучающих примеров, каждый из указанных примеров включает, по меньшей мере один опорный кадр, один исходный кадр и истинное поле векторов движения (GT). Кроме того, каждый обучающий пример может включать один или более дополнительных опорных кадров, метаданные, описанные выше, и данные с датчиков, не связанных с захватом изображения. На этапе S12 инициализируют счетчик элементов набора данных k=0. На этапе S13 получают из синтетического набора данных пару синтетических кадров REFk (опорный кадр) и SRCk (исходный кадр). На этапе S14 инициализируют набор параметров ME P={p1, p2, ..pN}, i=1.
На этапе S15 выполняют оценку движения (ME) с использованием параметра p На этапе S16 сохраняют результат оценки движения в поле векторов движения MVFi, k. На этапе S17 обновляют значение i путем приращения на единицу. Сравнение значения i с N (где N - мощность множества допустимых параметров ME) дает результат либо i < N, и в таком случае процесс возвращается к этапу S15 и вновь выполняют ME с использованием параметра p с приращенным i, либо i=N, и в таком случае процесс переходит к этапу S18, на котором обновляют значение k путем приращения на единицу.
Сравнение текущего значения k со значением K для используемого синтетического обучающего набора данных движения может давать результат k < K, и в таком случае процесс возвращается к этапу S13, на котором получают из синтетического набора данных пару синтетических кадров REFk и SRCk, и повторяться снова, либо k=K, и в таком случае процесс переходит к этапу S20 передачи подготовленного набора обучающих данных в систему обучения модели для осуществления ее дальнейшего обучения.
Обучение модели прогнозирования пространственных параметров алгоритма оценки движения
На Фиг. 3 представлена блок-схема процесса обучения модели прогнозирования пространственных параметров алгоритма оценки движения в соответствии с одним или более вариантами выполнения изобретения. В результате обучения модель способна строить поле векторов движения из векторов движения, полученных при различных значениях параметров, в результате чего получается контролирующий сигнал для глубокого обучения модели. В одном или более неограничивающих вариантах выполнения модель прогнозирования пространственных параметров алгоритма оценки движения имеет архитектуру сверточной нейронной сети. Кроме того, как указано выше, в способе согласно изобретению может быть использована иная дискриминационная или регрессионная модель машинного обучения.
На этапе S21 инициализируют модель Y прогнозирования пространственных параметров алгоритма оценки движения. В одном или более конкретных неограничивающих вариантах выполнения модель может представлять собой сверточную нейронную сеть. В качестве входных данных на этапе инициализации модели используется 2-канальный тензор ([С x F] x 128×128) (где значение F соответствует количеству входных изображений, например F=2 для случая одно опорное изображение плюс одно исходное изображение, а значение С соответствует количеству цветовых каналов во входных изображениях, например С=1 для случая использования одного канала яркости входных изображений). Выходные данные представляют собой тензор [2 x N] х 32×32 (где значение «2» соответствует размерности 2-мерного вектора движения, а N - мощность множества допустимых параметров ME).
На этапе S22 выбирают индекс k пары кадров.
На этапе S23 вычисляют оцененную карту параметров:
y=Y(SRCk, REFk)
где SRCk - исходный кадр, REFk - опорный кадр.
Для этого из обучающего набора данных выбирается случайный элемент. Выполняется обрезка участка изображения в 128×128 пикселей, и формируется соответствующее поле векторов движения (MVF) размерности 32×32 из эталонного поля векторов движения (GT) и MVF1…N.
На этапе S24 выполняют построение поля векторов движения MVFk(y) из MVFi, k, где i=1..N, относительно оцененной карты параметров y, вычисленной на этапе S23.
Данный этап содержит вычисления т.н. прямого прохода по модели. Выходные данные пропускаются через функцию Softmax по всей размерности канала. Выходные данные слоя, реализующего функцию Softmax, используются для вычисления взвешенной суммы MVF1..N, чтобы оценить выход пространственно адаптивного алгоритма ME.
Далее, на этапе S25 вычисляется функция потерь (ошибка) L между векторами поля векторов движения MVFy, k и векторами движения для эталонного изображения GTk. Упомянутая выше взвешенная сумма MVF1..N, полученная на предыдущем этапе, сравнивается с полем векторов движения для эталонного изображения с использованием одной из функций потерь, которые известны в данной области техники (в качестве неограничивающего примера - функции SmoothL1Loss).
На этапе S26 модель Y прогнозирования пространственных параметров алгоритма оценки движения обновляется путем обратного распространения градиента ошибки L. При этом весовые коэффициенты модели обновляются, как известно в данной области техники. При этом в одном или более вариантах выполнения изобретения может использоваться, в частности, алгоритм оптимизации Адама.
В одном или более конкретных неограничивающих вариантах выполнения изобретения в качестве алгоритма сопоставления блоков может использоваться алгоритм ME с полным поиском, или алгоритм с полным поиском по всей «пирамиде» изображений, или другие подходящие алгоритмы, известные в данной области техники, например алгоритм нахождения соответствий между участками PatchMatch.
На этапе S27 определяется, достигнута ли требуемая сходимость в модели Y прогнозирования пространственных параметров алгоритма оценки движения. Если сходимость достигнута, процесс переходит к этапу S28, если нет - процесс возвращается к этапу S22 выбора индекса k пары кадров и повторяется вновь.
На этапе S28 полученная модель Y прогнозирования пространственных параметров алгоритма оценки движения сохраняется в памяти. Полученная модель выполнена с возможностью построения поля векторов движения из векторов движения, полученных для различных значений указанных параметров, обеспечивая таким образом контролирующий сигнал для глубокого обучения модели.
В качестве неограничивающего примера, модель Y прогнозирования пространственных параметров алгоритма оценки движения может конфигурироваться следующим образом.
Сначала формируют пары кадров, в которых присутствует движение, используя любые подходящие средства формирования 3D графики (в качестве неограничивающего примера - программу Blender).
При этом к кадрам предъявляются следующие требования:
- Изображения в кадрах должны содержать полусферический фон с расширенным динамическим диапазоном HDR и с высоким разрешением, а также движущиеся 3D объекты;
- Движение камеры должно быть конфигурировано в соответствующей программе (например, ПО Blender) таким образом, чтобы имитировать дрожание рук пользователя, держащего камеру;
- Скорость объектов должна быть также конфигурирована в соответствующем ПО таким образом, чтобы она соответствовала диапазону характерных скоростей объектов реального мира;
- Рендеринг кадров должен осуществляться с разрешением, соответствующим целевому применению, в качестве неограничивающего примера - 3000×4000 x 16 бит на пиксель;
- Оптическое поле эталонного изображения на выходе должно быть конфигурировано в соответствующем ПО (т.е., например, Blender);
- Рендерируемые кадры должны подвергнуться обратной обработке для моделирования изображения в формате CFA с датчика камеры с соответствующим шумом и параметрами экспозиции.
Набор параметров ME в данном контексте следует понимать как набор категорий (например, для отсечки SAD - P={0, 1, 2, …, 19}, где числа указывают индекс класса значения параметра). Оценка движения выполняется для каждой сформированной пары кадров, и с каждым параметром, указанным в наборе P. Полученное MVF сохраняется по отдельности для каждого сочетания пары кадров и параметра. Итоговый обучающий набор данных содержит следующие элементы:
- опорный кадр;
- исходный кадр;
- MVF эталонного изображения;
- MVF для параметра 1;
- MVF для параметра 2;
...
- MVF для параметра N.
В одном или более вариантах выполнения изобретения инициализируется набор параметров P={p1, p2, ..pN}. При этом параметры p относятся к категорическому классу. Инициализируется цикл, проходящий по всему набору параметров P (индекс i). Оценка движения выполняется для кадров REFk, SRCk с использованием глобального параметра p для алгоритма ME. Полученное поле векторов движения сохраняется для тензора MVFi, k. Циклы заканчиваются по достижении значений i и k. Таким образом формируется по меньшей мере обучающий набор данных из MVFi, k тензоров данных, где i=1..N; k=1..K.
Поле векторов движения MVFk(y) строится из MVFi, k, i=1..N относительно параметра карты y. Для обеспечения возможности обратного распространения градиента ошибки во время обучения MVFk(y) строится в виде взвешенной суммы MVFi, k, где соответствующее значение y является весовым коэффициентом. Во время тестирования (применения) модели, MVFk(y) строится путем применения операции agrmax в разрезе i=1..N.
На Фиг. 7 показано схематичное изображение структуры модели формирования карты пространственных параметров алгоритма оценки движения согласно по меньшей мере одному варианту выполнения изобретения, где на входе в модель вводятся два значения канала яркости (Y) (для опорного и исходного кадров, соответственно), а на выходе выводится карта параметров M алгоритма оценки движения. На Фиг. 8 показано схематичное изображение структуры модели прогнозирования пространственных параметров алгоритма оценки движения по другому неограничивающему варианту выполнения изобретения, отличающемуся от предыдущего варианта тем, что в модель вводится предварительно оцененное поле векторов движения MVF, которое подвергается обработке серией сверточных фильтров до размера блока фильтров 128х32х32 и конкатенируется со значениями блока фильтров каналов яркости совпадающей размерности.
Система оценки движения в последовательности изображений
Во втором аспекте настоящее изобретение относится к системе оценки движения в последовательности изображений, которая выполнена с возможностью реализации способа по первому описанному выше аспекту изобретения. Принципиальная схема системы оценки движения в последовательности изображений приведена на Фиг. 5.
Обращаясь к Фиг. 5, система оценки движения в последовательности изображений содержит по меньшей мере следующие элементы. Позицией 101 обозначен объектив камеры, захватывающей изображение, для которого необходимо выполнить оценку движения (исходное изображение). Позицией 102 обозначен датчик изображения, на котором формируется необработанное изображение трехмерной сцены реального мира на основе оптического излучения, захваченного камерой через объектив 101, предпочтительно в формате CFA, соответствующем изображению с датчика изображения без обработки и сжатия. Позицией 103 обозначен буфер CFA, в котором временно сохраняются изображения в формате CFA, захваченные камерой. Позицией 104 обозначен блок предварительной обработки изображений, в который поступают изображения из буфера 103 CFA для выполнения предварительной обработки изображений, в частности, состоящей в регулировке яркости и/или других параметров изображения, а также в преобразовании изображений в другие форматы, подходящие для дальнейшей обработки, в качестве неограничивающего примера - в формат YUV.
Позицией 105 обозначен буфер YUV, в котором временно сохраняются изображения, прошедшие преобразование в блоке 104 предварительной обработки изображений. Позицией 106 обозначен блок формирования пространственной карты параметров алгоритма оценки движения, позицией 107 обозначен блок хранения пространственной карты параметров алгоритма оценки движения, сформированной блоком 106 формирования пространственной карты параметров алгоритма оценки движения.
Позицией 108 обозначен блок оценки движения (ME), выполненный с возможностью формирования и вывода поля векторов движения в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении в упомянутой паре изображений. Позицией 109 обозначен буфер полей векторов движения (MVF), выполненный с возможностью временного сохранения MVF, сформированных блоком 108 ME.
Условные обозначения 1...8 на Фиг. 5 указывают последовательность передачи данных между блоками системы оценки движения в последовательности изображений в соответствии с одним или более вариантами выполнения изобретения. Условное обозначение RAM указывает на то, что блоки 103, 105, 107 и 109, описанные выше, могут быть реализованы посредством одного или более оперативных запоминающих устройств (RAM). Часть, обозначенная на Фиг. 5 условным обозначением CPU, указывает на то, что соответствующие блоки 104, 108 могут быть реализованы посредством по меньшей мере одного процессора, такого как центральный процессор общего назначения. Часть, обозначенная на Фиг. 5 условным обозначением GPU/NPU/DSP, указывает на то, что соответствующий блок 106 может быть реализован посредством по меньшей мере одного специализированного процессора, такого как графический процессор (GPU), нейронный процессор (NPU) или цифровой сигнальный процессор (DSP).
Специалистам в данной области техники следует понимать, что объем изобретения не ограничен перечисленными выше материально-техническими средствами, реализующими компоненты системы согласно изобретению, и для реализации перечисленных выше блоков могут использоваться и иные средства, такие как одна или более интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), один или более микропроцессоров и т.п. Кроме того, в системе могут быть предусмотрены иные компоненты помимо перечисленных выше, например - по меньшей мере одно постоянное запоминающее устройство (ROM), которое может быть реализовано одним или более видами памяти, известными специалистам в данной области техники. Также следует понимать, что перечисленные выше блоки могут быть реализованы на практике в виде различных сочетаний аппаратных и программных средств, насколько это применимо в контексте настоящего изобретения.
Система обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения
В дополнительном аспекте настоящее изобретение может относиться к системе обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения, которая выполнена с возможностью использования в способе по первому аспекту и/или в системе по второму аспекту настоящего изобретения для обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения формированию поля векторов движения (MVF) в соответствующих вариантах выполнения настоящего изобретения. Принципиальная схема системы обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения по одному или более вариантам выполнения настоящего изобретения приведена на Фиг. 6.
Обращаясь к Фиг. 6, система обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения содержит по меньшей мере следующие элементы. Позицией 201 на Фиг. 6 обозначена рабочая станция для рендеринга. Позиция 202 обозначает узел серверного процессора (CPU), позиция 203 обозначает узел серверного процессора с графическим ускорителем (GPU), позиция 204 - долговременную память. Условные обозначения 1...8, 7’ на Фиг. 6 указывают последовательность передачи данных между блоками системы обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения в соответствии с одним или более вариантами выполнения изобретения.
Позиция 210 обозначает блок рендеринга, выполненный с возможностью рендеринга последовательностей кадров с эталонным полем векторов движения (GT). Позиция 211 обозначает блок хранения линейных TIFF файлов, полученных в результате работы программы для рендеринга; блок 212 - блок хранения двоичных файлов MVF, соответствующих эталонным полям векторов движения (GT). Позиция 221 обозначает блок обратной обработки для моделирования изображения в формате CFA. Позиция 222 обозначает блок оценки движения (ME) с каждым набором параметров. Позиция 223 обозначает блок хранения файлов CFA (с присущими им шумом, параметрами экспозиции), позиция 224 обозначает блок хранения полей векторов движения MVFi, k.
Позицией 231 на Фиг. 6 обозначен блок обучения модели. Позицией 232 обозначен блок формирования наборов данных. Позицией 233 обозначен блок хранения весовых коэффициентов обученной модели. Как и в системе по второму аспекту настоящего изобретения, описанному выше, специалистам в данной области техники следует понимать, что объем изобретения не ограничен перечисленными выше материально-техническими средствами, реализующими компоненты системы согласно изобретению, и для реализации перечисленных выше блоков могут использоваться и иные средства, такие как одна или более интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), один или более микропроцессоров и т.п. Кроме того, в системе могут быть предусмотрены иные компоненты помимо перечисленных выше, например - по меньшей мере одно оперативное запоминающее устройство (RAM), которое может быть реализовано одним или более видами памяти, известными специалистам в данной области техники. Также следует понимать, что перечисленные выше блоки могут быть реализованы на практике в виде различных сочетаний аппаратных и программных средств, насколько это применимо в контексте настоящего изобретения.
Описанная выше система обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения выполнена с возможностью получения обучающих примеров выполнения алгоритма ME с учетом различных наборов параметров. При этом предлагаемый способ, в реализации которого применяется система обучения модели Y прогнозирования пространственных параметров алгоритма оценки движения, может применяться в широком спектре различных алгоритмов сопоставления блоков. При этом способ согласно изобретению и соответствующие системы, реализующие способ, не зависят от характера конкретных параметров. В сети с унифицированным обучением может быть использован широкий выбор параметров и их сочетаний, неограничивающие примеры которых приведены выше.
В конкретных применениях изобретение может обеспечивать следующие полезные эффекты. Например, при уменьшении шума на видеоизображении при очень низком освещении изобретение при незначительном возрастании вычислительной сложности по сравнению с традиционными алгоритмами сопоставления блоков для оценки движения позволяет обрабатывать видеоизображения с частотой повторения кадров (FPS), равной 30 кадрам в секунду, с разрешением 4К в режиме реального времени. При этом в GPU используется приблизительно ~250 тысяч весовых коэффициентов и типичная сверточная модель с одним прямым проходом.
При ночной съемке HDR изображений обеспечивается незначительное возрастание вычислительной сложности по сравнению с традиционными алгоритмами ME с сопоставлением блоков и с обеспечением возможности обработки HDR фотоизображений в разумное для коммерческого продукта время.
Специалистам в данной области техники будет понятно, что изобретение может быть реализовано посредством различных сочетаний аппаратных и программных средств, и никакие из этих конкретных сочетаний не ограничивают объем правовой охраны настоящего изобретения. Технология согласно изобретению может быть реализована одним или более компьютерами, процессорами (CPU), такими как процессоры общего назначения или специализированные процессоры, такие как цифровые сигнальные процессоры (DSP), или одной или более ASIC, FPGA, логическими элементами и т.п. В качестве альтернативы, один или более из ее элементов или этапов способа может быть реализован в виде программных средств, таких как, например, программа или программы, компьютерные программные элементы или модули, которые управляют одним или более компьютерами, CPU и т.п. Эти программные средства могут быть реализованы на одном или более машиночитаемых носителях, которые хорошо известны специалистам в данной области техники, могут быть сохранены в одном или более блоках памяти, таких как ROM, RAM, флэш-память, EEPROM и т.п., или при необходимости переданы, например, с удаленных серверов по одному или более проводным и/или беспроводным сетевым соединениям, сети Интернет, соединению Ethernet, локальным вычислительным сетям (LAN) или другим локальным или глобальным вычислительным сетям.
Специалистам в данной области техники следует понимать, что выше описаны и показаны на чертежах лишь некоторые из возможных примеров технологий и материально-технических средств, которыми могут быть реализованы варианты выполнения настоящего изобретения. Подробное описание вариантов выполнения изобретения, приведенное выше, не предназначено для ограничения или определения объема правовой охраны настоящего изобретения.
Промышленная применимость
В конкретных вариантах практической реализации изобретение может быть использовано в области компьютерного зрения, при обработке изображений для повышения качества изображений, удаления шума на изображениях, сжатия видеоизображений, восстановления трехмерных (3D) сцен, одновременного определения местоположения и картографирования (SLAM), распознавания/обнаружения/сегментации объектов и действий на видеоизображении. Кроме того, изобретение может быть использовано в системах виртуальной реальности (VR) или дополненной реальности (AR), в системах управления автономными транспортными средствами и т.п.
В частности, в применениях по преобразованию видеоизображения с повышением частоты кадров (FRUC) очень важно иметь информацию о действительных векторах движения для интерполяции промежуточного кадра. При сжатии видеоданных, чем лучше оценен вектор движения, тем выше коэффициент сжатия.
При этом видеоизображения, на которых присутствует значительное количество шума, как правило, требуют более высокую скорость передачи данных, чем обычные изображения, поэтому повышение коэффициента сжатия за счет более точной оценки движения приводит к большей экономии полосы пропускания при передаче видеопотока.
В применениях, связанных с VR/AR, для улучшения реакции гарнитуры на движения пользователя используется технология асинхронного репроецирования. При этом используются один или более ранее рендерированных кадров и более новая информация о движении с датчиков гарнитуры для экстраполяции предыдущего кадра на прогноз того, каким образом должен выглядеть нормально рендерированный кадр. В робототехнике, автономно управляемых транспортных средствах, медицинских устройствах изобретение может обеспечить возможность одновременного определения местоположения и отображения.
Специалистам в данной области техники следует понимать, что выше описаны и показаны на чертежах лишь некоторые из возможных примеров технологий и материально-технических средств, которыми могут быть реализованы варианты выполнения настоящего изобретения. Подробное описание вариантов выполнения изобретения, приведенное выше, не предназначено для ограничения или определения объема правовой охраны настоящего изобретения.
Специалистами в данной области техники после внимательного прочтения вышеприведенного описания с обращением к сопровождающим чертежам могут быть предусмотрены другие варианты выполнения, охватываемые объемом настоящего изобретения, и все такие очевидные изменения, модификации и/или эквивалентные замены считаются включенными в объем настоящего изобретения. Все источники из уровня техники, приведенные и рассмотренные в настоящем документе, настоящим включены в данное описание путем ссылки, насколько это применимо.
При том, что настоящее изобретение было описано и проиллюстрировано с обращением к различным вариантам его выполнения, специалистам в данной области техники следует понимать, что в его форму и конкретные детали могут быть внесены различные изменения, не выходящие за рамки объема настоящего изобретения, который определяется только нижеприведенной формулой изобретения и ее эквивалентами.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ РЕГУЛЯРИЗАЦИИ ГРАДИЕНТОВ ПРИ ОБУЧЕНИИ ГЛУБОКОЙ НЕЙРОННОЙ СЕТИ В АЛГОРИТМЕ УВЕЛИЧЕНИЯ ЧАСТОТЫ КАДРОВ ВИДЕОИЗОБРАЖЕНИЯ С ОПЕРАЦИЕЙ ДЕФОРМАЦИИ ИЗОБРАЖЕНИЯ И РЕАЛИЗУЮЩИЕ ДАННЫЙ СПОСОБ УСТРОЙСТВО И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ | 2024 |
|
RU2838424C1 |
ОБРАБОТКА ОККЛЮЗИЙ ДЛЯ FRC C ПОМОЩЬЮ ГЛУБОКОГО ОБУЧЕНИЯ | 2020 |
|
RU2747965C1 |
СПОСОБ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ, ПОДДЕРЖИВАЮЩИЙ ЗАМЕНУ ИНТЕРПОЛЯЦИИ КАДРА С КОМПЕНСАЦИЕЙ ДВИЖЕНИЯ ЛИНЕЙНОЙ КОМБИНАЦИЕЙ КАДРОВ, И РЕАЛИЗУЮЩЕЕ ЕГО УСТРОЙСТВО | 2022 |
|
RU2786784C1 |
СПОСОБ И УСТРОЙСТВО СУБПИКСЕЛЬНОГО УТОЧНЕНИЯ ВЕКТОРОВ ДВИЖЕНИЯ | 2022 |
|
RU2803233C1 |
Способ обработки данных и система технического зрения для роботизированного устройства | 2021 |
|
RU2782662C1 |
СПОСОБ И СИСТЕМА ОБРАБОТКИ ИЗОБРАЖЕНИЙ ДЛЯ ФОРМИРОВАНИЯ ИЗОБРАЖЕНИЙ СВЕРХВЫСОКОГО РАЗРЕШЕНИЯ | 2016 |
|
RU2635883C1 |
СЕГМЕНТАЦИЯ И ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ ПАТТЕРНОВ ШЛЕЙФОВ НИЗКОГО УРОВНЯ | 2020 |
|
RU2783420C1 |
Способ управления бортовыми системами беспилотных транспортных средств при помощи нейронных сетей на основе архитектуры трансформеров | 2024 |
|
RU2841111C1 |
ТЕХНОЛОГИЯ ДЛЯ ОЦЕНКИ КАЧЕСТВА ВИДЕО | 2010 |
|
RU2540846C2 |
СПОСОБ ГИБРИДНОГО РЕТУШИРОВАНИЯ ФОНА ДЛЯ ПРЕОБРАЗОВАНИЯ 2D В 3D | 2014 |
|
RU2576490C1 |
Изобретение относится к области обработки изображений, и более конкретно к оценке векторов движения в последовательности фото- или видеоизображений. Способ оценки движения по полю изображения содержит этапы, на которых: получают по меньшей мере два изображения из входящего битового потока, содержащего множество изображений, выполняют предварительную обработку изображений, оценивают карту М параметров алгоритма оценки движения (ME) для упомянутой пары изображений и выполняют оценку движения для упомянутой пары изображений; причем предварительная обработка изображений содержит по меньшей мере регулировку яркости, оценка движения содержит этапы, на которых: применяют предварительно конфигурированную модель прогнозирования пространственных параметров алгоритма оценки движения к упомянутой паре изображений, сохраняют упомянутую карту параметров алгоритма оценки движения в виде массива, имеющего размеры, соответствующие желаемому полю векторов движения (MVF); производят оценку движения, зависящую от упомянутой карты параметров алгоритма оценки движения и выводят поле векторов движения в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении в упомянутой паре изображений. Также предложена система, реализующая данный способ. Технический результат - повышение точности оценки векторов движения по полю изображения. 2 н. и 15 з.п. ф-лы, 8 ил.
1. Способ оценки движения в последовательности изображений, содержащий этапы, на которых:
получают по меньшей мере два изображения из входящего битового потока, содержащего множество изображений,
выполняют предварительную обработку изображений, содержащую по меньшей мере регулировку яркости;
оценивают карту М параметров алгоритма оценки движения (ME) для упомянутых по меньшей мере двух изображений с применением предварительно обученной модели прогнозирования пространственных параметров алгоритма оценки движения к упомянутым по меньшей мере двум изображениям, причем размерность карты М параметров алгоритма оценки движения зависит от способа разбиения изображения на блоки;
сохраняют карту М параметров алгоритма оценки движения;
выполняют оценку движения путем применения алгоритма оценки движения и параметров с карты М параметров алгоритма оценки движения к каждому блоку упомянутых по меньшей мере двух изображений, причем карта М параметров алгоритма оценки движения определяет параметры алгоритма оценки движения отдельно для каждого блока; и
выводят поле векторов движения (MVF) в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении из упомянутых по меньшей мере двух изображений.
2. Способ по п. 1, в котором предварительная обработка упомянутых по меньшей мере двух изображений содержит этап уменьшения масштаба изображений с формированием пирамиды изображений с по меньшей мере двумя уменьшенными масштабами.
3. Способ по п. 2, в котором уменьшение масштаба изображений содержит этап, на котором выполняют пространственную фильтрацию пикселей необработанного изображения.
4. Способ по п. 1, в котором получение упомянутых по меньшей мере двух изображений из битового потока дополнительно содержит этап, на котором получают по меньшей мере одно из предварительной оценки MVF, кодированных метаданных, относящихся к параметрам съемки изображения, данных датчиков, не относящихся к формированию изображения.
5. Способ по п. 1, в котором получение упомянутых по меньшей мере двух изображений из битового потока содержит этап, на котором получают по меньшей мере одно из данных канала яркости, трехканальных цветных изображений в цветовых пространствах RGB или YUV.
6. Способ по п. 1, в котором предварительно конфигурированная модель прогнозирования пространственных параметров алгоритма оценки движения имеет архитектуру сверточной нейронной сети или дискриминационной или регрессионной модели машинного обучения.
7. Способ по п. 1, в котором алгоритм оценки движения выбран из по меньшей мере одного из алгоритма, основанного на сопоставлении блоков методом полного перебора, использующего в качестве минимального значения функционала ошибки сумму модулей разности значения интенсивности каждого пикселя в блоке (SAD), алгоритма 3D рекурсивного поиска (3DRS), алгоритма блочной эрозии с субпиксельным уточнением векторов движения (MV), алгоритма субпиксельной дискретизации блоков-кандидатов.
8. Способ по п. 1, дополнительно содержащий этап, на котором обучают модель прогнозирования пространственных параметров алгоритма оценки движения, при этом обучение модели прогнозирования пространственных параметров алгоритма содержит этапы, на которых:
принимают в качестве входных данных синтетический обучающий набор исходных данных, включающий в себя К обучающих примеров, причем каждый из обучающих примеров включает в себя по меньшей мере один опорный кадр, один исходный кадр и истинное поле векторов движения (GT);
получают из упомянутого синтетического набора данных пару синтетических кадров, содержащую опорный кадр REFk и исходный кадр SRCk;
выбирают индекс k пары кадров;
вычисляют оцененную карту параметров y:
y=Y(SRCk, REFk);
формируют поле векторов движения MVFk(y) из MVFi, k, где i = 1…N, относительно оцененной карты параметров у путем вычисления взвешенной суммы MVF1…N, чтобы оценить выход пространственно адаптивного алгоритма ME;
вычисляют функцию потерь L между векторами поля векторов движения MVFy, k и эталонными векторами движения GTk;
обновляют модель прогнозирования пространственных параметров алгоритма оценки движения путем обратного распространения градиента функции потерь L;
определяют, достигнута ли требуемая сходимость в модели прогнозирования пространственных параметров алгоритма оценки движения; и
сохраняют весовые коэффициенты обученной модели прогнозирования пространственных параметров алгоритма оценки движения в памяти.
9. Способ по п. 8, в котором на этапе формирования поля векторов движения для вычисления взвешенной суммы используют весовые коэффициенты, полученные путем применения функции Softmax.
10. Система оценки движения в последовательности изображений, содержащая:
блок предварительной обработки изображений, выполненный с возможностью осуществления предварительной обработки по меньшей мере двух изображений, полученных из входящего битового потока, содержащего множество изображений, причем блок предварительной обработки изображений выполнен с возможностью по меньшей мере регулировки яркости;
блок формирования карты М параметров алгоритма оценки движения (ME) для упомянутых по меньшей мере двух изображений, выполненный с возможностью формирования карты М параметров (ME) с применением предварительно обученной модели прогнозирования пространственных параметров алгоритма оценки движения и сохранения карты М параметров, причем размерность карты М параметров алгоритма оценки движения зависит от способа разбиения изображения на блоки;
блок оценки движения, выполненный с возможностью оценки движения на упомянутых по меньшей мере двух изображениях путем применения алгоритма оценки движения и параметров с карты М параметров алгоритма оценки движения к каждому блоку упомянутых по меньшей мере двух изображений, причем карта М параметров алгоритма оценки движения определяет параметры алгоритма оценки движения отдельно для каждого блока; и
вывода поля векторов движения (MVF) в виде двумерного (2D) массива смещений от положения каждого пикселя на первом изображении в по меньшей мере одно положение соответствующего пикселя на втором изображении из упомянутых по меньшей мере двух изображений.
11. Система по п. 10, дополнительно содержащая блок обучения модели прогнозирования пространственных параметров алгоритма оценки движения, выполненный с возможностью обучения упомянутой модели прогнозирования пространственных параметров алгоритма оценки движения путем итеративного выполнения алгоритма оценки параметров с N вариантами параметров и прогнозирования значения параметров для каждого из блоков изображения, которое дает наилучший результат.
12. Система по п. 11, в которой значение параметров для каждого из блоков изображения, которое дает наилучший результат, определяется посредством вычисления функции потерь между векторами поля векторов движения и эталонными векторами движения.
13. Система по п. 10, дополнительно выполненная с возможностью получения по меньшей мере одного из предварительной оценки MVF, кодированных метаданных, относящихся к параметрам съемки изображения, данных датчиков, не относящихся к формированию изображения.
14. Система по п. 10, выполненная с возможностью получения пары изображений в виде по меньшей мере одного из данных канала яркости, трехканальных цветных изображений в цветовых пространствах RGB или YUV.
15. Система по п. 10, в которой предварительно конфигурированная модель прогнозирования пространственных параметров алгоритма оценки движения имеет архитектуру сверточной нейронной сети или дискриминационной или регрессионной модели машинного обучения.
16. Система по п. 10, в которой алгоритм оценки движения выбран из по меньшей мере одного из алгоритма, основанного на сопоставлении блоков методом полного перебора, использующего в качестве минимального значения функционала ошибки сумму модулей разности значения интенсивности каждого пикселя в блоке (SAD), алгоритма 3D рекурсивного поиска (3DRS), алгоритма блочной эрозии с субпиксельным уточнением векторов движения (MV), алгоритма субпиксельной дискретизации блоков-кандидатов.
17. Система по п. 11, в которой блок обучения модели прогнозирования пространственных параметров алгоритма оценки движения дополнительно содержит:
блок рендеринга, выполненный с возможностью рендеринга последовательностей кадров с эталонным полем векторов движения (GT);
блок оценки движения (ME), выполненный с возможностью оценки движения для упомянутых последовательностей кадров с каждым набором параметров с карты М параметров алгоритма оценки движения;
блок обучения модели прогнозирования пространственных параметров алгоритма оценки движения, выполненный с возможностью обучения модели прогнозирования пространственных параметров алгоритма оценки движения посредством вычисления функции потерь L между векторами поля векторов движения, сформированного блоком оценки движения, и эталонными векторами движения, обновления модели прогнозирования пространственных параметров алгоритма оценки движения путем обратного распространения градиента функции потерь L, определения, достигнута ли требуемая сходимость в модели прогнозирования пространственных параметров алгоритма оценки движения; и
блок хранения весовых коэффициентов обученной модели прогнозирования пространственных параметров алгоритма оценки движения.
US 20210306528 A1, 30.09.2021 | |||
WO 2021025375 A1, 11.02.2021 | |||
US 11343526 B2, 24.05.2022 | |||
КОМБИНИРОВАННЫЙ ГЛУШИТЕЛЬ ШУМА КОЧЕТОВА | 2015 |
|
RU2599217C1 |
Авторы
Даты
2025-05-12—Публикация
2024-03-15—Подача