Какой сервис в наше время обходится без приписки Powered by AI? Хочется чтобы typlr.app тоже получил красивый шильдик. Для этого я придумал прототип автоматического кернинга и протестировал его в работе.
Обычно кернингом занимается шрифтовик вручную или использует какой-нибудь оптический алгоритм. Но почему бы не попробовать для этого машинное обучение.
У прототипа простая как палка архитектура. Это сверточная нейронная сеть, с двумя входами и классификатором на выходе. На входе два битмаповых изображения размером 128 на 128 пикселей. Все буквы расположены по центру и имеют одинаковый кегль.
Классы на выходе — это апроши — значение расстояния от крайних границ букв, округленные до пяти единиц и ограниченные в диапазоне от минус 250 до плюс 250.
Чтобы это измерить, нужно извлечь из шрифтового файла полуапроши пары и значение кернинга, и сложить их вместе.
В качестве обучающей выборки был выбраны гугл-шрифты с лицензией OFL. В репозитории гугл-шрифтов более 3000 бесплатных шрифтов. Для теста были взяты только две сотни случайных шрифтов.
К слову о свертке. Свертка — специальная архитектура нейронных сетей, применяющая определенные «фильтры» для анализа характерных качеств изображений. Пример визуализации второго слоя для букв.
Модель обучалась 9 эпох батчами по 16 наблюдений из выборки в 408884 пар латинских заглавных и строчных букв. Где к 9-й эпохе была достигнута точность на тестовой выборке в 54,9%.
В результатах встречаются неожиданные предсказания, но есть заметная верная тенденция, как в парах VA или TJ. Важно учитывать, что выборка была случайная, и не имела других дополнительных параметров. Шрифты в примерах в обучении не участвовали.
Новая функция встроена в редактор шрифтов typlr.app, но доступна только для тестирования.
Привет! Меня зовут Женя Агасьянц. Я дизайнер интерфейсов, логотипов, и всего что можно показать на экране или напечатать в типографии. Продюсировал фотосессии.
В свободное время создаю шрифты и разрабатываю вебсервис редактирования шрифтовtyplr.app