Нейросеть приспособили для создания шрифтов
Друзья, с момента основания проекта прошло уже 20 лет и мы рады сообщать вам, что сайт, наконец, переехали на новую платформу.
Какое-то время продолжим трудится на общее благо по адресу
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.
Спасибо, ждём вас на N-N-N.ru
Программист Эрик Бернхардссон, работавший в Spotify над алгоритмом рекомендации музыки пользователям, приспособил нейросеть для изменения и создания шрифтов. Подробнее можно прочитать в блоге автора.
Сначала программист загрузил более 56 тысяч разных шрифтов, содержащих в себе данные по 62 символам — латинским буквам и арабским цифрам. После этого автор начал конвертировать шрифты в формат двоичного растрового изображения. Начав с размера 512×512 разработчик постепенно уменьшал размер изображения, добившись в итоге картинки размером 64×64 пикселя для каждого символа.
Нейросеть сгенерировала промежуточные варианты начертания буквы между левым верхним и правым нижним вариантами. Изображение: Erik Bernhardsson
Полученный массив данных Эрик Бернхардссон использовал для тренировки нейросети. Процесс обработки данных, по словам автора, занял несколько недель.
Тестовое задание, в каждой паре символов правый нарисован нейросетью по примеру остальных символов шрифта, левый — изначальное начертание символа. Хуже всего алгоритм справился с символами, в начертании которых используются тонкие линии и дополнительные элементы. Изображение: Erik Bernhardsson
После этого разработчик проверил результат на контрольной группе символов, отобранных из разных шрифтов и не использовавшихся при тренировке, при этом остальные символы шрифта были известны программе и ей оставалось самой нарисовать нужную букву или цифру нужным шрифтом. Оказалось, что алгоритм неплохо справляется с классическими шрифтами, однако дает сбои, если в шрифте используются дополнительные декоративные элементы или тонкие линии.
Случайные параметры «векторов шрифта» позволяют создавать новые шрифты. Изображение: Erik Bernhardsson
При этом разработчику удалось создать «вектор шрифта» — так он назвал общую характеристику конкретного шрифта, по которой нейросеть может определить его начертание. Благодаря изменению параметров «вектора шрифта» алгоритм может рисовать промежуточные варианты между разными уже известными шрифтами, если генерировать для «векторов шрифта» случайные значения, то можно создавать абсолютно новые шрифты, отмечает автор.
Для всех желающих самостоятельно экспериментировать с шрифтами Эрик Бернхардссон опубликовал ссылку на использованные данные, исходный код программного обеспечения доступен в репозитории GitHub.
Ранее другую интересную работу по обработке шрифтов проделал создатель шрифта Avería. Он взял большое количество изображений символов и наложил их друг на друга с прозрачным фоном, чтобы создать «самый средний» шрифт. Результат, после небольшой доработки, опубликован для свободного использования в Font Library.
Автор: Николай Воронцов
- Источник(и):
- Войдите на сайт для отправки комментариев