Автоматизация видеосъёмки в прямом эфире (проект) — различия между версиями
Dkorolev (обсуждение | вклад) (Новая страница, с помощью формы Новый_проект) |
Dkorolev (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 59: | Строка 59: | ||
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов). | Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов). | ||
− | На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет | + | На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи "здесь и сейчас", сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети. |
+ | |||
+ | ===Как записаться?=== | ||
+ | |||
+ | В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. | ||
+ | |||
+ | http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG |
Текущая версия на 22:17, 19 октября 2017
Ментор | Королев Денис |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 5-10 | |
Что это за проект?
По потоку RTSP, получаемому от управляемой (PTZ) IP видеокамеры, нужно определять человека в кадре и посредством команд ONVIF управлять камерой, чтобы человек оставался в кадре. При этом, движения должны быть плавными (но настойчивыми, чтобы не терять цель), а композиция кадра должна быть выдержана по заданным правилам. Требуется обеспечить устойчивость к ситуациям, когда снимаемый человек отвернулся или сел за стол, наклонился, и т.д. При появлении новых людей в кадре следует удерживать фокус на первом. Результатом является а) сервис на виртуальной linux-машине, имеющий REST API для передачи адресов-паролей камер и потоков, а также возвращения контрольного потока со служебными метками, и б) автономно устанавливаемая его версия в виде службы в Windows.
Чему вы научитесь?
Трекинг человека в кадре. Актуальная задача для многих применений. В данном случае "фишка" проекта -- в художественной съёмке. Здесь нет ничего гениального, просто следовать правилам, а правила опираются на знание, как расположена фигура человека в кадре и куда он смотрит или хотя бы повернул голову. Но, чтобы это смотрелось хорошо, нужно правильно управлять перемещением камеры, поэтому: Управление камерой через ONVIF с плавным и одновременным изменением координат. Следует учитывать, что работать придется без опорного изображения, полагаясь только на поток с камеры. То есть, выходящего за кадр актера придётся догонять, "отъезжать" и предпринимать все возможные действия, чтобы не потерять совсем. Желательно, чтобы при этом зрителей не укачало.
Основной challenge проекта -- учесть возможные помехи (человек отвернулся или наклонился, сел за стол -- тогда полагаться на иные, чем только распознанное лицо, характеристики изобржаения, следить за контурами и т.д.), при этом, обеспечить движение, которое можно показывать в прямом эфире, не боясь, что камера будет дергаться или снимать "мимо".
Полезная возможность в контексте решаемой задачи -- автоматически брать заданный план (крупность человека в кадре).
Сервис должен запускаться как на удаленном Linux-сервере, так и иметь локальную версию для Windows (в виде службы), при этом, взаимодействие с сервисом должно обеспечиваться через REST API и через веб-интерфейс. Помимо базовых команд (запуск, остановка автотрекинга, ручной выбор композиции и крупности плана), пользователь должен иметь возможность видеть обнаруженных программой людей (если их в кадре больше одного) и переключать фокус трекера на одного из них.
Какие начальные требования?
В зависимости от роли в проекте:
- Навыки работы с распознаванием лица и фигуры человека или, хотя бы, желание этому научиться и навыки программирования (С++ или Python - для работы с OpenCV)
- Программирование UI
Какие будут использоваться технологии?
- OpenCV
- Потоковая передача RTSP
- ONVIF-управление PTZ-камерой
- REST API для интеграции с клиентами сервиса.
Темы вводных занятий
1. Архитектура проекта. API, внешние связи и зависимости.
2. Специфические технологии и используемые инструменты.
3. Доступные ресурсы, организация доступа.
4. Разделение ролей
Направления развития
Все предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы "на развитие" -- преуспевший в разработке некоего проекта студент (если хочет) становится "хостом" проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. При этом, тема автосъёмки применима как к автономным съёмочным комплексам, так и в формате сервиса совместно с VPN-подключением.
Оператор телевизионной съёмки в большинстве случаев -- это привод к камере, который должен не терять объект из кадра и держать композицию согласно правилам. Это не относится к киносъёмке и различным творческим задачам, но подавляющее большинство материала на ТВ -- это говорящие головы. А в интернет-трансляциях -- и подавно (конференции, выступления и тд -- это просто видеорегистрация). Как говорили в IBM, "машина должна работать, а человек -- думать". Вам предлагается перевести на автоматику ещё одну профессию, оставив человеку заниматься более творческими задачами.
Критерии оценки
Про работу и оценки почитайте здесь: https://d.pr/143bq
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!
Ориентировочное расписание занятий
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи "здесь и сейчас", сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.
Как записаться?
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке.