Участник:Amolchanov/Детекция движения

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Список литературы)
(Обзор литературы)
Строка 114: Строка 114:
speed of camera.
speed of camera.
-
In this paper, a neural-network-based approach is used to
+
В '''Гарни''' предложен подход к поиску и подсчету транспортных средств, основанный на использовании нейронных сетей. На первом этапе предложенного метода фоновое изображение восстанавливается из последовательности изображений. Затем, используя текущее и фоновое изображения, применяется операор Собеля для поиска границ движущихся транспортных средств. После этого размер изображения уменьшается и извлекаются признаки для подсчета количества автомобилей. Этот подход, однако, не предоставляет возможность восстановления координат транспортных средств, а также их сопровождения на протяжении видеозаписи.
-
detect and count vehicles. In the first phase of the approach,
+
-
background is automatically extracted from the successive
+
-
images. Using the identified background and the current
+
-
image, a Sobel operator is used to obtain an edge image of the
+
-
moving vehicles. The dimension of the edge image is then
+
-
reduced and features are extracted to be processed by the
+
-
neural network for vehicles counting. Image reduction is
+
-
achieved through the use of Principle Component Analysis
+
-
(PCA) or Wavelet transform. The work attempts to offer some
+
-
contributions in three aspects. The first is solving the typical
+
-
detection problems caused by non-vehicle regions such as
+
-
active shadows. The second is solving the problems cause by
+
-
partial or full occlusions resulting from overlapping vehicle
+
-
images. Finally, the third aspect is providing a complete
+
-
system that could be applicable for real time applications by
+
-
making it simple to design and easy to implement.
+
= Постановка задачи =
= Постановка задачи =

Версия 17:53, 24 апреля 2012

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


Обзор литературы
- Прочитать стаьи
- Описать какая задача решалась, какими основными методами и какие у нее недостатки

Результаты, Выводы

Содержание

Введение

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

Дополнительно исследуется метод объединения треков, восстановленных по видеозаписям, полученных с помощью двух непересекающихся противоположно направленных видеокамер.

Актуальность задачи

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

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

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

Обзор литературы

Vehicle detection is the fundamental phase of highway monitoring. Some of the commonly used approaches for vehicle detection are background subtraction, optical flow techniques, probabilistic methods, neural networks, and fuzzy measure techniques. In the background subtraction techniques, the difference between the current image and the background image is calculated [1]. The resulting image is filtered to extract moving vehicles. Remaining blobs are representing the moving vehicles. However, any noise could be regarded as moving vehicles which leads to error in detection. In addition, results are sensitive to light changes.

In [2], an alternative method based on Gaussian distribution is used to model every pixel of the background. However, this does not solve the problem of sensitivity to light changes. Moreover, this approach tends to require a large number of video frames to generate the background image. Reference [3] proposed a background differencing technique. The technique performs simple subtraction between successive frames. Then, it applies a series of morphological operations including closing and opening to filter out noise and to separate foreground objects from the background. In the detection process, the approach uses a Laplacian filter which produces objects boundaries. Although this technique improves the detection accuracy on the average, it is sensitive to intensity changes and occlusion situations.

Optical flow techniques are used to generate the background from the successive images through following changes in pixels intensity [4]-[6]. In [4], the pixel intensities are modeled using the median model. In [5], the frequency ratios of intensity values are calculated to distinguish moving pixels from stationary ones. The background is modeled from the biggest and frequented intensity values in successive images. This is similar to the median model but it offers improvements in time consumption and memory needed. In [6] self-adaptive background and updating algorithms based on an optical flow are presented. Although optical flow techniques give high detection rates, they need much longer computation time and larger memory allocation.

A number of approaches mainly based on probabilistic and statistical methods have been proposed [7]-[9]. However, due to the absence of an accurate distribution for vehicle models, only approximate probability distributions are used. This leads to high detection errors and make the approach inapplicable for complicated scenes.

Other approaches use explicit and detailed models [10]- [12]. In [10] the detection and counting of cars in aerial images is proposed. The technique needs a very large number of images for cars in different direction with respect to the camera, for different car shapes and colors, and for cars in different orientations. The vehicle detection or recognition is implemented using a tree-like model hierarchy. This process needs a large memory and long processing time. In [11] also, a hierarchical model is used to identify and cluster the image pixels in order to decide whether pixels have a strong probability to belong to a vehicle shape or not. In this case, an extensive computation is needed to detect vehicles without a significant improvement in correct detection rates. In [12] vehicle detection is implemented by finding various characteristic features in images of a monochrome camera. The detection process uses shadow and symmetry features of vehicles to generate vehicle hypothesis. This is beneficial for driver assistance but it is not applicable for vehicles counting especially in typically complicated scenes.

In [13], and [14] neural networks are used for vehicle detection. Although these techniques apparently give good results with high detection rates, the approach used does not seem to be easy to generalize to different scenarios and various scene complexities.

In [15] fuzzy measures are used to detect vehicles. The detection depends on the light intensity. When the light intensity value of a pixel falls in a certain interval, the fuzzy measures are used to decide whether this pixel belongs to a vehicle or to the background. This approach is highly sensitive to light changes in the environment and to the proper choice of the light intensity decision interval.

In [16] the inter-frame difference method is proposed. In this approach, vehicle detection is implemented by processing three successive frames and passing them through a number of logical operations. Vehicle detection using this method is low and it is highly sensitive to both the speed of vehicles and the speed of camera.

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

Постановка задачи

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

Могут существовать некоторые причины, значительно препятствующие восстановлению, например:

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

Поэтому заранее предполагается, что задачу не получится решить идеально точно.

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

Описание исходных данных

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

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

Требуемый результат

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

Выходной файл должен содержать набор записей вида t_i,\; v_j,\; x_{i,j},\; y_{i,j}.

t_i - момент времени, соответствующий отдельному кадру.

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

x_{i,j},\; y_{i,j} - декартовы координаты машины в реальном пространстве.

Решение

Подготовка видеозаписи

При исследовании и разработке метода использовалась тестовая видеозапись в формате MPEG-2.

Для преобразования ее в последовательность BMP-файлов использовалась программа VirtualDub и плагин MPEG-2 / DVD.

Выделение пятен, соответствующих движущимся транспортным средствам

Выделение пятен

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

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

Воспользуемся следующими предположениями. Примерная скорость автомобиля на трассе - 70 километров в час, это около 20 метров в секунду. В видеозаписи на 1 секунду приходится 25 кадров. Таким образом, за один кадр машина сдвигается на расстояние немногим меньше 1 метра. Длина машины - 4,5 метра. В результате, объединение пятен, относящихся к одному транспортному средству на соседних кадрах, не будет существенно отличаться от каждого из этих пятен.

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


Преобразование пятен

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

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

Очевидно, что пятно не должно иметь внутренних полостей, поэтому они закрашиваются.

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


Итоговая последовательность действий

В результате для поиска таких пятен предпринимается следующая последовательность действий:

  • Вычитание двух последовательных кадров
  • Бинаризация с некоторым порогом, подобранным вручную
  • Удаление слишком малых пятен
  • Удаление внутренних полостей в пятнах
  • Морфологическая обработка

Связывание информации о пятнах между кадрами

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

Модели транспортных средств

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

Возможные примеры моделей:

  • Множество экранных координат всех точек одного или нескольких пятен, соответствующих автомобилю
  • Прямоугольная рамка, содержащая в себе пятно
  • Прямоугольная рамка, полностью содержащаяся в пятне
  • Некий промежуточный вариант прямоугольной рамки
  • Координаты центра масс пятна

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


Процесс обнаружения

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

Введем дополнительный параметр для каждого экземпляра модели транспортного средства. Будем понимать под состоянием модели целое число, изначально равное 0. При обработке каждого кадра оно может увеличиться или уменьшиться. Не являясь непосредственным описанием расположения, этот параметр тем не менее влияет на процесс сопровождения модели.

Процесс сопровождения

Рассмотрим, что происходит на этапе сопровождения.

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

Подтверждение модели. Предполагается, что в том месте, где располагается модель на новом кадре должно быть пятно (или несколько пятен, так как из-за препятствия автомобиль может распасться на несколько пятен). Понятно, что пятно скорее всего не будет занимать весь прямоугольник, поэтому модель считается подтвержденной если он заполнен на 40%. В случае, если модель подтверждается, значение параметра состояния модели увеличивается на 1. Если же модель не подтверждена, значение уменьшается на 1. При этом может возникнуть ситуация, при которой это значение становится меньше 0 - в этом случае считается, что транспортное средство навсегда покинуло область видимости и больше не сопровождается.

Корректировка модели. На этом шаге производится обновление позиции и размеров модели в соответствии с пятном, которое имеет больше всего пикселей, попавших в область старой рамки. Отдельно обрабатывается ситуация, при которой процент заполнения рамки пятном после корректировки уменьшается более чем на 10%. Это может означать то, что транспортное средство заезжает за статичную помеху, например растянутый на дороге баннер или знак. В этом случае прямоугольник модели сохраняет размеры, но изменяет позицию в сторону движения транспортного средства.

Преобразование координат

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

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

Зафиксируем прямоугольную систему реальных координат на тестовой видеозаписи. Пусть ось абсцисс проходит у нижнего края кадра перпендикулярно дороге и ориентирована вправо. Ось ординат в свою очередь пусть совпадает с разделительным заграждением между направлениями дороги и ориентирована в сторону от камеры. В качестве единичного отрезка примем 1 метр.



Рассмотрим метод преобразования координат из реальной системы в экранную. Исследовались различные методы - включая матричные преобразования афинных координат, тригонометрические преобразования на основе оптического устройства камеры и функциональные преобразования. В результат был выбран последний подход.

Метод основан на подборе коэффициентов функции f(x) = \frac{a}{x - b} + c. Для получения значений коэффициентов решается система из 3 уравнений, в каждом из которых зафиксированы x и f(x) в определенной точке кадра.

Введем следующие обозначения:

x_r,\; y_r - реальные координаты точки,

x_s,\; y_s - экранные координаты точки,

road_s - ширина дороги, вычисленная в экранных координатах, в месте расположения точки.

Преобразование реальных координат в экранные

Формулы преобразований имеют следующий вид:


y_s(y_r) = \frac{a_1}{y_r - b_1} + c_1,\\
road_s(y_r) = \frac{a_2}{y_r - b_2} + c_2,\\
x_s(x_r, road_s) = x_r * (road_s / roadWidth) + centerPositionX.

Используются следующие заданные для видеозаписи параметры:

roadWidth - ширина дороги в реальных координатах,

centerPositionX - линейный сдвиг в писелях, компенсирующий то, что экранные координаты считаются относительно левого края кадра, а реальные - относительно разделительной полосы.

Преобразование экранных координат в реальные

Формулы обратных преобразований из экранной системы координат, очевидно, имеют следующий вид:


y_r(y_s) = \frac{b_1y + (a_1 - c_1b_1)}{y_s - c_1},\\
road_s(y_r) = \frac{a_2}{y_r - b_2} + c_2,\\
x_r(x_s, road_s) = \frac{x_s - centerPositionX}{road_s / roadWidth}.

Объединение треков, полученных по записям двух видеокамер

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



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

Вначале происходит обработка треков транспортных средств, находящихся на левой половине дороги первой видеокамеры, и, соответственно, правой половине второй. Треки транспортных средств, зафиксированных первой видеокамерой, переносятся в результирующий список. При этом для каждого из них производится попытка найти соответствующий трек в списке, полученном с помощью второй видеокамеры. Считается, что полоса движения не изменилась и автомобиль должен появиться в кадре второй видеокамеры через 50-170 кадров. Если удается найти продолжение трека, оно также переносится в результирующий список, склеиваясь с первой частью, при этом путь под мостом интерполируется. При переносе трека из списка второй видеокамеры, его координаты корректно преобразуются.

Аналогичным образом обрабатывается второе направление движение, а после этого все оставшиеся в исходных списках треки переносятся не склеиваясь.


Результаты

Разработан программный комплекс, преобразующий набор BMP-файлов, представляющих собой кадры видеозаписи в текстовый файл, содержащий треки машин. При этом приблизительно 90% машин, находящихся в кадре опознаются корректно.

Выводы

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

  • Р. Гонсалес, Р. Вудс: Цифровая обработка изображений (2006) [1]
  • Guohui Zhang, Ryan P. Avery, Yinhai Wang: A Video-based Vehicle Detection and Classification System for Real-time Traffic Data Collection Using Uncalibrated Video Cameras (November 2006) [2]
  • Surendra Gupte, Osama Masoud, Robert F.K. Martin, Nikolaos P. Papanikolopoulos: Detection and Classification of Vehicles (March 2002) [3]
  • Saad M. Al-Garni, and Adel A. Abdennour: Intelligent Video-Based Monitoring of Freeway Traffic (March 2006) [4]
  • Elham Dallalzadeh, Guru D.S., Elham Dallalzadeh: Moving Vehicles Extraction in Traffic Videos (December 2011) [5]

[1] S. Gupte, O. Masoud, R. Martin, and N. Papanikolopoulos, “Detection and classification of vehicles,” IEEE Trans. Intelligent Transportation Systems, vol. 3, no. 1, March 2002, pp. 37 – 47. [2] H. Zhiwei, L. Jilin, and L. Peihong, “New method of background update for video-based vehicle detection,” in Proc. 7th Int. IEEE Conf. Intelligent Transportation Systems, Oct. 2004, pp. 580 - 584. [3] R. Rad, and M. Jamzad, “Real time classification and tracking of multiple vehicles in highways,” Pattern Recognition Letters, vol. 26, no. 10, 15 July 2005, pp. 1597-1607. [4] Y. Zhang, P. Shi, , E. Jones, and Q. Zhu, “Robust background image generation and vehicle 3D detection and tracking,” in Proc. 7th Int. IEEE Conf. Intelligent Transportation Systems, 3-6 Oct. 2004, pp. 12 – 16. [5] B. Chen, Y. Lei, and W. Li, “A novel background model for real-time vehicle detection,” in Proc. 7th Int. IEEE Conf. Intelligent Transportation Systems, vol. 2, 31 Aug.- 4 Sept. 2004, pp. 1276 - 1279. [6] X. Ji, Z. Wei, and Y. Feng, “Effective vehicle detection technique for traffic surveillance systems,” Journal of Visual Communication and Image Representation, vol. 17, no. 3, Jun. 2006, pp. 647-658. [7] H. Schneiderman, and T. Kanade, “A statistical method for 3D object detection applied to faces and cars,” IEEE Conf. Computer Vision and Pattern Recognition, vol.1, 13-15 June 2000, pp. 746 - 751. [8] T. Zhao, and R. Nevatia, “Car detection in low resolution aerial image,” Image and Vision Computing, vol. 21, 18 march 2003, pp. 693 – 703. [9] A. Rajagopalan, P. Burlina, and R. Chellappa, “Higher order statistical learning for vehicle detection in images,” in Proc. 7th Int. IEEE Conf. Computer Vision, vol. 2, 20-27 Sept. 1999, pp. 1204 -1209. [10] S. Hinz, “Detection and counting of cars in aerial images,” in Proc. Int. Conf. Image Processing, vol. 3, 14-17 Sept. 2003, pp. 997-1000. [11] R. Ruskone, L. Guigues, S. Airault, and O. Jamet, “Vehicle detection on aerial images: a structural approach,” in Proc. 13th Int. IEEE Conf. Pattern Recognition, vol. 3, 25-29 Aug. 1996, pp. 900 - 904. [12] C. Hoffman, T. Dang, and C. Stiller, “Vehicle detection fusing 2D visual features,” in Proc. IEEE Intelligent Vehicles Symposium, 14-17 June 2004, pp. 280 – 285. [13] S. Mantri, and D. Bullock,“A neural network based vehicle detection and tracking system,” in Proc. 27th Southeastern Symposium on System Theory, 12-14 March 1995, pp. 279 – 283. [14] D. Ha, J. Lee, and Y. Kim, “Neural-edge-based vehicle detection and traffic parameter extraction,” Image and vision computing, vol. 22, 2004, pp. 899-907. [15] Z. Liu, X. Li, and X. Leung, “Fuzzy measures for vehicle detection,” The 10th IEEE Int. Conf. Fuzzy Systems, vol. 2, 2-5 Dec. 2001, pp. 848 – 851. [16] R. Flores, “Evaluation of the use of high-resolution satellite imagery in transportation applications,” final report prepared for northland advanced transportation systems research laboratories, Dept. Electrical and Computer Eng., Univ. Duluth, March 2004, pp. 10-50.