способ и устройство заполнения зон затенения карты глубин или несоответствий, оцениваемой на основании по меньшей мере двух изображений
Классы МПК: | G06T5/00 Усиление или восстановление изображения из побитового в побитовое изображение для создания подобного изображения G06T7/00 Анализ изображения, например из побитового к непобитовому изображению |
Автор(ы): | АЛЕССАНДРИНИ Давид (FR), БАЛТЕ Рафаэль (FR), ПАТЁ Стефан (FR) |
Патентообладатель(и): | ФРАНС ТЕЛЕКОМ (FR) |
Приоритеты: |
подача заявки:
2009-06-22 публикация патента:
10.01.2014 |
Изобретение относится к средствам моделирования трехмерного видеоизображения. Техническим результатом является повышение четкости вокруг контуров предметов при отображении объемного реконструированного изображения. В способе просматривают пиксель за пикселем каждую строку карты глубины или несоответствий, образованной пиксельной матрицей, в заданном направлении и присваивают пиксельное значение каждому некорректному пикселю, встреченному на текущей строке, которое определяют в зависимости от значений пикселей, принадлежащих к заданной окрестности первого корректного пикселя, который следует на текущей строке за некорректным пикселем и чье значение соответствует большей глубине или меньшему несоответствию по сравнению со значением последнего корректного пикселя. 3 н. и 10 з.п. ф-лы, 14 ил.
Формула изобретения
1. Способ заполнения зон затенения карты глубин или несоответствий, характеризующийся тем, что карту оценивают на основании по меньшей мере двух изображений и карта образована пиксельной матрицей, представляющей собой совокупность строк и столбцов, при этом каждый пиксель карты связан со значением глубины или несоответствия, называемым «пиксельным значением», и любой пиксель зоны затенения, называемый «некорректным пикселем», связан с пиксельным значением, идентифицируемым как некорректное,
при этом способ содержит этапы, на которых просматривают (E1, E2, E10) пиксель за пикселем каждую строку карты в заданном направлении и присваивают пиксельное значение каждому некорректному пикселю Pi, встреченному (E3) на текущей строке, причем указанное пиксельное значение определяют (E4-E9) в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности первого корректного пикселя P1, при его наличии, который следует на текущей строке за некорректным пикселем Pi и значение V(P1) которого соответствует большей глубине или меньшему несоответствию по сравнению со значением V(P0) последнего корректного пикселя P0, при его наличии, предшествующего на текущей строке некорректному пикселю Pi.
2. Способ по п.1, в котором при наличии (E5) корректного пикселя P0 и отсутствии (E7) корректного пикселя P1 некорректному пикселю Pi присваивают (E21-E23, E25, E9) пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности первого корректного пикселя P2, при его наличии, следующего на текущей строке за некорректным пикселем Pi.
3. Способ по п.2, в котором при отсутствии (E22) корректного пикселя P2 некорректному пикселю Pi присваивают (E24, E25, E9) пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности пикселя P0.
4. Способ по п.1, в котором при отсутствии (E5) корректного пикселя P0 некорректному пикселю Pi присваивают (E11-E13, E16, E9) пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности первого корректного пикселя P2, при его наличии, следующего за некорректным пикселем Pi на текущей строке; при этом при отсутствии (E12) корректного пикселя P2 некорректному пикселю Pi присваивают (E14) принятое по умолчанию значение Vd.
5. Способ по любому из пп.1-4, в котором пиксельное значение, присваиваемое некорректному пикселю Pi, определяют в зависимости от значений, связанных с пикселями в окрестности рассматриваемого пикселя, путем применения к указанным пиксельным значениям в рассматриваемой окрестности математической функции определения медианного или среднего значения.
6. Способ по любому из пп.1-4, в котором окрестность рассматриваемого пикселя является блоком корректных пикселей с центром в рассматриваемом пикселе.
7. Способ по любому из пп.1-4, в котором указанную карту глубин или несоответствий получают на основании пары изображений, правого и левого, при этом заданное направление просмотра пиксельной строки карты соответствует направлению справа налево, если карту оценивают на основании левого изображения, и соответствует направлению слева направо, если карту оценивают на основании правого изображения.
8. Способ цифровой обработки карты глубин или несоответствий, характеризующийся тем, что включает в себя операцию (D) заполнения зон затенения при помощи способа по любому из пп.1-7.
9. Способ обработки по п.8, в котором операции (D) заполнения зон затенения предшествует операция (B) морфологической фильтрации замыкания для устранения ошибок оценки в зонах затенения карты.
10. Способ обработки по п.8 или 9, в котором операции (D) заполнения зон затенения предшествует операция (C) локальной униформизации карты с применением для всей карты медианной фильтрации значений пикселей, анализируемых по блокам заданного размера.
11. Устройство цифровой обработки карты глубин или несоответствий, характеризующееся тем, что содержит модуль (63) заполнения зон затенения карты, при этом указанный модуль выполнен с возможностью применения способа заполнения по любому из пп.1-7.
12. Устройство по п.11, характеризующееся тем, что дополнительно содержит модуль (61) морфологической фильтрации замыкания для устранения ошибок оценки в зонах затенения карты перед заполнением зон затенения.
13. Устройство по п.11 или 12, характеризующееся тем, что дополнительно содержит модуль (62) локальной униформизации карты, применяющий для всей карты перед заполнением зон затенения медианную фильтрацию значений пикселей, анализируемых по блокам заданного размера.
Описание изобретения к патенту
Настоящее изобретение касается обработки цифровых изображений, в частности способа заполнения зон затенений, присутствующих в карте глубин или карте несоответствий, оцениваемой при помощи, по меньшей мере, двух изображений.
В вариантах применения для трехмерного видео (3D-видео), таких как объемное отображение, реконструкция сцен в трех измерениях или виртуальная навигация в видеоизображениях, классически используют так называемые карты «глубины» или так называемые карты «несоответствий». Вышеуказанные карты получают путем оценки при помощи, по меньшей мере, двух изображений одной сцены, полученных при помощи стереоскопических видеосъемок или многокамерных съемок, произведенных несколькими камерами, или соответствующих разным временным моментам одной видеосъемки.
В частности, для передачи стереоскопических контентов, как правило, применяют два подхода. Согласно первому подходу, используют пару традиционных камер, располагаемых таким образом, чтобы воссоздать зрительную систему человека, при этом каждая камера соответствует одному глазу. Таким образом, пользователю передаются два снятых моноскопических кадра. Второй подход состоит в передаче только моноскопического цветного видеоизображения, сопровождаемого информацией о глубине, связанной с каждым пикселем. В этом случае одну или несколько «виртуальных» съемок можно синтезировать со стороны пользователя при помощи алгоритмов воспроизведения на базе карт глубины. Этот последний подход имеет преимущество, в частности уменьшает общую полосу пропускания, используемую для передачи, и находит свое прямое применение в кодировании видеоизображений со сжатием данных.
Чтобы определить, что же классически следует понимать под «картой глубины» и под «картой несоответствий», не усложняя изложения, рассмотрим частный случай бинокулярного стереовидения, согласно которому два изображения одной сцены снимают, например, одной камерой с двух разных съемочных точек. Классически эти два изображения называют правым изображением и левым изображением. В этом контексте карта глубины, соответствующая данному изображению (например, правому изображению или левому изображению), является цифровым изображением, каждый пиксель которого связывают со значением, характеризующим один цвет (например, оттенок серого), который является характеристическим для расстояния от рассматриваемого пикселя до камеры.
На фиг.1 показана карта глубины, на которой расстояние от объектов, фигурирующих на изображении, до камеры, снимавшей сцену, представлено уровнем серого цвета, который начинается от белого для самых близких объектов до черного для самых удаленных объектов. Таким образом, в этом примере стол и ваза с цветами, окрашенные более светлым оттенком, являются наиболее близкими предметами сцены (первый план), а показанный экран представляется наиболее удаленным предметом (задний план).
На фиг.2a и 2b показана пара стереоскопических изображений, на основании которой можно произвести оценку карты глубины. На фиг.2a показано левое изображение, а на фиг.2b - правое изображение.
Что касается карты несоответствий, то она отражает результат стереоскопического согласования двух вышеуказанных изображений. Стереоскопическое согласование состоит в выявлении в левом и правом изображениях пикселей-гомологов, то есть пикселей, которые являются проекцией одного и того же участка сцены. Карта несоответствий представляет собой способ визуального отображения результатов этого согласования: каждый пиксель карты несоответствий характеризует амплитуду несоответствия, то есть расстояние между положением пикселя левого изображения и положением соответствующего ему пикселя в правом изображении. Таким образом, каждый пиксель карты несоответствий связывают со значением, характеризующим цвет, характеристический для амплитуды несоответствия. Классически здесь тоже используют оттенки серого цвета: например, чем темнее пиксель, тем меньше несоответствие, при этом полностью белые пиксели представляют собой пиксели, не имеющие соответствий в одном из двух изображений.
Можно легко показать, что, чем больше значение глубины, связанное с данным пикселем изображения, тем меньше соответствующее значение несоответствия. Поскольку глубина и несоответствие являются, таким образом, обратно пропорциональными величинами, настоящее изобретение можно применять как для карты глубины, так и для карты несоответствий. В дальнейшем тексте описания речь пойдет в одинаковой степени о карте глубины или о карте несоответствии, поэтому для обозначения той или иной из этих карт иногда будет просто использован термин «карта».
Использование карт глубины или карт несоответствий имеет первостепенное значение в рамках развивающихся технологий, например, таких как виртуальная навигация в видеоизображении, объемное отображение, 3D-моделирование и кодирование видеоизображений. Карты глубины, получаемые путем метода прогнозирования между съемками, можно также применять для приложений сжатия с предсказанием изображений, использующих карты глубины. В подходе этого типа карты глубины используют для предсказания съемок, соответствующих другим видеоизображениям одной сцены, чтобы ограничить передачу избыточности, в частности, в случае данных MVD (Multiview Video and Depth), содержащих несколько видеоизображений и соответствующих карт глубины. Следовательно, точность этих карт является определяющей для качества реконструируемых изображений, независимо от конечного применения, и для эффективности сжатия видеоизображений в приложениях кодирования.
В частности, качество карты глубины/несоответствий связано с присутствием в рассматриваемой карте так называемых зон «затенений». Зоны затенений соответствуют зонам карты, для которых пиксели не имеют своего соответствия в одном из изображений, с частью, видимой только на одном изображении. Зоны затенений в основном связаны с так называемыми затеняющими предметами сцены, то есть предметами, которые в одном из двух изображений (левом или правом) затеняют отдельную область отображаемой сцены, тогда как эта область непосредственно видна на другом изображении. Зоны затенения в основном обнаруживают вокруг границ, связанных с прерывистостями глубины на картах.
На фиг.3 показан пример карты несоответствий, оцениваемой с использованием известного алгоритма на основе разрезов графов. В частности, используемый алгоритм описан, например, в документе "Multicamera scene reconstruction via graph cuts", V.Kolmogorov and R.Zabih - Proceedings of the European Conference on Computer Vision, 2002.
На отображаемом изображении зоны белого цвета соответствуют зонам затенения, которые были обнаружены при помощи вышеуказанного алгоритма разрезов графов и для которых пиксельное значение не могло быть определено из-за отсутствия пиксельных соответствий в левом и правом изображениях, показанных соответственно на фиг.2a и 2b.
Следовательно, необходимо учитывать эти зоны затенения, присутствующие в картах глубины или несоответствий, чтобы повысить качество изображений, получаемых путем реконструкции или путем синтеза на основании этих карт. В частности, речь идет об обнаружении и/или заполнении пропусков, соответствующих недостающей информации в зонах затенения.
Среди известных технологий обработки вышеуказанных дефектов карт глубины или несоответствий можно указать, в частности, первую категорию методов: методы, оперирующие изображениями, реконструируемыми на основании карт глубины или несоответствий.
Решения, относящиеся к этой первой категории, описаны, например, в документе "Stereoscopic imaging: Filling disoccluded areas in image-based rendering", C. Vazquez, W.J.Tam and F.Speranza - Proceedings of the SPIE Three-Dimensional TV, Video, and Display, vol. 6392, pp.OD1-OD12, 2006. Согласно этим решениям пропуски в реконструируемых изображениях заполняют, распространяя на них значение, взятое из окрестности. Однако недостатком этой категории технологий, которую применяют на изображениях, реконструируемых на основании карт глубины или несоответствий, является недостаточное использование или полное игнорирование специфичности карт глубины. Действительно, эти карты представляют собой данные с разными особенностями текстурированных 2D-изображений (двухмерных), таких как отсутствие деталей текстуры и влияние на глубину относительных положений предметов относительно друг друга.
Вторая категория известных технологий использует напрямую карты глубины или несоответствий. Например, в документе "Improving depth maps by nonlinear diffusion", J.Yin and J.R.Cooperstock - Proc. 12th International Conference Computer Graphics, Visualization and Computer Vision, Plzen, Czech Republic, Feb. 2004, описана постобработка, применяемая для карты глубины таким образом, чтобы улучшить ее зоны затемнения или отсутствия текстуры. Эта постобработка основана на заполнении посредством нелинейной диффузией, то есть на гауссовом сглаживании в сочетании с обнаружением границ.
Другая технология, описанная в документе "Design Considerations for View Interpolation in a 3D video Coding Framework", Yannick Morvan, Dirk Farm and Peter H.N. de With - in 27th Symposium on information Theory in the Benelux, vol.1 p., June 2006, Noordwijk, Netherlands, состоит в распространении фона одновременно со сравнением значений глубины двух корректных пикселей, наиболее близких к затененному пикселю.
На фиг.4a и 4b соответственно показана деталь карты несоответствий, показанной на фиг.3, и та же деталь после заполнения зон затенения согласно известной технологии на основе разрезов графов. Таким образом, изображение, показанное на фиг.4b, представляет собой ту же деталь на карте несоответствий, показанной на фиг.3, но после заполнения зон затенения при помощи алгоритма, состоящего в просмотре изображения строка за строкой и в заполнении некорректного пикселя корректным (незатененным) пикселем, который следует за некорректным пикселем на текущей строке (при этом направление просмотра строки зависит от изображения, с которым связана карта глубин). Такой алгоритм заполнения описан, например, в документе "Occlusions in motion processing", Abhijit Ogale, Cornelia Fermuller and Yannis Aloimonos - in Spatio Temporal Image Processing, March 2004, London, UK.
На изображении фиг.4b, полученном после заполнения, зоны белого цвета, видимые слева от персонажа, в частности вокруг его правой руки, соответствуют ошибкам, допущенным во время заполнения зон затенения. Эти ошибки в основном связаны либо с пикселями зоны затенения, для которых значение было присвоено ошибочно и которые, таким образом, нарушают заполнение, либо с распространением неправильных значений во время заполнения, что приводит к потере деталей, например, вокруг правой руки человека, показанного на изображении.
Технологии, оперирующие непосредственно картами глубины или несоответствий, тоже имеют недостатки, поскольку не позволяют контролировать ошибки или артефакты в зонах затенения и/или приводят к созданию эффекта пропадания четкости, в частности, на границах отображаемых предметов, по причине применяемой обработки. Кроме того, при сравнении только значений первых корректных пикселей, соседних с некорректным пикселем, не обеспечивается распространение фона, в частности, в случае вогнутых предметов.
Следовательно, вышеуказанные технологии только частично обрабатывают дефекты карт глубины или несоответствий, и артефакты, распространение неправильных значений и потеря деталей в результате дефектов этих карт по причине присутствия зон затенения приводят к отсутствию связанности в реконструируемых изображениях, а также во время объемного отображения при помощи изображений, спрогнозированных на основании карт глубины/несоответствий.
Таким образом, существует необходимость в повышении качества карт несоответствий и глубин, в частности, в отношении четкости вокруг контуров предметов.
Согласно данному способу карту оценивают на основании, по меньшей мере, двух изображений, и она образована пиксельной матрицей, образующей совокупность строк и столбцов, при этом каждый пиксель карты связывают со значением глубины или несоответствий, называемым «пиксельным значением», и любой пиксель зоны затенения, называемый «некорректным пикселем», связывают с пиксельным значением, идентифицируемым как некорректное.
Согласно изобретению способ содержит:
- просмотр пиксель за пикселем каждой строки карты в заранее определенном направлении, и
- присвоение каждому некорректному пикселю Pi, встреченному на текущей строке, значения, определяемого в зависимости от значений, связанных с пикселями, принадлежащими к заранее определенной окрестности вокруг первого корректного пикселя Р1, если он существует, который следует за некорректным пикселем Pi на текущей строке и значение V(P1) которого соответствует большей глубине или меньшему несоответствию относительно значения V(P0) последнего корректного пикселя P0, если он существует, который предшествует некорректному пикселю Pi на текущей строке.
Такое заполнение зон затенения, осуществляемое путем присвоения некорректным пикселям значения, полученного вышеуказанным способом, позволяет распространить фон, то есть значения большей глубины или меньшего несоответствия, и только фон, поскольку зоны затенения, связанные с затеняющим предметом, всегда находятся с той же стороны предметов, расположенных позади затеняющего предмета учитываемых при просмотре строк в заданном направлении. Выбирая значение глубины (несоответствий), присваиваемое некорректному пикселю, намного большим (меньшим) последнего значения, пройденного на строке перед зоной затенения, гарантируют, что именно значение, соответствующее фону, будет использовано для заполнения пропусков. Заполнение пропусков в соответствии с настоящим изобретением позволяет, в частности, избежать распространения пикселей предмета, а не фона, и, в случае необходимости, соединения частей изображения там, где они не должны быть соединены, что часто происходит, в частности, с вогнутыми предметами. Таким образом, можно, в частности, сохранить детали внутри одного вогнутого объекта, например, в случае человека, сохраняя, в частности, возможность различать предплечья и руки.
Согласно предпочтительным отличительным признакам способа в соответствии с настоящим изобретением:
- если существует корректный пиксель P0, но не существует корректного пикселя P1, некорректному пикселю Pi присваивают пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности первого корректного пикселя P2, если он существует, который следует за некорректным пикселем Pi на текущей строке;
- если не существует корректного пикселя P2, некорректному пикселю Pi присваивают пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности пикселя P0;
- если не существует корректного пикселя P0, некорректному пикселю Pi присваивают пиксельное значение, определяемое в зависимости от значений, связанных с пикселями, принадлежащими к заданной окрестности первого корректного пикселя P2, если он существует, который следует за некорректным пикселем Pi на текущей строке;
если корректный пиксель Р2 не существует, некорректному пикселю Pi присваивают принятое по умолчанию значение Vd.
Согласно предпочтительному варианту выполнения изобретения пиксельное значение, присваиваемое некорректному пикселю Pi, определяют в зависимости от значений, связанных с пикселями окрестности рассматриваемого пикселя, путем применения функции медианного или среднего математического для пиксельных значений рассматриваемой окрестности.
На практике окрестность рассматриваемого пикселя является блоком корректных пикселей с центром на рассматриваемом пикселе.
Согласно частному варианту применения, в котором карту глубины или несоответствия получают на основании пары изображений, правого и левого, заданное направление просмотра рассматриваемой пиксельной строки карты соответствует направлению справа налево, если карту оценивают на основании левого изображения, и соответствует направлению слева направо, если карту оценивают на основании правого изображения.
Действительно, зоны затенения являются зонами, которые открываются при переходе от одной камеры к другой и, следовательно, находятся слева (соответственно справа) от объектов для правого (соответственно левого) изображения для параллельных или скорректированных изображений (то есть соответствующих съемке сходящимися камерами, но для которых эпиполярные строки двух изображений были совмещены).
Объектом настоящего изобретения является также способ цифровой обработки карты глубины или несоответствий, включающий этап заполнения зон затенения карты при помощи кратко описанного выше способа заполнения.
Согласно частным отличительным признакам способа цифровой обработки в соответствии с настоящим изобретением операции заполнения зон затенения могут предшествовать:
- операция морфологической фильтрации замыкания, предназначенная для устранения ошибок оценки в зонах затенения карты; и/или,
- операция локальной униформизации карты с применением для всей карты медианной фильтрации значений пикселей, анализируемых по блокам заранее определенного размера.
Соответственно, объектом настоящего изобретения является устройство цифровой обработки карты глубины или несоответствий, содержащее модуль заполнения зон затенения карты, выполненный с возможностью применения кратко описанного выше способа заполнения в соответствии с настоящим изобретением.
Объектом изобретения является также компьютерная программа обработки цифровых изображений, содержащая команды для применения вышеуказанного способа цифровой обработки карты глубины или несоответствий, когда эту программу исполняет компьютерная система. В данном случае под «компьютерной системой» следует понимать любое устройство на базе процессора, предназначенное для обработки цифровых данных.
Преимущества, обеспечиваемые компьютерной программой и устройством цифровой обработки в соответствии с настоящим изобретением, включают в себя преимущества, уже упомянутые выше в связи со способом заполнения или способом цифровой обработки в соответствии с настоящим изобретением карты глубины/ несоответствий.
Настоящее изобретение будет более очевидно из нижеследующего подробного описания, представленного исключительно в качестве примера, со ссылками на прилагаемые чертежи, на которых:
фиг.1 (уже описана) - пример карты глубины;
фиг.2a и 2b (уже описаны) - пара стереоскопических изображений, на основании которой производят оценку карты глубины;
фиг.3 (уже описана) - пример карты несоответствий, оцениваемой с применением известного алгоритма на основе разрезов графов;
фиг.4a и 4b (уже описаны) - деталь карты несоответствий, показанной на фиг.3, и соответственно та же деталь после заполнения зон затенения при помощи известной технологии;
фиг.5a и 5b - блок-схема основных этапов способа заполнения зон затенения в карте глубины или несоответствий в соответствии с настоящим изобретением;
фиг.6 - вариант выполнения способа и устройства цифровой обработки карты глубины/ несоответствий в соответствии с настоящим изобретением, в котором перед операцией заполнения осуществляют операцию устранения ошибок оценки карты и операцию локальной униформизации карты;
фиг.7a и 7b - одна и та же деталь карты, показанной на фиг.4a, соответственно перед применением морфологического фильтра (фиг.7a) и после применения морфологического фильтра (фиг.7b);
фиг.8a и 8b - результат применения фильтра локальной униформизации на карте несоответствий, полученной после применения морфологического фильтра, при этом на фиг.8a и 8b карта показана соответственно перед применением и после применения фильтра локальной униформизации;
фиг.9 - карта несоответствий, показанная на фиг.8b, после обработки заполнения зон затенения согласно настоящему изобретению.
На фиг.5a и 5b показана блок-схема основных этапов способа заполнения зон затенений в карте глубины или несоответствий в соответствии с настоящим изобретением. Как было указано выше, изобретение можно применять в равной степени как для карты глубины, так и для карты несоответствий, поскольку эти карты соответствуют обратно пропорциональным данным.
Способ в соответствии с настоящим изобретением применяют для карты глубины или несоответствий, оцениваемой на основании, по меньшей мере, двух изображений, например правого изображения и левого изображения, или полученной путем прогнозирования на основании другого кадра, например, как в случае алгоритмов сжатия, основанных на прогнозировании между кадрами.
Традиционно рассматриваемая карта содержит пиксельную матрицу, образующую совокупность строк и столбцов. Каждый пиксель карты связывают со значением глубины или несоответствий, называемым «пиксельным значением». Обычно этим значением является двоичное значение, кодированное 8 битами, которое может принимать десятичные значения от 0 до 255. В этом интервале значений некоторые значения соответствуют корректным значениям глубины/несоответствий, а определенное значение соответствует некорректному значению. Так, если цвет, выбранный для отображения зон затенения, является белым цветом, соответствующее значение глубины/несоответствий является десятичным значением 255. Таким образом, пиксель рассматриваемой карты, который соответствует зоне затенения, идентифицируют как некорректный при помощи связанного с ним пиксельного значения.
На практике способ заполнения зон затенения карты глубины/несоответствий в соответствии с настоящим изобретением осуществляют при помощи компьютерной программы, исполняемой в системе обработки данных, при этом обрабатываемую карту предварительно сохраняют в памяти системы обработки данных. Способ в соответствии с настоящим изобретением состоит в построчном просмотре и, для каждой строки, в просмотре пиксель за пикселем карты глубины/несоответствий (называемой в дальнейшем также просто «картой»). Этот просмотр пиксель за пикселем осуществляют в заданном направлении.
Так, на практике, если рассматриваемая карта получена из пары изображений, правого и левого, направление просмотра пиксельной строки карты соответствует направлению справа налево, если оценка карты производилась на основании левого изображения. Если же, наоборот, карта оценивалась на основании правого изображения, просмотр осуществляют в направлении слева направо.
Как показано на фиг.5a, способ заполнения зон затенений карты глубины/ несоответствий в соответствии с настоящим изобретением начинается с этапа выбора (E1) строки карты, называемой текущей строкой, затем выбора (E2) пикселя выбранной строки, называемого текущим пикселем и обозначаемого Pc.
На этапе проверки E3 определяют, является или не является текущий пиксель Pc некорректным, в зависимости то того, соответствует или не соответствует связанное с ним пиксельное значение некорректному значению (например, значению 225, соответствующему белому цвету). Если текущий пиксель является корректным (проверка E3, '0'), следовательно, он не принадлежит к зоне затенения, и в этом случае выполняют этап теста E10, на котором определяют, завершена ли обработка текущей строки и произведена ли полная обработка карты.
Так, на этапе E10, если обработка текущей строки не завершена (E10, '00'), возвращаются на этап E2 для выбора следующего пикселя текущей строки. Если обработана текущая строка, но обработаны не все строки карты (E10, '10'), возвращаются на этап E1, чтобы выбрать другую строку карты, например строку непосредственно снизу обработанной строки. Наконец, если все строки карты просмотрены и обработаны, обработка карты завершена (E10, '11').
Если на этапе E3 текущий пиксель Pc определен как некорректный (Pc=Pi; E3, '1'), то выявляют (этап E4) последний корректный пиксель, обозначаемый P0, предшествующий рассматриваемому на строке некорректному пикселю Pi. На практике, в ходе просмотра любой строки карты данные, касающиеся каждого из исследованных пикселей, сохраняют в памяти (положение, корректность, соответствующее значение и т.д.), что позволяет очень быстро получать впоследствии информацию, касающуюся уже исследованного пикселя.
Если такой пиксель P0 существует (E5, '1'), то путем просмотра текущей строки в заданном направлении выявляют (этап E6) первый корректный пиксель P1, который следует за некорректным пикселем Pi на строке и для которого связанное с ним пиксельное значение V(P1) соответствует большей глубине (или меньшему несоответствию, если способ применяют для карты несоответствий) по отношению к значению V(P0) пикселя P0. Искомый пиксель P1, который соответствует большей глубине относительно пикселя P0, на фигуре 5а символически выражен неравенством: V(P1)>V(P0).
На практике поиск корректного пикселя, находящегося после рассматриваемого некорректного пикселя Pi, осуществляют в интервале, определяемом по числу пикселей, размер которого устанавливают, например, в 50 пикселей и который может изменять пользователь, применяющий способ в соответствии с настоящим изобретением.
Если такой пиксель P1 существует (этап E7, '1'), то на этапе E8 определяют окрестность N1 пикселей вокруг пикселя P1, затем на этапе E9 вычисляют значение глубины (или несоответствия), обозначаемое Vcal(Pi), для присвоения некорректному пикселю Pi.
Согласно изобретению значение глубины Vcal(Pi) определяют в зависимости от значений глубины (или несоответствий), связанных с пикселями, принадлежащими к окружению N1 из пикселей вокруг пикселя Р1, при этом выражение "Ncal=N1" на этапе Е8 символизирует использование окрестности N1 из пикселей при вычислении значения глубины Vcal(Pi).
На практике, окрестность, определяемая вокруг рассматриваемого пикселя, может представлять собой пиксельный блок с центром на рассматриваемом пикселе, например блок из 5 корректных пикселей.
Согласно предпочтительному варианту выполнения изобретения значение Vcal(Pi), присваиваемое рассматриваемому некорректному пикселю Pi, определяют путем вычисления медианного математического для значений пикселей, принадлежащих к рассматриваемому пиксельному окружению. В варианте, можно вместо медианного значения использовать среднее математическое. Таким образом, если речь идет об окрестности N1 из пикселей вокруг пикселя P1, вычисляют медианное значение глубины (или несоответствий) для пикселей окрестности N1.
Возвращаясь к этапу E7: если корректного пикселя P1, который следует за некорректным пикселем Pi и который соответствует большей глубине по отношению к пикселю P0, на текущей строке карты не существует (этап E7, '0'), применяемую обработку обозначают "CAS 2", и она показана на фиг.5b. В этом случае выявляют (этап Е21) первый корректный пиксель, обозначаемый P2, который следует за некорректным пикселем Pi на текущей строке. Если такой пиксель P2 существует (E22, '1'), определяют (этап E23) окрестность N2 из пикселей вокруг пикселя P2, как было указано выше, затем возвращаются на этап E9, показанный на фиг.5а (через этап E25, показанный на фиг.5b). На этапе E9 (обозначаемом 'Val_Pi') вычисляют значение глубины (или несоответствия), обозначаемое Vcal(Pi), для присвоения пикселям, принадлежащим к окрестности N2 из пикселей вокруг пикселя P2. На практике, вычисляют медианное математическое значений глубины (или несоответствий), связанных с окрестностью N2 из пикселей.
Если же такого пикселя P2 не существует (этап E22, '0'), используют определенный ранее (этап E4) пиксель P0 и, таким образом, определяют (этап E24) окрестность из пикселей, обозначаемую N0, вокруг пикселя P0, как было указано выше. После этого возвращаются на этап E9, показанный на фиг.5a (через этап E25, показанный на фиг.5b). На этапе E9 вычисляют значение глубины (или несоответствия), обозначаемое Vcal(Pi), для присвоения некорректному пикселю Pi в зависимости от значений глубины (или несоответствия), связанных с пикселями, принадлежащими к пиксельному окружению N0 вокруг пикселя P0. На практике, вычисляют медианное математическое значений глубины (или несоответствий), связанных с пикселями окрестности N0.
Наконец, на этапе E5, показанном на фиг.5a, если не существует (E5, '0') корректного пикселя P0, предшествующего некорректному пикселю Pi на текущей строке, применяемую обработку обозначают "CAS 1", и она показана на фиг.5b. В этом случае выявляют (этап E11) первый корректный пиксель, обозначаемый P2, который следует за некорректным пикселем Pi на текущей строке. Если пиксель P2 существует (этап E12,'1'), определяют (этап E13) окрестность N2 из пикселей вокруг пикселя P2, как было указано выше, затем возвращаются на этап E9, показанный на фиг.5a (через этап E16, показанный на фиг.5b). На этапе E9 вычисляют значение глубины (или несоответствия), обозначаемое Vcal(Pi), для присвоения некорректному пикселю Pi в зависимости от значений глубины (или несоответствия), связанных с пикселями, принадлежащими к окрестности N2 из пикселей вокруг пикселя P2. На практике, вычисляют медианное математическое значений глубины (или несоответствий), связанных с пикселями окружения N2.
Если же такого пикселя P2 не существует (этап E12, '0'), пикселю Pi присваивают (этап E14) значение по умолчанию, обозначаемое Val_def. После этого возвращаются (E15) к тесту E10, описанному выше и показанному на фиг.5a.
На практике, значение по умолчанию Val_def, присваиваемое некорректному пикселю Pi, выбирают, например, равным 128, что соответствует средней глубине (или среднему несоответствию).
На фиг.6 показан вариант выполнения способа и устройства цифровой обработки карты глубины/несоответствий в соответствии с настоящим изобретением, в котором операции заполнения предшествует операция устранения ошибок оценки карты и операция локальной униформизации карты.
Как показано на фиг.6, устройство цифровой обработки карты глубины или несоответствий в соответствии с настоящим изобретением содержит модуль 63 заполнения зон затенений карты и может дополнительно содержать, по меньшей мере, два модуля 61 и 62, соответствующие функции которых описаны ниже. Наконец, устройство цифровой обработки карты глубины/несоответствий в соответствии с настоящим изобретением может также содержать модуль 60 оценки карты глубины или несоответствий на основании нескольких изображений.
На практике, согласно предпочтительному варианту выполнения, эти модули представляют собой совокупность компьютерных программ, составляющих программное обеспечение, содержащее команды для применения способа цифровой обработки карты глубины/несоответствий в соответствии с настоящим изобретением. Этот способ применяют, когда вышеупомянутую совокупность программ исполняет компьютер или система обработки данных.
В примере применения, показанном на фиг.6, два изображения 'Im' (левое и правое) одной сцены передают в программный модуль 60, предназначенный для осуществления операции, обозначаемой A, оценки карты несоответствий на основании двух изображений Im. Например, модуль 60 может применять алгоритм на основе разрезов графов, например, упомянутый выше и описанный в документе "Multicamera scene reconstruction via graph cuts", V.Kolmogorov and R.Zabih - Proceedings of the European Conference on Computer Vision, 2002. Следовательно, модуль 60 выдает на выходе карту несоответствий Cin, показанную на фиг.3.
В представленном и описанном варианте выполнения карту несоответствий Cin обрабатывает модуль 61 устранения ошибок оценки (outliers на английском языке), допущенных модулем 60 во время оценки карты несоответствий (или глубины) для входных изображений (Im). Эти ошибки в основном связаны с зонами затенения, присутствующими на карте несоответствий. Согласно примеру выполнения модуль 61 применяет известный сам по себе морфологический фильтр замыкания, применяемый для карты несоответствий только в зонах затенения, которые не были заполнены при помощи алгоритма оценки несоответствий. Эта фильтрация позволяет устранить ошибки оценки (outliers) в зонах затенения, чтобы они не мешали заполнению этих зон, как показано на фиг.4a и 4b. Действительно, морфологический фильтр производит сглаживание пропусков, присутствующих в карте, и позволяет, таким образом, избежать распространения ошибок при дальнейшем заполнении зон затенения, в котором используют значения из окружения рассматриваемого некорректного пикселя.
На фиг.7a и 7b показана деталь карты несоответствий, показанной на фиг.4a, соответственно до применения морфологического фильтра (фиг.7a) и после применения морфологического фильтра (фиг.7b). Таким образом, на левом изображении (фиг.7a) в выделенной кругом зоне две точки серого цвета, соответствующие ошибкам оценки, присутствуют вокруг правого пальца показанного на изображении человека, а на правом изображении (фиг.7b) они отсутствуют.
Возвращаясь к фиг.6: в описанном варианте выполнения после вышеуказанной морфологической фильтрации (операция B) карту несоответствий подвергают операции локальной униформизации, обозначаемой C, осуществляемой модулем 62 локальной униформизации.
Во время этой операции C для карты несоответствий применяют вторую фильтрацию. В отличие от фильтрации при операции B эту вторую фильтрацию применяют ко всей карте таким образом, чтобы обеспечить локальную униформизацию карты несоответствий, сохраняя при этом детали на контурах объектов. Так, применяемая фильтрация позволяет, в частности, убрать или размыть небольшие зоны затенения, которые связаны с очень детализированными объектами (например, такими как деревья) и которые приводят к большой временной нестабильности карт несоответствий/глубины, в частности, в случае видеоизображений.
Вторую фильтрацию, применяемую модулем 62, осуществляют следующим образом. Ошибки оценки (outliers) обнаруживают во время полного просмотра изображения несоответствий/глубины. Для каждого пикселя карты рассматривают окрестность V, соответствующую совокупности соседних пикселей vi, содержащихся в блоке с центром в рассматриваемом пикселе. Соседние пиксели vi внутри блока исследуют, чтобы оценить число пикселей блока, имеющих сходное значение, и пикселей, имеющих значение, отличное от значения, связанного с рассматриваемым пикселем p. Блоки рассматриваемых пикселей могут быть, например, квадратами с 7 пикселями на одной стороне, однако пользователь устройства цифровой обработки в соответствии с настоящим изобретением может менять размер блоков в зависимости от типа обрабатываемых изображений.
Понятия сходства и отличия пиксельного значения определяют относительно порогов s1 и s3, чтобы повысить надежность обработки. Так, пиксели vi окрестности V пикселя p считают сходными, если разность между значениями меньше порога s1 (который можно установить, например, равным 10), что соответствует следующему математическому выражению:
1 V 1 и p сходны /p- 1] s1
Точно так же определяют понятие отличия значения относительно порога s3 (который можно установить, например, как 40):
1 V 1 и p отличны /p- 1] s1
Для каждого рассматриваемого пикселя анализируемого блока, если количество сходных пикселей в блоке меньше порога s2 и/или количество отличных пикселей больше порога s4, значит, рассматриваемый пиксель обнаружен как ошибочный пиксель (outlier). Например, можно взять: s2=30% и s4=60%. Значение коррекции для применения к пикселю, идентифицированному как ошибочный (outlier), в этом случае будет значением, полученным медианной фильтрацией на блоке, используемом для обнаружения ошибки.
Применяемую обработку можно выразить следующей формулой:
Если
Пользователь может изменять используемые пороги s1, s2, s3, s4 в зависимости от рассматриваемого изображения или кадра.
На фиг.8a и 8b показан результат применения фильтра локальной униформизации, подобного описанному выше, к карте несоответствий, полученной после применения морфологического фильтра, используемого в вышеуказанном модуле 61 фильтрации. В частности, на фиг.8a показана вся карта несоответствий, из которой получена деталь, показанная на фиг.7b. На фиг.8b показана карта, полученная после применения фильтра локальной униформизации для карты, показанной на фиг.8a.
Если сравнить фиг.8a и 8b, то можно заметить, что белые пятна, присутствовавшие на изображении на фиг.8a, пропали на изображении, показанном на фиг.8b. Таким образом, благодаря фильтрации локальной униформизации, произведенной описанным выше модулем 62 фильтрации, пиксели, геометрически не согласующиеся со своей окрестностью, присутствующие на карте на фиг.8a, были подвергнуты обработке на карте, показанной на фиг.8b.
Наконец, на фиг.9 показана карта несоответствий, показанная на фиг.8b, после обработки заполнения зон затенения в соответствии с настоящим изобретением, осуществленной описанным выше модулем 63 заполнения.
Если сравнить карту на фиг.9 с первоначальной картой, показанной на фиг.3, а также с деталью этой карты, показанной на фиг.4b и полученной после обработки карты при помощи способа заполнения в соответствии с настоящим изобретением, можно отметить, в частности, следующие моменты, касающиеся карты, показанной на фиг.9 и полученной в соответствии с настоящим изобретением:
- она является гораздо более однородной, и
- зоны затенения вокруг персонажа пропали, но вместе с тем сохранились детали, например, вокруг правой руки персонажа.
Класс G06T5/00 Усиление или восстановление изображения из побитового в побитовое изображение для создания подобного изображения
Класс G06T7/00 Анализ изображения, например из побитового к непобитовому изображению