Программист Эрик Бернхардссон, работавший в Spotify над алгоритмом рекомендации музыки пользователям, приспособил нейросеть для изменения и создания шрифтов. Подробнее можно прочитать в блоге автора.
Сначала программист загрузил более 56 тысяч разных шрифтов, содержащих в себе данные по 62 символам — латинским буквам и арабским цифрам. После этого автор начал конвертировать шрифты в формат двоичного растрового изображения. Начав с размера 512×512 разработчик постепенно уменьшал размер изображения, добившись в итоге картинки размером 64×64 пикселя для каждого символа.
Полученный массив данных Эрик Бернхардссон использовал для тренировки нейросети. Процесс обработки данных, по словам автора, занял несколько недель.
После этого разработчик проверил результат на контрольной группе символов, отобранных из разных шрифтов и не использовавшихся при тренировке, при этом остальные символы шрифта были известны программе и ей оставалось самой нарисовать нужную букву или цифру нужным шрифтом. Оказалось, что алгоритм неплохо справляется с классическими шрифтами, однако дает сбои, если в шрифте используются дополнительные декоративные элементы или тонкие линии.
При этом разработчику удалось создать «вектор шрифта» — так он назвал общую характеристику конкретного шрифта, по которой нейросеть может определить его начертание. Благодаря изменению параметров «вектора шрифта» алгоритм может рисовать промежуточные варианты между разными уже известными шрифтами, если генерировать для «векторов шрифта» случайные значения, то можно создавать абсолютно новые шрифты, отмечает автор.
Для всех желающих самостоятельно экспериментировать с шрифтами Эрик Бернхардссон опубликовал ссылку на использованные данные, исходный код программного обеспечения доступен в репозитории GitHub.
Ранее другую интересную работу по обработке шрифтов проделал создатель шрифта Avería. Он взял большое количество изображений символов и наложил их друг на друга с прозрачным фоном, чтобы создать «самый средний» шрифт. Результат, после небольшой доработки, опубликован для свободного использования в Font Library.