FontJoy - нейронная сеть для поиска похожих шрифтов

5 месяцев назад
32 в дизайн

Проект FontJoy строит шрифтовые векторы для сотен шрифтов 

Шрифтовые векторы - это форма представления информации о шрифтах, которая может быть использована для создания новых комбинаций шрифтов.

Извлечение векторов признаков из изображений не является абсолютно новой идеей. Суть подхода в том, что на вход подаётся изображение, прогоняется через нейронную сеть (CNN) для выделения особенностей, а на выходе получается репрезентативный вектор. 

Если хотите больше подробностей, то они весьма детально изложены в этой публикации (англ.) http://cs231n.github.io/transfer-learning/

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

Вектор шрифта - это абстрактное представление того, как выглядит шрифт. Поскольку это просто вектор, мы можем использовать весь математический аппарат для сравнения и подробного анализа разных шрифтов. Для сравнения шрифтов дизайнеры часто используют такое понятие, как «Handgloves» (англ. "перчатки") - такие буквы, как e, a и n, явно различные в разных шрифтах. 

Для чего могут быть полезны шрифтовые векторы? Простейший случай - для поиска визуально похожих шрифтов, например, при разработке дизайна веб-страницы.

Аналогично тому, какие операции позволяют проводить вектора слов word2vec, можно производить вычисления с векторами шрифтов:


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

Одной из наиболее интересных вещей, которые мы можем сделать с векторами шрифтов, является сопряжение или проблема подбора шрифтов, которые будут "работать вместе" в дизайне, как, например, шрифты для заголовка и идущего после него текста.

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

Вероятно, поиск правильного баланса есть задача для интуиции, но, применив немного научного подхода, мы могли бы попытаться упростить задачу, сузив пространство поиска до нескольких шрифтовых векторов.

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


Репозиторий проекта на GitHub

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное
68
  ·  5 месяцев назад

@oduvanchikov Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:

Вы опубликовали свой первый пост
Вы сделали свое первое голосование
Вы получили ваше первое голосование

Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь

Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом стоп

Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.

Приветствую Вас и желаю успехов на платформе Голос!

В этой статье вы сможете найти ответы на большинство вопросов, возникающих у новичков. Также большую подборку ссылок на полезные материалы вы можете найти по этой ссылке
Оперативно получить помощь, вы можете присоединившись к нашему сообществу в Телеграм

Буду признателен, если расскажете, откуда Вы узнали о платформе Голос (ответьте цифрой):

  1. увидел в Facebook
  2. увидел в ВКонтакте
  3. из поиска Google
  4. из поиска Яндекс
  5. из Steem
  6. рассказал друг
  7. другое (укажите в комментарии)

Чтобы быстрей освоится, присоединяйтесь к конкурсу для новичков, который идёт прямо сейчас!