Jump to content
Compvision.ru

2expres

Пользователи
  • Content count

    102
  • Joined

  • Last visited

  • Days Won

    3

2expres last won the day on December 12 2017

2expres had the most liked content!

Community Reputation

7 Новичек

About 2expres

  • Rank
    Эксперт
  • Birthday 06/19/1983

Contact Methods

  • Website URL
    http://esm.ho.ua

Profile Information

  • Пол
    Мужской
  • Расположение
    Днепр Украина
  • Интересы
    Ищу интересную работу в области компьютерного зрения удаленно или постоянную. Бинаризация, сегментация изображений, контурный анализ в RealTime.

Recent Profile Visitors

798 profile views
  1. Возьми сборку зераное https://ffmpeg.zeranoe.com/builds/ качаешь 2 архива shared и dev перед этим выбрав 32 или 64 бит. В архиве dev хранятся библиотеки (.lib) и include. Архив shared содержит необходимые .dll которые необходимо будет переписать в папку с вашей будущей программой - это для Windows.
  2. Я использовал dxva2. Работает и с потоком и с файлами h264. Ты сам собирал ffmpeg или брал готовую сборку?
  3. Пытался разобраться с методами, искал коэффициент, который отвечает за меру похожести. Например, при 0 коэффициенте должно быть абсолютное совпадение, при 1 очень приблизительное совпадение. Такого коэффициента в формулах нет. Проверил практически, создал картинку из 2-х цветов. Затем осветлил и затемнил, получив еще 2 картинки. Результаты: Method 0 Perfect, Base-Half, Base-Test(1), Base-Test(2) : 1 / 0.974776 / -0.000545 / -0.000545 Method 1 Perfect, Base-Half, Base-Test(1), Base-Test(2) : 0 / 0.221103 / 1.3576 / 1.3576 Method 2 Perfect, Base-Half, Base-Test(1), Base-Test(2) : 1.3576 / 1.3576 / 0 / 0 Method 3 Perfect, Base-Half, Base-Test(1), Base-Test(2) : 0 / 0.0956222 / 1 / 1 Т.е. гистограммы картинок абсолютно не похожи, но картинки то похожи по цвету! Я сделал вывод, что сравнение на подобие картинок с помощью гистограмм в OpenCV не работает, можно сравнивать, только абсолютно одинаковые картинки. Буду проверять свою следующую методику: Полученную гистограмму, буду размывать по методу Гаусса. Это и будет коэффициентом на подобие, малая размывка гистограммы - проверка на одинаковость, сильная размывка гистограммы - проверка на подобие. Затем применяю любой метод расстояний, даже Евклидово расстояние. Если при сравнении цвета находятся в соседних корзинах, то размывка перебросит часть значений по соседним корзинам и гистограммы начнут совпадать. Может я не вижу подводных камней?
  4. Нужный, спасибо за развернутый ответ. Заинтересовала работа с гистограммами цветов. На практике столкнулся с трудностями, даже правильное определение цвета авто не такое простое дело. Честно, запутался в интегралах, расстояниях Кульбака-Лейблера и Бхатачарья. Интересует сравнение двух гистограмм на подобие. Беру примитивный пример: картинка из двух цвета. Из первой картинки делаю вторую, меняя контрастность (можно яркость). Их гистограммы приведены на рисунке. Если при сравнении применить Евклидово расстояние, то получаю, что картинки сильно отличаются. А мне нужно получить расстояние, близкое к 0. Выше перечисленные методы дадут результат, близкий к 0 и как?
  5. Фильтры Калмана также исходят из этого предположения. Для авто это может и подходит, для людей нет. Пример: спортсмен под номером 2 догоняет номер 1 и два объекта некоторое время находятся вместе, затем один обгоняет другого. Фильтр Калмана даст однозначный результат, что это номер 2. А это не всегда так, номер 1 мог ускорится. Другой пример у меня в видео по теме. Сцена на которой артисты или танцоры. Их траектории движений абсолютно не предсказуемы. Нужны признаки объекта по которым их можно различать.
  6. Тема старая, но интересная. Сейчас продолжаю тему "Трекинг человека". На всех видео выше камера закреплена, поэтому можно применить детектор движения, в котором кадры сравниваются с предварительно вычисленным задним фоном - BackGround. Фон адаптируется сравнением с кадром, если интенсивность кадра больше фона, то к фону добавляем константу, меньше - отнимаем. Чем больше константа, тем быстрее обновляется фон. Я выбрал 0,5 и при 25 кадрах в секунду у меня фон полностью обновляется через 10-20 сек (зависит от контрастности кадров).Если изображение 3-канальное (R,G,B), то и BackGround также должен иметь 3 канала. Каждый поступающий кадр вычитаю с фоном, возвожу в квадрат и суммирую по 3 составляющим. Суммарную разницу сравниваю с константой-порогом, больше порога - объект, меньше - фон. Получаю бинарное черно-белое изображение, которое сегментирую. При сегментации использую третью константу-минимальное количество точек в сегменте, которая зависит от поставленной задачи. Хотя для слежения за пешеходами можно дополнительно применять и размеры сегмента, причем высота должна быть больше, чем ширина. Выполняю привязку полученных сегментов к объектам. Для этого сравниваю таблицу объектов с таблицей сегментов и по минимальному расстоянию делаю назначения. Все просто, если объекты разделены и не пересекаются. Сложности начинаются, когда объекты сходятся в один объект, а затем расходятся, при этом путается нумерация объектов. Получается, что нужно предварительно вычислить какие-то признаки объектов, по которым я их мог бы различать. Как это можно сделать, желательно примитивным способом и с высоким быстродействием?
  7. Многое стало понятно, введу максимальную скорость перемещения объекта, что позволит отсекать глюки. Возникли новые технические трудности: информация с потоков может поступать не по-порядку. Вначале информация о настоящем кадре, а затем о предыдущем. Необходимо еще реализовать буфер для выравнивания последовательности поступающих кадров.
  8. Рад Вас видеть! Хорошая идея зная какие ветки люстры включены подставлять нужный фон, заранее сформированный. Проблема в том что мы выполняем часть работы: даем команду какую ветку включать в соответствии с перемещаемыми людьми. Другие ребята делают еще какие то эффекты (меняют цвета, освещенность) и у меня нет информации о фоне. Спасибо Nuzhny за Ваши ответы! Можно для меня разжевать? Мне действительно не понятно. Венгерский алгоритм - это задача о оптимизации. После обработки кадра из 3 МБайт(Full HD) информации я получаю массив не более 256 байт (1 объект 16 байт), поэтому могу позволить сделать не оптимально. Хочу понять суть. Получается я должен сравнить 2 соседних кадра. Предположим на 1-кадре 4 сегмента, а на 2 кадре тоже 4 сегмента. Я должен назначить назначить привязку сегментов к объектам. На первом кадре назначаю номер сегмента равным номеру объекта. На втором кадре допустим для простоты (выбор метрики сейчас не важен можно площадь пересечения или как предлагают по ссылке искать коэффициенты https://cyberleninka.ru/article/v/algoritm-trekinga-obektov-v-realnom-vremeni-s-obrabotkoy-oshibok) ищу минимальное расстояние между центрами сегментов и объектов. Далее присваиваю сегменту номер ближайшего объекта. С этим понятно. Понятно, если появился или исчез объект на краях кадра. А что делать, если появился или исчез сегмент в центре кадра? Как определить это глюк, или 2 человека рядом дошли до середины сцены и разделились? Или наоборот зашли с разных концов сцены и объединились?
  9. Выполнил включение освещение сцены чисто по детектору движения, без трекинга. Камера работает в ИК-диапазоне. Для управления освещением использовал midi-протокол (библиотека rtmidi), виртуальный драйвер midi, который управляет освещением сцены (стандартная программа QLC+). На видео Вы можете видеть квадрат на полу, который имитирует размеры люстры. Вот что получилось: Обрабатываются все 25 кадров в секунду. Хотелось бы реализовать трекинг. Но приведенная ссылка является научной статьей, у которой еще 50 ссылок на другие статьи. Мне необходимо усреднять 5 соседних кадров для устранения дерганий и пропадания объекта. Как правильно это сделать?
  10. Это видео облегченные условия. Здесь прекрасно работает мой детектор движения. Но значительно быстрее, обрабатывает 25 кадров с загрузкой 15%. Но с резким изменением освещенности он не работает.
  11. Интенсивность, к сожалению будет тоже разной (интенсивность подсветки разная). На мой взгляд нужно сравнивать 2 соседних кадра и каким то образом не сравнивать кадры с большими изменениями. Но как будет работать при большом количестве людей? kmeans - тормознутый алгоритм, а нужен реал-тайм. Могу сбросить на почту. Напишите в личку.
  12. А можно ли вашу программу запустить на этом видео? Если работает - могу дать Вам контакты заказчика.
  13. Я не знаю, как построить детектор движения с обычной камерой в условиях резкого изменения освещения. Я сам пришел к выводу, что нужна камера в ИК-диапазоне, но нужно несколько дней доставка/установка/запись видео. Но остается теоретический вопрос, можно ли построить детектор движения с обычной камерой в таких условиях?
  14. Потолок этого помещения состоит из множества разноцветных люстр и прожекторов. Когда человек перемещается необходимо управлять освещением и подсвечивать человека. Трудность состоит в том, что для детектора движения невозможно создать background из-за постоянно изменяющегося освещения. Для любого объекта, который перемещается в кадре, нужно вычислять координаты и управлять освещением. Людей может быть много, они могут уходить и приходить.
  15. Добрый день! Необходимо отслеживать перемещения людей (идеально головы человека), при постоянно изменяющемся освещении. Цвет может быть красным, зеленым, синим, дневное освещение и может постоянно меняться. Можно ли стандартными методами и какими решить данную задачу?
×