Применение технического (компьютерного) зрения для определения показаний маслоуказателя трансформатора
Е.А. Дудалова, К.А. Петров, А.Р. Гафиятуллина, М.Е. Надеждина,
С.А. Соловьев
Казанский государственный энергетический университет, Казань
Аннотация: Развитие цифровых технологий стимулирует повсеместное автоматизирование процессов на предприятиях. В настоящей статье рассматривается задача определения значений маслоуказателя трансформатора по полученному изображению, при помощи компьютерного зрения. В ходе исследования изучено устройство стрелочных маслоуказателей МС-1 и МС-2 и рассмотрены особенности, которые необходимо учитывать, при распознавании прибора на изображении и определении его значения. На основе обработанного материала разработан метод распознавания элементов прибора на изображении при помощи библиотеки OpenCV и языка программирования Python. Разработанный метод определяет показания прибора с разным углом поворота и в разных погодных условиях, что подтверждает эффективность предлагаемой методики.
Ключевые слова: техническое зрение, маслоуказатель, распознавание контуров, библиотека OpenCV.
Развитие цифровых технологий стимулирует повсеместное автоматизирование процессов на предприятиях [1]. Одной из актуальных проблем в промышленности является технологическая модернизация производственных систем, направленная на оптимизацию использования ресурсов [2]. Компании добиваются улучшения процессов производства различными методами. Это может быть, как автоматизация бизнес-процессов [3], так и промышленных элементов производства [4]. В последнем всё чаще применяются технологии технического зрения [5].
В области технического зрения создают машины или роботов, которые могут производить обнаружение, отслеживание и классификацию объектов. Как отмечается в работе [6], техническое зрение может применяться с целью повышения производительности системы или снижения времени вычислений.
и
В настоящее время техническое зрение применяется в следующих областях:
• Контроль автоматизированного транспорта;
• Безопасность производства;
• Автоматический визуальный контроль;
• Инспекция и контроль пищевой продукции;
• Технический контроль изготовленных товаров [7].
Технологии компьютерного зрения активно начинают применяться на объектах электроэнергетики, где существует необходимость регулярного осмотра большого количество оборудования и отдельных элементов объектов. Например, на трансформаторной подстанции, как правило, присутствует большое количество измерительных приборов, которые не всегда имеют функции дистанционной передачи данных. На рисунке 1 графически представлена взаимосвязь технического зрения при решении задачи определения показаний измерительного прибора электрооборудования.
Рис. 1. - Взаимосвязь технического зрения при решении задачи определения показаний измерительного прибора электрооборудования В настоящей работе рассмотрен пример применения компьютерного зрения для определения показаний стрелочных маслоуказателей для трансформаторов.
Постановка задачи
Стрелочные маслоуказатели применяются в трансформаторах с масляной изоляцией для определения уровня жидкого диэлектрика (масла) в расширителе масляного трансформатора или иного аппарата в процессе его эксплуатации. В настоящей работе распознаётся циферблат и показания стрелки маслоуказателя МС-1 и маслоуказателя МС-2. Приборы отличаются внутренним устройством, циферблат и стрелка в них идентичные.
Маслоуказатель выдает электрический сигнал при минимальном и максимальном рабочем уровне масла в расширителе, при помощи этого сигнала происходит заливка до нормального уровня масла в расширителе.
Определение уровня масла в расширителе производится визуально по положению конца стрелки на левой шкале циферблата. На нее нанесены три метки, обозначенные цифрами «0», «1/2» и «1», которые, соответственно, означают:
• Нулевой рабочий уровень масла в расширителе, дополнительно обозначенный надписью «MIN»;
• Уровень масла в расширителе, равный половине его рабочего объёма;
• Максимальный рабочий уровень масла в расширителе, дополнительно обозначенный надписью «MAX».
На рисунке 2 представлен пример рисунка циферблата маслоуказателя.
При заполнении маслом трансформатора, контроль осуществляется визуально по положению стрелки на правой стороне циферблата. На правую шкалу циферблата нанесены метки, обозначенные числами в градусах Цельсия. Каждая из них означает уровень масла в расширителе при соответствующей средней температуре масла в трансформаторе.
Сигнал от маслоуказателя поступает к оперативно-дежурному персоналу электрической подстанции, который на основании этих данных
принимает решение о режимах работы трансформатора, с установленным на нем маслоуказателем. При монтаже, а также после ремонта силовых трансформаторов, маслоуказатель служит незаменимым инструментом для наиболее точной заливки масла в расширитель. В настоящее время трансформаторы мощностью от 2500 кВа и выше оснащаются стрелочными указателями уровня масла МС, данное требование прописано в руководящих документах и ГОСТах.
Рис. 2. - Пример шкалы циферблата
На предприятиях проверка уровня масла производится вручную. Создание автоматизированной системы для измерения уровня масла позволит сократить время и повысить точность проводимых измерений, а также избежать ошибок. Для решения данной задачи разработана программа, которая определяет значение уровня масла на маслоуказателе по изображению.
Модели и методы
Для решения задачи определения показаний стрелочных маслоуказателей для трансформаторов с помощью компьютерного зрения был реализован программный код.
Программный модуль разработан на языке программирования Python с использованием библиотеки OpenCV [8]. Для определения показаний приборов применяется обнаружение контуров на изображении. Контуры
проверяются на принадлежность к прибору. По положению и градусу наклона контура, программный модуль определяет текущее показание прибора [9].
Процесс определения значений уровня масла происходит в два этапа: нахождение на изображении циферблата и стрелки маслоуказателя и определение положения стрелки на шкале циферблата [10]. Пример фотографии маслоуказателя, установленного на расширителе, показан на рисунке 3.
Рис. 3. - Изображение маслоуказателя при фотосъемке
Измерение производится круглосуточно и в разных погодных условиях, поэтому необходима предварительная обработка, чтобы алгоритм правильно выполнял свою функцию. В процессе обработки, изображение переводится из RGB формата цвета в HSB. В этом формате каждый пиксель имеет 3 параметра - тон, насыщенность и яркость. Из-за того, что изображения маслоуказателя создаются при изменяющемся естественном освещении, необходима фильтрация показателя яркости [11]. На рисунке 4 представлен пример изображений с уровнем яркости 1.
При использовании пороговых фильтров происходит отделение значимых и незначимых пикселей на изображении. Для применения пороговых фильтров в библиотеке OpenCV есть функция inRange(), которая
принимает три параметра: исходное изображение, минимальный пропускаемый цвет пикселей на изображении и максимальный пропускаемый цвет на изображении [12]. Применяя функцию тКа^е() на выходе получается черно-белое изображение, в котором набор пикселей со значением либо 0, что означает, что цвет пикселя не вошёл в границу пропускаемого цвета, либо 1, что означает, что цвет удовлетворяет заданным границам.
Рис. 4. - Изображение маслоуказателя после предварительной обработки В основном цикле программы минимальный показатель яркости, который применяется для фильтрации, изменяет текущее значение от 0 до 255 с шагом 2 и применяется к исходном изображению. Текущее значение яркости применяется в фильтрации. Пример применения фильтрации на исходном изображении с разными уровнями минимальной яркости показан на рисунке 5.
При фильтрации с минимальным уровнем яркости 40 на изображении значимые пиксели не сформировали читаемый контур, на изображении плохо можно различить, где начинается и заканчивается стрелка. Во втором случае, фильтрации с минимальным уровнем яркости уже 52 чётко видны границы циферблата и стрелки, изображение с достаточно чёткими границами. И на последнем изображении, когда фильтрация с минимальным уровнем яркости 128, небо окрасилось в белый цвет, а всё остальное в чёрный, границы
прибора закрасились и неразличимы, увеличивать минимальный уровень
Рис. 5. - Пример применения фильтрации на исходном изображении с разными уровнями минимальной яркости Исходное изображение; б) Яркость 40; в) Яркость 52; г) Яркость 128 После применения фильтрации в чёрно белом изображении находятся контуры при помощи функции й^СоПюи^(). Данная функция находит все контуры - кривые, соединяющие все непрерывные точки вдоль границы фигуры. На рисунке 6 показан пример чёрно-белого изображения, при помощи которого функция нашла все контуры и выделила каждый отдельный контур цветом [13].
Функция для поиска контуров имеет три обязательных параметра на вход: изображение, режим поиска контуров и метод упаковки контуров. Для поиска контуров изображение должно быть в формате одноканального изображения (чёрно-белым). Режим группировки контуров - очень важный
показатель, отвечает за то, как будут группироваться отношения (иерархия), найденных контуров (таблица №1).
а) б)
Рис. 6. - Пример определения контуров: а) чёрно-белое изображение после фильтрации с минимальным значением яркости 52; б) контуры, найденные на
изображении
Таблица № 1
Режимы группировки контуров
№ п/п Название режима Описание режима
1 RETR_LIST Находит все контуры, информацию о родительских и дочерних не записывается. На место двух последних значений записывается значение «-1».
2 RETR_EXTERNAL Находит только внешние (родительские) контуры. На место двух последних значений записывается значение «-1».
3 RETR_CCOMP Находит все контуры и упорядочивает из в двухуровневую иерархию. В данном режиме внешние контуры помечаются уровнем 1, дочерние помечаются уровнем 2, дочерние внутри предыдущих дочерних помечаются опять 1 и так далее.
4 RETR_TREE Находит все контуры и помечает их иерархию в виде дерева и помечает все контуры родителей и дочерние контуры для них.
Метод упаковки контуров отвечает за то как будут храниться координаты контура в памяти (таблица №2) [14].
Таблица № 2
Режимы упаковки контуров
№ п/п Название режима Описание режима
1 CHAIN APPROX Сохраняет все точки контура.
2 CHAIN_APPROX_SIMPLE Сжимает горизонтальные, вертикальные и диагональные сегменты и оставляет только их конечные точки.
3 CHAIN_APPROX_TC89_L 1 Сжимает точки, применяя один из вариантов алгоритма аппроксимации цепочки Тех-Чина.
4 CHAIN_APPROX_TC89_KCOS Сжимает точки, применяя один из вариантов алгоритма аппроксимации цепочки Тех-Чина.
Каждый найденный контур имеет свою собственную информацию о том, что за иерархия у него с другими найденными контурами. Если внутри контура находится другой контур, внешний контур мы называем родительским, в внутренний дочерним для текущего родительского контура. Исходя из выбранного режима группировки, каждый контур хранит информацию о иерархии в виде массива из четырёх значений [15].
Режим упаковки контуров отвечает за то, как точки контуров будут храниться в памяти. Например, отрезок можно хранить как список из всех точек, координат пикселей на изображении, а также, отрезок можно хранить как две точки - начала отрезка и конца отрезка [16].
Для решения поставленной задачи, нам необходимо применять метод группировки RETR_TREE, потому что циферблат маслоуказателя является родительским контуром для стрелки, которая является дочерним контуром. Метод CHAIN_APPROX_SIMPLE применяется для экономии памяти и ускорения процесса работы кода.
Исходя из задачи, мы знаем, что контур стрелки в нормальных режимах работы маслоуказателя находится внутри контура циферблата. При
работе алгоритма, проверяются все контуры, которые являются родительскими. К текущему, найденному родительскому контуру применяется функция ттАгеаКеС:() [17], которая принимает на вход контур и возвращает данные об ограничивающем прямоугольнике минимальной площади вокруг заданного контура. Данные включают в себя массив из 3 показателей:
1) Координаты точки центра прямоугольника;
2) Значения ширины и длины прямоугольника;
3) Угол поворота прямоугольника относительно оси абсцисс в градусах.
В идеальном случае, контур циферблата на изображении должен быть круглым, но из-за того, что фотографии делаются не под прямым углом, этот круг искажается. И для следующей проверки, что контур является циферблатом, необходимо найти отношение сторон ограничивающего прямоугольника: если это отношение в пределах определённой погрешности говорит о том, что этот контур круглый, и возможно является циферблатом маслоуказателя. На рисунке 7 стороны прямоугольника 262 и 284, отношение сторон прямоугольника друг к другу равно 0.92, это значение достаточно близкое к единице и переходит, назначенный порог.
Для нахождения стрелки, также применяется функция minAreaRect(), для настоящей задачи было рассчитано отношение сторон ограничивающего прямоугольника, который формируется для стрелки циферблата. Ещё одним критерием правильного определения принадлежности контура к стрелке маслоуказателя является то, что центр ограничивающего прямоугольника циферблата и центра ограничивающего прямоугольника стрелки должны с находиться в минимальном удалении друг от друга, относительно других, проверенных дочерних контуров.
После успешного нахождения контура циферблата и контура стрелки, завершающей задачей является необходимость нахождения текущего
значения маслоуказателя на изображении. Функция minAreaRect возвращает значение угла наклона стрелки относительно оси абсцисс, остаётся соотнести значение угла и значение шкалы циферблата, и сохранить результат в
Рис. 7. - Пример отображения ограничивающего прямоугольника
минимальной площади
Результаты и заключение
Пример работы разработанного метода нахождения текущего значения уровня масла при помощи изображения маслоуказателя представлен на
Рис. 8. - Пример результата работы программы по нахождению значения
уровня масла
Таким образом, в разработанной программе применён метод, позволяющий по изображению стрелочного маслоуказателя марки МС определять значения прибора. Благодаря использованию технического зрения и в частности библиотеки OpenCV, полученное решение является оптимальным относительно других возможных методов решения представленной задачи, например, таких, как нейронные сети, поскольку не требуется формирование обучающего множества и обучение модели на данных.
Литература
1. Резвякова И.В., Лиленко А.Т. Особенности внедрения системы управления бизнес-процессами на предприятии // Вестник Челябинского государственного университета. 2021. №. 3(449). С. 224-232.
2. Надеждина М.Е., Зарайченко И.А., Фаррахова А.А. Типология стратегий организации производства с применением сквозных цифровых технологий // Известия Самарского научного центра Российской академии наук. 2022. Т. 24, № 6(110). С. 121-126.
3. Бадмаева А.Д., Перерва О.Л. Автоматизация бизнес-процессов на наукоёмком предприятии // Финансовая экономика. 2020. №. 1. С. 121-124.
4. Chadeev V.M., Aristova N.I. Control of industrial automation // Tenth International Conference Management of Large-Scale System Development. IEEE, 2017. pp. 1-5.
5. Kulikov V., Spirin E., Pikalov I., Saramud M. Methods for determining spatial position and production objects orientation based on the proposed fiducial markers for technical vision system // The International Journal of Advanced Manufacturing Technology. 2024. pp. 1-14.
6. Титов А.И., Корсунов Н.И. Метод распознавания объектов в системах технического зрения роботов // Интерактивная наука. 2023. №. 3 (79). С. 9-11.
7. Миняхина П.А., Сазонова Е.С. Области применения систем компьютерного зрения // III региональная заочная научно-практическая конференция «Интеллектуальные информационные системы: тенденции, проблемы, перспективы». Курск: Закрытое акционерное общество «Университетская книга», 2015. С. 104-105.
8. Pulli K., Baksheev A., Kornyakov K., Eruhimov V. Real-time computer vision with OpenCV // Communications of the ACM. 2012. V. 55. I. 6. pp. 61-69.
9. Xie G., Lu W. Image edge detection based on OpenCV // International Journal of Electronics and Electrical Engineering. 2013. V. 1. I. 2. pp. 104-106.
10. Горячкин Б.С., Китов М.А. Компьютерное зрение //E-SCIO. 2020. №. 9(48). С. 317-345.
11. Singh S. Image filtration in Python using openCV // Turkish Journal of Computer and Mathematics Education. 2021. V. 12. I. 6. pp. 5136-5143.
12. Краснопевцева Н.А. Обнаружение объектов по цвету с помощью opencv // Инновации. 2021. Т. 1. №. 44. С. 1176-1181.
13. Mordvintsev A., Abid K. Opencv-python tutorials documentation // URL: media.readthedocs.org/pdf/opencv-python-tutroals/latest/opencv-python-tutroals. pdf. 2014. 269 p.
14. OpenCV на python: выделение контуров // RobotClass URL: robotclass.ru/tutorials/opencv-python-find-contours (дата обращения: 24.04.2024).
15. Contours Hierarchy // OpenCV URL: docs. opencv.org/4 .x/d9/d8b/tutorial_py_contours_hierarchy.html (дата обращения: 24.04.2024).
16. Verma A., Gupta N., Bhatele P., Khanna P. JMCD Dataset for Brain Tumor Detection and Analysis Using Explainable Deep Learning // SN Computer Science. 2023. V. 4. I. 6. P. 840.
17. Contour Features // OpenCV URL: docs. opencv.org/4 .x/dd/d49/tutorial_py_contour_features.html (дата обращения : 24.04.2024).
18. Сочивко Е.В., Дробыш А.А. Форматы хранения текстовой информации // Республиканская научно-практическая конференция молодых ученых и студентов «Инженерно-педагогическое образование в XXI веке». Минск: БНТУ, 2020. С. 129-132.
References
1. Rezvyakova I.V., Lilenko A.T. Vestnik Chelyabinskogo gosudarstvennogo universiteta. 2021. №. 3(449). pp. 224-232.
2. Nadezhdina M.E., Zaraichenkko I.A., Farrahova A.A. Izvestiya Samarskogo nauchnogo centra Rossiskoi akademii nauk. 2022. V. 24. № 6(110). pp. 121-126.
3. Badmaeva A.D., Pererva O.L. Finansovaya economika. 2020. №. 1. pp. 121124.
4. Chadeev V.M., Aristova N.I. Tenth International Conference Management of Large-Scale System Development. IEEE, 2017. pp. 1-5.
5. Kulikov V., Spirin E., Pikalov I., Saramud M. The International Journal of Advanced Manufacturing Technology. 2024. pp. 1-14.
6. Titov A.I., Korsunov N.I. Interactivnaya nauka. 2023. №. 3 (79). pp. 9-11.
7. Minyahina P.A., Sazonova E.S. III regionalnaya zaochnaya nauchno-prakticheskaya konferensiya. Kursk. 2015. pp. 104-105.
8. Pulli K., Baksheev A., Kornyakov K., Eruhimov V. Communications of the ACM. 2012. V. 55. I. 6. pp. 61-69.
9. Xie G., Lu W. International Journal of Electronics and Electrical Engineering. 2013. V. 1. I. 2. pp. 104-106.
10. Goryachkin B.S., Kitov M.A. E-SCIO. 2020. №. 9(48). pp. 317-345.
11. Singh S. Turkish Journal of Computer and Mathematics Education. 2021. V. 12. I. 6. pp. 5136-5143.
12. Krasnopevtseva N.A. Innovasii. 2021. V. 1. №. 44. pp. 1176-1181.
13. Mordvintsev A., Abid K. URL: media.readthedocs.org/pdf/opencv-python-tutroals/latest/opencv-python-tutroals. pdf. 2014. 269 p.
14. OpenCV in python: contour selection. RobotClass URL: robotclass.ru/tutorials/opencv-python-find-contours (date assesed: 24.04.2024).
15. Contours Hierarchy. OpenCV URL: docs.opencv.org/4.x/d9/d8b/tutorial_py_contours_hierarchy.html (date assessed 24.04.2024).
16. Verma A., Gupta N., Bhatele P., Khanna P. SN Computer Science. 2023. V. 4. I. 6. pp. 840.
17. Contour Features. OpenCV URL: docs.opencv.org/4.x/dd/d49/tutorial_py_contour_features.html (date assessed: 24.04.2024).
18. Sochivko E.V., Drobish A.A. Respublikanskaya nauchno-prakticheskaya konferensiya molodih uchenih i studentov. Minsk, 2020. pp. 129132.
Дата поступления: 30.03.2024 Дата публикации: 12.05.2024