Детектор движения
От: vobla  
Дата: 11.11.02 20:51
Оценка:
Нужно написать детектор движения, работающий с Web-камерой. Интересен сам алгоритм обнаружения движения.
А если есть исходники на Visual C, то совсем хорошо!
Заранее спасибо.
Re: Детектор движения
От: WolfHound  
Дата: 11.11.02 21:54
Оценка:
Здравствуйте vobla, Вы писали:

V>Нужно написать детектор движения, работающий с Web-камерой. Интересен сам алгоритм обнаружения движения.

Действительно
Ну первое что приходит в голову это берешь текущей и предидущий кадры и попиксельно вычетаешь если сумма модулей большая то есть движение. Можно еще какиенибудь фильтры использовать.
ЗЫ это плохая сигнализация в темноте не работает может сработать при изменении времени суток, наверняка сработает от солнечного зайчика...и вобще низкая частота обновления и плохая чувствительность к цветам...
... << RSDN@Home 1.0 alpha 12 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Детектор движения
От: vobla  
Дата: 11.11.02 22:16
Оценка:
В том-то и дело, что от освещенности не должно зависеть. В идеале нужно как-то выделять движущиеся объекты.
Re[3]: Детектор движения
От: Кодт Россия  
Дата: 12.11.02 18:58
Оценка:
Здравствуйте vobla, Вы писали:

V>В том-то и дело, что от освещенности не должно зависеть. В идеале нужно как-то выделять движущиеся объекты.


Смена локальной освещенности (луч фонарика, тень), а также резкая смена освещенности (включили-выключили свет) — это тоже тревожный симптом.

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

Непонятно, правда, как игнорировать "снег" и мух.
Перекуём баги на фичи!
Re[3]: Детектор движения
От: Atilla Россия  
Дата: 13.11.02 11:04
Оценка:
Здравствуйте vobla, Вы писали:

V>В том-то и дело, что от освещенности не должно зависеть. В идеале нужно как-то выделять движущиеся объекты.


Т.е. чтоб если солнышко за тучку зашло, алгоритм не кричал: "Оно движется!!" ?
Ну если так, можете выделять одноцветные (примерно) области и смотреть, если они остались примерно одноцветными, то движения не было. Если какие-то одноцветные области перестали быть одноцветными, то именно они и сдвинулись (определить, куда именно — это уже посложнее будет).

Вообще, про всякие алгоритмы анализа изображений, распознавания и т.д. можете отсюда скачать и почитать (это наши, российские технологии, использовались в космической промышленности и т.д. ). Там же есть про то, как аппроксимировать произвольное изображение кусочно-постоянным.
Кр-ть — с.т.
Re[4]: Детектор движения
От: Micker  
Дата: 13.11.02 20:46
Оценка:
Нужно как-то кроме всего прочего учесть специфику веб-камеры: постоянно меняющееся освещённость. (ну подстрока у них у большинства такая: автоматическая! ). Так что можно делать усреднение по частям кадра, например.
Жизнь, как игра —
идея паршивая,
графика обалденная...
Re[5]: Детектор движения
От: Atilla Россия  
Дата: 13.11.02 20:59
Оценка:
Здравствуйте Micker, Вы писали:

M>Нужно как-то кроме всего прочего учесть специфику веб-камеры: постоянно меняющееся освещённость. (ну подстрока у них у большинства такая: автоматическая! ). Так что можно делать усреднение по частям кадра, например.


А это смотря как она подстраивается. Если среднюю яркость держит постоянной — то да. Вообще, лучше всего все эти фичи отключить Чем э... девственнее данные — тем лучше, обычно все эти выравнивания, фильтры и т.д. только приводят к потере полезной информации.
И еще, если камера не закреплена и движение картинки может быть вызвано движением самой камеры, то это тоже надо учесть и сначала совместить кадры.
Кр-ть — с.т.
Re[6]: Детектор движения
От: DSD Россия http://911.ru/cv
Дата: 14.11.02 00:58
Оценка:
Здравствуйте Atilla, Вы писали:

A>И еще, если камера не закреплена и движение картинки может быть вызвано движением самой камеры, то это тоже надо учесть и сначала совместить кадры.


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

--
DSD
Re[4]: Детектор движения
От: McSeem2 США http://www.antigrain.com
Дата: 14.11.02 01:29
Оценка:
Здравствуйте Atilla, Вы писали:


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


Было бы интересно, но что-то ссылка дохлая. Нормальную давай, да?

McSeem
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[5]: Детектор движения
От: Atilla Россия  
Дата: 14.11.02 08:02
Оценка:
Здравствуйте McSeem2, Вы писали:

MS>Было бы интересно, но что-то ссылка дохлая. Нормальную давай, да?


Ссылка нормальная, только у нас ща сервак отвалился. К вечере подымем, наверное...
Вот еще сюда выложил. Пока работает.
Кр-ть — с.т.
Re[7]: Детектор движения
От: Atilla Россия  
Дата: 14.11.02 08:04
Оценка:
Лучше не так: самодельный робот с веб-камерой вместо глаз (чтоб подешевле было) ходит по комнатам и стреляет во все, что движется. Типа терминатора.
Кр-ть — с.т.
Re[7]: Детектор движения
От: Кодт Россия  
Дата: 14.11.02 09:41
Оценка:
Здравствуйте DSD, Вы писали:

DSD>Представляю ситуацию: дома со стола на собственном шнурке свисая, болтается незакрепленная камера.

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

Асфальт поднялся и стукнул по лбу. Пришлось спать стоя
Перекуём баги на фичи!
Re: Детектор движения
От: ghostrider Беларусь https://www.linkedin.com/in/andreipushkin
Дата: 14.11.02 09:58
Оценка: 1 (1)
Здравствуйте vobla, Вы писали:

V>Нужно написать детектор движения, работающий с Web-камерой. Интересен сам алгоритм обнаружения движения.

V>А если есть исходники на Visual C, то совсем хорошо!
Думаю что стоит покопать openCV

Алгоритм нахождения оптического потока в ту же кассу (кстати, он вроде бы в openCV реализован)
Re: Детектор движения
От: VVV Россия  
Дата: 14.11.02 12:41
Оценка:
Здравствуйте vobla, Вы писали:

V>Нужно написать детектор движения, работающий с Web-камерой. Интересен сам алгоритм обнаружения движения.

...

Есть такая книга — только старая очень (в букинистике или библиотеке может быть)
Клингман Э. Проектирование специализированных микропроцессорных систем.: Пер. с англ. -М.: Мир, 1985
Там, в качестве примера, идёт разработка головки наведения ракеты на основе видеокамеры.
В качестве начального ознакомления с этой областью знаний — очень неплохо.
Re[2]: Детектор движения
От: Juri Россия  
Дата: 14.11.02 21:01
Оценка:
Здрав.

Добавьте еще детектор звука. А основной вывод делайте на основе суммарных данных.
Тогда и асфальт вставать не будет и спать стоя не придется и солнечные зайчики пофиг.
Re: Детектор движения
От: Roman_M rgmroman.narod.ru
Дата: 15.11.02 09:20
Оценка:
Здравствуйте, vobla, Вы писали:

V>Нужно написать детектор движения, работающий с Web-камерой. Интересен сам алгоритм обнаружения движения.

V>А если есть исходники на Visual C, то совсем хорошо!
V>Заранее спасибо.

Есть такая идея, но это только мое предположение:
Как и предлагали сразу, можно искать различия в пикселах между кадрами, но естественно в примитивном исполнении эта идея не очень удачна. Но эту идею можно попробовать развить в следующих напрвалениях:
1) переводить RGB пикселы в другую цетовую модель, например YUV, таким образом может получиться выделять изменения яркости изображения и отличать изменения яркости от движения
2) группировать "подвижные" пикселы по расстоянию между точками, чтобы распознавать движение достаточно крупного объекта(группы точек)
Re[2]: Детектор движения
От: Micker  
Дата: 19.11.02 13:11
Оценка:
Здравствуйте, ghostrider, Вы писали:

G>Думаю что стоит покопать openCV


Вообще классно, когда человеки не изобретьают свои велосипеды, а юзают то, что было раньше сделано!
Жизнь, как игра —
идея паршивая,
графика обалденная...
Re[3]: Детектор движения
От: Atilla Россия  
Дата: 19.11.02 13:22
Оценка:
Здравствуйте, Micker, Вы писали:

M>Вообще классно, когда человеки не изобретьают свои велосипеды, а юзают то, что было раньше сделано!


Ну я бы не стал столь категорично... DSP — эта не та вещь, где уже давно сказали последнее слово. QuickSort Вы наверное лучше не сделаете, чем в STL, да и детерминант не посчитаете лучше чем в LAPAC (если суперкрутые ассемблерные инструкции не юзать и хитрые особенности проца)... а вот детектор движения — вполне.
Кр-ть — с.т.
Re[4]: Детектор движения
От: Micker  
Дата: 19.11.02 13:46
Оценка:
Здравствуйте, Atilla, Вы писали:

A>Ну я бы не стал столь категорично... DSP — эта не та вещь, где уже давно сказали последнее слово. QuickSort Вы наверное лучше не сделаете, чем в STL, да и детерминант не посчитаете лучше чем в LAPAC (если суперкрутые ассемблерные инструкции не юзать и хитрые особенности проца)... а вот детектор движения — вполне.



Как мне кажется, несмотря на близкородственность отраслей, ситуации в DSP и ImageProcessing (Video Processing) емного различны. В первой выработан четкий остов науки, есть точные методы, теоремы и т.д. В Image Processing дела похуже (назовите какой нибудь принципиальный учебник по DIP? тридцатилетней давности Прэтт?).

И одна из причин разрыва — отсутсвие поступательного движения в DIP. Разработанно уже множество алгоритмов, на каждую задачу по куче, пора их объединять, что бы получить что-то новое. Можно заниматься разработкой алгоритма своего Motion Detector. А можно взять чужой, понять чем он плох, изменить и пойти дальше, использовать оставшееся время на изобретение чего-то чего ещё нет. Не ужели не согласны?
Жизнь, как игра —
идея паршивая,
графика обалденная...
Re[5]: Детектор движения
От: _MarlboroMan_ Россия  
Дата: 19.11.02 14:20
Оценка:
Здравствуйте Micker, Вы писали:

M>Здравствуйте, Atilla, Вы писали:


A>>Ну я бы не стал столь категорично... DSP — эта не та вещь, где уже давно сказали последнее слово. QuickSort Вы наверное лучше не сделаете, чем в STL, да и детерминант не посчитаете лучше чем в LAPAC (если суперкрутые ассемблерные инструкции не юзать и хитрые особенности проца)... а вот детектор движения — вполне.


M>

M>Как мне кажется, несмотря на близкородственность отраслей, ситуации в DSP и ImageProcessing (Video Processing) емного различны. В первой выработан четкий остов науки, есть точные методы, теоремы и т.д. В Image Processing дела похуже (назовите какой нибудь принципиальный учебник по DIP? тридцатилетней давности Прэтт?).

M>И одна из причин разрыва — отсутсвие поступательного движения в DIP. Разработанно уже множество алгоритмов, на каждую задачу по куче, пора их объединять, что бы получить что-то новое. Можно заниматься разработкой алгоритма своего Motion Detector. А можно взять чужой, понять чем он плох, изменить и пойти дальше, использовать оставшееся время на изобретение чего-то чего ещё нет. Не ужели не согласны?


в ремени на изучение и модификацию чужого алгоритма уйдет гораздо больше чем на разработку своего, а в остально согласен...
... << RSDN@Home 1.0 alpha 12 >>

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