Видео распознавание: распознавание лиц, детектор очередей, поиск объектов на видео / Блог компании Ivideon / Хабр

Содержание

распознавание лиц, детектор очередей, поиск объектов на видео / Блог компании Ivideon / Хабр


Тайваньская компания 42Ark и американский производитель «умных» кормушек CatFi Box используют камеры видеонаблюдения для распознавания кошачьего лика

Немецкий электротехник Вальтер Брух в 1941 году установил CCTV-систему (Сlosed Circuit Television — система телевидения замкнутого контура) на полигоне, где испытывали ракеты «Фау-2». Это первый известный в истории случай использования видеонаблюдения на практике. Оператор должен был неотлучно сидеть перед монитором. Так продолжалось до 1951 года, пока не появились первые VTR (VideoTape Recorder) устройства, записывающие изображение на магнитную ленту.

Запись на носитель не избавила оператора от необходимости участвовать в процессе. Опознание лиц, определение местоположения объектов, даже детекция движения – все эти функции выполнял человек, сидящий перед монитором в режиме реального времени или изучающий постфактум архив видео.

Колесо прогресса катится дальше. Видеонаблюдение получило видеоаналитку, полностью изменившую процесс работы с системой. Помните историю про кота и нейросеть глубокого обучения? Да, это тоже часть видеоаналитики, но крохотная. Сегодня расскажем о технологиях, которые кардинально меняют мир CCTV-систем.


Детекция очередей и бета-тест

Первая IP-камера в мире Neteye 200, созданная в 1996 году компанией Axis

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

Важность трудно переоценить: в обычном случае после 12 минут непрерывного наблюдения оператор начинает пропускать до 45% событий. И до 95% потенциально тревожных событий будет пропущено уже после 22 минут непрерывного наблюдения (по результатам исследования IMS Research, 2002).

Появились сложные алгоритмы анализа видео: подсчет посетителей, подсчет конверсии, статистика кассовых операций и многое другое. В этой системе исчезает оператор наблюдения – мы оставляем компьютеру возможность «смотреть» и делать выводы.

Самой простой пример умного видеонаблюдения – детекция движения. Не так важно есть ли встроенный детектор в самой камере – если вы установите на компьютер, к примеру, софт Ivideon Server, то детекор движения будет использоваться программный. Один детектор способен заменить сразу несколько операторов видеонаблюдения. А уже в 2000-е начали появляться первые системы видеоаналитики, способные распознавать объекты и события в кадре.

У Ivideon сейчас в разработке несколько модулей видеоаналитики – с тех пор, как мы выпустили OpenAPI, дело пошло быстрее за счет интеграции с партнерами. Часть проектов пока в закрытом тестировании, но кое-что уже готово. Это, во-первых, интеграция с кассами для контроля за кассовыми операциями (пока на базе iiko и Штрих-М). Во-вторых, разработан детекор очередей.

У нас был счетчик Ivideon Counter, определявший количество клиентов в зале. Аналитика позволила уйти от специального оборудования в сторону облачных вычислений. Теперь нам не нужна специфическая камера – подойдет любая камера видеонаблюдения с разрешением 1080p+. Сейчас мы хотим не просто считать людей, а определять очереди. Поэтому готовы любому магазину, ТЦ или офису, где ходят и стоят люди, образуя очереди, предоставить бесплатную камеру для теста детекции очереди. Напишите нам, чтобы принять участие в проекте.

Кроме того, Ivideon работает с технологиями распознавания лиц.

Кто и как распознает

Технология DeepFace проходит проверку Facebook на примере распознавания эмоционального лица Сильвестра Сталлоне

Над решениями в этой области работают Apple, Facebook, Google, Intel, Microsoft и другие технологические гиганты. Комплексы видеонаблюдения с автоматическим распознаванием лиц пассажиров установлены в 22 аэропортах США. В Австралии занимаются разработкой биометрической системы распознавания лиц и отпечатков пальцев в рамках программы, призванной автоматизировать паспортный и таможенный контроль.

Крупнейшая китайская интернет-компания Baidu провела успешный эксперимент по отказу от билетов с помощью технологии распознавания лиц с точностью 99,77%, при длительности съемки и распознавания – 0,6 секунды. На входах в парк установлены стенды с планшетами и специальные рамки, которые ведут съемку. Когда турист приходит в парк впервые, система его фотографирует, чтобы в дальнейшем использовать функцию распознавания лиц по фото. Новые снимки сравниваются с фото из базы данных – так система определяет, есть ли у человека право на посещение.

В Китае с технологиями вообще все очень хорошо. В 2015 году Alipay, оператор платформы онлайн-платежей, входящий в состав холдинга Alibaba, ввел в действие систему верификации платежей на базе Face++, облачной платформы распознавания лиц, созданной китайским стартапом Megvii. Система получила название Smile to Pay — она дает возможность пользователям Alipay платить за онлайн-покупки путем съемки селфи (Alipay определяет владельца по улыбке). UBER в Китае стал применять систему распознавания лиц водителей на базе Face++, чтобы противостоять мошенничеству, краже персональных данных и обеспечить дополнительную безопасность пассажиров.

Но интереснее посмотреть не на зарубежные решения, а на сервисы, созданные в России. Эти технологии находятся гораздо ближе к конечному пользователю (если он из нашей страны), с ними можно познакомиться, в перспективе объединиться для использования в собственном продукте. Компаний, занимающихся распознаванием лиц, вокруг немало. Вспомним несколько, остающихся на слуху.

Компания «Вокорд», основанная еще в 1999 году, в программе FaceControl 3D работает с синхронными изображениями со стереокамер, строит 3D-модель лица в кадре и автоматически ищет совпадение полученной модели с моделями в имеющейся базе данных. В 2016 году «Вокорд» стал использовать собственный математический алгоритм распознавания лиц, в основе которого лежат сверточные нейронные сети, благодаря чему их алгоритмы теперь работают с любой камерой видеонаблюдения. В компании утверждают, что могут распознавать лица (в размере 128х128 пикселей) людей, следующих в потоке. В конце 2016 года алгоритм Vocord DeepVo1 показал лучшие результаты в мировом тестировании идентификации, правильно распознав 75,127% лиц.

Компания VisionLabs, основанная в 2012 году, победила в крупнейшем в России и Восточной Европе конкурсе технологических компаний GoTech, вошла в список финалистов европейской программы «Challenge UP!», призванной ускорить вывод на рынок решений и сервисов на базе концепции интернета вещей, привлекла многомиллионные инвестиции и уже внедряет свои продукты в коммерческий сектор. Недавно банк «Открытие» запустил систему распознавания лиц от VisionLabs с целью оптимизации обслуживания и времени ожидания клиентов в очереди. Ну и стоит прочитать замечательную историю, как специалисты из КРОК с помощью VisionLabs кота ловили.

VisionLabs, показавшая один из лучших результатов по распознаванию и уровню ошибок, также работает с нейронными сетями, выявляющими специфические черты каждого лица, такие как разрез глаз, форма носа, рельеф ушной раковины и т.д. Их система Luna позволяет найти все эти особенности лица по фото в архивах. Другое решение компании, Face Is, распознав лицо клиента в магазине, находит его профиль в CRM-системе, узнает из нее историю покупок и интересы покупателя, и отправляет на телефон уведомление с персональным предложением о скидке на его любимую категорию товаров.

Стартап Skillaz, занимающийся автоматизацией процесса найма сотрудников, и VisionLabs собираются в конце 2017 года представить систему компьютерного распознавания, которая будет оценивать поведение соискателей при найме. Проанализировав полученные данные, система будет делать выводы о профессиональных качествах человека и пригодности к должности. Полные характеристики системы «машинного найма» компании не раскрывают. Известно лишь, что будет оцениваться коммуникабельность кандидата, исходя из его ответов на определенный набор вопросов, задаваемых системой online-интервью. Нейросеть будет искать взаимосвязь поведения кандидата на картинке с камеры видеонаблюдения и степень выраженности у него той или иной компетенции.

Сетка, представляющая собой доктора Лайтмана и Шерлока Холмса в одном лице, будет учитывать мимику кандидата, его жестикуляции, а также физиогномику. Тут стоит заметить, что метод определения типа личности человека, его душевных качеств, исходя из анализа внешних черт лица и его выражения, в современной психологической науке считается классическим примером псевдонауки. Как с этим противоречием справятся в новом продукте пока неясно.


Слайд из презентации NTechLab, угнетающий Салмана Радаева

NTechLab начинали с приложения, которое определяло породу собак по фотографии. Позже они написали алгоритм FaceN, с которым осенью 2015 года приняли участие в международном конкурсе The MegaFace Benchmark. NTechLab одержала победу в двух номинациях из четырех, обойдя и команду Google (через год в этом же конкурсе победит «Вокорд», а NTechLab сместится на 4-ю позицию). Успех позволил им быстро реализовать сервис FindFace, ищущий людей по фотографиям во ВКонтакте. Но это не единственный способ применения технологии. На фестивале Alfa Future People, организованном «Альфа-Банком», с помощью FindFace посетители могли найти свои фотографии среди сотен других, отправив селфи чат-боту.

Кроме того, NTechLab показали систему, способную в режиме реального времени распознавать пол, возраст и эмоции, используя изображение с видеокамеры. Система способна оценить реакцию аудитории в режиме реального времени, благодаря чему можно определить эмоции, которые испытывают посетители во время презентаций или трансляций рекламных сообщений. Все проекты NTechLab строятся на самообучающихся нейронных сетях.

Путь Ivideon к видеоаналитике

Распознавание лиц – одна из самых сложных задач в области видеоаналитики. С одной стороны, вроде все понятно и давно используется. С другой стороны, решения идентификации в толпе людей все еще стоят очень дорого и не дают абсолютной точности.

В 2012 году в Ivideon начали работу с алгоритмами видеоанализа. В тот год мы выпустили приложения для iOS и Android, вышли на зарубежные рынки, запустили децентрализованные сети CDN с серверами в США, Нидерландах, Германии, Кореи, России, Украине, Казахстане и стали единственным международным сервисом видеонаблюдения, работающим одинаково хорошо во всем мире. В общем, казалось, что сделать свою аналитику с блэк-джеком и распознаванием будет просто и быстро… мы были молоды, трава казалась зеленее, а воздух – сладким и томительным.

[На тот момент мы рассматривали классические алгоритмы. Для начала нужно детектировать и локализовать лица на изображении: используем каскады Хаара, поиск регионов с текстурой, похожей на кожу и т.п. Допустим, нам надо найти первое попавшееся лицо и сопровождать только его в видеопотоке. Тут можно воспользоваться алгоритмом Лукаса-Канаде. Находим алгоритмом лицо и далее определяем в нём характерные точки. Сопровождаем точки с помощью алгоритма Лукаса-Канаде; после их пропадания считаем, что лицо исчезло из поля зрения. Получив характерные признаки лица, мы сможем сравнить его с признаками, заложенными в базе данных.

Для сглаживания траектории движения объекта (лица), а также для предсказания его положения на следующем кадре используем фильтр Кальмана. Тут необходимо отметить, что фильтр Кальмана предназначен для линейных моделей движения. Для нелинейного же используется алгоритм Particle Filter (как вариант Particle Filter + алгоритм Mean Shift).

Можно также использовать алгоритмы вычитания фона: библиотека с примерами реализации алгоритмов по вычитанию фона + статья по реализации легкого алгоритма вычитания фона ViBe. Кроме того, не стоит забывать один из самых распространенных методов Виолы-Джонса, реализованный в библиотеке компьютерного зрения OpenCV.]

Простое распознавание лиц – хорошо, но недостаточно. Нужно еще обеспечить устойчивое слежение за несколькими объектами в кадре даже в случае их совместного пересечения или временного «пропадания» за препятствием. Считать любое количество объектов, пересекающих определенную зону и учитывать направления пересечения. Знать, когда появляется и исчезает предмет/объект в кадре – навести мышкой на грязную чашку на столе и найти момент в видеоархиве, когда она там появилась и кто её оставил. В процессе слежения объект может измениться достаточно сильно (с точки зрения преобразований). Но от кадра к кадру эти изменения будут такими, что можно будет идентифицировать объект.

Кроме того, мы хотели сделать универсальное облачное решение, доступное для всех – из самых требовательных пользователей. Решение должно было быть гибким и масштабируемым, поскольку мы сами не могли знать, за чем хочет следить и что хочет считать пользователь. Вполне возможно, что кто-нибудь предполагал бы сделать на базе Ivideon трансляцию тараканьих бегов с автоматическим определением победителя.

Только спустя пять лет мы приступил к тестированию отдельных компонентов видеоаналитики – подробнее об этих проектах расскажем в новых статьях.

P.S. Итак, мы ищем добровольцев для тестов детектора очередей. А также пользователей системы ШТРИХ-М для теста новой системы контроля кассовых операций. Пишите на почту или в комментариях.

Пишем программу для автоматического распознавания объектов с веб-камер

В OpenCV существует множество вариантов для трансляции видеопотока. Можно использовать один из них – IP-камеры, но с ними бывает довольно трудно работать. Так, некоторые IP-камеры не позволяют получить доступ к RTSP-потоку (англ. Real Time Streaming Protocol). Другие IP-камеры не работают с функцией OpenCV cv2.VideoCapture. В конце концов, такой вариант может быть слишком дорогостоящим для ваших задач, особенно, если вы хотите построить сеть из нескольких камер.

Как отправлять видеопоток со стандартной веб-камеры с помощью OpenCV? Одним из удобных способов является использование протоколов передачи сообщений и соответствующих библиотек ZMQ и ImageZMQ.

Поэтому сначала мы кратко обсудим транспорт видеопотока вместе с ZMQ, библиотекой для асинхронной передачи сообщений в распределенных системах. Далее, мы реализуем два скрипта на Python:

  1. Клиент, который будет захватывать кадры с простой веб-камеры.
  2. Сервер, принимающий кадры и ищущий на них выбранные типы объектов (например, людей, собак и автомобили).

Для демонстрации работы узлов применяются четыре платы Raspberry Pi с подключенными модулями камер. На их примере мы покажем, как использовать дешевое оборудование в создании распределенной сети из камер, способных отправлять кадры на более мощную машину для дополнительной обработки.

Передача сообщений и ZMQ

Передача сообщений – парадигма программирования, традиционно используемая в многопроцессорных распределенных системах. Концепция предполагает, что один процесс может взаимодействовать с другими процессами через посредника – брокера сообщений (англ. message broker). Посредник получает запрос, а затем обрабатывает акт пересылки сообщения другому процессу/процессам. При необходимости брокер сообщений также отправляет ответ исходному процессу.

ZMQ является высокопроизводительной библиотекой для асинхронной передачи сообщений, используемой в распределенных системах. Этот пакет обеспечивает высокую пропускную способность и малую задержку. На основе ZMQ Джефом Бассом создана библиотека ImageZMQ, которую сам Джеф использует для компьютерного зрения на своей ферме вместе с теми же платами Raspberry Pi.

Начнем с того, что настроим клиенты и сервер.

Конфигурирование системы и установка необходимых пакетов

Сначала установим opencv и ZMQ. Чтобы избежать конфликтов, развертывание проведем в виртуальной среде:

        $ workon <env_name> # например, py3cv4
$ pip install opencv-contrib-python
$ pip install zmq
$ pip install imutils
    

Теперь нам нужно клонировать репозиторий с ImageZMQ:

        $ cd ~
$ git clone https://github.com/jeffbass/imagezmq.git
    

Далее, можно скопировать директорию с исходником или связать ее с вашим виртуальным окружением. Рассмотрим второй вариант:

        $ cd ~/.virtualenvs/py3cv4/lib/python3.6/site-packages
$ ln -s ~/imagezmq/imagezmq imagezmq
    

Библиотеку ImageZMQ нужно установить и на сервер, и на каждый клиент.

Примечание: чтобы быть увереннее в правильности введенного пути, используйте дополнение через табуляцию.

Подготовка клиентов для ImageZMQ

В этом разделе мы осветим важное отличие в настройке клиентов.

Наш код будет использовать имя хоста клиента для его идентификации. Для этого достаточно и IP-адреса, но настройка имени хоста позволяет проще считать назначение клиента.

В нашем примере для определенности мы предполагаем, что вы используете Raspberry Pi с операционной системой Raspbian. Естественно, что клиент может быть построен и на другой ОС.

Чтобы сменить имя хоста, запустите терминал (это можно сделать через SSH-соединение) и введите команду raspi-config:

        $ sudo raspi-config
    

Вы увидите следующее окно терминала. Перейдите к пункту 2 Network Options.

На следующем шаге выберите опцию N1 Hostname.

На этом этапе задайте осмысленное имя хоста (например, pi-livingroom, pi-bedroom, pi-garage). Так вам будет легче ориентироваться в клиентах сети и сопоставлять имена и IP-адреса.

Далее, необходимо согласиться с изменениями и перезагрузить систему.

В некоторых сетях вы можете подключиться через SSH, не предоставляя IP-адрес явным образом:

        $ ssh [email protected]
    

Определение отношений сервер-клиент

Прежде чем реализовать стриминг потокового видео по сети, определим отношения клиентов и сервера. Для начала уточним терминологию:

  • Клиент – устройство, отвечающее за захват кадров с веб-камеры с использованием OpenCV, а затем за отправку кадров на сервер.
  • Сервер — компьютер, принимающий кадры от всех клиентов.

Конечно, и сервер, и клиент могут и принимать, и отдавать какие-то данные (не только видеопоток), но для нас важно следующее:

  • Существует как минимум одна (а скорее всего, несколько) система, отвечающая за захват кадров (клиент).
  • Существует только одна система, используемая для получения и обработки этих кадров (сервер).

Структура проекта

Структура проекта будет состоять из следующих файлов:

        $ $ tree
.
├── MobileNetSSD_deploy.caffemodel
├── MobileNetSSD_deploy.prototxt
├── client.py
└── server.py
 
0 directories, 4 files
    

Два первых файла из списка соответствуют файлам предобученной нейросети Caffe MobileNet SSD для распознавания объектов. В репозитории по ссылке можно найти соответствующие файлы, чьи названия, правда, могут отличаться от приведенных (*.caffemodel и deploy.prototxt). Сервер (server.py) использует эти файлы Caffe в DNN-модуле OpenCV.

Скрипт client.py будет находиться на каждом устройстве, которое отправляет поток на сервер.

Реализация клиентского стримера на OpenCV

Начнем с реализации клиента. Что он будет делать:

  1. Захватывать видеопоток с камеры (USB или RPi-модуль).
  2. Отправлять кадры по сети через ImageZMQ.

Откроем файл client.py и вставим следующий код:

        # импортируем необходимые библиотеки
from imutils.video import VideoStream  # захват кадров с камеры
import imagezmq
import argparse  # обработка аргумента командной строки, содержащего IP-адрес сервера
import socket    # получение имени хоста Raspberry Pi
import time      # для учета задержки камеры перед отправкой кадров
 
# создаем парсер аргументов и парсим
ap = argparse.ArgumentParser()
ap.add_argument("-s", "--server-ip", required=True,
	help="ip address of the server to which the client will connect")
args = vars(ap.parse_args())
 
# инициализируем объект ImageSender с адресом сокета сервера
sender = imagezmq.ImageSender(connect_to="tcp://{}:5555".format(
	args["server_ip"]))
    

Назначение импортируемых модулей описано в комментариях. В последних строчках создается объект-отправитель, которому передаются IP-адрес и порт сервера. Указанный порт 5555 обычно не вызывает конфликтов.

Инициализируем видеопоток и начнем отправлять кадры на сервер.

        # получим имя хоста, инициализируем видео поток, 
# дадим датчику камеры прогреться
rpiName = socket.gethostname()
vs = VideoStream(usePiCamera=True).start()
#vs = VideoStream(src=0).start()
time.sleep(2.0)  # задержка для начального разогрева камеры
 
while True:
	# прочитать кадр с камеры и отправить его на сервер
	frame = vs.read()
	sender.send_image(rpiName, frame)
    

Теперь у нас есть объект VideoStream, созданный для захвата фреймов с RPi-камеры. Если вы используете USB-камеру, раскомментируйте следующую строку и закомментируйте ту, что активна сейчас.

В этом месте вы также можете установить разрешение камеры. Мы будем использовать максимальное, так что аргумент не передастся. Если вы обнаружите задержку, надо уменьшить разрешение, выбрав одно из доступных значений, представленных в таблице. Например:

        vs = VideoStream(usePiCamera=True, resolution=(320, 240)).start()
    

Для USB-камеры такой аргумент не предусмотрен. В следующей строке после считывания кадра можно изменить его размер:

        frame = imutils.resize(frame, width=320)
    

В последних строках скрипта происходит захват и отправка кадров на сервер.

Реализация сервера

На стороне сервера необходимо обеспечить:

  • Прием кадров от клиентов.
  • Детектирование объектов на каждом из входящих кадров.
  • Подсчет количества объектов для каждого из кадров.
  • Отображение смонтированного кадра (панели), содержащего изображения от всех активных устройств.

Последовательно заполним файл с описанием сервера server.py:

        # импортируем необходимые библиотеки
from imutils import build_montages   # монтаж всех входящих кадров
from datetime import datetime
import numpy as np
import imagezmq
import argparse
import imutils
import cv2
 
# создаем парсер аргументов и парсим их
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--prototxt", required=True,
	help="path to Caffe 'deploy' prototxt file")
ap.add_argument("-m", "--model", required=True,
	help="path to Caffe pre-trained model")
ap.add_argument("-c", "--confidence", type=float, default=0.2,
	help="minimum probability to filter weak detections")
ap.add_argument("-mW", "--montageW", required=True, type=int,
	help="montage frame width")
ap.add_argument("-mH", "--montageH", required=True, type=int,
	help="montage frame height")
args = vars(ap.parse_args())
    

Библиотека imutils упрощает работу с изображениями (есть на GitHub и PyPi).

Пять аргументов, обрабатываемых с помощью парсера argparse:

  • --prototxt: путь к файлу прототипа глубокого изучения Caffe.
  • --model: путь к предообученной модели нейросети Caffe.
  • --confidence: порог достоверности для фильтрации случаев нечеткого обнаружения.
  • --montageW: количество столбцов для монтажа общего кадра, состоящего в нашем примере из 2х2 картинок (то есть montageW = 2) . Часть ячеек может быть пустой.
  • --montageH: аналогично предыдущему пункту — количество строк в общем кадре.

Вначале инициализируем объект ImageHub для работы с детектором объектов. Последний построен на базе MobileNet Single Shot Detector.

        imageHub = imagezmq.ImageHub()
 
# инициализируем список меток классов сети MobileNet SSD, обученной
# для детектирования, генерируем набор ограничивающих прямоугольников
# разного цвета для каждого класса
CLASSES = ["background", "aeroplane", "bicycle", "bird", "boat",
	"bottle", "bus", "car", "cat", "chair", "cow", "diningtable",
	"dog", "horse", "motorbike", "person", "pottedplant", "sheep",
	"sofa", "train", "tvmonitor"]
 
# загружаем сериализованную модель Caffe с диска
print("[INFO] loading model...")
net = cv2.dnn.readNetFromCaffe(args["prototxt"], args["model"])
    

Объект ImageHub используется сервером для приема подключений от каждой платы Raspberry Pi. По существу, для получения кадров по сети и отправки назад подтверждений здесь используются сокеты и ZMQ .

Предположим, что в системе безопасности мы отслеживаем только три класса подвижных объектов: собаки, люди и автомобили. Эти метки мы запишем в множество CONSIDER, чтобы отфильтровать прочие неинтересные нам классы (стулья, растения и т. д.).

Кроме того, необходимо следить за активностью клиентов, проверяя время отправки тем или иным клиентом последнего кадра.

        # инициализируем выбранный набор подсчитываемых меток классов,
# словарь-счетчик и словарь фреймов
CONSIDER = set(["dog", "person", "car"])
objCount = {obj: 0 for obj in CONSIDER}
frameDict = {}
 
# инициализируем словарь, который будет содержать информацию
# о том когда устройство было активным в последний раз
lastActive = {}
lastActiveCheck = datetime.now()
 
# храним ожидаемое число клиентов, период активности
# вычисляем длительность ожидания между проверкой
# на активность устройства

ESTIMATED_NUM_PIS = 4
ACTIVE_CHECK_PERIOD = 10
ACTIVE_CHECK_SECONDS = ESTIMATED_NUM_PIS * ACTIVE_CHECK_PERIOD
 
# назначаем ширину и высоту монтажного кадра
# чтобы просматривать потоки от всех клиентов вместе
mW = args["montageW"]
mH = args["montageH"]
print("[INFO] detecting: {}...".format(", ".join(obj for obj in
	CONSIDER)))
    

Далее необходимо зациклить потоки, поступающие от клиентов и обработку данных на сервере.

        # начинаем цикл по всем кадрам
while True:
	# получаем имя клиента и кадр,
	# подтверждаем получение
	(rpiName, frame) = imageHub.recv_image()
	imageHub.send_reply(b'OK')
 
	# если устройства нет в словаре lastActive,
	# это новое подключенное устройство
	if rpiName not in lastActive.keys():
		print("[INFO] receiving data from {}...".format(rpiName))
 
	# записываем время последней активности для устройства,
	# от которого мы получаем кадр
	lastActive[rpiName] = datetime.now()
    

Итак, сервер забирает изображение в imageHub, высылает клиенту сообщение о подтверждении получения. Принятое сервером сообщениеimageHub.recv_image содержит имя хоста rpiName и кадр frame. Остальные строки кода нужны для учета активности клиентов.

Затем мы работаем с кадром, формируя блоб (о функции blobFromImage читайте подробнее в посте pyimagesearch). Блоб передается нейросети для детектирования объектов.

Замечание: мы продолжаем рассматривать цикл, поэтому здесь и далее будьте внимательны с отступами в коде.

        	# изменяем размер кадра, чтобы ширина была не больше 400 пикселей,
	# захватываем размеры кадров и создаем блоб
	frame = imutils.resize(frame, width=400)
	(h, w) = frame.shape[:2]
	blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)),
		0.007843, (300, 300), 127.5)
 
	# передаем блоб нейросети, получаем предсказания
	net.setInput(blob)
	detections = net.forward()
 
	# сбрасываем число объектов для интересующего набора
	objCount = {obj: 0 for obj in CONSIDER}
    

Теперь мы хотим пройтись по детектированным объектам, чтобы посчитать и выделить их цветными рамками:

        	# циклически обходим детектированные объекты
	for i in np.arange(0, detections.shape[2]):
		# извлекаем вероятность соответствующего предсказания
		confidence = detections[0, 0, i, 2]
 
		# отфильтруем слабые предсказания,	
		# гарантируя минимальную достоверность
		if confidence > args["confidence"]:
			# извлекаем индекс метки класса
			idx = int(detections[0, 0, i, 1])
 
			# проверяем, что метка класса в множестве интересных нам
			if CLASSES[idx] in CONSIDER:
				# подсчитываем детектированный объект
				objCount[CLASSES[idx]] += 1
 
				# вычисляем координаты рамки, ограничивающей объект
				box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
				(startX, startY, endX, endY) = box.astype("int")
 
				# рисуем рамку вокруг объекта
				cv2.rectangle(frame, (startX, startY), (endX, endY),
					(255, 0, 0), 2)
    

Далее, аннотируем каждый кадр именем хоста и количеством объектов. Наконец, монтируем из нескольких кадров общую панель:

        	# отобразим имя клиента на кадре
	cv2.putText(frame, rpiName, (10, 25),
		cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)
 
	# отобразим число объектов на кадре
	label = ", ".join("{}: {}".format(obj, count) for (obj, count) in
		objCount.items())
	cv2.putText(frame, label, (10, h - 20),
		cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255,0), 2)
 
	# обновим кадр в словаре кадров клиентов
	frameDict[rpiName] = frame
 
	# построим общий кадр из словаря кадров
	montages = build_montages(frameDict.values(), (w, h), (mW, mH))
 
	# покажем смонтированный кадр на экране
	for (i, montage) in enumerate(montages):
		cv2.imshow("Home pet location monitor ({})".format(i),
			montage)
 
	# детектируем нажатие какой-либо клавиши
	key = cv2.waitKey(1) & 0xFF
    

Остался заключительный блок для проверки последних активностей всех клиентов. Эти операции особенно важны в системах безопасности, чтобы при отключении клиента вы не наблюдали неизменный последний кадр.

        	# если разница между текущим временем и временем последней активности 
	# больше порога, производим проверку
	if (datetime.now() - lastActiveCheck).seconds > ACTIVE_CHECK_SECONDS:
		# циклично обходим все ранее активные устройства
		for (rpiName, ts) in list(lastActive.items()):
			# удаляем клиент из словарей кадров и последних активных
			# если устройство неактивно
			if (datetime.now() - ts).seconds > ACTIVE_CHECK_SECONDS:
				print("[INFO] lost connection to {}".format(rpiName))
				lastActive.pop(rpiName)
				frameDict.pop(rpiName)
 
		# устанавливаем время последней активности
		lastActiveCheck = datetime.now()
 
	# если нажата клавиша `q`, выходим из цикла
	if key == ord("q"):
		break
 
# закрываем окна и освобождаем память
cv2.destroyAllWindows()
    

Запускаем стриминг видео с камер

Теперь, когда мы реализовали и клиент, и сервер, проверим их. Загрузим клиент на каждую плату Raspberry Pi с помощью SCP-протокола:

        $ scp client.py [email protected]:~
$ scp client.py [email protected]:~
$ scp client.py [email protected]:~
$ scp client.py [email protected]:~
    

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

        $ python server.py --prototxt MobileNetSSD_deploy.prototxt \
	--model MobileNetSSD_deploy.caffemodel --montageW 2 --montageH 2
    

Далее запускаем клиенты, следуя инструкции (будьте внимательны, в вашей системе имена и адреса могут отличаться):

  1. Откройте SSH-соединение с клиентом: ssh [email protected]
  2. Запустите экран клиента: screen
  3. Перейдите к профилю: source ~/.profile
  4. Активируйте окружение: workon py3cv4
  5. Установите ImageZMQ, следуя инструкциям библиотеки по установке
  6. Запустите клиент: python client.py --server-ip 192.168.1.5

Ниже представлено демо-видео панели с процессом стриминга и распознавания объектов с четырех камер на Raspberry Pi.

Аналогичные решения из кластера камер и сервера можно использовать и для других задач, например:

  • Распознавание лиц. Такую систему можно использовать в школах для обеспечения безопасности и автоматической оценки посещаемости.
  • Робототехника. Объединяя несколько камер и компьютерное зрение, вы можете создать прототип системы автопилота.
  • Научные исследования. Кластер из множества камер позволяет проводить исследования миграции птиц и животных. При этом можно автоматически обрабатывать фотографии и видео только в случае детектирования конкретного вида, а не просматривать видеопоток целиком.

А какие у вас есть идеи для использования нескольких камер и OpenCV?

Решение задачи по детектированию объектов на видео

Время прочтения: 4 мин.

В этой статье я расскажу о своем опыте решения задачи. О том, как распознать определенный объект в видеопотоке.

Исходные данные

Входными данными для анализа являются видеозаписи с регистраторов. Они выгружаются в форматах mp4 и avi (в зависимости от модели оборудования). Разрешение изображения от 720*576 до 1920*1080, в зависимости от настроек регистратора и параметров используемых камер.

С целью ускорения обработки данных — исходное видео предварительно преобразовывалось в набор «ключевых» кадров. Для этого использован свободно распространяемый инструмент ffmpeg – набор свободных библиотек с исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах:

ffmpeg -i convertedFile -vf select=eq(pict_type\, I) -vsync vfr savedDir frame-%05d.png

Предварительная обработка видео в дальнейшем позволила существенно снизить время на анализ данных (количество кадров уменьшилось примерно на 96%).

Выбор модели

Существуют различные методы для распознавания объектов на изображении. При этом наибольшей популярностью пользуются сверточные нейронные сети (Convolutional Neural Networks, CNN) и их модификации. Благодаря своей архитектуре они хорошо справляются с извлечением признаков из изображения. Есть несколько популярных архитектур CNN для распознавания образов: R-CNN, Fast R-CNN, Faster R-CNN, RetinaNet, SSD, YOLO и другие.

Я выбрал архитектуру YOLOv3 (You Only Look Once). Она обладает более высокой скоростью обработки данных, по сравнению с другими, при сопоставимом качестве. Данная сеть применяется ко всему изображению сразу, разделяя его своеобразной решеткой на несколько участков, и для каждого из них дает предсказание ограничивающих прямоугольников и вероятность нахождения искомого объекта (рис.1):

Для алгоритма задается порог обнаружения, чтобы формировать вывод только объектов с высокой вероятностью детектирования (рис.2):

YOLOv3 является улучшенной версией архитектуры YOLO. Она состоит из 106 сверточных слоев и лучше детектирует небольшие объекты. Это связано с тем, что на выходе сети имеются три слоя, каждый из которых предназначен для обнаружения объектов разного размера. Ниже представлено схематичное изображение данной архитектуры (рис.3):

Подготовка модели

В принципе, для старта распознавания объектов с использованием архитектуры YOLO достаточно скачать с официального сайта проекта файл с предварительно обученной моделью[1] и использовать ее в своей программе. Если необходимо распознавание каких-то специфических объектов, либо нужно повысить качество модели, ее можно доучить на собственных данных.

Я взял модель, предварительно натренированную на ImageNet, и провел ее дополнительное обучение на изображениях из открытого датасета Google OpenImages v4[2], который был расширен при помощи самостоятельно собранного датасета.

В связи с тем, что для обучения модели необходима мощная рабочая станция, я воспользовался Google Colaboratory – бесплатным облачным сервисом компании Google, направленном на упрощение исследований в области машинного и глубокого обучения. В рамках этого сервиса можно получить удаленный доступ к рабочей станции, оснащенной двумя процессорами Intel Xeon 2.3 GHz, 12 Гб оперативной памяти и видеокартой Tesla T4, что позволяет с удобством обучать глубокие нейронные сети. На рабочей станции установлена операционная система Ubuntu 18.04, имеется возможность установки необходимых пакетов python и подключения Google Drive. Следует иметь ввиду, что один сеанс работы с сервисом не может превышать 12 часов, поэтому при длительной обработке данных необходимо сохранять промежуточные результаты, например, на Google Drive.

Для загрузки необходимых изображений из датасета Google OpenImages я использовал открытый инструмент OIDv4_Toolkit, позволяющий выбрать необходимые для загрузки классы и метаданные. После скачивания изображений проверил их на наличие «заглушек»[3], означающих, что исходное изображение было удалено, и исключил их из датасета. Затем дополнил датасет набором самостоятельно сделанных фотографий, на которых присутствуют детектируемые объекты. Полный датасет содержал около 4,7 тысяч изображений.

После разделения данных на обучающую, тестовую и валидационную выборки я запустил обучение модели. Процесс занял около 6 часов. В результате был получен файл, содержащий веса обученной модели (у меня он получился объемом около 240 Мб). Проверка модели на реальных данных показала ее работоспособность – необходимые объекты успешно детектировались.

Заключение

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


[1] В зависимости от задачи можно выбирать из моделей разного объема с разным качеством

[2] В настоящее время актуальна пятая версия датасета

[3] Стандартное изображение-заполнитель

Как найти видео по отрывку видео

На Ютубе и прочих видео сайтах можно найти ролики, в которых фрагменты были склеены из нескольких частей. Но нам иногда нужно найти определенное видео по одному только отрывку видео. Далее расскажем вам, как этом можно сделать, где совершать поиск целого ролика в Интернете.

Как узнать исполнителя из отрывка видеоклипа

Если у вас есть только отрывок видео, в котором нравится песня, её достаточно просто найти. В этом нам поможет приложение Shazam. Оно может быть установлено только на мобильное устройство Android или iOS. Приложение не нуждается в описании, всё что нужно — это установить его на телефон и запустить.

Приложение «Шазам» в Google Play

А также предоставить источник звука. Шазам умеет перехватывать звук как внутри системы, так и при помощи микрофона в мобильном, через который мы разговариваем во время звонков.

Порядок действий для поиска исполнителя по отрывку видео:

  1. Запустив приложение, вы увидите большую кнопку «Шазамить». Нажмите на неё, чтобы активировался микрофон;

    Нажмите на большую кнопку, чтобы начать определять музыку

  2. Если музыка играет из музыкальной колонки, поднесите мобильное устройство с Шазам к динамику;

    Приложение «слушает» музыку

  3. Как только приложение распознает артиста или название композиции — сразу же отобразит результат на экране.

    Shazam определил композицию

После определения песни вы сможете тут же её прослушать в библиотеке Shazam. Под названием отображается количество поисков этой же песни в Шазам.

Тексты песен в Шазам

Практически для каждой песни на русском языке есть текст, несмотря на то, что приложение создано западными разработчиками.

Читайте также: поиск одежды по фото онлайн.

Каким образом найти видео по одному кадру

Каждый отрывок фильма или клипа состоит из сотен и тысяч кадров — статических картинок. Имея всего один из них, мы можем попытаться найти нужное видео при условии, что кадр или снимок будет качественным. На нём отображаются действующие лица и прочие объекты, которые могут указывать на принадлежность изображения к тому или иному видеоролику. Наша задача состоит в том, чтобы открыть отрывок и сделать скриншот на удачном месте.

Сделайте скриншот видео для поиска по картинке

Для повышения вероятности нахождения сделайте несколько скриншотов видеоролика.

Дальнейшие действия будут такими:

  1. Переходим на сайт https://tineye.com/;
  2. Выбираем на компьютере изображение, по которому нужно найти видео;

    Кнопка для загрузки картинки на сайте

  3. Сервис произведёт поиск по своей базе и выдаст результаты;

    Результаты поиска по кадру видео

  4. Среди них можно найти нужную нам информацию о видео, из которого мы сделали скриншоты.

    Информация на сайте, который нашёл поисковик

Воспользовавшись переводчиком, мы смогли определить, что созданные нами скриншоты взяты из кинофильма «Такси» первой части.

Это может быть полезным: поиск по фото с телефона в Яндексе.

Поиск ролика по картинке в поисковике

Найти полное видео из отрывка видеоролика вы сможете при помощи поисковых систем. Сегодня у каждой из них есть раздел с видео и картинками. Они смогут помочь в нашем поиске. Для дальнейших действий вам также понадобится создать несколько кадров в виде картинок, чтобы искать по ним видео.

На примере Яндекс:

  1. Переходим на главную поисковика и нажимаем на вкладку «Картинки»;

    Выберите вкладку «Картинки»

  2. Нажмите «Выберите файл». Нажмите на кнопку с фотоаппаратом и добавьте картинку

    И укажите на компьютере расположение картинки, созданной из отрывка видео;

    Нажмите на кнопку «Выберите файл»

  3. Поищите в результатах подходящую информацию.

Здесь будут как другие картинки, которые похожи на ролик, так и видео с предоставленным вами кадром. Всю информацию, которую вам удастся найти в результатах поиска, введите в поиске на странице с роликов. Попробуйте такой же поиск по картинкам в Google, используйте раздел с отрывками видео.

Поиск видео по картинке в Google

Выберите его и попытайтесь описать что вы видите на изображении.

Инструкция, которая поможет найти видео по мета-данным из отрывка

Каждый файл видео или картинка имеют мета-данные. В них описаны технические характеристики файла: разрешение, размер, время создания и прочие. В некоторых случаях в этой информации можно найти то, что мы ищем — название полного ролика. Среди этих данных могут быть те, которые как раз помогут нам определить автора, имя полного ролика. Нельзя сказать, что эта информация есть у каждого файла, но не использовать способ тоже будет ошибкой.

Порядок действий для поиска видео:

  1. Эти данные узнать можно так: откройте расположение файла;
  2. Выберите его ПКМ и нажмите на пункт «Свойства»;

    Выберите картинку ПКМ и нажмите «Свойства»

  3. Теперь вверху перейдите на вкладку «Подробно»;

    Нажмите на кнопку «Подробно»

  4. В следующем окне нужно внимательно осмотреть все данные на наличие имени файла, описания и прочего.

Возможно в описании среди информации вам удастся найти ключевые слова. С их помощью можно попытаться найти ролик на Youtube. Или снова вернуться в поисковую систему, чтобы отыскать его среди видео Яндекса или Google.

Youtube — поможет отыскать любой видеоролик

Ютуб — это один из самых посещаемых в Интернете поисковых систем. Только поиск производится не по текстовым сайтам, а среди самой большой в мире базы видеороликов.

Главная страница Youtube

Если уметь пользоваться поиском этого видеосервиса, вы сможете не только найти подходящий ролик, но и отыскать полнометражные фильмы по отрывку. Они будут доступны совершенно бесплатно.

Кнопка с фильтрами на Ютуб

После того, как вы совершите на сайте поиск по какому-нибудь запросу, откроется кнопка с фильтром.

Фильтры: Описание:
 «По дате загрузки» Здесь можно найти ролики, которые были загружены за последний час, за неделю, месяц или в этом году.
«Тип» Выбрав одну из вкладок — «Видео», «Канал», «Плейлисты», «Фильмы», «Шоу», — вы сможете найти подходящий ролик по типу.
«Длительность» В этом столбце всего два вида видео: «Короткие» и «Длинные». Короткими считаются ролики продолжительностью до 4 минут.
«Особенности» Здесь можно искать видео по его свойствам: HD, 4К, с субтитрами, VR, 360°, по месту съёмки и прочим.
«Релевантность» Позволяет искать по дате загрузки, рейтингу или числу просмотров.
Фильтры Ютуб

Для начала нужно написать запрос в строке поиска на Ютуб, после чего выбрать один из подходящих фильтров. И по вашему запросу он активируется, а видео в результатах будут сформированы в соответствии с параметрами фильтра. Кроме этого существуют операторы, которые могут помочь в поиске. Они являются теми же фильтрами, но в отличие от них позволяют искать сразу же без раскрытия списка фильтров.

Если вам нужно найти среди видео какой-нибудь фильм, то к поисковой фразе в конце допишите «movie». К поиску автоматически применится фильтр «Фильмы». Или вам нужно искать среди роликов, которые были загружены на этой недели/месяце — введите после запроса слово «Week» или «Month». Таким же образом можно приписать «Year», «Today» и т.д.

Это может быть полезным: Создать видео из фото с музыкой и надписями бесплатно онлайн программа.

Поиск по отрывку видео на форумах

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

Форум для поиска видео по отрывку

Попросите помощи на других ресурсах, например, на сервисе «Ответы Mail.ru» или «Яндекс.Знатоки».

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

Главная страница Ответы Mail.ru

Если для вас эта помощь является очень важной, вы можете разместить свой вопрос в рекламном баннере на «Ответах» платно и получите в 10 раз больше советов. Не обязательно искать форумы и сервисы с тематикой о поиске видео. Каждый популярный ресурс имеет раздел для вопросов или флуда. Используйте их, чтобы достичь своей цели.

Видео-инструкция

Чтобы лучше понять, каким образом найти полное видео по короткому отрывку видео, посмотрите данную инструкцию. В ней несколько способов нахождения фильмов, клипов или авторского вино, часть которого вы нашли в Интернете.

 

WowYow — технология по распознаванию предметов на видео — Будущее на vc.ru

Каждый уважающий себя специалист по рекламе знает имя легендарного Лео Бернетта. При упоминании этого человека некоторые ремесленники рекламного бизнеса могут впасть в транс и часами рассказывать о его гениальности. Цитаты Бернетта стали рекламными постулатами, которые, к сожалению, многие современники забыли.

Одна из фраз Лео гласила: «Я один из тех, кто верит в то, что одна из величайших опасностей рекламы не в том, что она обманывает людей, а в том, что от нее можно умереть со скуки»

И действительно, как сделать эффективный рекламный продукт, а еще лучше который рекламировал товар, только тогда, когда потенциальному потребителю это интересно? Как сделать рекламу не скучной? А еще лучше, что бы она возникала только тогда, когда пожелает сам покупатель. Когда он только посмотрит на товар, проявив малейший интерес. А такое возможно? Разработчики из компании WowYow отвечают: возможно.

Компания из Сан-Диего разработала технологию, позволяющую идентифицировать любой объект в онлайн видео. У истоков разработки технологии, ребята из WowYow задавались вопросом: «почему нельзя искать, то что мы видим на видео?» В стремлении найти ответ на этот вопрос они собрали команду талантливых, трудолюбивых людей, обладающих страстью к инновациям, и построили, как они утверждают, будущее видеорекламы.

Фундаментом разработки, служит запатентованная технология LOOK, которая способна автоматически идентифицировать и монетизировать все объекты на видео. Технология предоставит беспрецедентные возможности для реализации потребностей собственников контента, рекламодателей и потребителей. Для собственников видео — это способ монетизации контента, для рекламодателей эффективный инструмент продвижения продукта для потенциального потребителя возможность в реальном времени изучить и купить понравившейся продукт.

платформа поможет определит

Как найти видео по отрывку через сайты онлайн и приложения

Часто мы сталкиваемся с роликами, состоящими из нарезанных и склеенных отрывков из кино, роликов. Что же делать, чтобы узнать исполнителя понравившейся песни или фильм по одному лишь кадру или отрывку песни? С этим мы и разберемся.  Большинство сервисов работают онлайн и помогут найти песню или фильм по отрывку видео, а мы рассмотрим самые точные и популярные способы поиска.

Как определить исполнителя по отрывку из видеоролика

  1. Установите на мобильный телефон программу Shazam для ОС Android или iOS .
  2. Запустите его.
  3. Нажмите кнопку «Шазамить» и включите воспроизведение трека, любую песню. Приложение может перехватывать звук как внутри ОС, так и через микрофон устройства.
  4. После работы алгоритмов определения – композиция и результат появится на экране.

Поиск автора композиции по отрывку

Вы можете прослушать трек, либо ознакомиться с текстом. Последнее предоставляется для большинства русских и зарубежных композиций.

При первом запуске приложение может запросить доступ к аудио, микрофону и галерее устройства. Для корректной работы нажмите “Разрешить”.

Разрешаем доступ к Аудио, Микрофону и Галерее смартфона

Как найти видео по кадру

  1. Открыть нужный отрывок видеоролика.
  2. Сделать скриншот самого удачного момента (лучше несколько).
  3. Зайти на сайт https://tineye.com/.
  4. Выбрать скриншот, воспользовавшись кнопкой загрузки.
  5. Дождаться выдачи результатов.

Как найти ролик по картинке через поисковые системы

Так же, как и в предыдущем способе, необходимо подготовить несколько скриншотов или кадров. Если предпочитаете ПС Яндекс, необходимо:

  1. С главной страницы поисковика перейти в раздел «Картинки».
  2. Нажать на иконку с изображением фотоаппарата.
  3. Указать в качестве критерия поиска сделанный скриншот через кнопку «Выбрать файл».
  4. Ознакомиться с результатами поиска.

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

Можно вставлять разные кадры отрывка для получения точного результата

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

  1. Открыть расположение файла.
  2. Вызвать контекстное меню ПКМ и выбрать «Свойства».
  3. Открыть вкладку «Подробно».
  4. Ознакомиться с представленной информацией.

В некоторых случаях среди данных представлены ключевые слова, которые помогут найти автора через поисковые системы.

Каждый файл видео или отрывок содержит уникальные метаданные

Поиск через Ютуб

Позволяет по отрывку найти нужный ролик, и даже полнометражный фильм, который можно просмотреть бесплатно. Для этого нужно сначала задать поисковый запрос, а потом воспользоваться встроенными фильтрами. Последнее можно сделать двумя способами:

  • Кнопкой «Фильтр», сортирующей результаты по заданному критерию:
    • дате загрузки;
    • типу: видео, канал, плейлисты, фильмы, шоу;
    • длительности: короткие (до 4 мин.) и длинные;
    • особенностям: с субтитрами, 360 градусов, HD или 4К качество, место съемки и другие;
    • релевантности: поиск по дате загрузки, рейтингу канала, числу просмотров видео.
  • Использование специальных слов:
    • movie – автоматическое применение фильтра «Фильмы»;
    • week – поиск по загруженным на этой неделе;
    • month – среди загруженных в последний месяц;
    • year – за последний год;
    • today – сегодня.

Грамотно распределите фильтры по дате загрузки, длительности и типу

Как искать на форумах

Пусть человеческий фактор уступает технике по скорость обработки информации, но по качеству в разы превосходит. Зайдите на тематические форумы и онлайн-сервисы и, зарегистрировавшись, оставьте свой вопрос. Наиболее популярными ресурсами является «Ответы Mail.ru» или «Яндекс.Знатоки».

Инструмент для быстрого поиска сцен в видео файлах / Хабр

Предыстория



Когда то я поспорил с моим приятелем по поводу одного фильма. Он утверждал, что главный герой говорит одно, я же считал, что он говорит совершенно обратное. В результате мы поспорили на N-ое количество алкогольно-прохладительных напитков и направились к общему другу, который являлся счастливым обладателем VHS-видеоплеера и у которого должен был быть этот самый фильм. Спор этот я проиграл, но, хорошо помню, что мы потратили много времени на поиск именно этой сцены.Годы спустя, уже в наши дни, другой мой приятель переписал мне видео с регистратора на флэшку со словами, что там мол, после какого то поворота налево в объектив устройства должен был попасть наш общий знакомый (неприятный тип), который находился в чуднОм состоянии и, предлагал мне, приколоться по этому поводу.Искать чью-то физиономию на видео длиной в пару часов, это, конечно, не то чтобы искать иголку в стогу сена, но, тоже, удовольствие на любителя. Похоже, что именно тогда в моей голове начала зреть идея и я задался вопросом: как просмотреть несколько часов видеозаписей, чтобы найти там что тебе надо и при этом не сильно ограничить себя во сне?

Основная идея


В результате размышлений я пришёл к выводу, что проще всего для поиска использовать табличное представление видео: в каждой ячейке свой временной интервал.

Табличное представление видео: что это за зверь и с чем его едят?


Примеры видео в табличном формате
Candies
Parking
Road
Примеры изображений в табличном формате
Candies
Parking
Road

Собственно, сам инструмент


После некоторых мучений мной была написана программа Table View Video Player.
Основные возможности программы

  • Воспроизведение видео в табличном виде
  • Возможность сохранять видео в табличном виде (для просмотра на планшете или просто на другом компьютере)
  • Настраиваемое количество строк и столбцов в таблице, а также размеры результирующего кадра в пикселях
  • Список файлов (для быстрого переключения между видео, а также если событие состоит из нескольких файлов, например VOB-файлы на DVD или записи с видео регистратора)
  • Сохранение индексного изображения
  • Пакетное создание видео и индексных изображений для всех файлов в списке
  • Некоторые преобразования исходного видео при воспроизведении (вращение на 90, 180, 270 градусов, отражение по вертикали и по горизонтали)
  • Возможность выбора конкретной области исходного видео
  • Возможность воспроизведения исходного видео в обычном режиме с заданной позиции во встроенном проигрывателе или в другой программе

А что там под капотом?

Программа написана на C++, использовался MS Visual Studio 2015. В качестве видео библиотек можно было ограничиться FFMPEG, но я юзал OpenCV (планирую использовать другие возможности этой библиотеки).

Область применения данного инструмента


Попробую показать всё на примере. Я поставил видео камеру на кухне, а конфеты спрятал на кухонный навесной шкаф. Продолжительность видео 2 часа. А теперь посмотрите на картинку и скажите кто их съел: папа, мама или кто-то из детей? Даже если бы не было выделения нужных областей, всем всё стало бы ясно через 2 минуты просмотра, а может и раньше. Если кто-то хочет провести эксперимент, то вот ссылка на исходное видео, а вот ссылка на видео в табличном виде. Итак, основное предназначение программыузнать кто стырил конфеты визуальный анализ видео.

Ещё немного практики


По праздникам я снимаю видео в детском саду, а также семейные юбилеи, свадьбы друзей и родственников. Pinnacle Studio — отличная программа для видеомонтажа! Говорят даже, что в ней с лёгкостью разбираются домохозяйки! Не понимаю правда, откуда у домохозяек столько упорства и свободного времени, чтобы тратить часы на многократные попытки проэкспортировать смонтированное видео в файл или на DVD-диск? Сам я пользуюсь этой программой начиная с 8-ой версии (сейчас использую лицензионную 17, а последняя выпущенная это 19 версия), но, несмотря на мой опыт, редко получается, чтобы в процессе редактирования или экспорта приложение не повисло. Но даже если экспорт завершился удачно (по мнению Pinnacle Studio), то при просмотре видео в VLC-плеере или проигрывателе Windows-Media иногда встречаются артефакты, вид которых смущает пользователей моей продукции.Что ж! Table View Video Player можно использовать и здесь! Запускаем программу, открываем наш файл и не концентрируясь на каком-либо фрагменте конкретно просто пытаемся почувствовать, где вдруг появляется фриз или какая то бяка.Типа этого.Пять минут на поиск артефактов видео — это не так уж и много!В таком случае заново открываем проект и пытаемся исправить проблему. И немного радуемся тому, что обнаружили это сами, а не «счастливые родители» во время семейного просмотра.

Шаг назад


Некоторое время назад я похвастался своей программой перед знакомым, на что получил замечание, что программа слишком сложна и лично он бы в ней никогда не разобрался. Мдя, а я то думал… Учтя конструктивную критику, я осознал, что, возможно, он прав. Так возникла необходимость создания более простой (Lite) версии.
Основные возможности программы

  • Воспроизведение видео в табличном виде
  • Изменяемые размеры таблицы
  • Список файлов (для быстрого переключения между видео, а также если событие состоит из нескольких файлов, например VOB-файлы на DVD или записи с видео регистратора)
  • Возможность воспроизведения исходного видео в обычном режиме с заданной позиции во встроенном проигрывателе.
По сравнению со стандартной версией убраны многие фичи, но зато программа стала простая как 2 копейки!

Теория поиска сцен и объектов


Существующие автоматические решения для поиска по видео архиву ресурсоёмки, кроме того не всегда можно чётко сформулировать что же Вы ищете. В этом случае использование ручного поиска (я имею в виду с помощью оператора), если ускорить его с помощью табличного воспроизведения, может оказаться весьма эффективным.
Сильные стороны

  • Поиск некоторых событий в относительно статичной картинке. Например, запись посетителей в холле. Если их не так много, то найти нужного человека довольно легко. Здесь поиск можно ускорить в десятки раз!
  • Поиск сцен, имеющих контрастную цветовую гамму или освещенность в динамичном видео. Например, есть фильм, снятый преимущественно в помещении, но имеется одна или несколько сцен снятых на улице в ясный солнечный день. Требуется их найти. В этом случае они очень быстро и очно находятся.

Слабые стороны

  • Поиск конкретных людей в толпе. Например, в метро в час пик. Здесь табличное представление не поможет, лучше просматривать видео в обычном режиме (меньше вероятность пропустить искомое) или использовать специально заточенные автоматические средства.

Конкуренты или программы для поиска сцен и объектов


Прямых конкурентов я назвать не могу, но есть несколько программ, которые делают нечто похожее. Список далеко не полон, часть ссылок никак не могу найти. Но был бы благодарен, за дополнение…

Планы на будущее


  • Ускорение воспроизведения видео. Уже сейчас видео в разрешении VGA на современном компьютере можно смотреть в таблице 10×10 с частотой 20-30 FPS. Однако видео c современных фото и видео камер, экшен-камер и видео регистраторов имеет разрешение Full HD или даже выше и не за горами 4K. Поэтому без использования GPU не обойтись.
  • Возможность сохранения найденной информации в виде изображений (стоп-кадр), аудио или видео фрагментов интересующих моментов для последующего использования. Например, для монтажа видеофильма (собираем смешные сюжеты с вечеринки) или для представления доказательств в суде (если камера видео наблюдения засняла момент кражи).

Выводы


  • Инструментов для поиска сцен и объектов в видео на сегодняшний день для рядового пользователя практически не существует.
  • Приложения Table View Video Player и Table View Video Player Lite пытаются хоть как восполнить эту нишу.
  • Для определённых видов поиска сцен в видео метод табличного представления является очень эффективным.
  • Несмотря на то, что для одновременного воспроизведения нескольких десятков видео потоков требуется высокая производительность компьютера, при невысоком разрешении (SD качество) исходного видео задача успешно решается современными ПК.

Проект систем распознавания видео

www.videorecognition.com

Группа вычислительного видео (CVG-GVI)
Института информационных технологий
(IIT-ITI)
Национального исследовательского совета Канады (NRC-CNRC)

Кто мы:
Технологии разработано:
ACE наблюдения?
Распознавание лиц в видео Технология:
N дом? Интерфейсы громкой связи :
Библиотека ассоциативной нейронной сети PINNLib
Автоматизированный телеоператор х
C-MIDI: видеоаннотации игры на фортепиано
Стерео слежение
Услуги:
Организатор: Мастерская NRC-DTO VT4NS, M50, 5-6 июня 2007 г.
Организатор: Междунар.Семинар по обработке и распознаванию видео (VideoRec’07), 28-30 мая 2007 г., Монреаль, Канада
Организатор: Междунар. Семинар по обработке видео для обеспечения безопасности (VP4S-06), 7-10 июня 2006 г., Квебек, Канада
Учебное пособие по «Распознаванию видео»: на Канадской конф. по электротехнике и вычислительной технике, 7 мая 2006 г.
Посмотреть все услуги
Членство:
  • Комитет TC по биометрии и надзору NSERC
  • Рабочая группа PSEPC по биометрии
Последние публикации и презентации:
«Увеличьте масштаб улик с помощью ACE Surveillance»
«Работа с компьютером в режиме громкой связи с использованием интерфейса перцептивного зрения Nouse»
«Просмотр лиц на видео с помощью компьютеров», редакционная статья для специального выпуска Обработка лиц в видеопоследовательностях из Вычисления изображений и зрения журнал
«Надзор ACE: надзор нового поколения для долгосрочного мониторинга и обобщения деятельности»
«Курсор восприятия — решение проблемы разрыва контура в устройствах управления компьютером с функцией« Свободные руки »на основе зрения»,
«Видео-платформа для распознавания лиц в видео»,
Посмотреть все
Карьера

Карта сайта: здесь


Архивный контент: Информация, обозначенная как архивная, предназначена для справки, исследования или ведения записей.
  • Этот сайт больше не поддерживается. Некоторые ссылки могут быть неработающими, но большая часть базы знаний созданные в рамках проекта, все еще должны быть доступны.

  • За дополнительной информацией обращайтесь к д-ру Дмитрию Городничему. Его последние публикации и базу знаний можно найти на сайте www.gorodnichy.ca.

Основные моменты проекта Video Recognition Systems (VRS) (2001–2007) :

За свою семилетнюю историю проект…

  1. … производит уникальные, получившие признание технологии для
    1) Vision-based компьютерное управление ( N дом ) — используется в медицинских учреждениях длительного ухода в Оттаве. Посетите www.nouse.ca для получения более подробной информации
    2) Автоматически Наблюдение ( ACE Surveillance ) — используется NRC Комиссары и по запросу нескольких компаний,
    3) Распознавание лиц от Видео ( FRiV ) — интересует DND и несколько Охранные компании.
  2. … фигурирует в трех отчетах NRC о превосходстве (2002 г., 2003 г., 2004 г., 2005 *) и многими национальными и международные СМИ.
  3. … становится одним из первых, кто установил Intelligent Видео как новое направление исследований , представляющее такие термины как « Видео Признание »(2004 г.) и« Лицо. Обработка « (2003 г.), которые сейчас используются многими в области и организации первого Международного Мастер-классы и обучающие программы в новом районе.
  4. … становится важным источник опыта в области интеллектуальной видео / видеоаналитики для нескольких Канадские финансовые агентства (IRAP, NSERC, AIF, CCIFF), безопасность компании и федеральные департаменты правительства Китая (RCMP, DND, CBSA).
  5. … становится инициатором и координатором межведомственная инициатива по видеотехнологиям для национальной безопасности (VT4NS) и первый Канадский партнер DTO IARPA Программа анализа видео и извлечения контента (VACE).
  6. Его лидер получает несколько федеральных и национальные награды (NRC, CIPPRS) и назначен «Лидером Завтра »Королевского общества Канадской академии Science PAGSE.

Описание

Этот сайт посвящен разработке Video Recognition Technology . Чтобы заставить эту технологию работать, исследуются несколько областей исследований: компьютерное зрение и обработка изображений, машинное обучение и распознавание образов, нейробиология.Три важных прикладных области требуют развития этой технологии.

    Домен 1: Безопасность, наблюдение и мониторинг.
    Домен 2: Визуальное взаимодействие между компьютером и человеком (включая пользовательские интерфейсы без использования рук)
    Домен 3: Визуально улучшенное взаимодействие и Интеллектуальная обработка видео (включая расширение и аннотацию видео)

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

Недавние проекты:

ACE наблюдения? : Автоматическое извлечение и A обозначение C ritical E снимков видимости из Видеонаблюдение Видео. Система наблюдения нового поколения, способная интеллектуально обрабатывать и управлять данными видеонаблюдения.
[ Статус: Готов к использованию и для лицензирования. Доступны демонстрации и загрузка. ]
Подпроекты и ключевые слова:
  • Автоматизированное извлечение и резюмирование видео наблюдения
  • Автоматическое обнаружение и сопровождение объектов на видео
  • Автоматическое извлечение критических снимков улик из видео наблюдения
  • Просмотр доказательств и поиск в архиве

Запоминание и распознавание лиц в видео
[ Статус: текущие исследования и разработки с возможностью лицензирования.Доступны демоверсии ]
Подпроекты и ключевые слова:
  • Запоминание и распознавание лиц из видео с низким разрешением с использованием ассоциативной памяти: накопление доказательств с течением времени при обучении и распознавании
  • Отслеживание лиц для распознавания лиц: автоматический выбор лучшего снимка и ожидание доказательств
  • Каноническая модель лица, пригодная для распознавания на видео
  • Регистрация лиц по видео
  • Набор видеоданных лиц с низким разрешением для тестирования и настройки методов FRiV
  • Оценка производительности распознавания лиц на видео
  • Аннотации лиц в телешоу и видео наблюдения, телеконференциях
  • Мягкая биометрия распознавания лиц в видео
  • Запоминание и распознавание пользователей компьютеров на лету

Обработка и распознавание видео для обеспечения безопасности и биометрии : Многие государственные и частные компании, использующие видеоданные в целях безопасности, предоставляют множество востребованных приложений для обработки и распознавания видео.Это исследование направлено на то, чтобы предложить решения для этих приложений.
Партнеры: CBSA, RCMP, CPRS, DRDC, DND
[Статус : текущие исследования и разработки с возможностью лицензирования ]
Подпроекты:
  • Приложения видеонаблюдения
  • Удаленная биометрия на основе видео
  • Отслеживание людей и обратное отслеживание
  • Отслеживание нескольких человек
  • Мультикамерное слежение
  • Отслеживание с запоминанием
  • Аннотация и распознавание действий

N дом? Пользовательские интерфейсы Perceptual Vision
[Статус : Текущее исследование приложений с возможностью лицензирования.Несколько публикаций. Доступны демонстрационные версии ]
Партнер и лицензиат: Bruyre Постоянный уход — Исследовательский институт Лизабет Брюйр
Подпроекты и ключевые слова:
  • Обнаружение лица пользователя и отслеживание движения головы
  • Субпиксельное точное отслеживание носа пользователя
  • Обнаружение моргания
  • Распознавание лицевых жестов
  • Распознавание пользователей
  • «Виртуальная» экранная клавиатура на основе Vision и набор текста без помощи рук
  • Операционная система громкой связи и компьютерное управление
Видеосвязь с улучшенным восприятием
(для электронных конференций, электронного обучения, электронного присутствия, дистанционного или онлайн-обучения)
[Статус : текущие прикладные исследования и разработки в рамках широкополосной визуальной коммуникации Стратегическая инициатива ]

Автоматизированный оператор связи
[Статус : управляемый приложением по запросу клиента.Доступны демо-версии ]
Описание:

  • Из ряда видеопотоков онлайн или офлайн, записывающих событие (например, хоккейный матч), автоматически выбирается тот, который показывает его наилучшим образом.
  • Заменяет ручную работу видеооператора (например, при трансляции или записи на пленку хоккейного матча на одном устройстве записи или выходном потоке с использованием нескольких видеокамер, установленных вокруг хоккейной площадки).

Фильтры распознавания видео для дистанционного обучения и визуального общения
[ Статус: текущие исследования и разработки ]
Подпроекты и ключевые слова:

  • Автоматическое масштабирование и переключение автофокуса, управляемые зрительным вниманием (вкл.распознавание поднятия руки, признание инструктора)
  • Наглядные пособия с аннотациями для общения и обучения

Прошлые проекты:

Обнаружение и отслеживание рук пианиста
[ Статус: Завершено. Опубликовано. Доступны демонстрационные версии ]
Партнер и лицензиат: U. Лаборатории фортепианной педагогики Оттавы .
Подпроекты:

  • Обнаружение и исправление клавиш фортепиано
  • Калибровка видео-midi
  • Обнаружение и отслеживание рук: передний план, сегментация кожи, отслеживание нескольких объектов и отслеживание деформируемых объектов
  • Обнаружение и отслеживание пальцев
  • Видеоаннотация игры на фортепиано с миди и без него
StereoTracking Проект:
Projection Video Toolkit объединен с отслеживанием выпуклой формы Nouse, чтобы обеспечить трехмерное отслеживание лица.Также может использоваться для отслеживания любого объекта в 3D с помощью двух веб-камер.
[ Статус: Завершено. Последнее обновление: 02.02.2002 ]
Соавтор: Герхард Рот.

Библиотеки:

Библиотека обработки и распознавания видео : Мы постоянно ищем методы, которые позволили бы нам обрабатывать видео так же эффективно, как в живых системах технического зрения. Оба метода , управляемые биологическими методами, : такие, как те, которые используются для эффективного зрительного внимания, временной обработки визуальных данных с низким разрешением, накопления данных и нейроассоциативного запоминания и распознавания, а также вычислительные методы : например, основанные на статистических данных. рассматривается анализ видеоизображений и математические операции над ними.Результатом является постоянно обновляемая библиотека, которая используется во всех проектах Perceptual Vision нашей группы.
[ Статус: текущие фундаментальные исследования ]
Включает:
  • Захват видео с одной или нескольких камер или видеофайлов и дисплея
  • Цветовой анализ видео: надежное обнаружение кожи с использованием комбинации моделей кожи и статистики, отслеживание цвета общего назначения и отслеживание нескольких цветов
  • Анализ движения видео: обнаружение фона на основе статистики и отслеживание переднего плана, обнаружение линейных и нелинейных изменений первого и второго порядка.
  • Анализ интенсивности видео: обнаружение и отслеживание выпуклой формы, отслеживание прецизионных субпиксельных функций, отслеживание на основе текстуры и края.
  • Анализатор лица: обнаружение глаз, исправление лица, извлечение двоичных черт лица, 12-пиксельная каноническая модель лица, подходящая для сохранения и распознавания в видеопоследовательностях
  • Отслеживание нескольких объектов, отслеживание несколькими камерами, отслеживание с помощью распознавания
  • Запоминание и распознавание с отслеживанием

Библиотека ассоциативной нейронной сети : Это бесплатная библиотека для исследований и разработок, основанная на докторской работе доктора Ф.Дмитрий Городничий и его коллеги. Он используется в частях запоминания и распознавания в проектах Perceptual Vision.
[ Статус: Завершено. Доступна бесплатная лицензия ]
Ключевые слова:

  • Модели ассоциативной памяти
  • Исправление ошибок, обобщение, искусственный интеллект
  • Нелинейная обработка данных, Синаптическая пластичность для хранения данных, Распределенное коллективное принятие решений

Описание технологии:

  • Веб-сайт Presentations содержит публикации, презентации в PowerPoint, ссылки на организованные мероприятия и обзоры СМИ Технология распознавания видео.

Услуги:

  • Веб-сайт Services (www.computer-vision.org) содержит ссылки на организованные мероприятия и услуги, в том числе онлайн-процессы распознавания видео семинары под председательством и организатором д-р Городничий.

Контакт

Доктор Дмитрий Городничий , Руководитель проекта
Электронная почта: dmitry @ gorodnichy.ок (dg @ videorecognition.com)


Авторское право (R) 2001-2009

Живые ACE-слепки:
От Офис
От Лаборатория
Подписаться
Новости

Новости и события по теме:
www.IVIM.ca
www.gorodnichy.ca
www.computer-vision.org

1 октября 2007 г. Доктор Городничий приглашен выступить с докладом на семинаре Transport Canada по безопасности железнодорожного и городского транспорта.
6 сентября 2007 г .: Объявлены результаты WFA: IIT больше не будет проводить никаких мероприятий в области вычислительного видео.
2 сентября 2007 г .: SCO совместно с Ottawa U. начинает 2-ю фазу тестирования Nouse.
15 августа 2007 г .: DRDC предоставит NRC финансирование для разработки автоматизированной системы контроля доступа на основе технологии распознавания лиц VRS.
11 августа 2007: Полгода тестирования ACE комиссарами NRC сделало их утренней рутиной, проверяя, что произошло ночью, с помощью ACE-Browser.
8 июля 2007 г .:
CTV рассказывает о тестировании Nouse — см. Видео
9 июня 2007 г .:
— Доступна для загрузки новая версия Nouse!
— Веб-сайт реорганизован.
7 июня 2007 г .:
Репортаж «Гражданин Оттавы» — NRC « Nouse » позволяет контролировать ситуацию на кончике носа пользователя компьютера.
5-6 июня 2007 г.
CBC рассказывает о тестировании Nouse в SCO — см.
5 июня 2007 г .: RCMP, CBSA и другие департаменты GoC собрались на организованное VRS совещание по развертыванию видеотехнологий для национальной безопасности (VT4NS)
1 июня 2007 г .: плакаты Nouse и ACE доступны для загрузки.
31 мая 2007 г .: VRS принимает участие в конференции Immediate Technologies for Border Security (ComDef’07).
28-30 мая 2007: ACE и Nouse демонстрируются на треке CRV конференции IS’07.
15 мая 2007 г .: Тестирование Nouse Phase II в SCO начинается по мере того, как пользователи с ограниченными возможностями начинают оценивать технологию.
12 апреля 2007 г .:
— Новое обновление для ACE доступно для загрузки.
— В ШОС доставлено новое обновление Nouse.
3 апреля 2007: Встреча с координатором NRC-ASPM для обсуждения использования ACE в CISTI…
16 марта 2007 г .: Встреча представителей VRS и LIVIA для налаживания совместной работы по инкрементальному обучению распознаванию лиц в видео …
14 марта 2007 г .: Браузер ACE (версия 2.2), позволяющий просматривать аннотированные критические доказательства на компьютере клиента, готов к испытанию …
13 марта 2007 г .: ACE-Surveillance (v.2.2) — бета-версия теперь доступна для бесплатного скачивания …
7 марта 2007 г .: Ottawa U.Студенты по трудотерапии делятся опытом работы с резидентами ШОС для проекта Nouse …
Чт, 1 марта 2007 г .:
— SCO предоставляет обратную связь для разработки Nouse-PVI …
Среда, 21 февраля 2007 г .:
— Основное обновление ACE: выпуск v.2.0.alpha позволяет архивировать неограниченное количество дней и просматривать другие аннотации …
Среда, 7 февраля 2007 г .:
— NRC-IIT и больница Сент-Винсент встречаются для обсуждения дальнейшего сотрудничества…
Пт, 2 февраля 2007 г .:
— ACE передан на тестирование в RCMP …
31 января 2007 г .:
Крайний срок для летних / кооперативных позиций с VRS …
Пт, 26 января 2007 г .:
Nouse-PVI (v.1.0) доставлено резидентам ШОС для тестирования …
20 января 2007 г .:
VRS и DRDC готовятся к совместному проекту по распознаванию лиц для мониторинга зон ограниченного доступа …
Чт, янв.24, 2007:
VRS встречается с GateKeeper Inc., чтобы заложить основу для совместной работы …
17 января 2007 г.
Инициатива с Ottawa U. по распознаванию личности в видеонаблюдении …
15 января 2007 г.
Встреча в DRDC по инструментам биометрии на основе вен от Hitachi …
Чт, 11 января 2007 г.
Уполномоченные NRC используют систему наблюдения ACE для повышения безопасности в помещениях NRC …
Дек.14 августа 2006 г. Первый публичный релиз
ACE: v1.1.4. После более чем года лабораторных испытаний ACE передается общественности для тестирования …
10 декабря 2007 г .:
VRS получает новое доменное имя и новый вид http://vrs.iit.nrc.ca
30 ноября 2006 г .:
Встреча по инициативе в области здравоохранения во Фредериктоне объединяет ученых NRC-IIT, работающих над проектами, связанными со здоровьем …
30-31 октября 2006 г .:
VRS делает приглашенную презентацию по интересам канадских видеотехнологий на встрече DTO VACE…
15.09.2006:
Проекты Perceptual Vision, возглавляемые Д. Городничим, получили новое название — Системы распознавания видео …
Просмотреть все новости …
.

распознавание видео — определение — английский

Примеры предложений с «распознаванием видео», память переводов

патенты-wipo Устройство приема видео, метод распознавания видео и система отображения дополнительной информациипатенты-wipo Трехмерная система распознавания видео и очки с активным затвором патенты-wipo Удаленное распознавание видео systempatents-wipoПредоставляется система удаленного распознавания видео, которая реализует новую систему приема многоэкранного изображения с одним источником .patents-wipoУстройство приема видео, метод распознавания видео и система отображения дополнительной информациипатенты-wipoОчки с активным затвором и система распознавания стереоскопического видеоpatents-wipoИдентификация элемента Использование распознавания видео для дополнения штрих-кода или RFID-информации. WikiMatrixОни имеют широкое применение в распознавании изображений и видео, системах рекомендаций и обработке естественного языка.Патенты-wipoСистема распознавания видеоизображений и программа распознавания видеоизображений. генерирует информацию распознавания контента из области распознавания видео части видео. patents-wipo На основе определенной маски мерцания система распознавания видео определяет, указывают ли видеоданные на наличие пожара.Патенты-wipoПредоставлены способ и устройство для выполнения точного начала и конца распознавания голоса на основе распознавания видео. patents-wipoСистема распознавания видео обнаруживает наличие пожара на основе видеоданных, предоставленных одним или несколькими видеодетекторами. Система распознавания сочетает в себе первую функцию мерцания и вторую функцию мерцания, чтобы генерировать накопленную функцию мерцания. Giga-fren «Мы начали с распознавания рукописного ввода, оптического распознавания символов, распознавания лиц, распознавания видео — извлечения данных из видео, которые компании могли бы использовать.Патенты-wipo Раскрыты очки с активным затвором и система распознавания стереоскопического видео, способная распознавать стереоскопические изображения с превосходным качеством отображения. patents-wipo Блок управления выполняет управление, чтобы запросить устройство распознавания видео (20) для выполнения обработки распознавания видео на информации распознавания контента. Patents-wipo Система включает в себя один или несколько выходов, которые можно оперативно подключить для передачи результатов оценки, выполненной системой распознавания видео. Пожар.

Показаны страницы 1. Найдено 366 предложения с фразой распознавание видео.Найдено за 19 мс.Накопители переводов создаются человеком, но выравниваются с помощью компьютера, что может вызвать ошибки. Найдено за 0 мс.Накопители переводов создаются человеком, но выравниваются с помощью компьютера, что может вызвать ошибки. Они поступают из многих источников и не проверяются. Имейте в виду.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *