[Программирование, Машинное обучение, Визуальное программирование] «ДЕЛАЙ КАК Я!» — ИЗУЧАЕМ ИМПЕРСОНАТОР

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
10-Мар-2021 16:31

Самые интересные и перспективные разработки в области AI связаны с нейронными сетями. Сегодня рассмотрим Impersonator++ для накопления опыта в области Deep fake.
В настоящее время самые интересные и перспективные разработки в области AI связаны с нейронными сетями.Больших успехов они позволяют достичь в области компьютерного зрения, преобразования видео и изображений.Широкую известность в интернете получили видео, созданные с помощью технологий Deep fake, в которых лица людей заменяются на совершенно другие. Иногда такие работы выглядят очень правдоподобно.Однако помимо развлекательного характера эти технологии могут быть использованы в корыстных (даже преступных) целях. Если заменить лицо преступника, попавшего под объектив камеры наблюдения на совершенно другое, то у невиновного человека, как минимум может появится много проблем.В ноябре 2020 года технологии Deep fake получили «долгожданное» продолжение: группа разработчиков из Китая создала инструмент, с помощью которого можно наложить заданные движения на любую личность с сохранением фона.Чтобы успешно бороться с цифровым мошенничеством следует хорошо знать своего потенциального «врага». Поэтому предлагаем ознакомиться с функционалом Impersonator++. На вход он получает фото личности, которую будут «оживлять», и референсное видео с заданным движением. А на выход подаёт итоговое видео:
На рисунке в первой строке вы видите кадры из референсного видео с заданным движением, в левой части фотографии людей, а в центре кадры из итогового видео, где они двигаются.Для качественного выявления фальшивок следует применять системный подход и использовать не только принцип «прозрачного ящика», то есть строить анализ не только на основе знаний внутреннего устройства инструментов DeepFake и их алгоритмов, но и работать с чёрным ящиком. То есть зная, что на выходе мы получаем фальшивые видео, мы можем их сами генерировать и использовать в настройке систем опознавания.Чтобы установить Impersonator++ на ПК необходим либо Linux либо Windows, CUDA, gcc 7.5+, ffmpeg (ffprobe). Прочие технические требования можете прочитать на ресурсе проекта: https://www.impersonator.org. Также по этой ссылке можно найти статью разработчиков, которая раскрывает технологию работы Impersonator++.Инструмент включает несколько предобученных на примерах моделей и довольно прост в использовании.Важным является формат и синтаксис обращения к инструменту. Для установки и настройки следует выполнить несколько команд.
!apt-get install ffmpeg # установка ffmpeg
import os
os.environ["CUDA_HOME"] = "/usr/local/cuda-10.1" # задаём CUDA_HOME
!echo $CUDA_HOME
Для установки клонируем репозиторий с github и устанавливаем:
!git clone https://github.com/iPERDance/iPERCore.git
cd /content/iPERCore/
!python setup.py develop
Чтобы скачать предобученные модели, исполняемые файлы и примеры используем следующий код:
!wget -O assets/checkpoints.zip "https://download.impersonator.org/iper_plus_plus_latest_checkpoints.zip"
!unzip -o assets/checkpoints.zip -d assets/
!rm assets/checkpoints.zip
!wget -O assets/samples.zip  "https://download.impersonator.org/iper_plus_plus_latest_samples.zip"
!unzip -o assets/samples.zip -d  assets
!rm assets/samples.zip
После установки, разложив в нужные директории картинки с субъектами и видео с действиями, мы можем увеличить обучающую выборку следующим кодом:
import os
import os.path as osp
import platform
import argparse
import time
import sys
import subprocess
from IPython.display import HTML
from base64 import b64encode
далее задаём директории и значения по умолчанию для параметров:
gpu_ids = "0"
# размер изображения
image_size = 512
# число картинок-источников изображения по умолчанию считается 2, но значение обновится, если фактическое окажется меньше num_source
num_source = 2
# директория с ресурсами, моделями и исполняемыми файлами, которые прежде необходимо скачать
assets_dir = "/content/iPERCore/assets"
# директория для сохранения результатов
output_dir = "./results"
# символическая ссылка с актуальной директории с ресурсами на текущую директорию
work_assets_dir = os.path.join("./assets")
if not os.path.exists(work_asserts_dir):
    os.symlink(osp.abspath(assets_dir), osp.abspath(work_assets_dir),
               target_is_directory=(platform.system() == "Windows"))
cfg_path = osp.join(work_assets_dir, "configs", "deploy.toml")
И, наконец, формируем имитацию движения на основе разных фото:
model_id = “ident_remove_mask_multi”
# путь к картинке, которая ляжет в основу
src_path = “\”path?=/persons/person1.png\””
# путь к видео с референсным, интересующим нас, движением
ref_path = ""path?=/movement/remove_the_mask/act1.mp4""
!python -m iPERCore.services.run_imitator  \
  --gpu_ids     $gpu_ids       \
  --num_source  $num_source    \
  --image_size  $image_size    \
  --output_dir  $output_dir    \
  --model_id    $model_id      \
  --cfg_path    $cfg_path      \
  --src_path    $src_path      \
  --ref_path    $ref_path
В папке, которую мы указали для сохранения результата, мы получим файл mp4 с названием модели. Проба пера получилась такой:
Слева расположена исходная фотография, посередине – кадр из референсного видео, справа – кадр из итогового видео.
Видно, что на изображении справа поза человека схожа с позой человека на центральной картинке. При этом относительно исходного варианта фигура кажется даже немного развёрнутой в другую сторону.
Конечно, чем качественнее материал подаётся на вход, тем качественнее на выходе, а так как в данном примере использовались необработанные файлы из интернета, то и результат получается немного сомнительным.Пока что большинство полученных с помощью DeepFake материалов люди могут распознать невооружённым глазом, но прогресс не стоит на месте, и мы считаем, что уже сейчас стоит разрабатывать/готовить системы распознавания подобных имитаций. Но это уже отдельная тема. Следует также отметить, что орудие может приносить не только вред, но и пользу – всё зависит от рук, в которые оно попадает. А в руках кинематографистов, рекламных агентств, образовательных фондов данный инструмент при дальнейшем развитии может сотворить много интересных вещей.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_mashinnoe_obuchenie (Машинное обучение), #_vizualnoe_programmirovanie (Визуальное программирование), #_impersonator++, #_deepfake, #_programmirovanie (
Программирование
)
, #_mashinnoe_obuchenie (
Машинное обучение
)
, #_vizualnoe_programmirovanie (
Визуальное программирование
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 10:58
Часовой пояс: UTC + 5