Уголок изобретателя №26. Обработка фотографии с помощью ИИ

Привет.

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

Обратная связь

Признаться, после ознакомления с комментариями мне показалось, что идея осталась не понята многими читателями. Статья вот здесь:

У большинства сформировалось мнение, что тот фильтр, который был описан, всенепременно должен быть реализован именно маркетплейсом. Это вызвало диссонанс, поскольку такое нововведение вступило в противостояние с психологической установкой, что ни один разработчик не допустит у себя в продукте инструмента, снижающего выручку (почему Google Chrome шел на это, позволяя в магазине расширений скачивать AdBlock, для меня до сих пор загадка). Так вот. Подобный функционал задумывался не для внедрения в настройки сайтов или фильтры магазинов. Предполагалось, что это расширение для браузера. Я по тексту ссылался на первоисточник идеи в виде конкурса компании Opera Software. Интересными были доводы уважаемого Lecron’а, который традиционно указал на технические сложности при реализации затеи и даже привел схему, которая была бы актуальна уже сегодня:

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

Мы видим несколько случайных товаров, выпавших в рекомендациях. Жидкая резина, которую я недавно искал, уже не нужна, и я хочу скрыть ее из выдачи. Фильтрами это сделать сейчас не получится. Однако если бы у нас была та функция, что мы описывали, выглядело бы это следующим образом. Я бы вызвал патентуемую функцию и, как в редакторе изображений, выделил плашку с товаром (далее — эталон) и частью текста:

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

И как раз на этой стадии было бы полезно воспользоваться ИИ-навыками браузера. На изображении повтора программное обеспечение должно было распознать точную копию эталона. Также на изображении можно распознавать текст и сопоставлять его с текстом с карточки эталона. Про текст я подумал тогда, когда увидел, как работает Google-переводчик через камеру. В итоге мы бы получили следующую картину:

В этом случае, насколько я могу судить, нет необходимости учитывать, изменилась ли верстка. ИИ должен сам определить, насколько точно совпадают пазлы остального изображения с эталонным. Но было указано, что подобный механизм на порядки сложнее и гораздо менее точен. Кроме того, нужно как-то решать организационный вопрос и определяться, за чей счет банкет. За точность ничего сказать не могу, но схема с платными функциями браузера мне не кажется фантастикой. Примерно как платить за тот самый Magic Eraser в Google Photos. Передача же файлов для обработки нейросетью при использовании браузера также не проблема, поскольку доступ к Сети уже как бы есть. Впрочем, хватит на этом. Едем дальше.

Идея, которую мы сегодня рассмотрим, тоже принадлежит Lecron’у. Она была высказана в комментариях к статье Владимира о кризисе в Android-смартфонах в контексте обсуждения повсеместного внедрения ИИ:

И несмотря на то, что она сразу понятна всем и каждому, производители до нее пока еще не додумались. Ну или если и додумались, то в другом виде. Звучит она следующим образом:

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

Проблема

Главная сложность в работе с редакторами — это необходимость знаний об инструментах, которыми они располагают, и принципах их работы. Даже тот самый Magic Eraser — это функция, которая не вынесена на видное место в Google Photos, несмотря на то, что является чуть ли не основной фишкой этой «Галереи». Строго говоря, в редакторах фото мы наблюдаем некоторые крайности. Либо нажми кнопку и получи результат, который нравится алгоритмам, без возможности на них повлиять, либо же скрупулезно настраивай кадр вручную с помощью десятка фильтров и инструментов.

Уровень техники

Надо отдать должное разработчикам, они не сидят на месте и стараются максимально облегчить страдания пользователей. В частности, таким элементом, как ползунок.

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

Здесь мы уже видим точечное применение цветокоррекции при указании конкретного объекта в кадре. Подобный подход напоминает работу инструмента «волшебная палочка». Думаю, многие с ним знакомы по ситуации, когда требуется удалить определенный цвет из кадра. Касаешься курсором нужной точки, и все пиксели с цветом этой точки из кадра пропадают. Я обычно так удаляю зеленый экран.

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

Осуществление изобретения

Пользователь открывает приложение «Галерея» и выбирает изображение для редактирования. На выбранном изображении может быть что угодно. Для примера выберем пейзаж с человеком в кадре. Пользователь активирует режим редактирования изображения и указывает на объект в кадре. Например, дерево. Система распознает объект и предлагает варианты его коррекции. Среди таковых могут быть изменение цвета листвы, коры, пышности кроны, толщины ствола, наклона, размера всего объекта и т.п. Возможно деление меню на «Изменение» и «Добавление». Второй раздел может добавлять объекты. Например, снег на листву, качели на нижнюю ветку или плед с пикничной корзиной на травке возле ствола. Может быть, пользователь захочет увидеть вырезанную надпись на коре. Вариантов множество. После редактирования дерева пользователь переходит к человеку. По указанию на него меню также может делиться на несколько разделов. Подобно созданию персонажа в компьютерных играх, пользователь может провести цветокоррекцию кожи, изменить прическу, добавить или убавить одежду, изменить позу и т.п. Аналогично редактирование может применяться для любого объекта в кадре, который система может распознать. Небо, вода, трава, рукотворные объекты и т.п.

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

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

Формула изобретения

1. Способ корректировки изображения в редакторе состоящий в том, что:

2. Способ корректировки изображения в редакторе по п.1, отличающийся тем, что:

3. Способ корректировки изображения в редакторе по п.1 и п.2, отличающийся тем, что:

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

Смелых идей, отличных изобретений и успешных продуктов. Удачи!

[email protected]
наверх