Король 7 Жалоба Опубликовано September 27, 2016 Здравствуйте форумчане! Скажите пожалуйста как сделать автотрекинг объекта (чтоб камера поворачивалась за выделенным объектом). Первый наметки сделал осталось прикрутить зуум. Не знаю пока как прикрутить зуум. Чтобы приближался к объекту. Жду вашего совета! В первой версии реализовано пока так. Есть две зоны которые находяться слева и справа. Вычисляется угол направления самого крупного объекта, потом если он зашел человек допустим в левую зону с углом направления от 225 до 315 - то поворот налево. Реализованы пока только поворот налево, направо. И работает по принципу: отследил-повернул-отследил-повернул. Вот интересные видео: https://www.youtube.com/watch?v=iU6D5WLdXMo https://www.youtube.com/watch?v=vQKGhIPiqs8 Хочу сделать что-то подобное! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 18, 2016 Занимался подобным. В приведённых тобой видео работает следующая схема: 1. Камера находится в обзорном положении, неподвижна, включён детектор движения (например, на основании вычитания фона или анализа оптического потока). 2. Объект сдетектирован, происходит переключение в режим сопровождения. Берётся алгоритм типа particle filter, TLD, KCF (их много), который старается удержать объект. 3. Камера заранее откалибрована, т.е. ей известно на какой угол и с какой скоростью надо повернуться, чтобы при заданном зуме центр изображения сдвинулся, скажем, на 2 метра. 4. Как только объект теряется камерой (сел в машину, например), трекинг прекращается и камера возвращается в положение 1. Есть ещё алгоритм (в старых камерах Bosch видел), когда камера не выделяет конкретный объект, а детектирует только вектор некоторого движения в кадре и сдвигается в направлении него. Что там внутри: оптический поток или банальные motion templates я не знаю. Но такое ощущение, что кроме этого у них ничего нет. Описанный мной алгорим довольно общий, в каждом конкретном случае могут быть свои оптимизации, связанные с возможностью камер. Какие-то умеют повернуться на заданный гол с заданной скоростью, какие-то просто работают по координатам и сопровождать приходится вручную. У некоторых повороты инерциальные, т.е. сначала начинают вращаться медленно, но быстро ускоряются. И так далее. В каждом конкретном случае приходится придумывать своё решение. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 18, 2016 Я уже и не надеялся что кто-то откликнуться! Спасибо! По поводу алгоритмов particle filter, TLD, KCF - большое спасибо, попробую реализовать. А как правильно откалибровать камеру? Координаты платформы х,y BIk-Inform 404 я легко найду с помощью xml запроса. А вот зуум из протокола Onvif пытался найти (функция GetStatus-PTZ), но панасоник - преобразователь из аналогового сигнала в цифровой, выдает 0, при любом зууме. И еще вопрос как измерить скорость человека и сопоставить со скоростью поворотной платформы? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 Калибровка - это внешняя и внутренняя калибровка камеры, устоявшиеся понятия, о которых надо почитать. Если ты используешь камеру и платформу от Бик (или только платформу?), то у них и спроси, как получить зум. Ребята нормальные, должны ответить. Если ты сопровождать будешь той камерой, которая у тебя на аватаре, то она должна уметь отдавать зум нормально (хотя это ещё от объектива зависит). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 20, 2016 А где можно почитать про калибровку? что-то я не нахожу, Зарание спасибо. на работе собираем из деталий сборный тепловизор с камерой. Bik-Inform - платформа, аналоговый тепловизор Dali, видеосервер (Панасоник WJ-GXE100) преобразователь из аналогового сигнала в цифру, и камеру IPшную. От Bik я могу узнать только x,y - координаты. Видеосерверы заказали Axis может с ними будет возвращать значения зуума. Да то что у меня на аватарке - это и есть устройство поворотное. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 О, я вчера на выставке видел стенд и Бика, и Dali. Конторы известные. Если тепловизор никак зум не даёт получить, то я так сразу и не скажу, как быть. Внутренняя калибровка позволяет узнать параметры камеры: фокусное расстояние, дисторсия и т.д. Позволяет оценивать размер объекта в мире по его размеру в пикселях. Производится по шахматной доске или по доске с кругами. В openCV есть пример. Внешняя калибровка помогает оценить положение камеры в пространстве. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 20, 2016 Ладно, понял, спасибо за советы, может от дали узнаем как получать зуум. А про калибровку где можно почитать? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 Да, либо от Dali, либо от производителя объектива. Короче, смотреть надо. Про калибровку - можно в документации по OpenCV, можно в Гугле поискать. Вот тут хоть и не самая новая статья, но хорошая. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 20, 2016 На Интреполитехе и наши там были с тепловизором. Спасибо за статью - почитаем. Как получиться - отпишушь. Сейчас устройства нет пока, чтобы проверить все мысли. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 Он ещё продолжается: сегодня, завтра. Потом действо на полигон перейдёт. А "наши" - это кто, если не секрет? Я многих знаю, кого лично, кого так, просто слышал, в этой отрасли уже довольно давно. Может разговаривал на выставке с "вашими", но точно могу сказать, что обошёл все стенды. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 Да, видел. Я же около 8 лет работал в Стилсофте - ваши конкуренты. Но уже N лет как уволился и переехал. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 20, 2016 Да Стилсофт нам конкурент! А у Стилсофта автотрекинг как работает если не секрет? Ты писал? А ты если не секрет где работаешь? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 20, 2016 Секрет. А вообще зависит от камеры: на такой как у тебя один алгоритм, на скоростных поворотках - другой. Если камера чего-то не умеет, приходится как-то дополнительно калибровать, или вычислять, или менять алгоритмы. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 30, 2016 Поправьте мне, если не так, в Opencv 3.1 должно быть реализованы алгоритмы "KCF", "TLD" судя по этому http://docs.opencv.org/3.1.0/d2/d0a/tutorial_introduction_to_tracker.html, но я не нахожу файл " <opencv2/tracking.hpp>. Может найдутся знатоки которые подскажут что не так я делаю. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 30, 2016 Подключи репозиторий opencv_contrib Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 30, 2016 Так даже папки (файла) с таким названием нет. Может это в другой версии Opencv. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 30, 2016 Вот же! Как это подключить к OpenCV написано по ссылке. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 30, 2016 Спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 31, 2016 Nuzhny, не мог бы компилнуть для меня lib и dll, скопировать и выложить а то у меня проблемы, я не с++ программист, я на C# все делаю. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано October 31, 2016 Неа, я под Убунтой сижу. Но тут С++ программистом и не надо быть: просто скачать оба репозитория, сконфигурировать CMake по инструкции, запустить студию и скомпилировать. Всё. С другой стороны не очень понятно, что ты будешь делать с тем, что кто-то скомпилирует. Ты сейчас Emgu CV используешь? Там же не появится трекинг только потому, что он будет скомпилирован в С++. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано October 31, 2016 Да я пользуюсь Emgu.CV! Для меня С++ страшная вещь. Но чуть-чуть понимаю . Не знаю что и делать. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано November 1, 2016 Тебе надо научиться делать на С++ dll и экспортировать из них функции в C#. Ты же знаешь, что такое маршалинг и все дела? P.S. Компьютерное зрение сейчас - это С++ и Питон. Можно Матлаб. Но никак не C#. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано November 1, 2016 Ладно че нибудь придумаем, или прийдется ждать новой версии EMGU и OPENCV Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Король 7 Жалоба Опубликовано November 7, 2016 Помогите(HELP) кто-нибудь может компильнуть Contrib (Windows 7, x86, x64). Проект OPENCV 3.1 у меня даже не компилица - ругается. Это одна из многочисленных ошибок error C1083: Не удается открыть файл включение: opencl_kernels_calib3d.hpp: No such file or directory c:\Opencv\3.1\opencv\sources\modules\calib3d\src\stereobm.cpp 51 1 opencv_calib3d Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
BeS 53 Жалоба Опубликовано November 9, 2016 On 11/7/2016 at 10:40 AM, Король said: Помогите(HELP) кто-нибудь может компильнуть Contrib (Windows 7, x86, x64). Проект OPENCV 3.1 у меня даже не компилица - ругается. Это одна из многочисленных ошибок error C1083: Не удается открыть файл включение: opencl_kernels_calib3d.hpp: No such file or directory c:\Opencv\3.1\opencv\sources\modules\calib3d\src\stereobm.cpp 51 1 opencv_calib3d Так а без OpenCL попробовать собрать не вариант? в строчке cmake'а прописать ченить типа -DWITH_OPENCL=OFF... 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах