Перейти к основному содержанию
ИТарктика
УДК 004.02
Быков Юрий Вячеславович
студент, кафедра Конструирования и технологии радиоэлектронных средств, Арзамасский политехнический институт (филиал) федерального государственного бюджетного образовательного учреждения
высшего образования «Нижегородский государственный технический университет им. Р.Е. Алексеева»
Алгоритм предварительного сжатия видеопотока трекера «predator»
Аннотация:

В статье анализируются особенности бинаризации изображений, главное внимание уделено локальной и глобальной бинаризации, особенно методу Кристиана. Предлагаемый метод нормализует контраст и шум изображения. Рассмотрен алгоритм обработки изображения перед дальнейшим распознаванием объектов.

Ключевые слова: компьютерное зрение, градации серого, бинаризация, трекер, Predator..

Введение

В свете решения задачи повышения производительности труда потребность в автоматизации при решении сложных вопросов обработки изображений растёт с каждым днём [1]. Человек получает 80% информации об окружающем мире с помощью органов зрения. Следовательно, при самостоятельном решении любой задачи все исходные данные, необходимые для дальнейшей обработки, он получает, полагаясь на своё зрение. Исходя из этого, для обеспечения высокого уровня автоматизации решения задач, которые могут возникать в современной промышленности, медицине, ракетостроении и др., необходимо минимизировать человеческое вмешательство в процесс принятия решения. Для этого нужно, в первую очередь, «научить» электронно-вычислительную машину (далее ЭВМ) верно извлекать визуальные данные [2].

Это значит, что при получении изображений окружающего мира ЭВМ должна верно определить множество объектов, присутствующих на изображении, и верно классифицировать их. То есть первым этапом решения задачи без вмешательства человека будет не просто определение всех объектов, присутствующих на изображении, а их классификация по определённым признакам (например, объект типа «человек» можно классифицировать по признаку пола, цвета волос, и т.д.).

Классификация полученных данных важна для повышения точности решения поставленных задач, если признаков будет достаточно для выявления входных параметров.

В качестве примера важности классификации объектов можно привести задачу, которая возникает на этапе сборки печатных плат: существует вероятность попадания в подготовленную выборку конденсаторов ряда бракованных электро- радио- элементов (далее ЭРЭ), которые и нужно идентифицировать. Если эту задачу решает человек, то он определяет бракованный конденсатор по геометрическому признаку, в частности вздутости корпуса конденсатора. Поэтому задачу можно решить, применяя несколько уровней классификации (этапов).

На первом этапе полученное изображение должно быть разбито на объекты (без какой-либо классификации), на выходе этого этапа будет множество зарегистрированных объектов. После получения зарегистрированного множества ЭВМ уже может работать не с изображением, а с массивом полученных объектов, переходя к первому этапу классификации. На этом этапе классификации зарегистрированное множество можно разбить на две глобальные выборки: тары, в которых располагаются ЭРЭ и сами радиоэлементы.

На втором этапе, учитывая требования задачи, можно исключить все элементы, зарегистрированные как тара (они не нужны для дальнейшей работы), и классифицировать только множество радиоэлементов. Для данного этапа всю выборку ЭРЭ можно разделить на множество конденсаторов и неконденсаторов (для более реальных задач потребуется намного более точная классификация).

На третьем этапе конденсаторы можно разделить на два класса: «вздутые» (с искажённой формой) и нормальной исходной формы. Нас интересует множество «вздутых» конденсаторов, именно оно и будет решением поставленной задачи.

Вышеприведённая задача идеализирована, и алгоритм её решения изображён условно, но она показывает важность классификации для решения реальных, более сложных производственных задач.

Задачи классификации, определении объектов, трекинга объектов в видеопотоке и др. решаются с применением компьютерного зрения. Это очень перспективная область, достижения в которой применяются в современной высокотехнологичной промышленности, медицине, военной промышленности, спорт – индустрии, создании дронов и др [3].

На основе компьютерного зрения создаётся программный модуль «Predator» [3]. Это программный трекер, который позволяет следить за нужным объектом в режиме реального времени, используя веб-камеру. Используемая аппаратная часть при этом является главным плюсом с экономической точки зрения (относительно низкая стоимость веб-камеры) и источником дополнительных сложностей при разработке алгоритма детектирования объекта (низкое качество изображения).

В настоящее время наиболее точно решают задачи слежения за объектом и извлечения его параметров в ходе слежения следующие разработчики:

- компания Tobii, разработчик способа управления игрой с помощью глаз. Их алгоритм работает с использованием аппаратного айтрекера, стоимость которого порядка 250000 рублей.

- SteelSeries Sentry Eye Tracker. Данная технология позволяет дополнить привычные средства ввода и манипуляции. Аппаратная часть – айтрекер, имеет стоимость около 20000 рублей.

Учитывая, что у большинства пользователей персональных компьютеров уже есть веб-камера для общения, проведения видеоконференций и др., то себестоимость аппаратной части программного модуля будет минимальна.

«Predator» для обработки поступающих данных в своём алгоритме использует свёрточную нейронную сеть. Алгоритм работы такой сети приближён к алгоритму работы естественного – природного зрения. Она работает с характерными признаками, которые свидетельствуют о том, что данный объект – это один из объектов, который её научили определять. Укрупнённый алгоритм работы модуля «Predator» показан на рисунке 1.

лор

Рис. 1. Укрупнённый алгоритм работы программного модуля «Predator»

В рамках данной статьи описывается способ решения задачи обработки изображения перед его поступлением в свёрточную нейронную сеть.

Алгоритм работы такой сети является ресурсоёмким. При работе с видеопотоком требуется обеспечить достаточно высокую частоту смены кадров выходного изображения (как минимум 30 кадров в секунду). Значит, предварительная обработка каждого кадра является очень важной задачей при классификации объектов видеоданных.

Обработка заключается в сжатии изображения, то есть уменьшении количества информации, которое будет занимать это изображение. Основным критерием сжатия является коэффициент сжатия – отношение выходного объёма, занимаемой информации, к входному и величина информационных потерь [4].

Каждый алгоритм сжатия влечёт за собой определённые информационные потери (пример: перевод изображения в градации серого приводит к потере всех цветовых характеристик изображения). Не существует универсального алгоритма, подходящего для решения любой задачи компьютерного зрения (и не только компьютерного зрения). Для определённых прикладных программ будет достаточно «пожертвовать» цветом изображения, но оставить без изменений все присутствующие объекты, от других программ может потребоваться выделение только больших объектов (маленьких) и т.д. Учесть все эти требования и допуски можно, используя алгоритмы цифровой обработки сигнала [5].

Сигнал формата RGB

Сигнал – это изменение физической величины (носителя сигнала) в течении времени. Все сигналы делятся на две большие группы: аналоговые и цифровые.

Аналоговые – это сигналы величина которых может меняться в широких пределах в течении времени. Если наблюдать видеокамерой множество объектов, то свет, отражённый от этих объектов будет аналоговым сигналом для камеры. Он будет иметь широкий диапазон значений, от которых зависят цвета, контраст, яркость и др. параметры.

С развитием полупроводниковых технологий появились высокоразрядные аналого-цифровые преобразователи (далее АЦП), которые позволяют получить из аналогового сигнала цифровой. Цифровой сигнал – это совокупность двоичных слов, количество разрядов в слове зависит от разрядности АЦП [3]. Цифровая обработка применяется не только при работе с изображениями, так же обрабатывается звук, видео, почти любая современная электроника работает с сигналом в цифровой форме. Каждое изображение обрабатывается АЦП с 8–ми битной разрядностью, а звуковой сигнал с 12–ти битной.

Такая форма кодирования сигнала более приемлема для работы высокоточной техники. Перевод сигнала из аналоговой формы в цифровую можно считать первым этапом подготовки изображения окружающей среды для дальнейшей цифровой обработки.

При обработке изображения существует несколько способов кодирования. Каждое изображение делится на свои мельчайшие составляющие – пиксели. Каждый пиксель кодируется в соответствии с выбранным способом кодирования.

Рассмотрим один из методов – RGB кодирование. Он заключается в том, что каждый пиксель имеет три канала кодирования (три составляющих). Каждый канал несёт в себе информацию об уровне определённого цвета, который содержится в пикселе: Rred (красный), G green (зелёный), B blue (синий). Канал кодируется вышеописанным способом и может иметь одно из 256 значений.

Так как каждый пиксель имеет три канала кодирования, то один пиксель занимает 24 бита информации, может иметь 256х256х256 уровней цвета. Если каждый бит слова равен нулю, то пиксель имеет чёрный цвет, а если каждый бит равен 1, то пиксель имеет белый цвет.

Изображения в градациях серого

Выше было показано, что каждый пиксель в кадре кодирован 24 битами информации. В масштабах одного пикселя это приемлемый объём, но на свёрточную нейронную сеть будет поступать не один пиксель.

Если придерживаться примера, заданного для лучшего понимания алгоритма на рисунке 1, то каждую секунду нейронной сети придётся обрабатывать 30 кадров, каждый из которых несёт в себе 10000 пикселей. Это значит, что каждую секунду в сеть будет загружаться 7200000 бит информации.

Полученный объём данных окажет существенное влияние на быстродействие сети и требуемая частота смены кадров классифицированного видеопотока будет существенно ниже 30 кадров в секунду.

Для решаемой задачи приоритет имеет координатная составляющая объектов, найденных на кадре. Цвет несёт в себе лишнюю информационную нагрузку для вычислительной машины. Способ сжатия изображения, относительно цвета, без каких-либо потерь в качестве – перевод изображения в градации серого [7].

Это значит, что 3 канала, несущие в себе информацию в формате 8-ми битного двоичного слова, сводятся в один канал. То есть объём данных, занимаемых каждым пикселем, уменьшается в 3 раза, как и объём данных каждого кадра и всего видеопотока в целом.

Перевод в градации серого можно осуществлять несколькими способами. Один из них – это «отбрасывание» информации, которую несут в себе два канала и передача для дальнейшей обработки двоичных слов с третьего. Способ хорош тем, что не требует вычислений, а, значит, затрачиваемая мощность будет минимальна, но в определённых случаях, когда преобладает уровень цвета по одному из каналов, возможны некоторые потери.

Выбранный метод получен эмпирически. Выходное значение уровня яркости пикселя будет суммироваться из уровней на трёх входных каналах в определённом отношении, а именно: 29,9% красного, 58,7% зелёного, 11,4% синего.

В результате применения описанного сжатия каждый пиксель будет занимать 8 бит или 256 оттенков одного цвета, традиционно изображаются оттенки серого (отсюда название метода сжатия – переход к градациям серого). Следовательно, каждый кадр, в соответствии с текущим примером, будет занимать 80000 бит, а нейронная сеть будет обрабатывать 2400000 бит в секунду.

Бинаризация изображения

Переход к градациям серого - это первый этап сжатия при решении большинства задач, связанных с компьютерным зрением. При любой классификации (если это не классификация по цвету) нужно определить объект, его координатное положение и множества к которым он относится. Всё это можно эффективно выполнить, имея изображение в градациях серого.

Для обеспечения необходимого и достаточного уровня сжатия кадра перед его поступлением на вход свёрточной нейронной сети нужно использовать бинаризацию изображения.

Бинаризация – это ещё один этап сжатия, она позволяет уменьшить информационный объём, занимаемый каждым пикселем, в 8 раз (учитывая, что пиксель в формате градаций серого). Следовательно, весь блок сжатия поступающих данных (совокупность перехода к градациям серого и бинаризации изображения) будет уменьшать количество поступаемой на сеть информации в 24 раза.

Сама по себе бинаризация - это один из методов классификации. Он классифицирует всё изображение на две группы пикселей: принадлежащие объектам и пиксели принадлежащие фону. Так как классов всего два, то состояний у каждого пикселя может быть только два (0 или 1 – бинарный пиксель), отсюда название метода – метод бинаризации изображения.

Метод заключается в сравнении яркости каждого пикселя с определённым пороговым уровнем, в результате сравнения программой будет сделан вывод о принадлежности пикселя множеству пикселей объектов или множеству пикселей фона, что отражено формулой:

дло

где ло - значение яркости пикселя после процедуры бинаризации, ло - начальное значение уровня яркости пикселя, лгор - пороговый уровень сравнения.

Основная сложность при использовании процедуры (1) сводится к выбору порогового уровня Т. Для обоснованного выбора существует ряд алгоритмов, вычисляющих пороговое значение с использованием элементов статистики.

Процедура бинаризации делится на две большие группы: глобальная и адаптивная.

При использовании глобальной бинаризации пороговый уровень является неизменной величиной на всём изображении. Эта группа применима для узкого множества задач. Для того чтобы принять решение о пороговом уровне, с которым будет сравниваться каждый пиксель на изображении, очень удобно использовать гистограммы. Гистограмма – это распределение яркостей пикселей относительно их числа.

Для наглядности метода рассмотрим пример задачи, которую можно решить с использованием метода глобальной бинаризации. Формулировка задачи: Автоматизировать способ выделения белковых структур на изображении клеток крови. Пример обрабатываемого изображения, его гистограмма и результат применения метода глобальной бинаризации представлены на рисунке 2.

зд

На гистограмме входного изображения отчётливо видно три всплеска. Всплеск с самым минимальным количеством пикселей показывает искомые белковые структуры, значит два других можно принять за множество фона. На рисунке 2 не показан промежуточный переход изображения к градациям серого, но он подразумевается. Пороговый уровень можно выбрать, анализируя гистограмму, или вычислив среднее арифметическое между максимальным и минимальным пиковым значением яркости, это не приведёт к ошибке. В результате для решения задачи было выбрано пороговое значение 100, белый цвет фона и чёрный для пикселей (значения цвета можно варьировать в зависимости от большей наглядности результата).

Описанный пример относится к идеальному – на гистограмме присутствуют всего три всплеска, несложно определить всплеск, относящийся к искомому объекту. Более реальные изображения не такие точные, на них присутствует зашумлённость, они не такие контрастные: степень освещения в разных областях не одинакова. Гистограммы реальных изображений имеют намного больше всплесков, и для них не подходит метод глобальной бинаризации, что видно из рисунка 3, где бинаризации подвергнуто тестовое изображение «Лена».[6]

ол

Рис. 3. Тестовое изображение «Лена» (слева) и его глобальная бинаризация (справа)

Применение статичного порогового уровня на реальных изображениях не принесёт положительного результата, и величина ошибочной классификации будет высока. Это значит, что пороговый уровень для реальных изображений будет являться динамическим параметром – это характерно для адаптивного метода бинаризации.

Существует несколько алгоритмов адаптивной бинаризации, общим для них является то, что изображение делится на некоторое количество окон (чем больше окон, тем выше точность классификации), для каждого окна вычисляется свой пороговый уровень в соответствии с выбранным алгоритмом.

Не существует универсального алгоритма бинаризации, выбор нужно осуществлять в соответствии со спецификой решаемой задачи. Для модуля «Predator», выбран алгоритм адаптивной бинаризации Кристиана. Этот метод позволяет нормализовать контраст и шум на изображении, которые могут присутствовать на низкокачественном изображении, поступающем с веб-камеры [6].

Вычисление порогового уровня по методу Кристиана ведётся с использованием теории вероятностей и элементов статистики. Основная формула, для вычисления порогового уровня, имеет вид:

зщ

где: M – минимальное значение на всём изображении; R – максимальное среднеквадратичное отклонение (по генеральной совокупности); m – среднее отклонение выборки; S – стандартное отклонение выборки.

Для вычисления значений R, m, S используются следующие математические формулы:

дл

где жд - уровень яркости текущего пикселя,  лдо - средняя яркость всех пикселей выборки, n – количество пикселей в выборке.

Формулы S и R одинаковы, но относятся они к разным выборкам. R вычисляется для всего изображения, а S только для текущего окна.

Описанный способ обеспечивает достаточный уровень сжатия каждого кадра и минимальные потери важных для детектирования объекта признаков.

Заключение

  1. Поставлена задача определения оптимального уровня сжатия изображения, которое будет достаточно для дальнейшей обработки свёрточной нейронной сетью.
  2. Описан способ решения поставленной задачи – создание блока предварительного сжатия. Блок реализован на основе последовательных методов: метода перевода изображения в градации серого и метода адаптивной бинаризации алгоритмом Кристиана.
  3. Полученные результаты обеспечивают достаточный уровень сжатия и миним
  4. Реальные потери важных объектов для дальнейшей обработки нейронной сетью.

Список литературы

  1. Общая схема алгоритмов распознавания [Текст] / Конушин, А. [и др.],  – Москва : МГУ ВМК, 2008.
  2. Чуриков, А. Ю. Метод адаптивной бинаризации в реальном времени изображений со слабой контрастностью [Текст] / А. Ю. Чуриков // Вестник Балтийского федерального университета им. И. Канта. Серия: Физико–математические и технические науки.  – 2010. – №10. – С.74–78.
  3. Лукьяница, А. А.  Цифровая обработка видеоизображений [Текст] / А. А. Лукьяница, А. Г. Шишкин – Москва : «Ай Эс–Эс Пресс»,2009. – 518 с.
  4. Визильтер, Ю. В. Обработка и анализ изображений в задачах машинного зрения [Текст] / Ю. В. Визильтер, С. Ю. Желтов, А. В. Бондаренко. – Москва : Физматкнига, 2010. – 410 с.
  5. Молчанова, В. С. Адаптивный пороговый метод бинаризации растровых изображений технических чертежей [Текст] / В. С. Молчанова // Радиоэлектроника, информатика, управление. – 2015. – №2 (33).  – С.62–70
  6. Гарсия, Г. Б. Обработка изображений с помощью OpenCV [Текст] / Г. Б. Гарсия. – Москва :  Изд.во  «ДМК Пресс», 2016. – 210 с.

References

1. General scheme of recognition algorithms [Text] / Konushin, A. [et al.], – Moscow : Moscow state University, 2008.

2. Churikov, A. Y. an adaptive Method for binarization of real–time images with weak contrast [Text] / A. Churikov, Y. // Bulletin of Baltic Federal University. I. Kanta. Series: Physical, mathematical and technical Sciences. – 2010. – No. 10. – P. 74–78.

3. Lukianitsa, A. A. Digital processing of video images [Text] / A. A. Lukianitsa, A. G. Shishkin – Moscow : "ay, es–es Press",2009. – 518 p.

4. Vizilter, Y. V. Processing and analysis of images in computer vision [Text] / Y. V. Vizilter, Zheltov, A. V. Bondarenko. – Moscow: Fizmatkniga, 2010. – 410 p.

5. Molchanova, V. S. Adaptive threshold method of binarization of raster images of technical drawings [Text] / V. S. Molchanova / / Radioelectronics, Informatics, control. – 2015. – No. 2 (33). – P. 62–70

6. Garcia, G. B. image Processing using OpenCV [Text] / G. B. Garcia. – Moscow: Ed.in "DMK Press", 2016. – 210 p.