Использование свёрточной нейронной сети для распознавания элементов текста на отсканированных изображениях плохого качества
Автор: Винокуров Игорь Викторович
Журнал: Программные системы: теория и приложения @programmnye-sistemy
Рубрика: Искусственный интеллект, интеллектуальные системы, нейронные сети
Статья в выпуске: 3 (54) т.13, 2022 года.
Бесплатный доступ
В работе предложен метод распознавания содержимого отсканированных изображений плохого качества с использованием свёрточных нейронных сетей (CNN) и его программная реализация. Метод состоит из 3-х основных этапов. На первом этапе осуществляется предобработка изображения с целью выявлении контуров его буквенных и цифровых элементов и основных знаков пунктуации. На втором этапе содержимое фрагментов изображения внутри выявленных контуров последовательно подаётся на вход CNN, реализующую многоклассовую классификацию. На третьем, заключительном этапе, осуществляется постобработка совокупности ответов CNN и формирование текстового документа с результатами распознавания. Все этапы реализованы на языке Python с использованием библиотек глубокого обучения Keras, компьютерного зрения OpenCV и обработки изображений PIL. Предлагаемый в работе способ показал достаточно хорошие результаты распознавания для основных типов ухудшения качества отсканированного изображения - геометрических искажений, размытия границ, различных пометок на исходном и отсканированном изображении и т.п.
Обработка изображений, свёрточная нейронная сеть, python, keras, opencv
Короткий адрес: https://sciup.org/143179407
IDR: 143179407 | DOI: 10.25209/2079-3316-2022-13-3-29-43
Список литературы Использование свёрточной нейронной сети для распознавания элементов текста на отсканированных изображениях плохого качества
- Chauhan A. Convolutional Neural Networks for multiclass image classification— A beginners guide to understand CNN, Published in The Startup.– 2020. hUtRtpLs://medium.com/swlh/convolutional-neural-networks-for-multiclass-image-classification-a-beginners-guide-to-6dbc09fabbd
- Brownlee J. How to develop a CNN for MNIST handwritten digit classification, Machine Learning Mastery.– 2019. hUtRtpLs://machinelearningmastery.com/how-to-develop-a-convolutional-neural-network-from-scratch-for-mnist-handwritten-digit-classification/
- Mokin V. MNIST models testing: typographic digits, Kaggle.– 2021. hUtRtpLs://www.kaggle.com/datasets/vbmokin/typographic-digits-first-10-fonts
- Chan K. Y. Font recognition using CNN approach, Final Year Project (Bachelor).– Tunku Abdul Rahman University College.– 2021. UhtRtpLs://eprints.tarc.edu.my/id/eprint/19207
- Gao Y., Chen Y., Wang J., Tang M., Lu H. Reading scene text with fully convolutional sequence modeling // Neurocomputing.– 2019.– Vol. 339.– pp. 161–170. https://doi.org/10.1016/j.neucom.2019.01.094
- Chandio A. A., Leghari Mehw., Leghari Mehj., Jalbani A. H. Multi-font and multi-size printed Sindhi character recognition using Convolutional Neural Networks // Pak. J. Engg. Appl. Sci.– 2019.– Vol. 25.– pp. 36–42. hUtRtpLs://journal.uet.edu.pk/ojs_old/index.php/pjeas
- Ansari G. J., Shah J. H., Khan M. A., Sharif M., Tariq U., Akram T. A non-blind deconvolution semi pipelined approach to understand text in blurry natural images for edge intelligence // Information Processing & Management.– 2021.– Vol. 58.– No. 6.– 102675. https://doi.org/10.1016/j.ipm.2021.102675
- Zhong Zh., Jin L., Feng Z. Multi-font printed Chinese character recognition using multi-pooling convolutional neural network, 2015 13th International Conference on Document Analysis and Recognition (ICDAR) (23–26 August 2015, Tunis, Tunisia).– 2015.– pp. 96–100. https://doi.org/10.1109/ICDAR.2015.7333733
- Tensmeyer Ch., Saunders D., Martinez T. Convolutional Neural Networks for font classification, ICDAR 2017.– 2017.– 7 pp. arXivarXiv 1708.03669 [cs.CV]
- Charles J., Simard P. Y., Viola P., Rinker J. Text recognition of lowresolution document images // Eighth International Conference on Document Analysis and Recognition.– V. 2, ICDAR’05 (31 August 2005–01 September 2005, Seoul, South Korea).– 2005.– ISBN 0-7695-2420-6.– pp. 695–699. https://doi.org/10.1109/ICDAR.2005.233
- Мюллер А., Гвидо С. Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными.– М.: Вильямс.– 2017.– ISBN 978-5-9908910-8-1.– 394 с.
- Джулли А., Пал С. Библиотека Keras – инструмент глубокого обучения.– М.: ДМК Пресс.– 2017.– ISBN 978-5-97060-573-8.– 294 с.
- Datta S. Learning OpenCV 3 Application Development.– Packt Publiching.– 2016.– ISBN 978-1784391454.– 310 pp.
- Gruppetta S. Image processing with the Python Pillow Library, RealPython.– 2022. hUtRtpLs://realpython.com/image-processing-with-the-python-pillow-library/
- Dey S. Hands-On Image Processing with Python: Expert techniques for advanced image analysis and effective interpretation of image data.– Packt Publiching.– 2018.– ISBN 978-1789343731.– 492 pp.
- Ayyadevara V. K. Neural Networks with Keras Cookbook: Over 70 recipes leveraging deep learning techniques across image, text, audio, and game bots.– Packt Publiching.– 2019.– ISBN 978-1789346640.– 568 pp.
- Rosebrock A. Using Tesseract OCR with Python, PyimageSearch.– 2021. hUtRtpLs://pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/
- Маккинни У. Python и анализ данных.– М.: ДМК Пресс.– 2019.– ISBN 978-5-97060-590-5.– 540 с.