Россия
Астрахань, Астраханская область, Россия
Рассматривается вопрос применения искусственных нейронных сетей для распознавания условно-графических обозначений электротехники, в частности, исследуются сверточные нейронные сети и наиболее подходящая для решения поставленной задачи модель распознавания объектов R-CNN. Распознавание образов конкретного изображения является задачей, которая ставится перед сложными системами обработки информации, а также системами управления и принятия решений. Классификация различных технологических, природных объектов, аналоговых и цифровых сигналов формируется повсеместно набором присущих только им признаков и свойств. Определение вида и признаков объекта находит свое применение в различных отраслях науки: машинном обучении, диагностике, метеорологии, системах видеонаблюдения и обеспечения безопасности, в системах виртуальной реальности и поиска по изображению. Однако для решения прикладных задач и достижения необходимых показателей (например, в области распознавания условно-графических обозначений электротехники) исследования не проводились. Отмечается, что среди всех математических моделей и методов распознавания образов наиболее качественными и перспективными являются нейронные сети. Что касается вопроса интерактивности, выходным результатом работы распознавания по изображению является необходимый и достаточный ответ, который не имеет устойчивой работы по классификации объектов в пределах категорий и их инвариантным преобразованиям. Подробно изучена схема работы модели R-CNN, а также обоснованы важность обучающей выборки и ее влияние на качество распознавания образов нейронной сетью. В общем виде показано применение способа «RoI Pooling» для распознавания объектов на изображении, за счет которого выделяется несколько областей интереса, указанных через ограничивающие рамки.
нейронная сеть, распознавание, условно-графические электрические обозначения, классификатор, обучающая выборка
Введение Актуальной задачей современной науки и технологий следует считать использование искусственных нейронных сетей с целью определения, распознавания и последующей классификации различных объектов, присутствующих на конкретном изображении. Указанную задачу следует считать актуальной, поскольку во многих технических науках важно максимально качественно распознать и определить сущность объектов, которые имеются на изображении. Благодаря решению этой задачи можно достичь существенного улучшения работы нейронных сетей в направлении разделения изображения на несколько логических сегментов для того, чтобы добиться последующего значительного интерактивного взаимодействия с распознанными элементами. В настоящее время предложены различные технологии для обработки изображений и последующей их классификации на заранее определенные подтипы. В число таких методов входят: – способность нейронной сети к выделению краев; – создание моделей констелляционного типа; – разделение изображения на цветовые сегменты; – искусственные нейронные сети; – сравнение с эталонным изображением; – снижение размерности; – генерация признаков объекта. Задача, которая заключается в распознавании образов конкретного изображения, зачастую ставится перед системами обработки информации, а также системами управления и принятия решений. Классификация природных явлений, аналоговых и цифровых сигналов, технологических и иных объектов, которые определяются набором присущих только им признаков и свойств, находит применение в различных отраслях науки: робототехнике, диагностике, метеорологии, системах видеонаблюдения и обеспечения безопасности, в системах виртуальной реальности и поиска по изображению. Однако для решения прикладных задач и достижения необходимых показателей, к приме-ру, в области распознавания условно-графических обозначений электротехники, исследования еще не проводились. Необходимость распознавания условно-графических обозначений электротехники про-диктована современными технологическими трендами. Накопленный за многие десятилетия запас электрических схем в бумажном виде, которые проектировщики делали вручную, требует оцифровки, особенно на производственных предприятиях, построенных более 30 лет назад. Сегодня оцифровка производится вручную, что крайне долго и трудозатратно, поскольку приходится заново создавать чертеж в профильном программном обеспечении. Опираясь на практические данные, можно говорить о том, что среди всех математических моделей и методов распознавания образов наиболее качественными и перспективными являются нейронные сети. Что касается интерактивности, то выходным результатом работы распознавания по изображению является необходимый и достаточный ответ, который не имеет устойчивой работы по классификации объектов в пределах категорий и их инвариантным преобразованиям. Исходя из вышесказанного, на данном этапе развития нейронных сетей по распознаванию односложных и многопараметрических объектов актуальной задачей остается классификация объектов на изображении под действием преобразований, при которых принадлежность объекта к определенному классу остается неизменной. Искусственные нейронные сети – это системы, которые создаются с целью обработки информации, и если проводить сравнение с обычными системами, то главным отличием выступает параллельный характер передаваемых данных, а также осуществление процесса саморегуляции для достижения поставленной цели. Формальная постановка задачи распознавания образов Вопросам реализации программных комплексов по распознаванию образов посвящено большое количество работ разных авторов: С. Хайкина, C. B. Аксенова, Т. Визеля, Д. Хьюбела. В работе [1] Е. А. Самойлиным для решения задач прикладного характера по обработке изображений предложена процедура первичной параметрической оптимизации активационных функций заданной нейронной сети. Научно доказано, что у оптимизированной сети выше вероятность сходимости и скорость обучения, если предварительно присутствовал обучающий процесс нейронной сети обучающей выборкой. В результате нейронная сеть быстрее находит объекты, расположенные на отдельно взятом изображении. При этом такая сеть работает значительно эффективнее в сравнении с неоптимизированной сетью. Метод по созданию структуры для сети нейронного типа с последующим прямым распространением на одном скрытом слое в [2] предложила Е. А. Чернецова. Этот метод позволяет произвести классификацию монохромных изображений. Входными параметрами для такой нейронной сети являются ранее выделенные параметры сегментов изображения. В качестве выходного параметра выступает принадлежность объекта, присутствующего на изображении, к определенному классу. Реализация нейронных сетей в формате нечеткого типа, которая является задачей [3], дает исследователям запас знаний для разработки методов по распознаванию принципиальных условно-графических электрических обозначений для их последующей логической векторизации. Искусственная нейронная сеть и ее архитектура Искусственные нейроны – аналогичные человеческому мозгу клетки элементарного типа, которые являются основой для создания узлов нейронных сетей. Условно говоря, искусственный нейрон – это упрощенная математическая модель естественного нейрона головного мозга, имеющая схожие выполняемые преобразования, а не способы функционирования. У искусственного нейрона есть характерные синапсы для входных связей однонаправленного типа, которые имеют связь с выходами иных нейронов. Также у искусственных нейронов присутствует аксон для входной связи данного нейрона, служащий передачей сигнала на синапсы рядом расположенных нейронов (рис. 1) [4–6]. Рис. 1. Обобщенная структура искусственного нейрона: x1, xi , xn – входные сигналы; ω1, ωi , ωn – синаптические веса; b – смещение (порог); Ʃ – сумматор; s – результирующий входной сигнал; ƒ – функция активации; y – выход Однонаправленные входные связи, так называемые синапсы, служат для передачи сигналов от одних нейронов на входы других нейронов, имеют собственное значение связи и свой вес wi. С позиции математики состояние нейрона выступает как взвешенный сумматор, или сумма его входов: , где xi – выход i-го нейрона; wi – вес i-го нейрона, т. е. сигналы на входах нейрона и веса входов. В качестве выходной характеристики нейрона выступает функция его состояния – переда-точная функция y = φ(u); ее также принято называть функцией активации. Функция активации нейрона φ(u) отвечает за нелинейное преобразование, которое осуществляет нейрон. Преимущества нейронных сетей: – сеть строится на нелинейной основе; – нейронные сети могут менять структуру, когда нужно приспособиться к новой среде или при изменении предметной области; – даже при наличии повреждений у связей система все равно продолжает эффективно работать; – общий характер проектирования. Когда ставятся задачи, характерные для той или иной предметной области, их решение носит универсальный характер. В составе нейронной сети находится большое количество «элементарных процессоров». При распознавании объектов на изображении используют два типа нейронных сетей: 1. Стандартные сети прямого распространения. 2. Сверточные нейронные сети. Архитектура сетей прямого распространения имеет свои недостатки, в частности, если при наличии рядом с исследуемым объектом находятся другие объекты, не подлежащие анализу, перегрузка сети не позволит произвести качественное распознавание [7]. Сверточные нейронные сети производят частичную обработку изображения. При этом размер изображения становится меньше, но его качество не страдает, а лишь выделяются характерные и наиболее важные признаки. При работе сеть формирует карту признаков, которая имеет отличия от исходного изображения. Карты признаков помогают определять конкретные при-знаки объекта и отсеивать различные варианты (рис. 2). Рис. 2. Структура сверточной нейронной сети с тремя скрытыми слоями Благодаря чередованию различных слоев имеется возможность создания карт признаков на основе карт более ранних слоев, что приведет к распознаванию более сложных порядков признаков. Обучающая выборка для распознавания принципиальных условно-графических электрических обозначений Чтобы произвести распознавание образа, необходим процесс обучения для нейронной сети на основании набора примеров – обучающей выборки [8]. В теории нейронных сетей обучающей выборкой принято называть определенный набор предметов прецедентного свойства, которые можно выделить из общего ряда на основании набора особых признаков. Прецедентами можно считать любые явления, события, объекты. Данные подбираются по каждому примеру (табл.), так проще описать любой прецедент. Образец обучающей выборки Элемент Входное значение № 1 Входное значение № 2 Входное значение № 3 Входное значение № 4 Входное значение № 5 Выходное значение Амперметр Ammeter Ключ Key Лампа Lamp Переменный ток Alternating current Электромагнит Electromagnet На вход нейронной сети подается значение, в случае распознавания условно-графических электрических обозначений – закодированное двумерное изображение. В свою очередь, на выходе нейронной сети – требуемый вид последнего слоя нейронной сети, включая простое соответствие наборам класса объекта. Все прецеденты связаны с общими характеристиками векторов на входе и выходе. Из вышесказанного можно сделать вывод, что входной сигнал – это постоянная условная величина, а выходной сигнал – возможное дискретное значение. Если рассматривать различные подходы в отношении распознавания изображения, то у нейронных сетей есть преимущества в виде универсальности работы и свойства адаптивности [9]. Благодаря данным преимуществам в работе нейронной сети гарантирована эффективность при распознавании объектов на изображении. Описанная структура нейронной сети имеет возможность параллельной обработки информации. Следует отметить, что нейронные сети, в сравнении с другими инструментами, обладают такими важными свойствами, как устойчивость к отказам, нелинейность работы и адаптивность к новым условиям. Анализ нейросетевой модели для выделения и распознавания объектов Применение нейронных сетей с целью классификации различных изображений, а также использования различных алгоритмов для выделения объектов на изображении – верное и обоснованное решение. На следующей стадии исследования необходимо выбрать конкретную нейросетевую модель, которая позволит решить поставленную задачу распознавания принципиальных обозначений. В контексте данного исследования наиболее перспективной является модель R-CNN [10]. В модели R-CNN есть две важные составляющие: – блок для создания гипотез; – классификатор. Блок создания гипотез отвечает за определение местоположения объекта на изображении, классификатор представляет собой сверточную нейронную сеть. В основе модели R-CNN принцип, позволяющий разделить задачи для разных алгоритмов на модульной основе. Таким образом, создается возможность для дальнейшего усовершенствования модели нейронной сети в направлении ее оптимизации для решения прикладной задачи и для повышения качества распознавания. В составе модели R-CNN три основных модуля (рис. 3): 1) модуль генерации производит гипотезы (независимо от класса объекта) о месторасположении объекта на изображении; 2) модуль НС – сверточная нейронная сеть, извлекающая признаки каждой сгенерированной гипотезы, формируя их в вектор фиксированной длины; 3) классификатор, позволяющий определить у опорных векторов характерные признаки и определить направление классификации. Рис. 3. Схема работы модели R-CNN: гипотезы – модуль генерации; СНН – сверточная нейронная сеть; MOB – классификатор Модель R-CNN позволяет применять различные алгоритмы для генерации гипотез по определению расположения объекта на изображении, однако в работе, где впервые говорится об использовании описанной модели [10], применяется оптимальный и эффективный способ – алгоритм селективного поиска. Изображение обрабатывается при помощи алгоритма селективного поиска, после чего создаются около двух тысяч гипотез относительно расположения объекта на входном изображении. Гипотезы проходят процесс деформации при прохождении через сверточную сеть для выделения ряда признаков. Входные векторы направляются в классификатор для последующего распознавания. В теории распознавания образов классификатор является неким решающим правилом, относящим образ к одному из известных классов на основании предъявленного вектора признаков. Модель R-CNN представляется в виде набора формул [10]: s = max; , где m < n; где Scolour(ri, rj) – мера схожести по цвету; Stexture(ri, rj) – мера схожести текстуры; Ssize(ri, rj) – оценка размера; Sfill(ri, rj) – мера соответствия двух областей; s(ri, rj) – комбинация четырех мер схожести; rt – регион с наибольшей схожестью; R – финальный набор регионов; X – входной вектор нейронной сети; Sc1 – взвешенная сумма; Ss1 – взвешенный размер; hc1 – выход первого С-слоя; yij – выход сети; n – количество изображений; size(ri)(rj)(im) – размер всего изображения в пикселях; α – мера схожести. В R-CNN классификатор относит каждый условный квадрат к определенному классу образов. Предложено 2 000 вариантов в отношении регионов кандидатов распознавания изображения, на основании чего классификатором составлена карта объектов по всем предложениям. В реальных условиях распознавания процесс составления классификатором карты объектов является очень ресурсозатратным. В работе [11] предложена методика Fast R-CNN (RoI Pooling), благодаря которой процесс распознавания объектов на изображении значительно ускорился. Суть метода: производится расчет только одной карты объектов вместо 2 000 карт по каждому из 2 000 предложений вариантов региона-кандидата. По каждому «Object Proposals» слой объединения областей интереса (RoI – regions of interest) выбирает вектор с фиксированной длиной, выбранной из карты объектов. В результате векторы признаков применяются для достижения двух целей: 1. Определение региона по каждому классу (например, резистор, контактная линия, фон). 2. Улучшение точности исходного ограничивающего прямоугольника путем применения регрессора. При стандартном использовании Fast R-CNN для «RoI Pooling» всегда присутствует объект, который подобен изображению, а также несколько наиболее важных областей интереса, имеющих рамки, ограничивающие изображение от всего изображения, для создания вложений (embedding) – сопоставления произвольной сущности (части изображения некоторому вектору) из каждого RoI. В задачах компьютерного зрения осуществляется уменьшение размера изображений при помощи операции объединения (pooling). Операция объединения «max pooling» используется чаще всего, когда входное изображение делится на несколько одинаковых областей, причем в каждой области захватывается фрагмент с максимальным значением. Модель Fast R-CNN благодаря предварительному обучению определяет форму [n, c, h, w] (где n – количество изображений; с – количество каналов, для изображений RGB его 3; h – высота изображения; w – ширина изображения) и минимальный размер 800 px. Модель вернет ограничительные рамки [x0, y0, x1, y1] все предсказанные классы формы (N, 4), где N – число классов, предсказанных моделью, которые будут присутствовать на изображении, а также метки всех прогнозируемых классов и оценки каждой предсказанной метки. Вывод данных PyTorch – современная библиотека глубокого обучения, является аналогом фреймворка Torch7 для языка Python. Разработка библиотеки началась в 2012 г., на год позже появления самого Torch7, но открытым и доступным для разработчиков PyTorch стал лишь в 2017 г. Под фреймворком глубокого обучения, как правило, понимается обучение функции, представляющей собой композицию множества нелинейных преобразований. Такая сложная функция еще называется потоком, или графом вычислений. Вычислительный граф – набор вычислений, так называемые узлы (nodes), которые соединены в прямом порядке вычислений. Другими словами, выбранный узел зависит от узлов на входе, которые, в свою очередь, производят вычисления для других узлов. Для пробного тестирования распознавания условных обозначений используется доступное решение – предварительно обученная модель в PyTorch, включенная в состав «Torchvision». После загрузки предварительно обученной модели Faster R-CNN из «Torchvision» с уже обученными весами определяются имена классов, заданные официальными документами PyTorch. Для работы модели определяется функция, чтобы получить путь изображения и предсказание изображения по модели. Обнаружение объектов осуществляется конвейером, чтобы получить путь к изображению и выходное изображение: – предсказывается результат, полученный по методу get_prediction; – для каждого прогноза рисуется ограничивающий прямоугольник и записывается текст с помощью OpenCV; – выводится итоговое изображение (рис. 4). Рис. 4. Пример распознавания обозначений Векторизация Векторизацией принято называть изменение первоначального изображения в ручном или автоматическом режиме из растрового формата в векторный. Подобное изменение приводит к тому, что у изначального (входного растрового) изображения появляются возможности векторной графики – уменьшение объема файла, возможность редактирования, изменение масштаба без снижения качества. При автоматической векторизации происходит процедура генерации векторных объектов, которые составляли изначальное растровое изображение. Приложения, обычно используемые на практике графическими редакторами, могут распознавать базовые символы: – штриховку; – контуры; – окружности и отрезки; – символы и текст. При необходимости перевести в вектор линию, отрезок, дугу программное обеспечение само задает линии объектов, прорисовывает направление и толщину для дуг и отрезков. Помимо вышесказанного, в некотором ПО присутствует режим принудительного ортогонального выравнивания отрезков, у которых имеется отклонение по горизонтальной или вертикальной оси. При этом процедуры определения, трассировки и перевода изображений в векторы производятся при помощи алгоритмов распознавания символов по векторным образцам. Векторные образцы принято создавать заранее и хранить в библиотеке, предназначенной для векторных шаблонов. Распознавание электрических обозначений является первым шагом и в дальнейшем позволит разработать программное обеспечение для оцифровки схем автоматической логической векторизацией, без привлечения ручного труда проектировщиков. Следовательно, задача последующей логической векторизации распознанных с помощью искусственных нейронных сетей принципиальных условно-графических электрических обозначений является актуальной и тре-бует дальнейших исследований. Выводы На основании проведенных исследований можно сделать следующие выводы: 1. Обоснован выбор модели R-CNN для исследования и описана ее математическая модель. 2. Обоснована важность обучающей выборки и установлено ее влияние на качество распознавания образов нейронной сетью. 3. Выявлено, что при использовании нейронов высоких порядков в сверточных нейронных сетях скрыт большой потенциал улучшения работы системы без экстенсивного расширения ее архитектуры, за счет внедрения новых нейронов. 4. При распознавании нейронными сетями графических элементов использование способа «RoI Pooling» нагляднее отображает несколько областей интереса, указанных через ограничивающие рамки. 5. Показано первичное распознавание принципиальных условно-графических электрических обозначений. 6. Задача последующей логической векторизации распознанных с помощью искусственных нейронных сетей принципиальных условно-графических электрических обозначений требует дальнейших исследований.
1. Самойлин Е. А. Первичная параметрическая оптимизация модели нейронной сети для задач обработки изображений // «Нейрокомпьютеры»: разработка, применение. 2010. № 5. С. 21-28.
2. Чернецова Е. А. Применение нейронной сети прямого распространения с одним скрытым слоем для классификации монохромных изображений // «Нейрокомпьютеры»: разработка, применение. 2008. № 3-4. С. 21-30.
3. Осовский С. Нейронные сети для обработки информации / пер. с пол. И. Д. Рудинского. М.: Финансы и статистика, 2004. 344 с.
4. Вороновский Г. К., Махотило К. В., Сергеев С. А. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. Xарьков: ОСНОВА, 1997. 112 с.
5. Сотник С. Л. Конспект лекций по курсу «Основы проектирования систем искусственного ин-теллекта». М., 1997-1998. 70 с.
6. Zheng Y., Meng Y., Jin Y. Object Recognition using Neural Networks with Bottom-up and Top-down Pathways // Neurocomputing. 2011. V. 74. P. 3158-3169.
7. Bengio Y. Learning deep architectures for AI // Foundations and Trends in Machine Learning. 2009. V. 2. P. 1-127.
8. Агеев А. Д., Балухто А. Н. и др. Нейроматематика. Книга 6: учеб. пособие для вузов. М.: ИПРЖР, 2002. 448 с.
9. Барский А. Б. Нейронные сети: распознавание, управление, принятие решений. М.: Финансы и статистика, 2004. 176 с.
10. Лагунов Н. А. Применение сверточных нейронных сетей в задачах распознавания многопараметрических объектов // Пространство и время. 2013. № 3 (13). С. 194-197.
11. Girshick R. Fast R-CNN // Computer Vision and Pattern Recognition, 2015. URL: https://arxiv.org/abs/1504.08083 (дата обращения: 01.03.2021).