Использование контурных линий при поиске посторонних объектов на полутоновом изображении

Автор: Диязитдинов Ринат Радмирович

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Новые информационные технологии

Статья в выпуске: 3 т.8, 2010 года.

Бесплатный доступ

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

Полутоновые изображения, фон, посторонний объект, контурные линии, изображение-маска

Короткий адрес: https://sciup.org/140191420

IDR: 140191420

Текст обзорной статьи Использование контурных линий при поиске посторонних объектов на полутоновом изображении

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

В настоящее время продолжается разработка методов, позволяющих определять местоположение посторонних объектов. Среди наиболее известных и детально описанных методов можно выделить: MOG (mixture of Gaussians), Kernel, Averaging Background, Codebook. Все без исключения методы проводят анализ по разностным изображениям, которые представляют собой разность анализируемого кадра видеопоследовательности и модели опорного (или фонового) кадра.

При анализе разностного изображения в перечисленных методах предполагается, что видеоизображение является цветным. Однако в большинстве случаев это не так. Как правило, в системах видеонаблюдения предпочтение отдается видеокамерам с черно-белыми устройствами обработки видеосигналов. Это объясняется меньшей ценой, высокой надежностью и большим сроком службы по сравнению с цветными видеокамерами. Так как при переходе от цветного изображения к черно-белому (полутоновому) теряется информация о цвете, соответственно, падает и достоверность результатов анализа. Исследователи и инженеры модифицируют алгоритмы, в которых оцениваются дополнительные параметры, например, проводят анализ по плотности вероятности отдельных участков изображения, информации о градиентах, среднем смещении (mean-shift) и сегментах изображения. Существуют и более экзотические способы, когда по последовательности кадров проводится анализ возможных ситуаций дальнейшего развития событий. В данной статье в качестве источника дополнительной информации предлагается использовать контурные линии, содержащиеся на изображении. Данная модификация не предъявляет высоких требований к быстродействию процессора и может быть использована в системах реального времени.

Классический алгоритм поиска

Для начала рассмотрим классический алгоритм поиска посторонних объектов на изображении [1]. Несмотря на то, что он не используется на практике, он описывает принципы, по которому строятся все подобные алгоритмы.

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

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

Р^у ) =| О^х; у ) - А^х;у) |, где Р^;у) – яркость пикселя с координатами Cvv) разностного изображения; САх; у – яркость пикселя опорного изображения; А(х;у) – яркость пикселя анализируемого изображения. Местоположение постороннего объекта определяется согласно алгоритму, представленному ниже.

  • 1.    Пропустить разностное изображение Р(х;у) через медианный фильтр (либо любой другой стандартный фильтр, позволяющий уменьшить уровень шумов). В результате получается изображение .

  • 2.    Разбить PmU’.v) на области N × M пикселей и высчитать среднее значение яркости внутри этой области:

  • 3.    Сравнить тк с порогом е| : если тк >  -I , то эта область является частью постороннего объекта, если тк < е1 , то это часть фона.

N М У^рмАх;у^

к N-М где тк – среднее значение k-ой области; РМк – яркость пикселя с координатами (x; y) k-ой области.

Рассмотрим модификацию этого метода. Она связана с выделением контурных линий на изображении. Для проведения этой операции используем метод Робертса. Работает он с двумерной апертурой 2×2 следующего вида:

А

С

Новое значение яркости в точке А рассчитывается по формуле

А'= \А-О\+\В-С\= ^А-ОУ +(в-су .

Алгоритм выделения постороннего объекта по контурным линиям представлен ниже.

  • 1.    Пропустить разностное изображение Р(х;у) через медианный фильтр (либо любой другой стандартный фильтр, позволяющий уменьшить уровень шумов). В результате получается изображение         .

  • 2.    Пропустить изображение рм(х;у^ через фильтр Робертса. В результате получается изображение          .

  • 3.    Разбить Rob Р(х; у) на области N × M пикселей и высчитать энергию по формуле:

  • 4.    Сравнить еРк с порогом е3 : если еРк <    ,

N М

ерк =У/£КоЬрЛх;уУ ’

Х=1 1=1

где 6" р к – энергия контурных линий k -ой области; RobpAx.y) – яркость пикселя с координатами W k -ой области.

то эта область является частью постороннего объекта, если еРк> £2, то это часть фона.

Как можно видеть в обоих алгоритмах, мы не оговариваем размеры областей N × M пикселей, а также пороговые значения £, И £п . С этой целью были проведены опыты, чтобы определить рекомендации по выбору конкретных значений этих величин. Результаты (полученные по исследованиям 11 различных видеопоследовательностей с размерами 320×240 пикселей) представлены в таблице 1.

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

Таблица 1. Рекомендации по выбору размеров областей и пороговых значений £, И 8^

N*M, пиксель2

е1, пиксель

8^ , пиксель2

2x2

70...100

900... 1600

4x4

3600...6400

5x5

5600... 10000

8x8

14400...25600

10x10

22500...40000

Пусть М(х;у) – изображение-маска, Р – параметр, определяющий минимально возможный периметр контура.

  • 1.    Над М^х;у^ провести морфологическую операцию – open. В результате получается изображение М0^х;у\

  • 2.    Над М0У<;у^ провести морфологическую операцию – close. В результате получается изображение мДх;уУ

  • 3.    Над мс (х; v) проведем бинаризацию по порогу яркости, равному 128 (при условии, что яркость изменяется в пределах [0; 255]). В результате получается изображение .

  • 4.    Для м В ^х; у) находим все контуры. Удаляем те контуры, периметр которых меньше Р . Оставшиеся контуры заливаем либо белым цветом, либо черным, в зависимости от их принадлежности к контурам или так называемым «дыркам».

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

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

Рис. 1. Исходные изображения-маски (слева) и после «чистки» от шумов (справа)

г)

д)

Рис. 2. Опорный кадр (а), анализируемый кадр (б), разностное изображение (в), результат работы немодифицированного алгоритма (г) и алгоритма с модификацией (д)

Рис. 3. Опорный кадр (а), анализируемый кадр (б), разностное изображение (в), результат работы немодифицированного алгоритма (г) и алгоритма с модификацией (д)

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

Алгоритм Averaging Background

Первоначально на вход системы подается обучающая последовательность кадров. При переходе от кадра к кадру значение яркости пикселя меняется (см. рис. 4), то есть представляет слу- чайную величину, которая характеризуется своим математическим ожиданием т(х;у) и дисперсией D^x.y). По этому принципу строится описание модели опорного изображения [3].

Алгоритм будет выглядеть следующим образом.

  • 1.    Для каждого пикселя фона определяется математическое ожидание т(х; у) (используя значения т^х; у) формируем усредненное изображение – оно понадобится для модифицированного алгоритма) и дисперсия D

    Рис. 4. Зависимость яркости пикселя от номера кадра


  • 2.    Если на анализируемом изображении яркость пикселя принадлежит отрезку [/77(v; уУр^х, у): Цх; У )+ pYD(x,yY ’ то он является частью фона, если же выходит за пределы этого отрезка – то частью постороннего объекта. Значение переменной р выбирается опытным путем.

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

  • 1.    Используя два соседних кадра из обучающей выборки, получить разностное изображение.

  • 2.    Пропустить разностное изображение через медианный фильтр,затем через фильтр Робертса.

  • 3.    Разбить кадр на области N × M пикселей и рассчитать энергию для каждой области.

  • 4.    Повторить первые 3 шага для всех соседних пар обучающих кадров.

  • 5.    Для каждой k -ой области определить математическое ожидание тАх;у^ и дисперсию DekA;yY

  • 6.    Используя усредненное и анализируемое изображения, формируем разностное изображение, пропускаем его через медианный фильтр и фильтр Робертса.

  • 7.    Делим изображение на области N × M пикселей и рассчитываем энергию области.

  • 8.    Если энергия области лежит в пределах отрезка

Примеры работы алгоритма представлены на рис. 5.

По сравнению с классическим подходом мы видим заметное улучшение. Теперь на изображении-маске отмечены только те области, которые действительно содержат посторонние объекты.

Заключение

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

Список литературы Использование контурных линий при поиске посторонних объектов на полутоновом изображении

  • Васин Н.Н., Баранов А.М. Обработка видеосигналов для идентификации объектов на железнодорожном переезде//Компьютерная оптика. Вып. 28, 2005. -С. 152-155.
  • Bradski G., Kaehler A. Learning OpenCV: Computer Vision with the OpenCV Library. 2008. -P. 287-292.
  • Bradski G., Kaehler A. Learning OpenCV: Computer Vision with the OpenCV Library. 2008. -P. 271-278.
Статья обзорная