ManyCam
Лицензия: условно-бесплатно
Наткнулся на интересную программу для настройки веб-камеры ManyCam, которая позволяет не просто настраивать вашу веб-камеру, но и накладывать различные эффекты на картинку. Вы легко сможете записать видео с любой точки планеты, находясь при этом дома (накладывание фона), вы можете надеть на себя забавную шляпу, усы или, допустим, очки. Можно накладывать различные тексты, дату и время съемки. При сохранении настроек в ManyCam и открытии Skype вы имеете на своей камере картину уже с выбранными вами эффектами.
При замене фона необходимо знать один важный момент, без которого замена фона невозможна. Чтобы корректно заменить фон на картинке, необходимо иметь монотонный непрозрачный фон. После установки фона, программа сделает снимок экрана (вас в кадре быть не должно) и подставит на фоновый оттенок рисунок или видео изображение. То есть все точки, имеющие цвет фона, будут автоматически меняться на выбранное изображение или видео. Затем, вы можете появляться в кадре, уже на фоне красивого водопада, пустыни или любого другого места нашей планеты (и не только).
Выбирать различные наложения (шляпки, носы, очки, брови, усы и прочее) можно без специального оборудования. Программа автоматически распознает части человеческого лица и сама выбирает место наложения. При этом даже во время вашего движения наложенные эффекты будут двигаться вместе с вами, сохраняя правильное расположение.
В настройках программы также можно переключить вид камеры на рабочий стол вашего компьютера, что позволит собеседнику видеть все, что происходит на вашем рабочем столе. Это крайне удобно при объяснении собеседнику чего-либо, связанного с компьютером. Например, ваш собеседник не может понять, как включить ту или иную опцию в какой-то программе. Нет ничего проще, переключаете вид камеры на рабочий стол вашего компьютера и показываете, как это делается.
На сайте производителя, кстати, огромный каталог различных эффектов, разбитых по категориям, которыми можно воспользоваться. ManyCam работает под всеми современными операционными системами семейства Microsoft Windows, начиная с XP и заканчивая последней 8.1. Из недостатков программы стоит отметить наличие ссылки на сайт ManyCam.com при включении различных эффектов, а также отсутствие русского языка. Но в целом программа очень достойна и весьма впечатляет набором функционала. Многие популярнейшие иностранные ресурсы очень высоко оценили этот проект, о чем разработчики ManyCam не стесняются упоминать на своем сайте.
Некоторые пользователи видеоконференцсвязи могут столкнуться с необходимостью заменить фон, находящийся позади них. Например, скрыть домашнюю обстановку при удалённой работе или поставить на задний план подходящее под тему урока изображение во время дистанционного обучения.
В клиентских приложениях TrueConf для десктопов используется технология размытия фона. Что это такое и как её включить, читайте в нашей документации. В этой статье мы покажем как заменить фон с помощью сторонних приложений, которые называются виртуальные камеры.
Виртуальная камера — программа, эмулирующая работу обычной веб-камеры и позволяющая передавать изображения, видео и звук из произвольных источников. Например, с её помощью пользователь, не желающий показывать изображение со своей веб-камеры, может транслировать другим участникам видеоконференции зацикленный видеоролик, заранее записанный в другом месте.
Как выбрать виртуальную камеру
В окне клиентского приложения перейдите к меню Настройки → Общие настройки. Далее в блоке Настройки камеры выберите нужную виртуальную камеру из выпадающего списка:
Если у вас несколько веб-камер, то перед использованием каждого приложения из описанных ниже необходимо выбрать в настройках ту камеру, которой вы собираетесь пользоваться.
Ниже приведён список виртуальных камер, совместимых с нашим клиентским приложением для компьютеров.
Snap Camera
Бесплатное приложение для Windows и MacOS. Отличительной особенностью является наличие студии, где можно загружать эффекты (линзы), созданные другими пользователями. Для того, чтобы выбрать линзу, просто нажмите на неё и она автоматически применится к изображению с вашей веб-камеры.
Чтобы поменять камеру, нажмите на кнопку в правом верхнем углу, и в открывшемся меню настроек выберите её из выпадающего списка:
ChromaCam
Условно-бесплатная альтернатива Snap Camera. Для использования необходима регистрация. Pro версия поддерживает кастомные фоны и логотипы, отключение водяного знака с логотипом ChromaCam и показ слайдов PowerPoint. Чтобы применить фон, просто нажмите на него.
Для смены камеры нажмите Настройки в левой боковой панели и в выпадающем списке выберите необходимую:
XSplit VCam
В отличие от ChromaCam, в XSplit VCam можно добавлять собственное фоновое изображение даже в бесплатной версии. Но чтобы убрать водяной знак, нужно купить лицензию. Как и в описанных выше приложениях, фоны применяются при нажатии на них. Приложение доступно только для операционных систем Windows.
Смена камеры в этом приложении осуществляется прямо в главном меню:
AlterCam
Условно-бесплатное приложение для Windows. На данный момент ознакомительная версия не ограничена по времени, но в видео будет добавлен водяной знак “AlterCam․com” и вы не сможете выбирать свои файлы для фона.
Поддерживает много эффектов, но для полноценного использования нужно приобретение лицензии.
В панели справа можно применить необходимые эффекты (сразу несколько), заменить фон и много другое. Результат отображается в окне предосмотра сразу после выбора и настройки эффекта.
Чтобы сменить камеру, необходимо нажать на кнопку с названием источника видео в верхней части окна и выбрать из выпадающего списка подходящий вариант:
Содержание
- Live WebCam
- CyberLink YouCam
- WebCam Monitor
- ManyCam
- WebcamMax
- Active WebCam
- Skype
- Вопросы и ответы
Как правило, для настройки веб-камеры достаточно подключить ее к компьютеру и установить драйвера. Однако встроенные решения позволяют управлять не всеми возможностями таких устройств, а иногда и вовсе не позволяют достичь желаемой цели. В этих случаях стоит воспользоваться специальными приложениями, предназначенными для продвинутой работы с девайсами для съемки.
Live WebCam
Live WebCam — удобное приложение, которое может использоваться в качестве вспомогательного инструмента при организации видеонаблюдения. Интерфейс разделен на два блока: окно устройства, куда подается само изображение, и панель с доступными функциями, в числе которых есть создание скриншота, активация автосъемки и загрузка снятых материалов на FTP-сервер. В параметрах также представлены две категории: «Настройки программы» и «Настройки детектора». Последняя позволяет сделать так, чтобы веб-камера самостоятельно активировалась и фиксировала происходящее.
Главная проблема Live WebCam в том, что она не предназначена для видеосъемки и делает только снимки. Однако в приложении присутствует внушительное количество параметров, позволяющих правильно настроить устройство под свои нужды, а с русскоязычным интерфейсом сделать это будет еще легче. Среди главных преимуществ, помимо бесплатной модели распространения, выделяют отличную автономность приложения с минимальным участием пользователя: веб-камера сама активируется в нужный момент, делает снимок и отправляет его прямиком на указанный сервер.
Скачать LiveWebCam
CyberLink YouCam
CyberLink YouCam — многофункциональное решение, позволяющее накладывать на изображение с веб-камеры множество различных эффектов, фильтров, штампов и т. д. Обработка происходит в реальном времени, пока пользователь применяет устройство в других приложениях. Стоит отметить функцию повышения качества изображения путем регулировки некоторых параметров. Доступен как простой режим, в котором регулируются яркость, уровень шума, экспозиция и другие параметры, так и продвинутый, где доступны более расширенные настройки.
Другая особенность, за которую многие пользователи так полюбили CyberLink YouCam, представлена в виде функции «Face Beauty». При ее активации система применяет алгоритмы обработки изображения, после чего черты лица становятся более привлекательными и естественными. Для персонализации изображения можно задействовать огромное количество инструментов: сцены, рамки, частицы, фильтры, искажение, эмоции, гаджеты, аватары, маркеры и штампы. При этом может использоваться как встроенный контент, так и загружаемый дополнительно. Разработчики оптимизировали решение для работы со Skype — достаточно выбрать CyberLink YouCam в качестве камеры в настройках приложения.
Скачать CyberLink YouCam
WebCam Monitor
WebCam Monitor предназначен для преобразования веб-камеры в полноценное устройство видеонаблюдения и работает примерно по тому же принципу, что и Live WebCam. Устройство активируется автоматически, когда в поле его зрения происходит движение или появляется шум — это зависит от установленных параметров. Возможно слежение как за всей областью, так и за определенными ее частями. Настройка самой веб-камеры происходит моментально при ее подключении. Разработчик заявляет, что поддерживается более 100 моделей без необходимости установки драйверов.
Настраиваются и дополнительные действия, которые будут выполняться при активации устройства, помимо записи видео. В их число входит создание скриншота, отправка уведомления на электронную почту пользователя, запуск другого приложения на компьютере, воспроизведение любого звукового сигнала и загрузка медиафайлов. Отснятые видео могут быть сохранены на жестком диске или автоматически отправлены на FTP-сервер. Из недостатков стоит выделить отсутствие русскоязычного интерфейса, ограниченную демо-версию и лимит на количество подключенных веб-камер, который не исчезает даже в платной версии.
Скачать WebCam Monitor
ManyCam
Приложение ManyCam существенно расширяет функциональность веб-камеры, предоставляя дополнительные возможности для Skype, ICQ, MSN, Yahoo и множества других платформ. На изображение накладываются различные эффекты и фильтры, которые видны не только самому пользователю, но и его собеседникам. Главная же особенность рассматриваемого решения заключается в режиме многоканального подключения, позволяющем транслировать картинку сразу с нескольких источников.
Доступна обширная библиотека эффектов, которые могут быть применены к изображению с веб-камеры: фильтры, искажения, задний фон, рамки, объекты, оверлеи, эффекты лица и эмоции, а также наложение текста, рисунков и даты со временем. Реализована функция загрузки дополнительного контента во встроенную базу. В бесплатной версии ManyCam представлен лимитированный перечень возможностей, зато она не ограничена временем. Присутствует довольно качественная русификация.
Скачать ManyCam
WebcamMax
WebcamMax — еще одно отличное средство для настройки веб-камеры и записи видео с нее. Приложение имеет довольно схожую функциональность с решениями, рассмотренными ранее (CyberLink YouCam, ManyCam), но здесь все реализовано несколько иначе. Предусмотрена возможность накладывать одно изображение на другое. Отдельного внимания заслуживает огромная библиотека стандартных эффектов, накладывающихся на картинку. Но большинство из них становятся доступными только после приобретения лицензии, а в бесплатной версии объекты защищаются водяным знаком.
Среди дополнительных возможностей стоит выделить наличие шаблонов, на основе которых можно создавать индивидуальные наборы и моментально применять их при необходимости, не теряя много времени на выбор нужных эффектов и параметров. Функция раскадровки видео и выбора формата отсутствует, из-за чего придется использовать дополнительный видеоредактор для постобработки отснятых материалов. Радует наличие русскоязычной версии, облегчающей рабочий процесс для начинающих пользователей.
Скачать WebcamMax
Active WebCam
Несмотря на устаревший интерфейс, Active WebCam тоже может стать хорошим решением для настройки веб-камеры и организации видеонаблюдения. Основные возможности практически не отличаются от Live WebCam, при этом к приложению можно подключить как веб, так и обычную видеокамеру. Сделать это можно несколькими методами: локально (камера подключена к компьютеру), по сети (используется IP-камера в локальной сети) и удаленно (исходный компьютер связывается с другим ПК, к которому и подключено устройство). Захваченный сигнал сохраняется в формате AVI или MPEG, после чего может быть отправлен на указанный FTP-сервер.
Разработчики заявляют, что Active Webcam отлично подходит как для домашнего, так и для профессионального использования в качестве реальной системы наблюдения. Программой поддерживается многоканальный режим, при котором отображается сигнал сразу с нескольких устройств, изображение каждого из них можно сохранять как отдельно, так и в один общий видеофайл. Для разовых нужд подойдет демо-версия, однако если вы собираетесь пользоваться приложением на постоянной основе, потребуется приобрести лицензию.
Skype
Как ни странно, Skype тоже может использоваться в качестве приложения для настройки веб-камеры, хоть и не предназначен для этого изначально. Однако одной из его основных функций является организация видеосвязи, поэтому вполне ожидаемо найти здесь раздел с параметрами подключенных устройств. Он поделен на две категории: «Усиление видеопроцессора» и «Управление камерой». В первой регулируется яркость, контрастность, оттенок, насыщенность, четкость, гамма, баланс белого, съемка против света, усиление, цветность и частота линии питания. Во второй пользователь устанавливает масштаб, фокус, выдержку, диафрагму, сдвиг, наклон, разворот и компенсацию низкой освещенности.
Таким образом, если вы пользуетесь веб-камерой только для общения с друзьями по Скайп, совсем не обязательно устанавливать дополнительные программы для настройки устройства, за исключением случаев, когда необходимо наложить на изображение разнообразные эффекты, графические элементы и фильтры. Skype является бесплатным приложением на русском языке и активно используется по всему миру.
Скачать Skype
Мы рассмотрели несколько надежных приложений, позволяющих легко настроить веб-камеру для качественной работы. Многие из них предназначены для организации полноценной системы наблюдения и наделены множеством дополнительных опций. Есть и те, что работают непосредственно с изображением, позволяя накладывать на него различные эффекты и повышая качество записи.
Содержание
- Подмена фона в видеочате
- ManyCam — наложение эффектов и смена фона на видео с веб-камеры
- Zoom: как заменить фон во время видеочата
- Что такое виртуальный фон в Zoom
- Настройка виртуального фона в Zoom
- Изменить фон в Zoom через Snap Camera
- Видеозвонки с виртуальным фоном и опенсорсные инструменты
- Чтение данных с камеры
- Обнаружение фона
- Интересные эксперименты
- Вывод видео
- Итоги
Подмена фона в видеочате
14 июля 1995 года на киноэкраны вышел фильм «Under Siege 2: Dark Territory» (в российском прокате — «Захват 2: Тёмная территория»). Один из персонажей этого фильма — злой гений-компьютерщик Трэвис Дэйн — создавал видеозапись своего лица на подменённом фоне, чтобы нельзя было установить подлинное местонахождение террористов (он использовал для этой цели фотографию Эйфелевой башни в Париже).
Прошло пятнадцать лет.
Сегодня не нужно быть компьютерным гением, чтобы подменить фон в своём видеочате. И в Chatroulette, и в Skype, и в видеокомнатах Smotri.com многие делают это. Однако, чем больше я вижу таких трюков, тем чаще вижу поверх них название программы WebcamMax. это и неудивительно: программа эта — платная, а в демонстрационной версии поверх видео накладывается неотключаемый «баннер». Но почему же любители видеочата не могут найти и использовать бесплатный аналог её? Я ненавистник баннерной рекламы, поэтому желал бы, чтобы все эти люди использовали другой софт.
Обращаюсь тотчас же через Хабрахабр, чтобы открытым текстом всем рекомендовать неплохую программу, freeware, обладающую достаточными способностями для замены фона во время видеочата на любую фотографию или подвижную видеозапись из файла. Она доступна не только для Windows, но также и для Mac.
Когда киношники монтируют современные фильмы на компьютере, то они также массово подменяют фон, и им для этого на съёмках требуется специальный одноцветный, однотонный экран неестественного синего или салатового цвета (его ещё называют «хромакей», от англ. chromakey). Однако в видеочате, в отличие от фильма, съёмка ведётся неподвижной видеокамерою, так что (судя по пособию ManyCam) достаточно дать команду компьютеру, а самому убраться из поля зрения видеокамеры для того, чтобы компьютер запечатлел произвольный подлинный фон видеочата и в дальнейшем мог подменять его на какой угодно другой желаемый.
Источник
ManyCam — наложение эффектов и смена фона на видео с веб-камеры
Наткнулся на интересную программу для настройки веб-камеры ManyCam, которая позволяет не просто настраивать вашу веб-камеру, но и накладывать различные эффекты на картинку. Вы легко сможете записать видео с любой точки планеты, находясь при этом дома (накладывание фона), вы можете надеть на себя забавную шляпу, усы или, допустим, очки. Можно накладывать различные тексты, дату и время съемки. При сохранении настроек в ManyCam и открытии Skype вы имеете на своей камере картину уже с выбранными вами эффектами.
При замене фона необходимо знать один важный момент, без которого замена фона невозможна. Чтобы корректно заменить фон на картинке, необходимо иметь монотонный непрозрачный фон. После установки фона, программа сделает снимок экрана (вас в кадре быть не должно) и подставит на фоновый оттенок рисунок или видео изображение. То есть все точки, имеющие цвет фона, будут автоматически меняться на выбранное изображение или видео. Затем, вы можете появляться в кадре, уже на фоне красивого водопада, пустыни или любого другого места нашей планеты (и не только).
Выбирать различные наложения (шляпки, носы, очки, брови, усы и прочее) можно без специального оборудования. Программа автоматически распознает части человеческого лица и сама выбирает место наложения. При этом даже во время вашего движения наложенные эффекты будут двигаться вместе с вами, сохраняя правильное расположение.
В настройках программы также можно переключить вид камеры на рабочий стол вашего компьютера, что позволит собеседнику видеть все, что происходит на вашем рабочем столе. Это крайне удобно при объяснении собеседнику чего-либо, связанного с компьютером. Например, ваш собеседник не может понять, как включить ту или иную опцию в какой-то программе. Нет ничего проще, переключаете вид камеры на рабочий стол вашего компьютера и показываете, как это делается.
Источник
Zoom: как заменить фон во время видеочата
Как быть, когда надо срочно связаться с коллегами по видеосвязи, а вокруг бегают дети или в кадр попадает неубранная комната? Есть простой выход – поменять фон в программе для видеоконференций. Как это сделать в популярном приложении Zoom, рассказываем в статье.
Из-за массового перехода на удаленку стали популярны всевозможные сервисы для видеоконференций. При этом большая часть людей работает не из личных кабинетов, а прямом смысле из дома — где вокруг компьютера крутятся дети, домашние животные и прочие обитатели обычной квартиры. Кто-то и вовсе начал делать ремонт до начала карантина и не успел его закончить по понятным причинам, а кто-то не любит лишний раз делать уборку. К счастью, все эти детали можно легко замаскировать и не делиться с коллегами подробностями своего быта в прямом эфире.
Видеоконференции с Zoom становятся все более актуальными, поскольку их легко использовать в домашнем офисе даже без регистрации. В Зум также легко изменить виртуальный фон во время видеочата.
Что такое виртуальный фон в Zoom
Обычно во время видеоконференции в качестве фона вам служит либо интерьер комнаты, либо унылая белая стена переговорки. С виртуальным фоном в Zoom вы можете изменить эту традицию и настроить вид фона индивидуально.
В качестве фона для участия в конференции можно использовать предложенные варианты «обоев» или выбранное вами изображение. Это может быть, например, логотип вашей компании или изображение какого-то особого места. Этот виртуальный фон будет виден всем, кто участвует вместе с вами в видеоконференции.
Настройка виртуального фона в Zoom
Поменять фон в Зуме довольно легко:
Наш совет: чтобы фон был хорошо виден другим участникам конференции, обратите внимание на равномерное освещение.
Изменить фон в Zoom через Snap Camera
Если набора предустановленных виртуальных фонов в Zoom вам недостаточно, можете использовать дополнительный инструмент с множеством фильтров. Приложение Snap Camera позволяет применять фильтры для лица, а также настраивать фон в видеочатах — не только в Зуме, но и в других подобных программах. Поскольку все пользователи Snap Camera также могут загружать и делиться фильтрами, выбор здесь действительно большой.
Скачать Snap Camera
Как использовать Snap Camera в Zoom:
Источник
Видеозвонки с виртуальным фоном и опенсорсные инструменты
Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual Background). Она позволяет пользователям, в интерактивном режиме, заменять фон, находящийся позади них, на любое изображение или видео.
Я уже давно применяю Zoom на работе, на опенсорсных встречах, посвящённых Kubernetes, делая это обычно с корпоративного ноутбука. Теперь я, в режиме работы из дома, склонен к использованию более мощного и удобного персонального настольного компьютера для решения некоторых из моих опенсорсных задач.
К несчастью, Zoom поддерживает лишь способ удаления фона, известный как «хромакей» или «зелёный экран». Для использования этого метода нужно, чтобы фон был бы представлен неким сплошным цветом, в идеале — зелёным, и был бы равномерно освещён.
Так как зелёного экрана у меня нет, я решил просто реализовать собственную систему удаления фона. А это, конечно, куда лучше, чем наведение порядка в квартире, или постоянное использование рабочего ноутбука.
Как оказалось, применив готовые опенсорсные компоненты и написав буквально несколько строк собственного кода, можно получить весьма достойные результаты.
Чтение данных с камеры
Начнём с начала и ответим на следующий вопрос: «Как получить видео с веб-камеры, которое будем обрабатывать?».
Так как я на домашнем компьютере использую Linux (когда не играю в игры), я решил использовать Python-привязки Open CV, с которыми я уже знаком. Они, помимо V4L2-биндингов для чтения данных с веб-камеры, включают в себя и полезные базовые функции по обработке видео.
Чтение кадра с веб-камеры в python-opencv устроено очень просто:
Я, чтобы улучшить результаты при работе с моей камерой, перед захватом с неё видео применил следующие настройки:
Возникает такое ощущение, что большинство программ для видеоконференций ограничивают видео параметрами 720p @ 30 FPS, или ниже. Но мы, в любом случае, можем и не читать каждый кадр. Такие настройки задают верхний лимит.
Поместим механизм захвата кадра в цикл. Теперь у нас есть доступ к видеопотоку с камеры!
Сохранить кадр в тестовых целях можно так:
После этого мы можем убедиться в том, что камера работает. Замечательно!
Надеюсь, вы не против моей бороды
Обнаружение фона
Теперь, когда у нас есть доступ к видеопотоку, подумаем о том, как обнаружить фон, сделав так, чтобы, найдя его, его можно было бы заменить. А вот это — уже достаточно сложная задача.
Хотя возникает такое ощущение, что создатели Zoom нигде не рассказывают о том, как именно программа убирает фон, то, как ведёт себя система, заставляет меня задуматься о том, что тут не обошлось без нейронных сетей. Это сложно объяснить, но результаты выглядят именно так. Кроме того, я нашёл статью о том, как в Microsoft Teams реализовано размытие фона с помощью свёрточной нейронной сети.
В принципе, создать собственную нейронную сеть не так уж и сложно. Существует множество статей и научных трудов на тему сегментации изображений. Есть масса опенсорсных библиотек и инструментов. Но нам нужен, для получения хороших результатов, весьма специализированный датасет.
В частности, нам нужно множество изображений, напоминающих те, что получены с веб-камеры, с идеальной картинкой человека на переднем плане. Каждый пиксель такой картинки должен быть промаркирован как отличающийся от фона.
Построение такого датасета при подготовке к обучению нейронной сети, возможно, не потребует больших усилий. Это — благодаря тому, что команда исследователей из Google уже сделала всё самое тяжёлое и выложила в опенсорс предварительно обученную нейронную сеть для сегментации людей. Эта сеть называется BodyPix. Работает она очень хорошо!
Сеть BodyPix сейчас доступна лишь в форме, подходящей для TensorFlow.js. В результате, легче всего её применить, воспользовавшись библиотекой body-pix-node.
Для ускорения получения вывода сети (прогноза) в браузере предпочтительно пользоваться WebGL-бэкендом, но в среде Node.js можно воспользоваться бэкендом Tensorflow GPU (обратите внимание на то, что для этого понадобится видеокарта от NVIDIA, которая у меня есть).
Для того чтобы упростить настройку проекта, воспользуемся маленьким контейнеризованным окружением, обеспечивающим работу TensorFlow GPU и Node.js. Использование всего этого с помощью nvidia-docker — гораздо легче, чем самостоятельный сбор необходимых зависимостей на своём компьютере. Для этого на компьютере понадобится лишь наличие Docker и актуальных графических драйверов.
Вот содержимое файла bodypix/package.json :
Вот — файл bodypix/Dockerfile :
Теперь поговорим о получении результатов. Но сразу предупреждаю: я не отношусь к Node.js-экспертам! Это — лишь результат моих вечерних экспериментов, поэтому будьте ко мне снисходительны :-).
Следующий простой скрипт занят обработкой изображения с двоичной маской, отправленного на сервер с использованием HTTP POST-запроса. Маска — это двумерный массив пикселей. Пиксели, представленные нулями — это фон.
Вот — код файла app.js :
Для преобразования кадра в маску мы, в Python-скрипте, можем воспользоваться пакетами numpy и requests:
В результате получается примерно следующее.
Пока я всем этим занимался, я наткнулся на следующий твит.
Это, определённо, самый лучший фон для видеозвонков
Теперь, когда у нас имеется маска для отделения переднего плана от фона, заменить фон на что-то другое будет очень просто.
Я взял из ветки того твита фоновое изображение и обрезал его так, чтобы получилась бы картинка формата 16×9.
После этого я сделал следующее:
Вот что у меня после этого получилось.
Результат замены фона
Такая маска, очевидно, недостаточно точна, причиной этого являются те компромиссы в сфере производительности, на которые мы пошли, настраивая BodyPix. В общем, пока всё выглядит более или менее терпимо.
Но, когда я смотрел на этот фон, меня посетила одна идея.
Интересные эксперименты
Теперь, когда мы разобрались с маскированием, зададимся вопросом о том, как улучшить результат.
Первый очевидный шаг заключается в смягчении краёв маски. Например, это можно сделать так:
Это позволит немного улучшить ситуацию, но особого продвижения вперёд тут нет. Да и простая замена — дело довольно-таки скучное. Но, так как мы дошли до всего этого сами, это значит, что мы можем сделать с картинкой всё что угодно, а не просто убрать фон.
Учитывая то, что мы используем виртуальный фон из «Звёздных войн», я решил создать эффект голограммы для того чтобы сделать картинку интереснее. Это, кроме того, позволяет сгладить размытие маски.
Для начала обновим код пост-процессинга:
Края теперь оказываются размытыми. Это хорошо, но нам ещё нужно создать эффект голограммы.
Голливудские голограммы обычно отличаются следующими свойствами:
Сначала, чтобы окрасить изображение в оттенок синего, можем воспользоваться методом applyColorMap :
Далее — добавляем линии развёртки с эффектом, напоминающим уход в полутона:
Далее, реализуем «эффект привидения», добавляя к изображению сдвинутые взвешенные копии текущего эффекта:
И наконец, мы хотим сохранить какие-то из исходных цветов, поэтому скомбинируем голографический эффект с оригинальным кадром, поступив примерно так, как при добавлении «эффекта привидения»:
Вот как выглядит кадр с эффектом голограммы:
Кадр с эффектом голограммы
Сам по себе этот кадр выглядит неплохо.
Попробуем теперь совместить его с фоном.
Изображение, наложенное на фон
Готово! (обещаю — видео такого рода будет выглядеть интереснее).
Вывод видео
А теперь надо сказать о том, что мы тут кое-что упустили. Дело в том, что всем этим мы пока не можем воспользоваться для совершения видеозвонков.
Для того чтобы это исправить, воспользуемся pyfakewebcam и v4l2loopback для создания фиктивной веб-камеры.
Мы, кроме того, планируем прицепить эту камеру к Docker.
Сначала создадим файл fakecam/requirements.txt с описанием зависимостей:
Теперь создадим файл fakecam/Dockerfile для приложения, реализующего возможности фиктивной камеры:
Теперь, из командной строки, установим v4l2loopback:
Настроим фиктивную камеру:
Теперь внесём в скрипт изменения, позволяющие создать фиктивную камеру:
Нужно отметить, что pyfakewebcam ожидает изображения с каналами RGB (Red, Green, Blue — красный, зелёный, синий), а Open CV работает с порядком каналов BGR (Blue, Green, Red).
Исправить это можно до вывода кадра, а затем отправить кадр так:
Вот — полный код скрипта fakecam/fake.py :
Теперь соберём образы:
Итоги
Вот клип, который демонстрирует результаты моей работы.
Результат замены фона
Видите! Я звоню с Сокола Тысячелетия, пользуясь опенсорсным стеком технологий для работы с камерой!
То, что у меня получилось, мне очень понравилось. И я, определённо, всем этим воспользуюсь на следующей видеоконференции.
Уважаемые читатели! Планируете ли вы поменять то, что видно при видеозвонках у вас за спиной, на что-то другое?
Источник
Наверное, каждый, кто вынужден периодически совершать рабочие видеозвонки, хотя бы раз сталкивался с проблемой выбора подходящего фона. Камеру включать надо, но при этом совсем не хочется демонстрировать, что находится за спиной. Мы попробовали найти способ максимально качественно решить этот вопрос.
Наложение масок
Сегодня в сети можно отыскать разнообразные программы, которые пытаются накладывать фильтры на изображение. Некоторые из них работают по принципу популярного приложения MSQRD. То есть, они фиксируют определенные контрольные точки на изображении и на них накладывают маску. Тот же MSQRD накладывает маски на лицо пользователя, но существуют и альтернативные варианты, которые пытаются аналогичным образом прятать фон.
Звучит, конечно, неплохо, но что имеем по факту? Увы, вся эта автоматика очень часто и очень сильно ошибается. Если Вы пользовались MSQRD, то уже знаете, что по-настоящему хорошо его маски выглядят на скриншотах. В режиме обработки в реальном времени изображение заметно подрагивает, постоянно подстраиваясь под объект.
То же и с попыткой менять фон. Мы протестировали несколько программ, включая популярные решения VideoSkin и WebcamMax. Для замены фона этим программам необходимо, чтобы пользователь сперва сфотографировал этот самый фон. Маска накладывается поверх, а любой объект, который входит в кадр после этого, накладывается уже поверх маски. Увы, очень часто это работает некорректно. Маска частенько «запрыгивает» на лицо пользователя. Таким образом, во время видеозвонка весь человек или части его лица могут спонтанно исчезать и обрезаться самым причудливым образом. Кроме того, использование масок требует, чтобы фон был статичным. Малейшее изменение ракурса, освещения или фокуса камеры приведет к тому, что маска слетит.
Конечно же, тот же WebcamMax имеет множество забавных эффектов, которые могут накладываться поверх изображения, как, к примеру, новые стикеры в SnapChat. Но для профессиональной замены фона такой метод не подходит.
Старый добрый хромакей
Увы, но у человечества пока нет иного способа качественно заменять фон, кроме как использовать эффект хромакей (англ. chroma key). Хромакей – технология совмещения двух и более изображений или кадров в одной композиции при помощи особого цветового ключа. Этот метод используется Голливудом с 1930-х годов. Почти за сто лет ему не нашли равных. Самые современные блокбастеры снимаются на зеленом фоне. К счастью, этот метод доступен и простым пользователям.
Единственный недостаок – для использования технологии хромакей потребуется физический однотонный экран. Подойдет и однотонная стена, но всё же желательно, чтобы экран был какого-нибудь яркого цвета, к примеру, синего или зеленого. Если Вы регулярно совершаете видеозвонки или, к примеру, решитесь когда-либо зарабатывать на YouTube, такой экран Вам, в любом случае, потребуется, чтобы выглядеть более-менее презентабельно.
Как пользоваться хромакеем
Для использования метода зеленого экрана Вам потребуется программа, поддерживающая технологию хромакей. Одна из простых и удобных программ такого типа – ManyCam. Она позволяет обрабатывать видеопоток и транслировать его в большое количество сервисов, включая и Skype.
При запуске ManyCam Вы увидите вкладку «Видео», где можно выбрать источник потока. Для выбора достаточно щелкнуть по окошку с предполагаемым видео. Источником может быть изображение с камеры, видеоигра, поток с удаленной интернет-камеры, прочие устройства, медиафайлы, ролики прямиком с YouTube, Ваш рабочий стол или цветная заставка.
При работе с камерой Вам нужно будет выбрать соответствующий пункт «Камеры», а затем – свое подключенное устройство. Мы же в качестве демонстрации используем видео с YouTube, где актер Жан-Клод Ван Дамм скачет, стреляет и говорит пафосные фразы на готовом зеленом фоне.
Для начала работы с технологией хромакей, нужно в нижней части окна программы выбрать вкладку Chroma Key и включить этот эффект, нажав на кнопку ON. Затем нужно выбрать фон, который следует заменять. Сделать это можно, нажав на кнопку «Определить цвет» (кнопка с изображением пипетки по соседству с кнопкой ON). Затем – просто щелкните по своему экрану в окошке видео. Экран автоматически начнет заменяться изображением или фоном, который Вы установите.
Три цветовые шкалы под кнопками нужны для того, чтобы тонко настроить фильтр фона и убрать возможную границу между экраном и объектом съемки. Когда изображение будет подогнано идеально, пора переходить к трансляции видео. По умолчанию программа ManyCam создает в системе виртуальную камеру под именем ManyCam Virtual WebCam (N), где N – количество видеопотоков. Чтобы начать транслировать поток, к примеру, в Skype, достаточно выбрать его в настройках.
Как только Skype подключится к потоку, в ManyCam зажжется красная кнопка ON AIR (в эфире).
Обратите внимание, изображение в Skype может быть развернуто на 180 градусов по отношению к тому, что выдает ManyCam. Чтобы исправить это, нужно повернуть изображение в самом ManyCam. Для этого в нижней части окна нужно выбрать вкладку «Картинка» и задать зеркальную ориентацию, используя кнопки «Повернуть и отразить».
Таким нехитрым способом Вы сможете не только красиво позвонить по Skype, но и начать свою карьеру в качестве видеоблогера.
Источник