Американские разработчики создали алгоритм, способный обнаруживать изменение лица с помощью одного из инструментов редактора Adobe Photoshop с точностью 93,9 процента, сообщает N+1. Кроме того, благодаря вычислению оптического потока между оригинальным и отретушированным кадрами алгоритм может воссоздать оригинальный снимок, рассказывают авторы статьи, опубликованной на arXiv.
Развитие алгоритмов для обработки изображений привело в том числе и к тому, что их стали использовать для создания крайне реалистичных «фейковых» фотографий. К примеру, широкую известность получили алгоритмы, собирательно называемые deepfakes по имени разработчика, опубликовавшего примеры роликов, в которых лица людей были достаточно реалистично заменены на другие. Подобные технологии вызвали широкий общественный резонанс, в результате которого некоторые крупные интернет-сервисы запретили контент такого типа, а исследователи в области алгоритмов для работы с изображениями сконцентрировались на создании защиты от «фейков».
В своей работе разработчики из Калифорнийского университета в Беркли и компании Adobe под руководством Алексея Эфроса (Alexei Efros) создали алгоритм для определения изменения лица на фотографии с помощью популярного графического редактора Adobe Photoshop. Исследователи выбрали инструмент «Пластика с учетом лица», позволяющий редактировать конкретные части лица. Он самостоятельно распознает на снимке лицо и его основные части, а затем отображает ползунки для каждой из них, к примеру, для рта или носа, двигая которые пользователь может растягивать область на кадре нужным образом.
Алгоритм состоит из двух основных частей: нейросети для распознавания отредактированных изображений, а также нейросети для определения областей, подвергнутых редактированию. Для решения первой задачи разработчики использовали остаточную сверточную нейросеть ResNet-50, изначально обученную на популярном датасете ImageNet, а затем дообученную на созданном авторами датасете, состоящем из почти миллиона исходных и отредактированных изображений. Его они получили автоматически с помощью скрипта в графическом редакторе.
Разработчики оценили эффективность определения поддельных изображений алгоритмом и сравнили ее с эффективностью людей. Общая точность определения отредактированных с помощью функции «Пластика с учетом лица» изображений составила 93,9 процента. Также авторы оценили точность при выборе между обычным и отредактированным изображением. В таком случае точность алгоритма составила 99,4 процента, а точность добровольцев на платформе Amazon Mechanical Turk составила 53,5 процента.
Однако, пожалуй, главным новшеством работы является то, что авторы научили алгоритм определять, как именно было отредактировано изображение и даже восстанавливать оригинальный снимок. Для этого они использовали отдельную остаточную сверточную нейросеть DRN-C-26, которая так же была обучена на ImageNet и дообучена для выполнения новой задачи на новом датасете. Его исследователи составили из оригинальных изображений и отредактированных, для которых был рассчитан оптический поток, отражающий движение фрагментов изображения между двумя кадрами. В результате обучения нейросеть научилась определять оптический поток без исходного изображения и таким образом указывать на области, подвергнутые редактированию.
Кроме того, разработчики попробовали использовать алгоритм для восстановления исходного изображения. Для этого алгоритм использовал рассчитанный оптический поток, проводил обратное редактирование в выделенных областях и минимизировал оптический поток с помощью функции потерь. Авторы продемонстрировали общую применимость этого подхода, но отметили, что восстановленные алгоритмом изображения не полностью повторяют оригинал.
Это далеко не первый алгоритм для определения отредактированных в графическом редакторе изображений, в том числе среди разработанных специалистами из Adobe. В прошлом году они научили нейросеть распознавать снимки с удаленными или клонированными объектами, а также совмещение изображений с разных снимков. Кроме того, существует и алгоритм для работы с «фейковыми» видео с подменой лиц.