Чи можна навчити нейронну мережу малювати зображення в певному стилі?


10

Чи можна навчити нейронну мережу малювати зображення в певному стилі? (Отже, він знімає зображення і перемальовує його у стилі, для якого він був навчений.)

Чи є якась затверджена технологія для такого роду речі? Я знаю про алгоритм DeepArt. Добре заповнити основне зображення певним малюнком (наприклад, vangoghify image), але я шукаю щось інше - наприклад, зробити мультфільм у певному стилі з вхідного портрета.


3
Однією перешкодою для підготовки нейронної сітки з фотографій до мультфільмів може бути пошук навчального набору даних. Схоже, набір даних повинен містити фотографії та мультики, які люди намалювали на основі цих фотографій. Мені не відомі такі набори даних.
Таннер Світт

@TannerSwett Як ви думаєте, скільки зображень потрібно для такого роду тренувань?
завг

Я не експерт, тому можу лише здогадуватися. Я думаю, вам знадобиться хоча б тисяча зображень. Можливо, вам знадобиться набагато більше. До речі, я пропоную переглянути цей інструмент: github.com/hardmaru/sketch-rnn Цей інструмент використовувався для створення імітацій китайських символів; можливо, подібний інструмент може створити імітацію мультфільмів.
Tanner Swett

Я, можливо, трохи застаріла, тому що я навчався в НН деякий час тому, але якщо ви думаєте просто навчити мережу з кількома тисячами зображень і очікуєте, що вона зможе зробити зображення в стилі, до якого ви можете зайти занадто далеко - якщо ви думаєте, що це хороший стартовий проект, тоді не робіть цього. Щоб досягти того, що ви описуєте, знадобиться "багато" ручної роботи. Подумайте про знання, необхідні для інтерпретації зображення, а не лише відповідності шаблону.
Пітер Скотт

Відповіді:


12

Є відповідний документ: Л. А. Гатус, А. С. Екер, М. Бетж, 2015, нейронний алгоритм художнього стилю . Цитуючи реферат,

Тут ми впроваджуємо штучну систему на основі глибокої нейронної мережі, яка створює художні образи високої перцептивної якості. Система використовує нейронні уявлення для розділення та рекомбінації змісту та стилю довільних зображень, забезпечуючи нейронний алгоритм створення художніх образів.

Ось малюнок 2 з цієї статті:

введіть тут опис зображення

Існує також дуже популярний реалізація з відкритим вихідним кодом на основі факела тут , яка досить проста у використанні. Більше прикладів див. За посиланням.

Майте на увазі, що обчислення важкі, і тому обробка одиничних зображень є предметом цієї роботи.

Редагувати: після перевірки згаданого проекту DeepArt, здається, він використовує ті самі методи. Я не впевнений, чому це не те, чого ви хочете, оскільки концепція передачі стилю така загальна, як і виходить.


4
Мультфільми перебільшують та спрощують особливості того, що вони там зображують, створюючи форми, які дуже схожі на фігури на фотографії. Я не вірю, що існуючі нейронні мережі для передачі стилю ніколи цього не робили.
Таннер Світт

@TannerSwett Подивіться приклади тут: imgur.com/a/ue6ap . Деякі з них досить мультиплікаційні.
амеба

@amoeba Вони виглядають мультяшними, так, але жодна з них не має спотворених пропорцій, які мають більшість справжніх мультфільмів.
Tanner Swett

Тут ми говоримо про перенесення стилів. У всіх прикладах використовується деякий априорі обраний стиль, де жодне з них не було мультяшним (чому висновок повинен виглядати мультяшним, коли він дізнався про Ван Гога). Можливо, ви могли просто змусити запустити проект з відкритим кодом (я не мав жодних проблем у минулому) і спробувати його з використанням мультфільму.
саша

7

Це досить складна проблема для вирішення. Тут ви можете побачити кілька прикладів того, як стиль мультфільму, наприклад із Сімпсона, наносився на зображення.

Зображення мультфільму, як правило, не має структури, яка надає цього художнього ефекту. Найпростіший спосіб спробувати застосувати це певним чином - створити трекер обличчя, а потім спробувати вирівняти два обличчя, наприклад, обличчя мультфільму та обличчя людини, а потім застосувати це. Це може вас десь перевезти, але це також може виглядати дивно. Потім ви можете помітити орієнтири на зображеннях, щоб допомогти надалі і зробити не жорстку реєстрацію перед цим. Це все ще дещо shitmix рішення, але найближче, що я можу придумати, це могло б працювати для обличчя.

Редагувати:

Коментар @TannerSwett щось додає до цього, можливо, зайти на веб-сторінки деяких художників і спробувати знайти їх ілюстрації та спробувати вивчити "їх" стиль. Я все ще не думаю, що це буде задовільним або дасть достатньо даних, але це було б цікавою справою. Зараз немає загальнодоступного рішення, але я думаю, що напевно деякі люди працюють над цим, і незабаром ми побачимо кращі результати.

Я думаю, що, можливо, шлях не є художнім нейронним підходом до мережі. Можливо, краще мати мережу, яка може класифікувати об’єкти на зображенні, а потім вивчити відповідність між об'єктами та їх мультиплікаційними аналогами, а потім змішати результати деяким змістовним чином.


1
Цей приклад Сімпсона виглядає для мене досить приголомшливо @Gumeo
FabricioG

1

Це не повинно бути надто складним. Не читав згадану статтю, ось мій рецепт:

Різні автоматичні кодери

Демонстрація в Інтернеті з морфінговими обличчями: http://vdumoulin.github.io/morphing_faces/online_demo.html

та https://jmetzen.github.io/2015-11-27/vae.html для кодексу.

В основному, це дає вам можливість параметризувати "стиль" у вашому випадку, наприклад, скажімо, наскільки широким або нечітким повинен бути штрих кисті. Те, що залежить від конкретного стилю, який ви намагаєтеся наслідувати.

У наведеному вище прикладі різні 'морфовані' або 'уявлені' грані є функцією параметрів у прихованому просторі. На зображенні нижче це було б те, що ви отримуєте, змінюючи речі на рівні "коду".

Ось основна ідея: оригінальне зображення зліва, стилізована версія того ж зображення справа:

введіть тут опис зображення

Тепер теоретично, якби ви тренували таку модель на звичайному зображенні та стилізованому зображенні як ціль і додавали згортки, ви повинні мати можливість вивчити фільтри ядра, які відповідають типу "мазки пензля", який використовує художник .

Звичайно, це означає, що вам потрібно мати кілька прикладів зображень як в оригінальній, так і в стилізованій версії. Такий набір даних було б непогано подарувати громаді - якщо ви в кінцевому підсумку це зробите, я б дуже захотів побачити подібну роботу.

Удачі!

Стаття wiki про автоматичні кодери стане гарною відправною точкою: https://en.wikipedia.org/wiki/Autoencoder

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.