Разработка и эксплуатация АИС распознования капчи по заданному изображению
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
Машинное обучение стало полезным инструментом решения целого класса задач, для которых трудно найти прямое решение . С машинным обучением часть работы программиста заменяется алгоритмами обучения, которые самостоятельно настраиваются по входным данным. Поскольку вычислительные мощности современных компьютеров продолжают увеличиваться, машинное обучение становится все более практичным и популярным методом на протяжении многих лет, вплоть до его почти повсеместного распространения . Этим обусловлена актуальность данной работы. Вот только некоторые примеры задач, которые лучше всего решаются методами машинного обучения: Распознавание шаблонов – объектов реального мира, лиц, речи и т.д. Распознавание аномалий – необычных последовательностей транзакций по кредитным картам, показаний датчиков на атомной электростанции и т.д. Предсказание – будущих цен на акции, курсов валют, или того, какие товары понравятся покупателю. Нейронные сети представляют собой отдельный класс моделей машинного обучения. С вычислительной точки зрения нейронная сеть – это метод представления функций, использующих сети простых арифметических вычислительных элементов, а также методы их обучения. С биологической точки зрения это математическая модель человеческого мозга: простым арифметическим вычислительным элементам соответствуют нейроны – ячейки, которые выполняют обработку информации в мозге, а сеть в целом соответствует набору взаимосвязанных нейронов. По этой причине такие сети называются нейронными. Сегодняшние исследования нейронных сетей ориентируются на развитие вычислительной техники и математики, а не на биологию . Современные нейронные сети (зачастую называемые глубокими) доказали свою эффективность в задачах машинного обучения . Цель данной работы – рассмотреть основополагающие понятия машинного обучения, машинного и компьютерного зрения, изучить организацию и принцип работы нейронных сетей, получить общее представление о программах распознавания текста на изображениях, узнать об особенностях различных библиотек для распознавания текста. Результатом должна стать разработка системы распознавания капчи по заданному изображению. Таким образом, в работе могут быть выделены следующие задачи: Получить основные теоретические сведения о машинном обучении, компьютерном зрении и нейронных сетях, предназначенных для распознавания объектов на изображениях, изучить методы и библиотеки распознавания символов текста; Изучить основные понятия обработки изображений; Приобрести навыки разработки простейших программ для распознавания текста на изображениях с помощью библиотек языка Python; Ознакомиться с основными понятиями в области распознавания текста; Выполнить программную реализацию системы распознавания символов текста с использованием выбранных для этой задачи средств.
Оптическое распознавание символов
Оптическое распознавание символов (англ. Optical Character Recognition – OCR) – одна из фундаментальных проблем в области распознавания образов, состоящая в поиске и идентификации рукописного, машинного или печатного текста на изображениях и последую...
Открыть главуИскусственные нейронные сети
Нейронные сети, активно используемые в настоящее время, вдохновлены биологическими нейронными сетями. Они состоят из единиц, называемых нейронами, и взаимосвязей между ними. После специального обучения на некотором данном наборе данных нейронные сети...
Открыть главуОбратное распространение ошибки
Алгоритм решения любой задачи с использованием нейронных сетей делится на три этапа – настройка параметров сети, обучение и распознавание (предсказание результатов). Блок-схема алгоритма приводится на рисунке 6. Если в необученную нейронную сеть ввес...
Обзор методов и технологий нейронных сетей
Текущий обзор библиотек не будет охватывать многочисленные коммерческие программы, предпочитая им доступные решения с открытым исходным кодом. Двумя наиболее популярными свободными OCR-приложениями являются OCRopus и Tesseract, которые рассматриваютс...
Открыть главуРазработка программного средства
На практике библиотеки оптического распознавания могут быть использованы для распознавания капч (англ. CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart – полностью автоматизированный публичный тест Тьюринга для разл...
Открыть главуЗаключение
В ходе выполнения курсовой работы были подробно изучены теоретические основы машинного обучения, машинного и компьютерного зрения, усвоены организация и принцип работы нейронных сетей, которые добились больших успехов при распознавании объектов на изображениях, в особенности символов текста. Также в работе были рассмотрены библиотеки машинного зрения для оптического распознавания текста. OCR-библиотеки, основанные на Tesseract и OCRopus, как правило, являются кроссплатформенными, активно поддерживаются и свободно распространяются, то есть не требуют лицензирования для использования в собственных проектах. Существенным недостатком является невозможность корректного распознавания всех символов изображения при наличии шумов. Кроме того, обрабатываемые изображения должны иметь как можно более высокое разрешение. Несмотря на то, что OCR не является новой технологией, оно по-прежнему может использоваться для решения некоторых прикладных задач. Более совершенные системы, модели которых построены на основе сверточных и рекуррентных нейронных сетей, до сих пор не позволяют получить идеальную точность распознавания. Итогом курсовой работы стала реализация программы, распознающей буквенно-цифровые символы на изображении при помощи OCR-библиотеки Pytesseract, на языке программирования Python. Таким образом, выполнены все поставленные задачи, и цель курсовой работы достигнута в полном объеме.
Список литературы
Осовский С. Нейронные сети для обработки информации // С. Осовский. Пер. с польского И.Д. Рудинского. — М.: Финансы и статистика, 2002. — 344 с Хайкин С. Нейронные сети: полный курс // С. Хайкин. 2-е издание, Издательский дом Вильямс, 2008 – 104 с Bengio Y. Deep learning of representations for unsupervised and transfer learning, ICML Unsupervised and Transfer Learning 27 (2012), 17–36. Goodfellow I., Bengio Y., Courville A. Deep Learning, MIT Press, 2016 Sebe N. Machine learning in computer vision, vol. 29. Springer Science & Business Media, 2005 Szeliski R. Computer vision: algorithms and applications. Springer Science & Business Media, 2010 Cireasan D., Meier U., Schmidhuber J. Multi-column deep neural networks for image classification. arXiv preprint arXiv:1202.2745. 2012 Feb 13 Cruz R., Cavalcanti G., Ren T. Handwritten digit recognition using multiple feature extraction techniques and classifier ensemble. In17th International Conference on Systems, Signals and Image Processing 2010 Jun (pp. 215-218) Hamamoto Y, Uchimura S., Watanabe M., Yasuda T., Tomita S. Recognition of handwritten numerals using Gabor features. InPattern Recognition, 1996., Proceedings of the 13th International Conference on 1996 Aug 25 (Vol. 3, pp. 250-253). IEEE LeCun Y., Bottou L., Bengio Y., Haffner P. Gradient-based learning applied to document recognition. Proceedings of the IEEE. 1998 Nov;86(11):2278-324. Majik S., Malik J. Fast and accurate digit classification. EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2009-159. 2009 Nov 25. Poultney C., Chopra S., Cun Y. Efficient learning of sparse representations with an energy-based model. In Advances in neural information processing systems 2007 (pp. 1137-1144) Karpathy A. et al. Convolutional Neural Networks for Visual Recognition [Электронный ресурс] / Режим доступа: http://www.cs231n.stanford.edu (Дата обращения: 01.03.2020) Nielsen M. A. Neural Networks and Deep Learning [Электронный ресурс] / Режим доступа: http://www.neuralnetworksanddeeplearning.com (Дата обращения: 02.03.2020) Davies E.R. Computer and Machine Vision: Theory, Algorithms, Practicalities (4th ed.) / Academic Press. pp. 410–411. ISBN 9780123869081 Kay A. Tesseract: Open-Source Optical Character Recognition Engine [Электронный ресурс] / Режим доступа: http://www.linuxjournal.com/article/9676 (дата обращения: 02.03.2020) Schantz H. F. The history of OCR, optical character recognition / Manchester Center, Vt.: Recognition Technologies Users Association. ISBN 9780943072012 How to Digitize Texts with Open-Source Command-Line Optical Character Recognition (OCR) Software [Электронный ресурс] / Режим доступа: https://hdw.artsci.wustl.edu/articles/154 (дата обращения: 02.03.2020) OCRopy: Python-based tools for document analysis and OCR [Электронный ресурс] / Режим доступа: https://github.com/tmbdev/ocropy (дата обращения: 03.03.2020)