от сбора датасета до создания GUI / Хабр
Привет, Хабр! В этой статье я бы хотел рассказать как я сделал распознавалку русских букв и прикрутил к этому небольшой графический интерфейс.
Спойлер: в результате должно получиться вот так:
Скачиваем датасет
Итак, начнём! Первое, что нам нужно это набор данных. В качестве датасета я выбрал CoMNIST. Скачиваем набор данных, распаковываем и удаляем папку с названием I, так как эта буква не входит в русский алфавит.
Обработка данных
Как мы можем увидеть, данные изображения имеют четыре канала. Четвёртый канал — альфа-канал, который нам не нужен и мы его удаляем:
def make_background(): image=' ' file_without_extension = image.split('.')[0] image = cv2.imread(image, cv2.IMREAD_UNCHANGED) trans_mask = image[:, :, 3] == 0 image[trans_mask] = [255, 255, 255, 255] new_img = cv2.cvtColor(image, cv2.COLOR_BGRA2BGR) cv2.imwrite(file_without_extension + '.jpeg', new_img)
То есть на входе у нас было изображение, которое представлено слева, а на выходе должно получиться изображение, которое представлено справа:
Cледующее, что мы можем заметить, это то, что количество данных у нас маловато( 350 — 450 изображений на класс). Поэтому, нам нужно «раздуть» наши данные. Для этих целей я использовал следующие приёмы: сдвиги, это когда мы перемещаем нашу букву на какое-то значение вверх/вниз и влево/вправо по осям, и повороты, когда поворачиваем нашу букву на какой-то определённый градус.
Сдвиги
def shift(): image = '' img = cv2.imread(image) file_without_extension = image.split('.')[0] arr_translation = [[15, -15], [-15, 15], [-15, -15], [15, 15]] arr_caption=['15-15','-1515','-15-15','1515'] for i in range(4): transform = AffineTransform( translation=tuple(arr_translation[i])) warp_image = warp(img, transform, mode="wrap") img_convert = cv2.convertScaleAbs(warp_image, alpha=(255.0)) cv2.imwrite(file_without_extension + arr_caption[i] + '. jpeg', img_convert)
Повороты
def rotate(): image = '' img = Image.open(image) file_without_extension = image.split('.')[0] angles = np.ndarray((2,), buffer=np.array([-13, 13]), dtype=int) for angle in angles: transformed_image = transform.rotate(np.array(img), angle, cval=255, preserve_range=True).astype(np.uint8) cv2.imwrite(file_without_extension + str(angle) + '.jpeg', transformed_image)
Балансировка данных
Далее мы можем увидеть, что количество изображений, принадлежащих к каждому классу, разное, поэтому нам следует сбалансировать наш датасет.
def balancing(): arr_len_files = [] for path in root_path: name_path = name_root_path+path+'/' files=os.listdir(name_path) arr_len_files.append(len(files)) min_value=min(arr_len_files) for path in root_path: folder = name_root_path+path arr = [] for the_file in os.listdir(folder): arr.append(folder + '/' + the_file) d = 0 k = len(arr) for i in arr: os.remove(i) d += 1 if d == k - min_value: break
В результате чего, для каждой буквы количество изображений должно быть одинаково. Далее следует самостоятельно разделить данные на тренировочные, тестовые и валидационные примерно в соотношении 70%, 20% и 10% соответственно.
Обучение нейронной сети
Переходим к самому продолжительному этапу — обучению сети. В качестве нейронной сети я выбрал CNN, так как она хороша для классификации объектов. Сам процесс обучения занимает 2-2,5 часа и точность составила примерно 94%, что довольно хорошо. Ниже представлен код для обучения сети.
import tensorflow as tf ImageDataGenerator = tf.keras.preprocessing.image.ImageDataGenerator TRAINING_DIR = "path/to/train/dataset" train_datagen = ImageDataGenerator(rescale=1.0 / 255.) train_generator = train_datagen. flow_from_directory(TRAINING_DIR, batch_size=40, class_mode='binary', target_size=(278,278)) VALIDATION_DIR = "path/to/test/dataset" validation_datagen = ImageDataGenerator(rescale=1.0 / 255.) validation_generator = validation_datagen.flow_from_directory(VALIDATION_DIR, batch_size=40, class_mode='binary', target_size=(278,278)) model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(16, (3, 3), activation='relu', input_shape=(278,278, 3)), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(32, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dense(33, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.summary() history = model.fit_generator(train_generator, epochs=2, verbose=1, validation_data=validation_generator) model.save('model.h5')
Дальше следует проверить нашу нейронную сеть на валидационных изображениях, для того, чтобы убедиться, что точность на тестовых данных соответствует реальности:
prediction.py
def print_letter(result): letters = "ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" return letters[result] def predicting(path_to_image): image = keras.preprocessing.image model = keras.models.load_model('path/to/model') img = image.load_img(path_to_image, target_size=(278, 278)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) images = np.vstack([x]) classes = model. predict(images, batch_size=1) result = int(np.argmax(classes)) result = print_letter(result) print(result)
Прикручиваем GUI
И последнее, что нам предстоит сделать это прикрутить графический интерфейс с минимальными возможностями: холст, на котором можно будет рисовать цифры, поле, куда будет выводиться распознанная буква, кнопка для распознавания того, что находится на холсте, кнопка для очистки холста и объеденить это всё воедино.
app.py
from PyQt5.QtWidgets import QMainWindow, QApplication, QMenu, QMenuBar, QAction, QFileDialog, QPushButton, QTextBrowser from PyQt5.QtGui import QIcon, QImage, QPainter, QPen, QBrush from PyQt5.QtCore import Qt, QPoint import sys from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, QTextEdit, QGridLayout, QApplication) import numpy as np from tensorflow import keras class Window(QMainWindow): def __init__(self): super().__init__() title = "recognition cyrillic letter" top = 200 left = 200 width = 540 height = 340 self.drawing = False self.brushSize = 8 self.brushColor = Qt.black self.lastPoint = QPoint() self.image = QImage(278, 278, QImage.Format_RGB32) self.image.fill(Qt.white) self.nameLabel = QLabel(self) self.nameLabel.setText('RES:') self.line = QLineEdit(self) self.line.move(360, 168) self.line.resize(99, 42) self.nameLabel.move(290, 170) prediction_button = QPushButton('RECOGNITION', self) prediction_button.move(290, 30) prediction_button.resize(230, 33) prediction_button.clicked.connect(self.save) prediction_button.clicked.connect(self.predicting) clean_button = QPushButton('CLEAN', self) clean_button.move(290, 100) clean_button.resize(230, 33) clean_button.clicked.connect(self.clear) self. setWindowTitle(title) self.setGeometry(top, left, width, height) def print_letter(self,result): letters = "ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" self.line.setText(letters[result]) return letters[result] def predicting(self): image = keras.preprocessing.image model = keras.models.load_model('model/cyrillic_model.h5') img = image.load_img('res.jpeg', target_size=(278, 278)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) images = np.vstack([x]) classes = model.predict(images, batch_size=1) result = int(np.argmax(classes)) self.print_letter(result) def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.drawing = True self.lastPoint = event.pos() def mouseMoveEvent(self, event): if (event.buttons() & Qt.LeftButton) & self.drawing: painter = QPainter(self.image) painter.setPen(QPen(self. brushColor, self.brushSize, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) painter.drawLine(self.lastPoint, event.pos()) self.lastPoint = event.pos() self.update() def mouseReleaseEvent(self, event): if event.button() == Qt.LeftButton: self.drawing = False def paintEvent(self, event): canvasPainter = QPainter(self) canvasPainter.drawImage(0, 0, self.image) def save(self): self.image.save('res.jpeg') def clear(self): self.image.fill(Qt.white) self.update() if __name__ == "__main__": app = QApplication(sys.argv) window = Window() window.show() app.exec()
Заключение
Как можно видеть, что казалось когда-то «магией», с помощью современных библиотек делается вполне несложно.
Поскольку Python является кроссплатформенным, работать код должен везде, на Windows, Linux и OSX. Я это всё делал на Ubuntu 18.04. Для желающих поэкспериментировать самостоятельно, исходный код я выложил на GitHub.
Программист из Австралии создал сайт, распознающий Брайль. Он рассказал о проекте / «Особый взгляд»
Прослушать публикациюТифлокомментарий: цветной коллаж. На фиолетовом фоне два белых альбомных листа. На одном напечатан текст рельефно-точечным шрифтом Брайля. На другом этот же текст дублирован плоскопечатным шрифтом.
Во время режима самоизоляции в 2020 году австралийский программист и папа ребенка с нарушением зрения Гонсало Эрнст разработал сайт по распознаванию Брайля. На нем можно загрузить фото брайлевского текста на одном из предложенных языков и через несколько минут прочитать его плоскопечатный аналог. «Особый взгляд» попросил Гонсало рассказать о проекте.
— Как возникла идея создания сайта и сколько времени потребовалось на его разработку?
— Сначала я узнал о создании русскоязычного сайта Angelina Reader, который делает перевод текстов, написанных шрифтом Брайля, на русский язык. Для перевода англоязычных брайлевских текстов этот сайт использовал только Брайль первого класса (Grade 1 Braille), при котором одна буква заменяется одним знаком.
В русском языке используется только Брайль первого класса (одна буква — один знак), а в англоязычных странах Брайль первого класса используется только на первом этапе обучения письму и чтению шрифтом Брайля. В большинстве книг, учебников и других изданий на английском языке используют Брайль второго класса (Grade 2 Braille), так называемый сокращенный Брайль (contracted Braille), в котором многие распространенные слова или буквосочетания целиком заменяются одним знаком. Это делает задачу перевода в текстовый формат значительно сложнее.
Так как мы (Гонсало Эрнст и его семья. — Прим. ред.) проживаем в англоязычной стране, нам нужен был именно Брайль второго класса. Автор Angelina Reader Илья Оводов выложил свой код в открытый доступ. Любой, кто знает Python, мог адаптировать его для перевода Брайля второго класса.
Я знаком с языком программирования Python, кроме того, хотел узнать больше об инструментах машинного обучения и компьютерного зрения, поэтому для меня это был отличный проект как для обучения, так и для перевода Брайля второго класса для нашей дочери. Я также хотел добавить другие инструменты поиска сокращений, чтобы помочь родителям быстро находить сокращенный шрифт Брайля.
После дальнейших исследований я решил использовать проект с открытым исходным кодом Liblouis для таблиц поиска Брайля, чтобы можно было легко добавлять другие языки. Хотя Liblouis не поддерживает обратный перевод для всех языков, для многих из них это возможно.
Кроме того, существует немало правил и исключений для сокращенного шрифта Брайля, так что было бы слишком сложно начать работу с нуля для перевода англоязычных текстов, не говоря уже о текстах на других языках.
Разрабатывать сайт я начал в июле 2020 года, и мне потребовалось шесть месяцев для того, чтобы заставить работать его базовую версию. Я многому научился в процессе.
— Расскажите о структуре сайта: как он работает и какие языки программирования в нем используются.
— Для основных функций в качестве языка программирования сайт использует Python. Для некоторых функций (к примеру, клавиатуры Брайля) понадобились языки CSS и Javascript. Компонент машинного обучения для распознавания Брайля основан на PyTorch.
— Почему на сайте нет русского языка?
— Сайт Ильи Angelina Reader отлично справляется с русским шрифтом Брайля, поэтому мне показалось лишним включать русский шрифт Брайля. Я бы порекомендовал российским пользователям посетить сайт Ильи.
На фото: фрагмент текста с сайта Angelina Reader.
Тифлокомментарий: две цветные фотографии на белом фоне. На фото слева — крупным планом белая страница с текстом, который напечатан шрифтом Брайля. На фото справа — фрагмента этого текста, который распознали на сайте Angelina Reader. Каждая буква, напечатанная шрифтом Брайля, обведена зеленым прямоугольником, под каждым — черная буква, напечатанная плоскопечатным шрифтом. Из них составляются слова: «Ну! Ну! Ну! Врешь! Врешь! Ну, тарелка. Ну, лепешка».
— Расскажите подробнее, какой код и для каких задач применяется?
— Код Ильи был использован для захвата изображения, он основан на работе, проделанной Renqiang Li, Hong Liu, Xiangdong Wan, Yueliang Qiang из Института вычислительных технологий Академии наук Китая. Оба этих источника упоминаются на моей странице «О нас» в разделе «Ресурсы».
После завершения захвата код Liblouis используется для выполнения перевода текста, написанного шрифтом Брайля в плоскопечатный текст (в зависимости от выбранной таблицы). Это позволяет мне добавлять любые языки, поддерживаемые проектом с открытым исходным кодом Liblouis.
— Кому адресован сайт? Кому он может быть полезен?
— Этот сайт предназначен для учителей и родителей учеников, изучающих шрифт Брайля. Он позволяет родителям помогать своим детям, а учителям — быстро и просто проверять работы учеников, выполненные на брайлевских машинках, таких как брайлер Perkins. Кроме того, мне приходили письма от людей, которые использовали сайт для перевода кулинарных рецептов и дневников близких, оставивших свои заметки шрифтом Брайля.
— Как пользователи узнают о проекте?
— Сайт можно найти в Google, по некоторым ссылкам или по рекомендациям других пользователей.
— Планируете ли вы создавать другие ресурсы, полезные в обучении незрячим людям?
— Я хочу добавить на сайт математический и музыкальный Брайль, но у из них есть свои нюансы и сложности. Это можно сделать, но для этого потребуется много времени, которого, к сожалению, у меня сейчас нет из-за нагрузки на основной работе. Я надеюсь, что в будущем смогу вернуться к более активной работе над сайтом.
В настоящее время его поддержка требует денег, и нет возможности монетизировать такие проекты, хотя я понимаю, что они полезны и важны. Я надеюсь, что в будущем смогу сделать еще больше подобных полезных проектов.
Читайте также:
Россиянин создал для дочери программу по распознаванию Брайля. Теперь ею пользуются учителя и студенты
Шрифт как объект авторского права в России и США
Шрифт как объект авторского права в России и США
Киселёва А.
2015
За последние сто лет мир вокруг нас сильно изменился. Скорость и масштаб изменений поражают. Начиная с открытия космического пространства и заканчивая интернет-технологиями и робототехникой, новые объекты изучения и новые сферы деятельности появляются со скоростью, нарастающей в геометрической прогрессии. Все эти инновации так или иначе связаны с интеллектуальной деятельностью человека. В последнее время в связи с подъёмом и усложнением общественных отношений появилось много объектов интеллектуальной собственности, которые существовали ранее или не считались таковыми.
Стандарты, регулирующие интеллектуальную собственность, возникли и существуют для достижения баланса интересов между правообладателями и обществом. С одной стороны, интеллектуальный труд автора должен поощряться, иначе не будет достаточного стимула для культурного и экономического развития. С другой стороны, сообщество рано или поздно должно получить доступ к объектам культурной ценности и произведениям искусства. Кроме того, скорость развития отрасли часто зависит от доступности работ для других авторов (что хорошо видно на примере открытых лицензий на программное обеспечение), что позволяет новым авторам улучшать работы, ранее созданные другими. Если рассматривать этот вопрос в рамках экономического анализа права, то можно сказать, что тот или иной вид деятельности становится объектом авторского права, когда государству экономически невыгодно оставлять такой объект вне правового поля.
С развитием Интернета и компьютерных технологий шрифты стали именно таким предметом (существует множество концепций шрифтов и гарнитур, используемых в разные эпохи в разных ситуациях. Для целей данной статьи под шрифтом понимается набор символов, созданный художником, который представляет буквы языка, как компьютерный файл, содержащий шрифт, и/или как набор металлических шрифтов, используемых в типографской печати.Если иное не указано или не требуется контекстом, шрифт должен понимать как набор символов, созданных художником, которые представляют собой буквы языка). Однако так было не всегда. С момента изобретения печатного станка Иоганном Гутенбергом в 15 веке и до изобретения пишущей машинки в начале 19 века.го века процесс создания шрифтов был очень трудоемким и дорогим. Что еще более важно, копирование шрифта отнимало столько же времени и денег, сколько и его создание.
Как отмечает Блейк Фрай в своей статье «Почему шрифты распространяются без защиты авторских прав», создание единого шрифта одного стиля и веса в семействе шрифтов (например, Times New Roman 14 в семействе шрифтов Times New Roman) потребовало бы перфорации. , имевший уникальный набор навыков (наполовину металлург, наполовину скульптор, наполовину кузнец), 800 часов работы на полную ставку. Акцент здесь был сделан не столько на дизайн шрифта и художественную работу, сколько на уникальные навыки специалиста, а также деньги, затраченные на создание шрифта. Копировать шрифт было вообще экономически нецелесообразно, потому что это потребовало бы затрат такого же количества ресурсов и привлечения такого же уникального специалиста. Соответственно, правительства совершенно не были заинтересованы в предоставлении правовой охраны шрифтам. Не появился такой интерес и с изобретением пишущей машинки, поскольку процесс копирования был еще слишком дорог. Однако информационные технологии полностью изменили индустрию шрифтов. Теперь создание шрифта требует уникальных творческих способностей, а не практических навыков и большого количества времени. Если раньше шрифты создавались в основном крупными корпорациями, располагавшими достаточными ресурсами, то теперь шрифты может разрабатывать практически любой пользователь компьютерных программ, предназначенных для этой цели (например, Font Creator, FontForge). Такие цифровые шрифты могут быть скопированы неограниченным количеством людей из-за их полной доступности и простоты копирования. Кроме того, теперь можно незаконно использовать шрифт анонимно. Если раньше рынок купели был узким (все участники рынка знали друг друга), то в случае нарушения можно было обратиться к негосударственным регуляторам рынка (например, прекратить сотрудничество с таким участником, распространить информацию о нарушении, тем самым порча его репутации), теперь анонимное использование делает невозможным обращение к механизмам внеправового регулирования.
Стоит отметить, что шрифты в настоящее время приобретают все большую и большую независимую ценность. Шрифты используются в рекламе, веб-дизайне, книгах, журналах, городской навигации и многих других отраслях. Например, в контексте рекламы важно подобрать подходящий шрифт, соответствующий своему назначению (яркий, но не резкий цвет), способный создать необходимые эмоции и вызвать у потребителя соответствующие ассоциации (реклама для духи и, например, цирковые представления требуют совсем других шрифтов). Различные шрифты подбираются для создания интерфейса сайта и создания самого веб-продукта. Например, всем известен текст в логотипах Яндекса и Google. Эти поисковые системы привлекают внимание и стали популярными отчасти благодаря шрифтам, используемым в их логотипах. Создатель шрифта для Яндекса, например, дает следующее описание фирменного шрифта: «Фирменный шрифт Яндекса — узкий, гротескный, отличается открытой формой знаков и малым радиусом округлых форм. Динамическое распределение толщины в знаках круглого шрифта прекрасно сочетается со статичностью знаков прямого шрифта <…> Набор хорошо подходит для логотипов услуг, слоганов и пояснительных текстов» (А. Лебедев. Фирменный шрифт Яндекса). Вышеизложенное свидетельствует о том, что каждый шрифт имеет свои особые элементы, разработан и предназначен для использования в определенных ситуациях и что пригодность разрабатываемого шрифта зависит от творческих способностей его дизайнера.
Государственные и муниципальные органы уделяют особое внимание городской навигации и метрополитену и разрабатывают единые стандарты оформления пояснительных текстов, где особое значение имеет используемый шрифт. Даже обычные пользователи не ограничиваются стандартным набором шрифтов, предоставляемым операционными системами, ведь сфера творческой деятельности любого пользователя Интернета безгранична. Все это поддерживает идею о том, что шрифт как произведение искусства следует рассматривать как самостоятельный объект авторского права.
В большинстве стран мира, в том числе и в России, шрифты находятся под правовой охраной как произведение авторского права. Например, в 1981 году правительство Германии признало, что шрифты могут быть защищены законами и правилами об авторском праве; английское правительство сделало то же самое в 1989 году (Эрик Шульц. Закон о шрифтах и гарнитурах). На международном уровне шрифты регулируются Венским соглашением об охране шрифтов и их международном депонировании, принятым 12 июня 1973 г. (Венское соглашение об охране шрифтов и их международном депонировании). К сожалению, Соглашение не вступило в силу, так как его признала и ратифицировала только одна страна. Большинство штатов не считают шрифты объектом авторского права напрямую, а не исключают их из общего неполного списка. Соединенные Штаты Америки занимают отдельную позицию в отношении охраняемых авторским правом шрифтов, как заключило Бюро регистрации авторских прав США в 1976, что образцы шрифтов не должны рассматриваться как объекты авторского права (Жаклин Д. Липтон. На © или не на ©? Авторское право и инновации в индустрии цифровых шрифтов). Это решение было дополнительно подкреплено судебной практикой (Eltra Corp. vs Ringer, 579 F.2d 294 (4th Cir. 1978). Такая ситуация вызывает недоумение у специалистов по шрифтовому дизайну, а также у представителей юридической профессии. Конечно, это не означает, что шрифты в США вообще не охраняются законом. Таким образом, компьютерная программа, которая позволяет пользователям отображать и воспроизводить шрифт на экране, считается произведением, защищенным авторским правом. Это было принято Бюро авторских прав в 1992 и закреплено в решении по делу Adobe Systems, Inc. против Southern Software, Inc., вынесенном 30 января 1998 г., на которое ссылается Жаклин Д. Липтон в своей работе по защите шрифтов. © или не ©? Авторское право и инновации в индустрии цифровых шрифтов). Суд вынес решение в пользу истца, создав тем самым прецедент защиты воспроизведения шрифта с помощью компьютерной программы. Однако совершенно очевидно, что такое средство защиты недостаточно эффективно. Общеизвестно, что законом об авторском праве охраняется описание программы, а не идея, стоящая за ней. То есть, изменив описание, можно добиться сопоставимого результата: такого же или похожего шрифта. Кроме того, не всегда требуется компьютерная программа для использования шрифта (например, если шрифт используется на нарисованном от руки рекламном плакате), можно скопировать сам шрифт, не затрагивая программу. Учитывая изложенное, вопрос предоставления правовой охраны шрифтам в США остается открытым. Так почему же одна из самых прогрессивных правовых систем остается столь консервативной в этой области? Удивительно для системы прецедентного права, именно законодательство США устанавливает такое ограничение. Закон США об авторском праве от 1976 предусматривает, что произведения, охраняемые авторским правом, должны также включать изобразительные, графические и скульптурные произведения: «двухмерные и трехмерные произведения изобразительного, графического и скульптурного искусства… К таким произведениям относятся произведения художественного мастерства в отношении их формы, но не их механического или затрагиваются утилитарные аспекты; дизайн полезного предмета, как он определен в этом разделе, должен считаться изобразительным, графическим или скульптурным произведением только в том случае и только в той мере, в какой такой дизайн включает изобразительные, графические или скульптурные элементы, которые могут быть идентифицированы отдельно от , и способны существовать независимо от утилитарных аспектов статьи». (Закон США об авторском праве).
Любой шрифт будет полезен и утилитарен, так как это прежде всего набор символов, используемых для общения. Если он не выполняет свое назначение, он перестает быть шрифтом. Однако такой набор символов может иметь оригинальные характеристики помимо формы букв, такие как толщина, яркость, насыщенность, межбуквенный интервал, размер; он может быть округлым, цветочным, прямым или графическим. Но все вышеперечисленное не может существовать отдельно от формы символов шрифта. В какой-то момент Бюро регистрации авторских прав США установило, что художественные элементы полезного и практически утилитарного предмета охраняются авторским правом только в том случае, если такие элементы могут быть физически отделены от самого предмета (Жаклин Д. Липтон. На © или не на ©? Авторское право и Инновации в индустрии цифровых шрифтов). Вот почему шрифты в США не защищены законом об авторском праве. Главный аргумент законодателя и правоохранительных органов в данном случае — якобы сложность и дороговизна использования пользователями в случае признания шрифтов объектами авторского права. Это справедливо, поскольку в таком случае обычный пользователь, интересующийся только утилитарной стороной шрифта, а не его художественной составляющей, нарушил бы исключительные права. Но есть и некоторые контраргументы. В настоящее время существует множество открытых шрифтов, распространяемых свободно и бесплатно, и все они предоставляют широкий выбор для нужд пользователя. Если конкретному пользователю этого недостаточно, то его интересует не утилитарная сторона, а художественная составляющая. Именно такими пользователями являются создатели шрифтов, рекламные и дизайнерские агентства (короче говоря, предприниматели, использующие шрифты в коммерческих целях). Это может квалифицироваться как использование шрифта в качестве объекта авторского права. Кроме того, в Соединенных Штатах действует доктрина «добросовестного использования», которая также может использоваться пользователями для использования шрифтов в некоммерческих целях, если список типов добросовестного использования, указанный в статье 107 Закона США об авторском праве, будет расширен. или должна быть установлена соответствующая прецедентная практика.
Таким образом, на данный момент шрифты в США как таковые юридически не охраняются в связи с тем, что утилитарные характеристики шрифта физически неотделимы от его художественных элементов. Объектом авторского права признается только программа для ЭВМ, отображающая шрифт на экране компьютера.
Обратимся теперь к российскому опыту правового регулирования шрифтовой отрасли. В Гражданском кодексе Российской Федерации прямо не указано, что шрифты охраняются законом. Однако статья 1259ГК РФ приводится неисчерпывающий перечень объектов авторского права, который позволяет включать в него шрифты, если они носят объективную форму, творческий характер и не выражают идей, понятий, принципов, методов, процессов, системы, методики, а если они не являются решениями технических, организационных и иных задач, или языками программирования (ч. 4 ГК РФ. ст. 1259(5)). Кроме того, к объектам авторского права, перечисленным в статье 1259 Гражданского кодекса, относятся произведения графики и дизайна, в число которых могут входить и шрифты. Как Р.Н. Юрьев справедливо отмечает: «Безусловно, шрифт есть графическое произведение, как по отношению к отдельному шрифтовому знаку, так и по отношению к набору шрифтовых знаков вообще. Поскольку в законодательстве не дается разъяснения понятия «дизайн», его языковое значение еще не установлено и под словом «дизайн» может пониматься как расстановка мебели в помещении, так и внешний вид чего-либо, шрифт может также признаваться «произведением дизайна…» (Юрьев Р.Н. Шрифт как объект авторского права). Таким образом, российское законодательство никоим образом не ограничивает охрану шрифтов законами и подзаконными актами об авторском праве.
Не менее важно изучить соответствующее внутреннее прецедентное право. В настоящее время существует немало решений о признании шрифтов авторскими произведениями. Важнейшим органом в части предоставления охраны шрифту как отдельному объекту авторского права является Постановление Суда по интеллектуальным правам от 12.12.2014 № С01–1268/2014 (по делу № А40–20099/2014). При этом научно-исследовательская компания ООО «ПараТайп» обратилась в суд с иском к ответчику о запрете использования последним шрифта Родченко, в том числе при издании книг, распространении экземпляров книг-нарушителей, а также о взыскании компенсация за нарушение исключительных прав на произведение. Суд первой инстанции удовлетворил иск частично, запретив использование шрифта и распространение книг-нарушителей, а также присудил частичную компенсацию. Апелляционный суд оставил решение в силе. Суды высшей инстанции, в том числе Суд по интеллектуальным правам (далее именуемый «СИП»), также поддержали это решение. Особый интерес представляет обоснование постановлений судов апелляционной и кассационной инстанций. IPC не рассматривал вопрос о защищенности шрифта авторским правом как объект авторского права, а сослался только на положения закона, в которых перечислены объекты авторского права, и по умолчанию рассматривал шрифт как объект авторского права. Большой интерес представляет решение суда апелляционной инстанции.
«В апреле 2002 года Т.И. Сафаев, выступая в качестве работника по вышеуказанному трудовому договору, разработал и передал истцу (его работодателю) купель под названием Родченко. Таким образом, вышеуказанный шрифт представляет собой набор стилистически единых изображений всех знаков латинского и кириллического алфавитов (в нескольких вариантах). Процесс создания шрифта требовал индивидуальной мыслительной деятельности, направленной на выражение эстетических представлений о внешнем виде знаков и других символов; это оригинальная работа ее автора, Т.И. Сафаева, и является именно графическим произведением. Таким образом, указанный шрифт является объектом авторского права в соответствии со статьями 6 и 7 Закона Российской Федерации «Об авторском праве и смежных правах» и статьей 1259ГК РФ (постановление Девятого арбитражного апелляционного суда от 8 сентября 2014 г. № 09АП-32019/2014-ГК). Таким образом, суд апелляционной инстанции признал шрифт графическим произведением (объектом авторского права) в понимании Гражданского кодекса Российской Федерации. Не доказав, что шрифт не является объектом авторского права, ответчик в суде кассационной инстанции обжаловал решение суда апелляционной инстанции по иным основаниям: ответчик настаивал на том, что «он использовал не произведение (шрифт) в целом, а только отдельные элементы (персонажи), которые представляли незначительную часть произведения, не защищенного законом об авторском праве. В кассационной жалобе ответчик утверждал, что шрифт может быть объектом интеллектуальной собственности только в том случае, если он представляет собой полный набор всех шрифтовых знаков и символов в одном стиле. <…> Следовательно, как полагал ответчик, использование отдельных знаков на обложке книги не может считаться нарушением исключительных прав на произведение (в данном конкретном случае на шрифт) в целом» (решение № С01– Постановление Суда по интеллектуальным правам от 12 декабря 2014 г. N 1268/2014 по делу № А40–20099/2014). МПК не согласился с этими доводами и постановил, что: «…авторское право распространяется и на часть произведения, если она по своему характеру может быть признана самостоятельным результатом творческой деятельности автора и выражена в объективной форме <… > судам следует иметь в виду, что, пока не доказано обратное, результаты интеллектуальной деятельности признаются творческим трудом. Ответчик, утверждая, что часть шрифта не может рассматриваться как имеющая творческий характер, не обосновал этот довод. Незаконное использование части произведения (шрифта), являющейся самостоятельным объектом гражданско-правовых сделок, влечет нарушение исключительного права на само произведение, поскольку использование части произведения фактически является способом использование произведения в целом» (постановление № С01–1268/2014, вынесенное Судом по интеллектуальным правам 12 декабря 2014 г. по делу № А40–20099/2014).
Кроме того, Суд по интеллектуальным правам постановил: «Утверждение заявителя в кассационной жалобе о том, что отдельные элементы шрифта не отражают творческого характера деятельности при их создании в силу своей простоты и неотличимости от элементов других шрифтов, является противоречивого характера, поскольку именно творческий характер, по мнению суда, обусловил использование ответчиком шрифта при оформлении обложки спорной книги». (Постановление № С01–1268/2014, вынесенное Судом по интеллектуальным правам от 12 декабря 2014 г. по делу № А40–20099/2014). Таким образом, в данном случае рассматривались два важных вопроса: является ли шрифт объектом авторского права в Российской Федерации и считается ли использование части набора знаков шрифта нарушением исключительных прав (т. признается ли часть символов шрифта отдельным объектом авторского права). На оба вопроса можно ответить утвердительно.
Подводя итог, можно сказать, что мировое сообщество признает шрифты, за некоторыми исключениями, объектами авторского права. Это вызвано, в том числе, тем, что в эпоху Интернета копирование и нелегальное использование шрифтов стало проще, дешевле и безопаснее (из-за анонимного использования). Все это требует создания регуляторных механизмов защиты прав создателей шрифтов, а также признания этих механизмов в судебной практике. Российское законодательство идет в ногу со временем, признавая шрифты объектами авторского права. Законодательство США, являясь наиболее прогрессивным и гибким, в этом вопросе уступает большинству современных законов и правил, поскольку признает объектом авторского права только компьютерные программы, воспроизводящие шрифт. При этом в США производится наибольшее количество самых популярных шрифтов. Поэтому остается надежда, что создателям шрифтов в США будет предоставлен тот же объем прав, что и создателям шрифтов в остальном мире.
Обратная связь:
Оптическое распознавание шрифтов на изображениях, снятых смартфоном, и его применение для обнаружения подделки удостоверений личности
Оптическое распознавание шрифтов на изображениях, снятых смартфоном, и его применимость для обнаружения подделки удостоверений личности
- Чернышова Юлия Сергеевна ;
- Алиев Михаил А. ;
- Гущанская Екатерина Сергеевна ;
- Шешкус Александр Васильевич
Аннотация
В данной работе рассматривается проблема обнаружения поддельных документов, удостоверяющих личность, на изображениях, снятых с помощью смартфонов. Поскольку ряд документов содержит специальные шрифты, мы изучаем возможность применения сверточных нейронных сетей (СНС) для определения соответствия используемых шрифтов шрифтам, соответствующим государственным стандартам. Здесь мы используем многозадачное обучение, чтобы различать образцы как по шрифтам, так и по символам, и сравниваем полученный классификатор с его аналогом, обученным для бинарной классификации шрифтов. Мы обучаем нейронные сети для оценки подлинности шрифтов машиночитаемых зон и идентификационных номеров паспорта РФ и тестируем их на образцах отдельных символов, полученных из 3238 изображений паспорта РФ. Наши результаты показывают, что использование многозадачного обучения повышает чувствительность и специфичность классификатора. Более того, полученные CNN демонстрируют высокую способность к обобщению, поскольку они правильно классифицируют шрифты, которых не было в обучающей выборке. Мы пришли к выводу, что предложенный метод достаточен для аутентификации шрифтов и может использоваться как часть системы обнаружения подделок изображений, полученных с помощью камеры смартфона.
- Публикация:
Одиннадцатая международная конференция по машинному зрению (ICMV 2018)
- Дата публикации:
- март 2019 г.
- DOI:
- 10.1117/12.2522955
- архив:
- архив: 1810.08016
- Биб-код:
- 2019SPIE11041E..1JC