Разработка распределенной web-ориентированной подсистемы распознавания и валидации документов
ВВЕДЕНИЕ
В современном мире в практически каждой организации существуют отделы, занимающиеся делопроизводством и архивным делом. Основными задачами сотрудников данных отделов являются проверка и анализ документов, а также управление документами в рамках корпоративных ИС. Эти задачи являются время затратными и требуют постоянной концентрации от людей. Существующие решения в области цифровизации и автоматизации делопроизводства и архивного дела имеют весьма ограниченный функционал в рамках работы со скан-копиями документов, особенно в случаях, когда скан документа является цифровым изображением, что увеличивает нагрузку на сотрудников.
Решением данной проблемы может выступить разрабатываемое приложение, специализирующееся на обработке цифровых изображений. Разрабатываемое приложение позволяет частично автоматизировать перевод цифровых изображений документов в текстовый формат, а также производить автоматический поиск оттисков печатей и штампов в цифровом изображении документа.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 11
1 ОБЗОР РЕШЕНИЙ В ОБЛАСТИ ОПТИЧЕСКОГО РАСПОЗНАВАНИЯ СИМВОЛОВ 13
1.1 Понятие оптического распознавания символов 13
1.2 Обзор систем оптического распознавания символов 13
1.3 Обзор коммерческих решений в области сервисов, предоставляющих функционал по оптическому распознаванию символов 16
Выводы 17
2 ОБЗОР МЕТОДОВ ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЯ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА ОПТИЧЕСКОГО РАСПОЗНАВАНИ СИМВОЛОВ 18
2.1 Методы бинаризации 18
2.2 Методы фильтрации шумов 22
2.3 Методы определения угла наклона текста 24
Выводы 28
3 АЛГОРИТМ ПОИСКА КЛИШЕ ПЕЧАТИ В ИЗОБРАЖЕНИИ 30
Выводы 33
4 ОПРЕДЕЛЕНИЕ СТЕКА ТЕХНОЛОГИЙ ДЛЯ РАЗРАБОТКИ ПОДСИСТЕМЫ 34
4.1 Выбор языка программирования 34
4.2 Выбор фреймворка клиентской части 37
4.3 Выбор базы данных 38
4.4 Выбор библиотек для реализации бизнес-логики 40
Выводы 42
5 РАЗРАБОТКА СЕРВЕРНОЙ ЧАСТИ ПОДСИСТЕМЫ 43
5.1 Разработка программного интерфейса для работы с пользователями и базой данных 43
5.2 Разработка программного интерфейса для работы с файлами и соответствующей бизнес-логики 46
Выводы 51
6 РАЗРАБОТКА КЛИЕНТСОКЙ ЧАСТИ ПОДСИСТЕМЫ 52
Выводы 56
7 ОБЕСПЕЧЕНИЕ КАЧЕСТВА РАЗРАБОТКИ, ПРОДУКЦИИ, ПРОГРАММНОГО КОДА 57
7.1 Лица-потребители разработки 57
7.2 Методы выявления потребности потребителей 57
7.3 Требования потребителя к разработке 57
7.4 Операциональные определения качества 58
Выводы 64
ЗАКЛЮЧЕНИЕ 65
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 66
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. PostgreSql [Электронный ресурс]. URL: https://www.postgresql.org/docs/ (дата обращения: 01.05.2022)
2. Tesseract.js [Электронный ресурс]. URL: https://tesseract.projectnaptha.com/ (дата обращения: 01.05.2022)
3. OpenCV [Электронный ресурс]. URL: https://opencv.org/ (дата обращения: 01.05.2022)
4. DevDocs [Электронный ресурс]. URL: https://devdocs.io/ (дата обращения: 01.05.2022)
5. Angular [Электронный ресурс]. URL: https://angular.io/ (дата обращения: 06.05.2022)
6. REST [Электронный ресурс]. URL: https://wikipedia.org/wiki/REST (дата обращения 01.05.2022)
7. npmjs [Электронный ресурс]. URL: https://www.npmjs.com/ (дата обращения 01.05.2022)
8. Comparison of optical character recognition software [Электронный ресурс]. URL: https://wikipedia.org/wiki/Comparison_of_optical_character_recognition_software (дата обращения 01.05.2022)
Система оптического распознавания символов, разрабатывавшаяся как для использование в бэкенде, так и как отдельное приложение с интерфейсом, напоминающим командную строку. Стоит отметить, что несмотря на заявленную командой разработчиков поддержку более 20 языков, качество распознавания не латинского алфавита оставляло желать лучшего. Также система была очень чувствительна к искажениям входного изображения и шрифтам. Более того возможности распознавания текста данной системой были также ограничены размерами шрифтов в исходном изображении.