Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определение движения по видеосъемке

505
18 января 2007 года
vAC
343 / / 28.02.2006
Нужен алгоритм:
Спереди автомобиля расположена видеокамера. По съемке нужно определить наличие движения в горизонтальном направлении (скажем справа на лево), при необходимости есть доступ к информации о скорости и радиусу поворота. Причем алгоритм не должен быть слишком прожорлив, чтобы можно было обрабатывать 30 fps с двух-трех камер. В случае "стоящей" камеры все просто,а вот как в динамике это все сделать возникает вопрос....
Я пока остановился на следующих соображениях:
1. Выделяется несколько областей по-горизонтали
2. В каждой из них по-горизонтали идет усреднение изображения (R,G и B). Получаем некоторые усредненные значения по-вертикали
3. Далее делается преобразование Фурье (для получения спектральной плотности, которая не изменна при циклическом сдвиге функции, т.о. хотябы как-то "убирается" движение вверх-вниз).
4. Фиксируется всплеск спектра (пока точно не знаю как это сделать более корректно), при этом считается, что "сработала" область. Это будет означать,что кто-то или что-то резко появилось в области.
5. По комбинации "срабатывания" областей судится о направлении движения.

Но это все пока без использования скорости и радиуса поворота (которые скорей всего будут сниматься с GPS).

Буду признателен, если поделитесь своими соображениями по этому поводу
3.3K
19 января 2007 года
GENA_DJ
123 / / 08.03.2005
Цитата: vAC
Нужен алгоритм:
Спереди автомобиля расположена видеокамера. По съемке нужно определить наличие движения в горизонтальном направлении (скажем справа на лево), при необходимости есть доступ к информации о скорости и радиусу поворота. Причем алгоритм не должен быть слишком прожорлив, чтобы можно было обрабатывать 30 fps с двух-трех камер. В случае "стоящей" камеры все просто,а вот как в динамике это все сделать возникает вопрос....
Я пока остановился на следующих соображениях:
1. Выделяется несколько областей по-горизонтали
2. В каждой из них по-горизонтали идет усреднение изображения (R,G и B). Получаем некоторые усредненные значения по-вертикали
3. Далее делается преобразование Фурье (для получения спектральной плотности, которая не изменна при циклическом сдвиге функции, т.о. хотябы как-то "убирается" движение вверх-вниз).
4. Фиксируется всплеск спектра (пока точно не знаю как это сделать более корректно), при этом считается, что "сработала" область. Это будет означать,что кто-то или что-то резко появилось в области.
5. По комбинации "срабатывания" областей судится о направлении движения.

Но это все пока без использования скорости и радиуса поворота (которые скорей всего будут сниматься с GPS).

Буду признателен, если поделитесь своими соображениями по этому поводу



По поводу всплеска спектра - используй не Фурье, а вейвлет - преобразования. Тогда можно будет определить локализацию возмущения.

505
19 января 2007 года
vAC
343 / / 28.02.2006
Большое спасибо, грамотное решение. Думаю очень пригодиться...
241
19 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
Нужен алгоритм:
Спереди автомобиля расположена видеокамера. По съемке нужно определить наличие движения в горизонтальном направлении (скажем справа на лево), при необходимости есть доступ к информации о скорости и радиусу поворота. Причем алгоритм не должен быть слишком прожорлив, чтобы можно было обрабатывать 30 fps с двух-трех камер.


А что должно двигаться слева направо? Встречный автомобиль или машина должна скользить? Для чего имеются три камеры и как они расположены?

И самое интересное: как решить проблему стоящих неподвижно предметов? То есть, машина А движется навстречу машине В по дороге, обсаженной кустами. Относительно машины А движутся и машина Б, и кусты. Хуже того, если В движется строго навстречу А, то относительно А она визуально не движется (в горизонтальном направении), а увеличивается.

505
19 января 2007 года
vAC
343 / / 28.02.2006
Цитата: Sanila_san
А что должно двигаться слева направо? Встречный автомобиль или машина должна скользить? Для чего имеются три камеры и как они расположены?

И самое интересное: как решить проблему стоящих неподвижно предметов? То есть, машина А движется навстречу машине В по дороге, обсаженной кустами. Относительно машины А движутся и машина Б, и кусты. Хуже того, если В движется строго навстречу А, то относительно А она визуально не движется (в горизонтальном направении), а увеличивается.



Ну двигаться слева направо или справа налево могут автомобили на перекрестке (с перпендикулярных направлений), пешеходы (основная цель алгоритма). Поэтому встречный и попутный транспорт можно убрать из рассмотрения.
На самом деле камер будет до 8-ми, на крыльях, на бампере,на зеркалах.Но пока этот вопрос не решен, располагаться будут там,где удобнее для алгортма. Определение движение как раз бутет по 2-м,3-м, остальные для других целей.

241
19 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
Ну двигаться слева направо или справа налево могут автомобили на перекрестке (с перпендикулярных направлений), пешеходы (основная цель алгоритма).

Ага. Детектор пешеходов. Ну, уже интереснее.

Цитата: vAC
Поэтому встречный и попутный транспорт можно убрать из рассмотрения.

Осталось объяснить это программе. Я бы использовал или определение формы, или детектор скорости. На заметку: пешеход, который рискует быть сбит машиной, относительно последней имеет нулевую угловую скорость (именно на этом принципе работают локационные системы самонаведения). Это можно легко проверить при переходе дороги в неположенном месте. :)

Цитата: vAC
На самом деле камер будет до 8-ми, на крыльях, на бампере,на зеркалах.Но пока этот вопрос не решен, располагаться будут там,где удобнее для алгортма. Определение движение как раз бутет по 2-м,3-м, остальные для других целей.

А зачем по 2-м,3-м? Почему сразу решили, что одной недостаточно? Могу предположить, что это связано с недостаточным полем зрения одной камеры. Тогда для боковых камер придётся решать интереснейшую задачу отделения пешеходов от кустов по угловой скорости. Кстати, для центральной камеры тоже придётся решать эту задачу.

505
20 января 2007 года
vAC
343 / / 28.02.2006
Ну две было решено, т.к. они будут располагаться по бокам, соотв. поле зрение ограничено. А с кустами конечно проблемы, но можно сузить область анализа, чтобы просматривалась только дорога.
А не мог бы ты объяснить, что значит отделить пешеходов от кустов по угловой скорости? Насколько я помню, это первая производная от угла...:) Я в ннавигации не силен, занимаюсь дистанционным зондированием...
241
22 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
А с кустами конечно проблемы, но можно сузить область анализа, чтобы просматривалась только дорога.


Если по условию задачи дорогой является ВПП на аэродроме - тогда да, это работает. Если по услови задачи допускается и дорога в горах (как правило, очень извилистая), то это решение работать не будет. Опять же, поле зрения становится очень малым. Вот нам и противоречие.

Цитата: vAC
А не мог бы ты объяснить, что значит отделить пешеходов от кустов по угловой скорости? Насколько я помню, это первая производная от угла...:) Я в ннавигации не силен, занимаюсь дистанционным зондированием...

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

505
24 января 2007 года
vAC
343 / / 28.02.2006
Благодарю за объяснения. Вот только как всегда, заказчик поменял ТЗ:) Решено работать в инфракрасном диапазоне :)
241
24 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
Благодарю за объяснения. Вот только как всегда, заказчик поменял ТЗ:) Решено работать в инфракрасном диапазоне :)


А что, по вашему, это меняет? Например, та же листва обладает в разное время разным коэффициентом отражения, да ещё и в зависимости от длины волны. Так, в коротковолновой ИК-зоне листва выглядит почти белой.

Или речь идёт о тепловизорах? Тогда там другие тонкости, особенно если тепловизор цветной.

505
24 января 2007 года
vAC
343 / / 28.02.2006
Цитата: Sanila_san
А что, по вашему, это меняет? Например, та же листва обладает в разное время разным коэффициентом отражения, да ещё и в зависимости от длины волны. Так, в коротковолновой ИК-зоне листва выглядит почти белой.

Или речь идёт о тепловизорах? Тогда там другие тонкости, особенно если тепловизор цветной.



Всех тонкостей я не знаю, сказали, что предоставят нормалную картинку. А идея в следующем: будет несколько ИК-диодов, и фильтр для его длины волны, грубо говоря будет что-то вроде лучей, нужно будет отследить их "прерывание" на препядствиях.

241
25 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
Всех тонкостей я не знаю, сказали, что предоставят нормалную картинку. А идея в следующем: будет несколько ИК-диодов, и фильтр для его длины волны, грубо говоря будет что-то вроде лучей, нужно будет отследить их "прерывание" на препядствиях.

ТЗ я понял плохо, поскольку ни единого раза его не читал. Следовательно, затрудняюсь подсказать что-нибудь по сути дела. :)

505
26 января 2007 года
vAC
343 / / 28.02.2006
Цитата: Sanila_san
ТЗ я понял плохо, поскольку ни единого раза его не читал. Следовательно, затрудняюсь подсказать что-нибудь по сути дела. :)



Да заказчик сам его никак не доформулирует как следует :) так что пока курю бамбук...:)

241
30 января 2007 года
Sanila_san
1.6K / / 07.06.2005
Цитата: vAC
Да заказчик сам его никак не доформулирует как следует :)

Вот как доформулирует, поделись. Попробую подсказать что-нибудь, мне тоже интересно.

22K
02 марта 2007 года
Aerarh
16 / / 02.03.2007
Примитив. Мат.разница кадров для статических камер, даст границы движущихся объектов (граница прозрачности). (плюс подбор указаных и.т.п фильтров)
505
02 марта 2007 года
vAC
343 / / 28.02.2006
Камеры не статические
239
03 марта 2007 года
Dolonet
1.7K / / 20.05.2000
vAC, ты нарисуй схему, где какие камеры на перекрестке должны находиться, какие именно движения контролировать, откуда до куда поворачиваться. У меня есть хороший друг, занимается видеонаблюдением уже давно, в те же Максидомы в составе фирмы полную систему наблюдения ставил. Что-нибудь точно посоветует.
Жду )
22K
03 марта 2007 года
Aerarh
16 / / 02.03.2007
Скинь снапшот или два на мыло... интересно поразмыслить...
mailto:aerarh@rambler.ru
505
03 марта 2007 года
vAC
343 / / 28.02.2006
К сожалению, заказ отложили на неопределенное время :( А видеоматериала с прикрепленной на машину камеры так и не передали мне, тока фигню какую-то...Вообщим отпостюсь, как что-то проясниться :)
239
03 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Цитата: vAC
К сожалению, заказ отложили на неопределенное время :( А видеоматериала с прикрепленной на машину камеры так и не передали мне, тока фигню какую-то...Вообщим отпостюсь, как что-то проясниться :)


Будем ждать. Задачка интересная )

252
05 марта 2007 года
koderAlex
1.4K / / 07.09.2005
1) обработка двух соседних кадров :
преобразовать кадры в векторную форму .
если скорость камеры равномерна сместить векторную форму вектором движения , иначе нужно или знать вектора камеры на каждый кадр , или подбирать эксперементально .
обрезать кадры для корректного сравнения .
сравнить .
если отклонения больше статистической погрешности - значит в кадре что-то двигалось .
2)аналогично делается с синфазными кадрами (когда кадры выполнены в одной фазе движения камеры)
505
05 марта 2007 года
vAC
343 / / 28.02.2006
А что значит векторная форма? RGB->XYZ?
А из-за перспективы кадры разве не будут сильно различаться? Тогда надо учитывать и ее.
Но тут еще несколько проблем возникает:
1. придется всеже учитывать скорость движения
2. скорость обработки будет низковатой...камеры наверно будут с 60fps, если хотябы из них 30 обработать,будет не плохо, хотя я сомневаюсь что получиться, если придется совмещать кадры.
3. Определить наличие движения не достаточно, надо определить направление, в кадр может попасть опережающая машина
239
05 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Так нужна консультация или нет? У меня знакомый хороший работает как раз в этом направлении. Компания ТИМ (timcompany.ru)
505
05 марта 2007 года
vAC
343 / / 28.02.2006
Большое спасибо, но думаю еще рано, не определились еще с чем работать. Просто хотелось узнать,что такое векторная форма :)
239
05 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Ок, если что, имейте в виду :)
252
06 марта 2007 года
koderAlex
1.4K / / 07.09.2005
векторная форма - каждая линия изображения описывается вектором .
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог