Возможность установления личности человека по рукописному почерку базируется на его своеобразии – индивидуальности почерка при письме и уникальности проявления характера человека в его способе начертания букв. Изучением особенностей почерка занимается отрасль изобразительного искусства – каллиграфия [1]. Известно, что в процессе получения и закрепления навыков письма прослеживается некая зависимость – корреляция, существующая между внутренним состоянием владельца рукописного почерка, при воздействии на него внешних факторов, и его способами написания букв. Рукописный почерк, как и биометрия, является уникальным источником информации, ресурсом, который может дать психологическую характеристику его владельца, основываясь не на субъективном мнении окружающих, а на объективных свойствах, отраженных в письме. Методы психологического исследования характера человека по его рукописному почерку применяются на протяжении многих веков, однако часто вызывали сомнения в своей научности. Тем не менее практическая психология быстро развивается и тесно связана с криминалистическим почерковедением.
Графология – это анализ качественных физических характеристик и закономерностей рукописного почерка человека с целью идентификации личности его владельца. Это учение позволяет определить психологическое состояние, в котором человек находился в процессе письма, и оценить его личностные характеристики. Несмотря на сложившееся мнение о графологии как о лженауке, быстро развивается направление судебного почерковедения. В криминалистике важное место сегодня занимает судебно–почерковедческая экспертиза, базирующаяся на исследовании почерка лица, подозреваемого в совершении преступления. С этой точки зрения, рукописный почерк – это «развёрнутая система движений», «итоговая система написания букв», основывающаяся на «письменно-двигательном функционально-динамическом комплексе сформировавшихся навыков», проявляющихся в рукописях [2].
Важным, для экспертно–криминалистического исследования, свойством рукописного почерка является его своеобразие. Индивидуальность почерка – это ценное качество для решения задачи установления личности, её распознавания и идентификации. Оно заключается в неповторимости множества признаков почерка каждого человека, что отражается в единстве анатомических, физиологических и психических свойств, поскольку в основе его формирования лежит письменно–двигательный навык, сформированный ещё в раннем детстве.
Система регулятивных процессов, сложившаяся в процессе индивидуального развития человека, позволяет ему стандартно и устойчиво выполнять определённые действия в процессе написания текста. Индивидуальность почерка человека, у которого уже сформирован письменно–двигательный навык, выражается в специфических изменениях, дополнениях или сокращениях по отношению к стандартной прописи, изучаемой в школе [3].
При формировании письменно–двигательного навыка при обучении письму основную роль играют анатомические особенности пишущего человека (строение руки, глаз, особенности зрения), его психофизиологические особенности восприятия письменных знаков, в основе которых лежит формирование слухо–рече–двигательного и зрительного представления о письменных знаках. К объективным обстоятельствам также относится поза (посадка) человека во время письма и методика его обучения письму в детстве. В итоге, к 16–17 годам жизни, у каждого человека формируется своеобразный, индивидуальный и неповторимый рукописный почерк. Подобно языку тела, это проекция внутреннего мира человека на мир внешний [4].
Проанализировав рукописные почерки печально известных маньяков, серийных убийц и террористов, как зарубежных, так и отечественных, в том числе «школьных стрелков», эксперты-графологи однозначно определили основные признаки почерка преступников [5]: это ярко выраженные, неровные росчерки или слишком аккуратно выведенные, почти печатные буквы; очень сильный и неравномерный нажим пера; особые угловые завитки – нижние штрихи букв тщательно выведены и значительно больше самих букв; особое расстояние между буквами, при котором наблюдается сильное сжатие букв, или, наоборот, большое расстояние между ними – расстояние между словами почти не отличается от расстояния между буквами; особое размещение текста на листе – на полях или в углу страницы; ломаные буквы – не дописанные до конца, или настолько сильно пересекающиеся, что одна буква становится частью следующей [6]. Эти особенности очень расплывчаты и характерны не только для преступников с расстройствами психики, но и для нормальных людей. Ведь даже условия написания текста могут стать причиной неравномерного нажима пера (шариковой авторучки, карандаша и др.). Однако комплексный анализ отдельного рукописного почерка, с применением уже известной информации, позволяет составить общее представление о личности человека, с которым эксперты имеют дело в конкретном случае [7].
Существует соответствующее специальное компьютерное программное обеспечение, в том числе веб-сайты, где все желающие пользователи, с помощью разработанных новых методик, могут изучить психологический тип и свойства нервной системы людей по почерку. Тем не менее до сих пор методы составления психологического портрета человека остаются закрытыми, не автоматизированными и субъективными, хотя рукописный почерк позволяет охарактеризовать его владельца, основываясь не на личном мнении эксперта (часто весьма спорном), а на объективных свойствах личности, отраженных в написанном тексте.
Однако ни одна из известных компьютерных программ графологического анализа не работает с рукописным почерком напрямую. Такие информационные системы получают данные о каллиграфии человека, оцениваемые пользователями, что влечёт за собой субъективную оценку из-за их недостаточной подготовки в вопросах анализа рукописного текста [8]. Обычный пользователь, и даже эксперт–графолог, не всегда может правильно оценить уровень того или иного свойства. Если определить наклон почерка, типы которого точно определены, не представляет трудностей, то с таким свойством, как округлость (выпуклость) букв, для определения которого нужно вычислить множество дугообразных и угловатых элементов, а также рассчитать их долевые пропорции и процентное соотношение, возникает неоднозначность.
Даже профессиональные судебные эксперты–графологи порой могут не согласиться в оценке какой–нибудь спорной особенности каллиграфии, которая вызывает длительные дискуссии.
Однако на сегодняшний день, в век компьютерных технологий, для анализа почерка уже появилась возможность применять современные информационные технологии, в том числе методы искусственного интеллекта, и в частности нейросетевые технологии. Так, можно просканировать экземпляры рукописного почерка, а затем применить к ним обученную нейронную сеть [9]. Методы цифровой обработки изображений сегодня используются повсеместно, а просканированные экземпляры рукописного почерка людей можно хранить в специализированных базах данных. Всё это даёт возможность систематизировать собранные экземпляры рукописного почерка и привести их к виду, удобному для графологического анализа.
Машинное обучение представляет собой одну из быстро развивающихся областей искусственного интеллекта, позволяющих решать задачи, ранее не поддающиеся решению. Это задачи классификации и анализа графических данных, распознавание изображений (в том числе рукописного почерка, определяющего психологические характеристики личности, включая деструктивные черты характера человека, прогнозирование его, возможно опасного, поведения, что важно для профилактики преступлений) и другие задачи нечёткой логики [10].
Итак, для выявления индивидуальной психологической вариативности поведения человека по его рукописному почерку необходимо проводить его графологический анализ [11].
Целью исследования является разработка программного средства, способного установить черты характера человека по его рукописному почерку и определить степень деструктивности его личных наклонностей. Объект исследования авторов – нейросетевые технологии распознавания изображений, предмет – методы и алгоритмы искусственного интеллекта, предназначенные для установления черт характера человека по почерку и для определения степени деструктивности его наклонностей. Для достижения цели авторами исследованы современные графологические модули и системы, находящиеся в открытом доступе в сети Интернет [12–14]; сформулированы требования к разработке своего нового оригинального модуля, разработан новый алгоритм распознавания почерка, создано новое программное обеспечение, реализующее этот алгоритм.
Проведено алгоритмическое конструирование и анализ структуры разрабатываемого программного средства. Показан выбор средств и механизмов распознавания изображений рукописного почерка человека, среди которых: кроссплатформенное приложение PyCharm; язык программирования Python 3 (в среде IDLE); библиотеки Python, предназначенные для взаимодействия с массивами NumPy; модуль для математических вычислений в Python – Math; библиотека с исходным кодом для обработки и классификации изображений OpenCV и др.
Материалы и методы исследования
Материалы и методы исследования связаны с интеллектуальными нейросетевыми технологиями распознавания черт характера человека по его рукописному почерку. Общий алгоритм работы разработанного программного средства представлен на рис. 1.
Рис. 1. Алгоритм работы программного средства
Рис. 2. Графологическое соотношение, демонстрирующее устойчивую связь между рукописным почерком и индивидуальными особенностями личности
Работа программного приложения заключается в следующем: сначала нужно загрузить просканированную фотографию оригинала рукописного текста, написанного неизвестным человеком. Далее следует провести разметку полученного изображения, для чего потребуется использовать функции вычисления горизонтальной и вертикальной проекций соответственно. Эти две функции выполняют подсчёт пикселов в строках по горизонтали и в столбцах по вертикали, затем возвращают список, содержащий сумму пикселов в строках и столбцах. После создания разметки рукописного текста нужно определить различные индивидуальные признаки начертания букв. Это функции определения: базового угла; верхнего поля; размера букв при письме; межстрочного интервала; интервала между словами; давления пера при нажиме; угла наклона текста, соблюдения полей, начертания угловых завитков букв и др.
Эти признаки, вместе взятые, формируют индивидуальное психоаналитическое соотношение между рукописным почерком его автора и особенностями психики его личности, что выражается в стиле его письма, отражающем его деструктивные наклонности (рис. 2).
В процессе работы функций определения характеристик рукописного почерка также используются функции обработки изображения. Например, часто применяются функции двусторонней фильтрации, медианной фильтрации (для удаления шумов), изменения цветового пространства, поиска контуров и их выравнивания по горизонтали и вертикали и т.д. [15–17].
После определения индивидуальных признаков рукописного почерка автора полученные значения приводятся к дискретным величинам и сохраняются. Их запись используется для дальнейшего обучения нейронной сети. Затем, используя результаты вычислений, применяют метод прогнозирования черт характера автора рукописного текста. Далее, на основе перечисленных выше значений, выполняется графологический анализ личности автора.
Результаты исследования и их обсуждение
При создании программного средства были подобраны наборы данных (датасеты), содержащие изображения различных способов рукописного написания русских и латинских букв, и результаты психологического анализа, формирующие графологические соотношения (рис. 2). Полученные зависимости показывают устойчивую связь между рукописным почерком человека и его индивидуальными особенностями.
Используя файл с исходными данными для обучения нейронной сети, формируют список значений, пригодных для обучения нейронной сети. Для начала, используя метод isfile(), выполняют проверку того, является ли указанный путь существующим.
Далее извлекаются все функции, путём вызова extract, и сохраняются значения необработанных функций raw_feature_list. Эти действия показаны на рис. 3.
Рис. 3. Запись необработанных значений
Рис. 4. Инициализация необходимых полей
Далее необходимо сформировать список дискретных значений для дальнейшего обучения классификатора. Эти значения открываются в файле raw_feature_list с использованием метода split(), нумеруются в строке и затем для каждой строки присваивается определенная функция характеристики рукописного почерка. Функции определены в файле categorize. После использования функций дискретные значения и комментарии записываются в список feature_list. Программный код, соответствующий этим действиям, представлен на рис. 4.
Для вычисления дискретных значений были использованы функции, описанные в файле categorize, программный код которых представлен на рис. 5. Важным файлом является extract, содержащий функции для обработки изображения с помощью библиотеки OpenCV [18].
Функция двусторонней фильтрации (рис. 6) использует метод bilateralFilter(). Этот метод очень эффективен для удаления шума, а также сохраняет острые края изображения [19]. Гауссовский метод работает значительно хуже, так как он не учитывает одинаковую интенсивность пикселов, а также то, является ли пиксел граничным в изображении [20].
Функция инвертирования двоичного порога (рис. 7) используется для изменения цветового пространства, а конкретно – для преобразования изображения в оттенки серого. Также используется метод threshold для установки порогового значения пикселов [21].
Следующая функция эрозии объектов на изображении предназначена для размывания объектов переднего плана. Обычно она выполняется на бинарных изображениях. На вход этой функции подается 2 параметра: первым является исходное изображение, вторым – структурный элемент или ядро, которое и определяет характер операции эрозии изображения (рис. 8).
Функции разметки изображения (рис. 9) используются для подсчёта суммы пикселов на изображении. При дальнейшем использовании этих значений нужно воспользоваться функциями горизонтальной и вертикальной проекции.
Рис. 5. Часть функций Categorize
Рис. 6. Двусторонняя фильтрация
Рис. 7. Инвертирование двоичного порога
Рис. 8. Использование функции эрозии изображения
Рис. 9. Горизонтальная и вертикальная проекции
Функция горизонтальной проекции подсчитывает сумму пикселов в каждой строке и возвращает список–массив. Функция вертикальной проекции тоже подсчитывает сумму пикселов, но в столбцах, и также возвращает список – массив.
Функция извлечения давления пера (рис. 10) используется для преобразования цветового пространства в оттенки серого, затем – для инвертирования изображения, пиксел за пикселом. Далее происходит применение функции двусторонней фильтрации и использование двоичного порога до нуля. Нужно сложить все нулевые значения пикселов в изображении и разделить их на общее количество, чтобы найти среднее значение пикселов во всем изображении. Затем, основываясь на концентрации темных пикселов, можно сделать вывод о среднем давлении пера.
Рис. 10. Функция извлечения давления пера
Рис. 11. Рукописный текст и результаты графологического анализа программным средством ML_Graphology характеристик личности российской императрицы Елизаветы Петровны
Далее необходимо запустить файл train_predict, который с помощью библиотеки Skicit Learn обучает классификаторы SVM распознаванию черт характера по рукописному почерку.
Для выполнения операции прогнозирования черт характера человека потребуется загрузить исследуемое изображение его рукописного почерка, для чего нужно ввести имя файла, хранящего оригинал изображения. После загрузки изображения программное средство, с помощью описанных выше функций, сможет обработать, а затем и спрогнозировать, исходя из обучения нейронной сети, какие черты характера присущи автору рукописного текста.
Для первого примера загрузим фотографию с изображением рукописного почерка. Это образец рукописного почерка российской императрицы Елизаветы Петровны, найденный в её личной переписке [22], и результат графологического анализа её личности (рис. 11).
Текст, написанный императрицей, с грамматикой, принятой в XVIII веке: «Я остаюся до смерти верная вам Елисаветь» выражает её характер. Скачущие, кривые, объёмистые, и вместе с тем тонкие, изящные, изысканные буквы её автографа показывают великодушие и противоречивость её личности, а также глубину её души. Капризность, властность, высокомерие, но в то же время благородство, доброта и весёлый нрав императрицы выражают и определяют все буквы всей её записки, от заглавной – и до последней буквы её подписи.
Для второго примера просканируем и загрузим в соответствующую папку, для обработки, фотографию с изображением простого текста, написанного рукописным почерком (рис. 12).
Рис. 12. Пример изображения рукописного почерка
После загрузки фотографии с образцом рукописного почерка программа выдает результат графологического анализа, показанный на рис. 13. В результате работы программы очевидно, что характеристики почерка, показанного на фотографии, демонстрируют присущие человеку – владельцу почерка, следующие черты характера: наличие умственной энергии и силы воли; скромность; не слишком большая дисциплинированность (недостаток самодисциплины); низкая общительность и некоммуникабельность; нелюбовь к шумным собраниям, склонность к созерцательности и одиночеству и, вследствие этого, некоторая социальная изоляция.
Судя по рукописному почерку, в тексте из одного слова, его автору не присущи такие черты характера, как эмоциональная устойчивость (нулевой показатель), личная гармония и гибкость (нулевой показатель); зато очевидны невнимательность и недостаток дисциплины (показатель равен единице), проблемы с концентрацией (нулевой показатель) на каком–то одном деле, некоммуникабельность и социальная изоляция (показатель равен единице). Этот почерк принадлежит студенту ДГТУ, не сделавшему в своей жизни ничего плохого, но не обладающему особым стремлением к учёбе и не проявляющему желания заниматься наукой.
Для третьего примера загрузим фотографию с образцом рукописного почерка Бобби Джо Лонга, маньяка и серийного убийцы (США) [23], изображённую на рис. 14.
Рис. 13. Результат работы программы ML_Graphology с рукописным почерком студента ДГТУ
Рис. 14. Пример изображения рукописного почерка серийного убийцы
Его рукописный почерк выдаёт постоянную нервозность, буквы тесно прижаты друг к другу, написаны с большим нажимом. Преобладание угловатых буквенных форм говорит о его неумении выражать свои эмоции адекватно (если эмоции человека нормальны, то в его почерке округлые и остроконечные буквенные формы должны быть сбалансированы). Излишне длинные горизонтальные штрихи в буквах «t» в сочетании с резкостью форм начертания символов свидетельствуют о желании доминировать над жертвами, мучить их и подчинять своей воле.
Рукописный почерк этого текста свидетельствует, что его автор – неврастеник, крайне неустойчивый эмоционально (нулевой показатель); желает славы и доминирования, даже в извращённой форме; обладает внутренней энергией и силой воли (показатель равен единице); скромностью не обладает (нулевой показатель); озлоблен на весь мир (нулевой показатель личной гармонии и приспосабливаемости к внешним условиям); не склонен к самодисциплине (нулевой показатель), зато обладает хорошей концентрацией на задуманном преступлении (показатель равен единице), некоммуникабелен и находится в социальной изоляции (показатели равны единице). Это свидетельствует о том, что автор текста испытывает удовольствие, издеваясь над жертвами. После загрузки фотографии с образцом рукописного почерка этого персонажа программа выдает результат графологического анализа, показанный на рис. 15.
Рукописный почерк любого человека состоит из сотен переменных [24], составляющих характеристики психологического состояния каждой личности в определённый период времени.
Рис. 15. Результат работы программы ML_Graphology с рукописным почерком маньяка
Если и существует реальная возможность выявления потенциальных серийных убийц, террористов или «школьных стрелков» по их рукописному почерку, отражающему их душевное состояние, то в целях превентивной профилактики преступлений ею стоит воспользоваться.
Заключение
Таким образом, поставленная авторами цель исследования была достигнута. Разработано оригинальное импортозамещающее программное средство ML_Graphology, предназначенное для распознавания черт характера человека, в том числе и деструктивных наклонностей личности, по рукописному почерку, на основе обучения нейронной сети. Программное средство написано на языке программирования Python версии 3 в интегрированной среде разработчика IDLE, с применением дополнительных модулей и библиотек языка Python. Компьютерная программа обеспечивает такие почерковедческие функции, как определение базового угла написания букв; верхнего поля текста; размера письма; межстрочного и межсимвольного интервалов; давления пера, угла наклона текста и др. [25]. Она способна обеспечить графологический анализ рукописного почерка человека с применением нейросетевых технологий, а также выполнять, на начальном этапе, распознавание черт его характера, в том числе деструктивных, на которые стоит особо обратить внимание окружающих.
Так как авторами установлено, что на данный момент на российском рынке программного обеспечения не представлено ни одного аналога подобного программного средства, то разработка программы ML_Graphology приобретает особую значимость в плане импортозамещения. В настоящее время оформляется «Свидетельство о государственной регистрации программы для ЭВМ».
Демонстрация работоспособности программного средства уже сейчас позволяет сделать вывод о возможности его применения во многих сферах, и в том числе в криминалистике, в процессе судебно-почерковедческой экспертизы. Исследования группы авторов будут продолжены с привлечением специалистов в области прикладной психологии личности и судебного почерковедения, что поможет значительно улучшить программу ML_Graphology и в перспективе довести её до профессионального уровня и коммерческой реализации.