Определение того, написаны ли два образца почерка одним и тем же человеком или нет.

Мотивация:

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

Набор данных:

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

Этот набор данных дает нам возможность решить проблему идентификации писателя, используя два разных подхода:

Автономная настройка:

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

В этой настройке мы создадим два изображения, подобные приведенному выше, для модели сиамского зрения (Resnet50 в нашем случае) и попытаемся предсказать, были ли эти два образца написаны одним и тем же человеком.

Изображения предварительно обрабатываются, чтобы удалить лишнее белое пространство по краям и нормализовать их размер до (128, 1024), при этом следует соблюдать одинаковое соотношение сторон до и после, чтобы не деформировать почерк.

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

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

Он-лайн настройка:

Поскольку у нас также есть почерк, представленный в виде последовательности штрихов руки, с координатами (x, y) для каждого пути штриха, мы можем использовать эту информацию в качестве входных данных для классификатора. Эта последовательность координат дает шаги, которые были необходимы для получения окончательного результата рукописного ввода, по одной крошечной строчке за раз. Он дает более подробную информацию об отличительных характеристиках писателя.

Наиболее естественный способ ввода этого формата - это последовательность изображений для каждого субштрих, однако каждый почерк состоит из нескольких десятков штрихов, причем каждый штрих имеет несколько линий субштрихов. Это делает его непрактичным в использовании из-за проблем с памятью и, вероятно, не очень эффективно. Вот почему нам придется передавать необработанные координаты строки в виде последовательности чисел (x, y) в последовательную модель, такую ​​как ГРУ.

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

Полученные результаты :

  • Точность онлайн-валидации модели Resnet: 88%
  • Точность автономной проверки модели GRU: 92%

Это означает, что модель ГРУ может с 92% точностью определить, написаны ли два набора рукописного текста одним и тем же писателем или нет, применительно к невидимым писателям. Это обнадеживающие результаты, учитывая небольшой размер набора данных.

Возможные улучшения в будущем:

Есть несколько способов улучшить этот проект - ›

  • Настройка параметров.
  • Улучшенная предварительная обработка последовательности штрихов (x, y) и разработка функций.
  • Ищете более реалистичный набор данных почерка (чернильная ручка на бумаге) вместо электронных записей почерка.
  • Использование набора данных о подделке почерка в качестве жестких отрицательных примеров для обучения / оценки.

Заключение :

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

Данные: http://www.fki.inf.unibe.ch/databases/iam-on-line-handwriting-database/download-the-iam-on-line-handwriting-database

Код: https://github.com/CVxTz/handwriting_forensics