Члены команды: Люси Хван, Яшасвини Кальва, Хён Гу Ким, Кошик Кумаран, Арчит Патель

Абстрактный

Графология — это метод выявления, оценки и понимания черт личности человека посредством штрихов и узоров, выявляемых почерком. Почерк раскрывает истинную личность, включая эмоциональные затраты, страхи, честность, защиту и многое другое. Профессиональные эксперты по почерку, называемые графологами, часто идентифицируют писателя по почерку. Точность анализа почерка зависит от того, насколько квалифицирован аналитик. Хотя вмешательство человека в анализ почерка было эффективным, оно требует больших затрат и подвержено ошибкам. Следовательно, предлагаемая методология направлена ​​на разработку системы, которая может предсказывать черты личности с помощью машинного обучения без вмешательства человека. Чтобы это произошло, мы рассмотрели семь характеристик почерка: (i) размер букв, (ii) наклон письма, (iii) базовая линия, (iv) нажим пера, (v) расстояние между буквами, (vi) расстояние между словами. и (vii) верхнее поле документа для прогнозирования восьми личностных качеств писателя, как показано на рис. 1.0.

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

Введение

Графология определяется как анализ физических характеристик и моделей почерка человека, чтобы понять его или ее психологическое состояние во время письма. Почерк является своего рода проективным тестом, в котором бессознательное выходит на первый план и выражает себя в сознании [1]. Графолог может приблизительно интерпретировать характер и черты личности человека, анализируя почерк. Мы можем использовать графологию для определения профиля личности и характера человека.

Цель

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

Мотивация
Анализ почерка — один из нескольких способов понять психологию человека. Графологию можно использовать в следующих двух областях:

  • Психологический анализ. Графология используется клинически консультантами и психотерапевтами.
  • Профиль занятости. Компании используют анализ почерка для найма. Графологический отчет предназначен для использования в сочетании с другими инструментами, такими как всесторонняя проверка биографических данных, практическая демонстрация или запись рабочих навыков.

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

Литературный обзор

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

Аналогичную работу проделали Шитала Прасад, Вивек Кумар Сингх и Акшай Сапре из Департамента информационных технологий Индийского института информационных технологий в Аллахабаде, Индия, для предсказания личности человека по почерку с использованием машин опорных векторов [4]. Еще одна аналогичная работа была проделана Навином Карантом, Виджаем Десаи и С. М. Кулкарни с факультета машиностроения Национального технологического института штата Карнатака, Индия, для предсказания личности писателя с помощью графологии без какого-либо машинного обучения [5]. Еще одна аналогичная работа была проделана Чампа Х.Н., доцентом кафедры компьютерных наук и инженерии Инженерного колледжа Университета Висвесварая, Карнатака, Индия, и доктором К.Р. Анандой Кумаром, профессором кафедры компьютерных наук и инженерии Технологического института SJB. , Карнатака, Индия по компьютерной графологии с использованием искусственных нейронных сетей [6]. Все эти исследовательские работы имеют принципиальные отличия в выборе признаков почерка, методах извлечения, классификации и вывода и т.д.

Постановка задачи

Предлагается система для автоматизации основных задач графологического анализа почерка для определения нескольких важных черт личности. Считается, что семь признаков/характеристик почерка извлекаются из образца изображения почерка. Каждое из семи результирующих необработанных значений будет помещено в соответствующие категории соответствующих вариантов функций. Затем классификаторы смогут предсказать черты личности писателя. Обзор представлен ниже:

Сбор данных
Получены данные из базы данных IAM по почерку Исследовательской группы по компьютерному зрению и искусственному интеллекту INF Бернского университета, Швейцария. Данные были легко доступны для загрузки для использования в некоммерческих исследовательских целях. База данных содержит 1538 страниц отсканированного текста, для которых 657 писателей предоставили образцы своего почерка. Каждый образец почерка маркируется соответствующими психологическими чертами путем ручного изучения каждого документа.

Предварительная обработка

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

1. Изменение размера изображения

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

2. Удаление шума

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

Снизу 2 изображения видно, что двусторонний фильтр сохраняет края предметов на изображении.

3. Оттенки серого и бинаризация

Экземпляры изображений были преобразованы в оттенки серого и бинаризованы с использованием инвертированного глобального порогового значения. Пример приведен на рис. 1.4.

4. Аффинное преобразование контура и деформации

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

5. Горизонтальная и вертикальная проекции

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

Извлечение признаков

Функции, используемые для построения Random Forest: — Baseline; Линия; Размер буквы; Межстрочный интервал; Расстояние между словами; Верхнее поле; Давление пера; Наклон букв

Этикетки классификации

  1. Открытость
  2. Добросовестность
  3. Приятность
  4. Невротизм

Случайный лес

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

Ниже приведены шаги, необходимые для прогнозирования черт личности с использованием случайного леса:

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

Настройка гиперпараметров

Мы использовали рандомизированный поиск по сетке, чтобы найти наиболее оптимальные гиперпараметры для классификатора RandomForest. Ниже настроены гиперпараметры

  • n_оценщиков
  • Max_features
  • Максимальная глубина
  • min_samples_split
  • ccp_alpha

Важность функции

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

Ниже приводится сводка важности функций:

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

Ниже приведены результаты, полученные из Random Forest:

  • Точность теста = 97,06%
  • Оценка отзыва теста = 93,70
  • Оценка точности теста = 100%

Точность классификатора случайного леса с 4 деревьями составляет 97,06%. Изменение количества оценок, максимальных признаков, глубины, ccp_alpha, разбиения min_samples для этих данных не привело к значительному улучшению результатов.

АННА

Прежде чем мы погрузимся в искусство нейронных сетей, нам сначала нужно понять, что такое ИНС. Короче говоря, искусственная нейронная сеть (ИНС) — это алгоритм машинного обучения, имитирующий работу мозга. Другими словами, ИНС позволяет машинам обрабатывать заданные данные подобно тому, как обрабатывает их человеческий мозг. На рисунке ниже показано, как биологический нейрон и ИНС аналогичным образом обрабатывают данные:

Это простейшая форма ИНС, состоящая из входных данных (x1, x2, …,xn), весов (w1,w2,…,wn) и функции активации. Подобно тому, как человеческий мозг получает входные данные с помощью дендритов, обрабатывает их от ядра к аксонам и выводит результаты на окончаниях аксонов, ИНС принимает входные данные, присваивает веса каждому входу, обрабатывает с помощью функции активации и выводит результат.

Из-за огромного количества сложных данных, полученных на этапах предварительной обработки, простейшей формы ИНС, описанной выше, недостаточно — нам нужно нечто большее. По этой причине мы решили включить два скрытых уровня, которые удаляют избыточные данные и делают процесс более эффективным и быстрым. Это называется многослойным персептроном (MLP), который состоит из входного слоя, одного или нескольких скрытых слоев и выходного слоя (рис. 2.1).

В дополнение к обработке от входного слоя к выходному, которая называется сетью прямого распространения, что делает ИНС еще более мощной, так это противоположное понятие сети прямого распространения, алгоритм обратного распространения (рис. 2.2). Благодаря алгоритму обратного распространения ИНС может учиться на своих ошибках и улучшать модель дальше.

Теперь, когда мы лучше понимаем ИНС, давайте посмотрим, как мы реализовали ИНС для предсказания личности по почерку. Общий процесс реализации ИНС довольно прост: преобразование предварительно обработанных данных в массивы пикселей и помещение массивов в ИНС. На рисунке ниже показано общее представление процесса ИНС в этом проекте.

Хотя данные уже были предварительно обработаны, нам все еще нужно было выполнить процесс преобразования данных, в котором мы кодируем категориальные переменные (метки личности, которые являются нашей целевой переменной), изменяем матрицы данных для ИНС и разделяем данные на наборы для обучения, проверки и тестирования. (70%, 15%, 15% соответственно). Затем мы использовали Keras от TensorFlow для ИНС:

ИНС строится следующим образом:

  • Масштабирование и сведение
  • Входной слой — 113 узлов, функция активации=ReLU
  • Два скрытых слоя — 128, 64 узла, функция активации = ReLU
  • Выходной слой — 4 узла, функция активации=Softmax
  • Два регуляризованных («выпадающих») слоя между каждым слоем для предотвращения переобучения.
  • Функция потерь разреженной категориальной перекрестной энтропии
  • Оптимизатор RMSprop

Настройка гиперпараметров

  • Эпохи: 60
  • Размер партии: пробовали размеры партии 16, 32 и 64.

Мы выбрали функцию активации ReLU, потому что она позволяет избежать проблемы исчезновения градиента благодаря своей линейности и в вычислительном отношении легче и быстрее. Кроме того, мы выбрали функцию активации Softmax для выходного слоя, поскольку она вычисляет относительную вероятность каждого класса, что больше подходит для задач классификации нескольких классов, таких как этот проект. Точно так же использовалась функция потери энтропии Sparse Categorical Cross, потому что этот проект представляет собой проблему классификации нескольких классов. Наконец, мы использовали оптимизатор RMSprop, потому что он адаптируется по мере снижения до минимума, что делает его быстрее и оптимальнее, чем другие оптимизаторы. Мы также попробовали оптимизатор ADAM, но точность оказалась немного ниже, чем при использовании RMSprop. На рисунках ниже представлены результаты ИНС:

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

Точно так же на рис. 2.6 мы можем наблюдать равновесие между точностью и потерями на 34-й эпохе, и точность продолжает расти по мере того, как потери продолжают уменьшаться.

На приведенном выше графике показано сравнение между потерями поезда и потерями теста. Интересно, что потери в тесте расходятся с потерями в поезде, когда эпоха равна 20.

На приведенных выше рисунках показана матрица путаницы с несколькими классами и отчет о классификации (рис. 2.8) из нашей ИНС. Мы можем наблюдать, как модель успешно классифицировала данные по нашим четырем личностным меткам — покладистости, добросовестности, невротизму и открытости. Следует отметить, что модель имеет самый низкий балл F1 по классификации добросовестности и самый высокий балл F1 по открытости. Это может быть связано с размером данных поезда каждого класса — у открытости самый большой размер данных поезда, а у добросовестности — самый низкий размер данных поезда.

Мы внедрили ИНС из-за трех основных ключевых преимуществ:

  • Может изучать и моделировать нелинейные и сложные отношения
  • Не накладывает фиксированных ограничений на входные переменные
  • Устойчивость к данным с гетероскедастичностью (данные с высокой волатильностью и непостоянной дисперсией)

Однако ИНС не является всемогущим алгоритмом. Напомним, что наша цель — предсказать личность по почерку, а данные — это изображение! К сожалению, ИНС не может принимать данные изображения как есть, а должна преобразовывать изображения в числа, что может привести к потере важной информации. Кроме того, высокая оценка точности теста может вызвать проблему переобучения в будущем. Поэтому мы решили попробовать другую популярную модель нейронной сети — Convolutional Neural Network (CNN).

Си-Эн-Эн

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

Методология CNN

Предварительная обработка данных

В качестве первого шага мы разделили данные на наборы для обучения, проверки и тестирования в соотношении 70%, 15% и 15% соответственно.

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

Построение модели

Поскольку количество доступных изображений было ограничено даже после увеличения, возникла необходимость использовать трансферное обучение, чтобы модель изучала функции более низкого уровня с некоторой предварительно обученной сетью. В качестве базовой модели использовалась Inception Resnetv2 с предварительно обученными весами, полученными из набора данных ImageNet.

За этим базовым слоем последовали следующие слои:

  • Слой Max Pooling: он помогает извлекать четкие и плавные функции.
  • Слой исключения: используется для предотвращения переобучения, которое наблюдалось изначально.
  • Пакетная нормализация использовалась для масштабирования входных данных и, таким образом, для повышения стабильности сети.
  • Наконец, в сети был полносвязный слой из 50 единиц.

Функция активации Relu использовалась для всех скрытых слоев, а активация SoftMax использовалась для выходного слоя. Adam Optimizer использовался для Gradient Descent.

Контрольные точки модели были включены для хранения лучших весов модели.

Настройка гиперпараметров

  • Эпохи: установите количество эпох на 30
  • Размер партии: пробовали размеры партии 16, 32 и 64.
  • Скорость обучения: 0,001

Следующие гиперпараметры были настроены после выполнения нескольких итераций:

Было установлено, что оптимальное количество эпох равно 30.

Размер партии оказался равным 16.

Лучшая скорость обучения составила 0,001.

Результаты CNN

  • Точность на обучающей выборке — 78,9%
  • Точность на проверочном наборе — 67,3%
  • Точность на тестовом наборе — 65,5%
  • Точность: 66,3%
  • Напомним: 62,5%

CNN Следующие шаги

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

  • Разморозьте определенные слои и попробуйте переобучить модель с нашим набором данных для этих слоев.
  • Попробуйте другие архитектуры, которые потенциально могут превзойти Inception Resnet V2 для данного набора данных.
  • Увеличьте данные для несбалансированных классов.
  • Настройте параметры, такие как оптимизатор, количество слоев и т. д.

Заключение

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

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

Рекомендации

[1] DJ Энтони. Профиль личности через анализ почерка. Публикации Ануграха, 2008 г.

[2] Карен Аменд и Мэри С. Руис. Анализ почерка Полная базовая книга. Новые страницы книг, 1980.

[3] Алессандро Винчиарелли, Юрген Луэттин. Новая техника нормализации рукописных слов. Письма о распознавании образов 22 (2001) 1043–1050 IDIAP Швейцария, 26 февраля 2001 г.

[4] Шитала Прасад, Вивек Кумар Сингх, Акшай Сапре. Анализ почерка на основе метода сегментации для прогнозирования личности человека с использованием машины опорных векторов. Международный журнал компьютерных приложений (0975 8887) Том 8 №12, октябрь 2010 г.

[5] Викрам Камат, Нихил Рамасвами, П. Навин Карант, Виджай Десаи и С. М. Кулкарни. Разработка автоматизированной системы анализа почерка. Журнал инженерных и прикладных наук ARPN, том 6, № 9, сентябрь 2011 г.

[6] Чампа Х. Н., К. Р. Ананда Кумар. Искусственная нейронная сеть для прогнозирования поведения человека с помощью анализа почерка. Международный журнал компьютерных приложений (0975–8887) Том 2- №2, май 2010 г. l