Участник: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)
- Шани Растопман (?)