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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Дневник исследователя)
Строка 36: Строка 36:
=== Подготовка видеозаписи ===
=== Подготовка видеозаписи ===
-
Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Задача была решена вручную с использованием программы VirtualDub и соответствующих кодеков.
+
Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Предполагается решение задачи вручную с использованием программы VirtualDub и соответствующих кодеков. В частности, для подготовки тестовой видеозаписи использовался кодек [http://fcchandler.home.comcast.net/~fcchandler/Plugins/MPEG2/ MPEG-2 / DVD] (by fcchandler).
=== Выделение перемещающихся пятен на кадрах ===
=== Выделение перемещающихся пятен на кадрах ===
-
Выделение машин на видеозаписи опирается на следующую гипотезу: если рассмотреть 2 последовательных кадра, то на более-менее значимое расстояние передвинутся лишь машины, а следовательно лишь пиксели, соответствующие автомобилям изменят цвет. Для поиска таких пятен предпринимается следующая последовательность действий:
+
Для обработки траекторий машин нам необходимо обнаруживать их. Выделение машин на кадре опирается на следующую гипотезу.
 +
'''Гипотеза.''' Если взять разность двух последовательных кадров, то значение в точке кадра будет тем больше, чем выше вероятность того, что в этом месте была машина (на обоих кадрах).
 +
'''Обоснование.''' Приблизительная скорость автомобиля на трассе - 60 км/ч = . В видеозаписи на 1 секунду приходится 25 кадров. Если рассмотреть 2 последовательных кадра, то на более-менее значимое расстояние передвинутся лишь машины, а следовательно лишь пиксели, соответствующие автомобилям изменят цвет. Для поиска таких пятен предпринимается следующая последовательность действий:
* Вычитание предыдущего кадра из текущего
* Вычитание предыдущего кадра из текущего
* Бинаризация с некоторым порогом
* Бинаризация с некоторым порогом

Версия 08:09, 18 мая 2010

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


Содержание

Дневник исследователя

Оформил покадровую обработку как отдельный класс, отвечающий за фильтрацию. Также добавил морфологию. После добавления, изображение, как и ожидалось слегка сгладилось, дырки пропали. В ближайших планах обнаружение объектов с помощью стропов. --amolchanov 23:54, 27 апреля 2010 (MSD)

Более подробно описал работу над проектом здесь. Сейчас думаю, какую структуру данных лучше выбрать для хранения информации о пятнах и треках. --amolchanov 16:36, 10 мая 2010 (MSD)

Предпосылки

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

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

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

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

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

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

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

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

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

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

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

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

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

Этапы решения задачи

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

Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Предполагается решение задачи вручную с использованием программы VirtualDub и соответствующих кодеков. В частности, для подготовки тестовой видеозаписи использовался кодек MPEG-2 / DVD (by fcchandler).

Выделение перемещающихся пятен на кадрах

Для обработки траекторий машин нам необходимо обнаруживать их. Выделение машин на кадре опирается на следующую гипотезу. Гипотеза. Если взять разность двух последовательных кадров, то значение в точке кадра будет тем больше, чем выше вероятность того, что в этом месте была машина (на обоих кадрах). Обоснование. Приблизительная скорость автомобиля на трассе - 60 км/ч = . В видеозаписи на 1 секунду приходится 25 кадров. Если рассмотреть 2 последовательных кадра, то на более-менее значимое расстояние передвинутся лишь машины, а следовательно лишь пиксели, соответствующие автомобилям изменят цвет. Для поиска таких пятен предпринимается следующая последовательность действий:

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

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

Находится на этапе решения.

Текущие результаты

Из предложенной видеозаписи выделяются машины с высокой степенью четкости.

Ссылки на файлы

Файлы отправил на почту, так как здесь файлы не выкладываются.

Ссылки на литературу

  • Р. Гонсалес, Р. Вудс, «Цифровая обработка изображений» (на OZON.ru)
  • Шани Растопман (?)
Личные инструменты