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

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
{{Tip|На странице изложена примерная структура будущей статьи посвященной исследованию задачи детекции движения транспортных средств в видеоданных студентом [[Участник:Amolchanov|Андреем Молчановым]] в рамках работы над дипломом}}
{{Tip|На странице изложена примерная структура будущей статьи посвященной исследованию задачи детекции движения транспортных средств в видеоданных студентом [[Участник:Amolchanov|Андреем Молчановым]] в рамках работы над дипломом}}
 +
== Дневник исследователя ==
== Дневник исследователя ==
Оформил покадровую обработку как отдельный класс, отвечающий за фильтрацию.
Оформил покадровую обработку как отдельный класс, отвечающий за фильтрацию.
Строка 6: Строка 7:
== Предпосылки ==
== Предпосылки ==
-
Изначально мы хотим сделать систему тестирования макетов дорог для того чтобы узнавать где и когда будут образовываться пробки.
+
При исследовании некоторых задач, связанных с анализом поведения автомобильного потока, возникает необходимость получения экспериментальных данных.
-
Для этого нам нужно наполнять дорогу водителями.
+
 
-
Водители бывают разных классов: "лихач", "ученик", "тормоз" и так далее. Поэтому нам нужно где-то достать эти самые классы. Например, проанализировав реальных водителей.
+
Примером такой задачей может быть построение модели движения автомобилей по еще не построенной трассе с целью определения вероятности возникновения пробок. Для анализа такой модели необходимо будет наполнить ее объектами-машинами, которые будут передвигаться по определенным правилам. Для того, чтобы модель как можно больше соответствовала реальности, правила, по которым будут передвигаться машины, должны основываться на данных о передвижении машин, полученных с действующих дорог.
-
А для того чтобы их проанализировать нам нужны треки машин. Вот тут то и появляется наша задача - восстановить треки машин по видеозаписи трассы.
+
 
 +
Существует несколько методов получения таких данных. Например, могут использоваться специальные устройства, устанавливаемые в сам автомобиль и снимающие данные с его систем управления.
 +
 
 +
В моей работе изучается другой подход — восстановление данных по видеозаписи определенного участка трассы.
== Постановка задачи ==
== Постановка задачи ==
-
Восстановление треков машин по видеозаписи трассы.
+
Используя видеозапись участка дороги восстановить треки машин, проезжающих по этому участку. Под треком понимается соответствие временным точкам позиции машины в реальном пространстве.
 +
 
 +
Так как данные будут использоваться лишь в отдельно проводимых далее экспериментах, задача восстановления в режиме реального времени не ставится.
== Описание исходных данных ==
== Описание исходных данных ==
-
Видео, содержащее запись трассы с моста.
+
Анализируемая видеозапись участка дороги. На данном этапе решения задачи, под видеозаписью понимается последовательность BMP-файлов, находящихся в одной директории. Это сделано дл того, чтобы избежать технических сложностей, связанных с обработкой видео-файлов, закодированных с помощью различных кодеков.
 +
 
 +
Кроме видеозаписи может использоваться дополнительная информация об участке дороги. Это может быть например, указанный участок кадра, в котором могут быть автомобили. Либо это может быть информация о перспективе, необходимая для перевода экранных координат в пространственные.
== Требуемый результат ==
== Требуемый результат ==
-
Пока еще не решено.
+
Восстановленные треки машин, проехавших по участку дороги и попавших на видеозапись. Понятно, что если легковой автомобиль всю запись был загорожен большим грузовиком, то мы никак не сможем получить о нем информацию.
 +
 
 +
Кроме того, заранее предполагается некоторый небольшой процент ошибок, связанных с тем, что данная задача в традиционном смысле не разрешима в принципе.
== Этапы решения задачи ==
== Этапы решения задачи ==
-
* Подготовка исходного видео-файла к обработке (выделение отдельных кадров)
+
 
-
* Предварительная покадровая обработка для улучшения выделения машин. Включает в себя последовательное применение вычитания, бинаризации и дилатации.
+
=== Подготовка вилеозаписи ===
 +
Необходимо конвертировать видеозапись произвольного формата в последовательность кадров, сохраненных в формате Bitmap. Задача была решена вручную с использованием программы VirtualDub и соответствующих кодеков.
 +
 
 +
=== Выделение перемещающихся пятен на кадрах ===
 +
Выделение машин на видеозаписи опирается на следующую гипотезу: если рассмотреть 2 последовательных кадра, то на более-менее значимое расстояние передвинутся лишь машины, а следовательно лишь пиксели, соответствующие автомобилям изменят цвет. Для поиска таких пятен предпринимается следующая последовательность действий:
 +
* Вычитание предыдущего кадра из текущего
 +
* Бинаризация с некоторым порогом
 +
* Удаление отдельно находящихся точек (не имеющих соседей)
 +
* Дилатация с размером ядра 1
 +
* Морфологическая обработка кадра с целью связать близко примыкающие области (дилатация с размером ядра 2, закраска внутренних областей, обратная дилатация с размером ядра 2)
 +
 
 +
=== Связывание информации о пятнах между кадрами ===
 +
Находится на этапе решения.
== Текущие результаты ==
== Текущие результаты ==
 +
Из предложенной видеозаписи выделяются машины с высокой степенью четкости.
== Ссылки на файлы ==
== Ссылки на файлы ==
 +
Файлы отправил на почту, так как здесь файлы не выкладываются.
 +
== Ссылки на литературу ==
== Ссылки на литературу ==
-
* Р. Гонсалес, Р. Вудс, "Цифровая обработка изображений"
+
* Р. Гонсалес, Р. Вудс, «Цифровая обработка изображений» ([http://www.ozon.ru/context/detail/id/2423470/ на OZON.ru])
-
[http://www.ozon.ru/context/detail/id/2423470/ Книга на OZON.ru]
+
* Шани Растопман (?)
-
* Шани Растопман
+

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

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


Содержание

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

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

Предпосылки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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