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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Подготовка вилеозаписи)
Строка 32: Строка 32:
== Этапы решения задачи ==
== Этапы решения задачи ==
-
=== Подготовка вилеозаписи ===
+
=== Подготовка видеозаписи ===
Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Задача была решена вручную с использованием программы VirtualDub и соответствующих кодеков.
Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Задача была решена вручную с использованием программы VirtualDub и соответствующих кодеков.

Версия 12:34, 10 мая 2010

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


Содержание

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

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

Предпосылки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Задача была решена вручную с использованием программы VirtualDub и соответствующих кодеков.

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

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

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

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

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

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

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

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

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

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

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