ПРИМЕНЕНИЕ НЕЙРОНЫХ СЕТЕЙ ДЛЯ МОНИТОРИНГА ПОКАЗАНИЙ ПРИБОРОВ
ПРИМЕНЕНИЕ НЕЙРОНЫХ СЕТЕЙ ДЛЯ МОНИТОРИНГА ПОКАЗАНИЙ ПРИБОРОВ
Аннотация
На многих предприятиях требуется мониторинг показаний аналоговых приборов, который сложно обеспечить. Поэтому целью работы является создание модуля для автоматического считывания показаний с манометров (круговая шкала с радиальной стрелкой) и ленточных самописцев (линейная шкала) с помощью нейронных сетей в реальном времени. Использованы три дообученные модели на архитектуре YOLO: для детекции приборов в кадре и модели для распознавания ключевых точек (типа YOLO-Pose) каждого типа прибора. Датасеты размечены в Roboflow и CVAT, обучение выполнено в Google Colab (GPU Tesla T4), основная программа написана на Python и протестирована в PyCharm. Показания манометра вычисляются интерполяцией угла поворота стрелки, самописца — интерполяцией положения стрелки на линейной шкале после выравнивания методом наименьших квадратов. В результате относительная погрешность измерений составила 0,3% для манометров и 0,023% для самописцев (в 13 раз точнее). Ошибка локализации ключевых точек — менее 1 пикселя. При тестировании с имитацией неблагоприятных условий (шум, засветы, размытие) точность манометров практически не изменилась (0,30% против 0,31%), для самописцев погрешность выросла до 0,50% при сохранении работоспособности в 91,8% случаев. Итоговая точность составляет 0,5–1 деление шкалы для обоих типов приборов. Таким образом, разработанный модуль может быть интегрирован на предприятиях, обеспечивая автоматический сбор данных с аналоговых приборов без их замены. Методика универсальна и адаптируется под другие типы шкал.
1. Введение
В работе сложных современных систем требуется отслеживание большого количества показателей протекающих процессов — с целью быстрого реагирования в критических ситуациях, составления статистики и выявления закономерностей, отслеживания исправности приборов. Вручную, самими сотрудниками, получение точных показаний в любой момент времени является практически невозможным из-за большого количества приборов и датчиков, различий в их видах и расположении. На данный момент существует множество вариантов решений подобной проблемы (от механической регулировки до компьютерного зрения и нейросетей), но они узкоспециализированы: их эффективность зависит от моделей приборов, условий среды и выбранного метода распознавания, каждый из которых имеет свои ограничения по скорости и внедрению.
После анализа различных готовых решений для распознавания показаний приборов на основе нейросетей и компьютерного зрения (Viso.ai , Noema и пр.) были сделаны следующие выводы: большая часть открытых систем распознаёт конкретные приборы, а именно, стрелочные манометры с круговой шкалой, не у всех решений есть возможность калибровки шкалы, не для всех вариантов есть возможность установить сервис, не меняя оборудование. Также большая часть из них недоступна для покупки в РФ.
Цель работы: создание модуля системы для считывания показаний с манометров (полукруглая шкала с радиально расположенной стрелкой) и ленточных регистраторов (прямоугольная шкала с линейно перемещающимся указателем (самописец)) с помощью нейронных сетей в реальном времени. Типы приборов были выбраны в соответствии с требованиями заказчика, им же был предоставлен видеоматериал для считывания показаний. Система должна упростить механизм параллельного отслеживания показаний приборов и ускорить процесс реагирования на их нестандартные изменения (отклонение от нормы).
2. Методы и принципы исследования
Архитектура спроектированной системы, в соответствии с требованиями заказчика, состоит из таких компонентов, как: сегмент видеонаблюдения, серверный сегмент, сегмент синхронизации времени (NTP), промышленные интерфейсы (IEC-104 , OPC UA ), интеграция с корпоративной шиной (Kafka), пользовательский интерфейс (Grafana). Часть, реализуемая в работе — сервер сбора (и обработки) данных с подключением к базе данных (Postgres), NTP-серверу и веб-интерфейсу Grafana .
Серверный сегмент включает три модели нейронных сетей типа YOLO , дообученных на предоставленных заказчиком, размеченных средствами Roboflow и CVAT , датасетах. Первая модель, типа YOLO Detection, отвечает за определение класса прибора на изображении — класс манометра или ленточного регистратора. Вторая и третья, типа YOLO Pose, отвечают за нахождение ключевых точек шкал и стрелок приборов на манометрах и самописцах соответственно.
Для обучения сетей и последующей обработки полученных данных был выбран язык программирования Python . В частности, фреймворк для машинного обучения PyTorch, библиотеки OpenCV, NumPy и Matplotlib. Средой для обучения сетей был выбран Google Colab (в связи с возможностью подключения к удалённым средам выполнения, таким как «Графический процессор T4» (GPU Tesla T4) и TPU v5e-1). Для дальнейшей обработки данных, с использованием уже готовых обученных сетей была выбрана среда выполнения PyCharm (Community Edition).
При подготовке датасета для первой сети в roboflow-проекте типа object detection видео было разделено на кадры, и для каждого была произведена разметка контуров циферблатов приборов. Были добавлены аугментации для повышения устойчивости сети к различным условиям и увеличения размера датасета. Сеть несколько раз дообучалась с различными параметрами.
Датасеты для второй и третьей сетей были составлены на основе результатов работы первой. Для обоих видов приборов кадры были обрезаны по выданным сетью координатам. К изображениям с классом манометров также был применён алгоритм выравнивания для борьбы с искажениями изображения из-за перспективы и наклона прибора. Кроме того, для дополнения датасета с классом самописцев были созданы синтетические данные с различными положениями стрелок (изображения стрелок были вырезаны и случайным образом помещены в пределах шкал).
Для обеих сетей поиска элементов шкал были протестированы различные виды разметки. Итоговый выбор был сделан в пользу разметки типа skeleton с ключевыми точками для модели типа yolo-pose. В случае круговой шкалы манометра были выделены ключевые точки крупных делений шкалы, центра прибора и конца стрелки, объединённые векторами от центра в единую конструкцию. В случае параллельных шкал самописца после нескольких попыток было принято решение выделить обе шкалы и две стрелки в отдельные классы, каждый из которых содержал ключевые точки (для шкал — по крупным делениям, для стрелок — по углам треугольника). Однако, по умолчанию, в yolo-pose в одном датасете не может быть классов с разным количеством точек. Эта проблема была решена путём добавления в разметку дополнительных точек для соответствия количества и применения коллбэка при обучении для корректировки весов координат нужных точек (увеличения для первых трёх точек стрелок, их вершин, и уменьшения — для остальных).
Логика обработки полученных данных основана на различных подходах из нескольких статей, адаптированных под решаемую задачу. Во многих статьях перед распознаванием шкалы и стрелки проводится выравнивание изображения по некоторым ключевым точкам. Например, в находятся наибольшие деления шкалы, затем через них проводится эллипс, и трансформация состоит в том, чтобы преобразовать его в окружность, а в работе для подобных целей находятся и применяются углы ограничивающего прямоугольника прибора. Так как известно, что форма корпуса прибора представляет собой окружность, которая, соответственно, вписывается в правильный многоугольник (квадрат), и приведение полученного прямоугольника к квадрату, соответственно, выровняет и окружность циферблата. Первые два метода были признаны неподходящими по следующим причинам: ключевые точки в обозначенных местах на шкале есть только у рассмотренных в статье моделей приборов и подобных им, а выравнивание по делениям шкалы перестаёт правильно работать, как только хотя бы одно из них становится видно менее чётко, чем другие. Соответственно, сеть его не распознаёт, и выстроенный по полученным точкам эллипс уже не является окружностью. Таким образом, для класса манометра был выбран способ с выравниванием по углам найденной рамки (bounding box), и приведением полученной части изображения к квадрату. В случае же самописца опытным путём было выяснено, что данный способ не подходит, поэтому выравнивание производилось на следующем этапе.
Следующий этап — распознавание делений шкалы и вычисление показаний. Для класса манометров они вычисляются соответственно алгоритму, подобному описанному в . На входе, в соответствии с требованиями, имеются параметры, включающие наименование единицы измерения, а также минимальное и максимальное значения измеряемого показателя. Производится вычисление углов между полученными по точкам векторами, находятся деления, ближайшие к концу стрелки, и их значения пересчитываются в масштабе относительно всей шкалы.
Для регистраторов в первую очередь проводится валидация шкал — поиск «более ровной», с меньшим разбросом, путём вычисления дисперсии найденных координат точек на её делениях. Производится выравнивание этой шкалы по оси OX с помощью линейной интерполяции и расчёт значений в зависимости от близости концов стрелок, найденных на изображении как отдельные классы, к делениям шкалы.
3. Основные результаты
Для проверки качества полученных данных — от сети и при вычислении показаний — был проведён теоретический расчёт координат и показаний. В качестве эталонных значений были взяты координаты из разметки (точки, выделенные на изображении вручную), и было проведено сравнение их с предсказанными моделями. Для манометров относительная погрешность измерений составила 0,3%, а средняя ошибка локализации ключевых точек — менее 1 пикселя (0,98 px). Для самописцев относительная погрешность 0,023% (MAE ≈ 0,023 из 100), а ошибка локализации ключевых точек шкалы составила 0,81 px (для нижней стрелки — всего 0,17 px).
Полученная система была протестирована на синтетических видео с несколькими приборами разных классов в кадре. Также были созданы аугментации тестовых данных имитацией различных неблагоприятных внешних условий (шум, засветы, блюр), и проведено сравнение полученных результатов с изначальными. Для манометров средняя относительная ошибка практически не изменилась (0,30% против 0,31%), а доля успешных распознаваний снизилась с 100% до 88,2%. Для самописцев в тех же условиях точность ожидаемо снизилась сильнее (относительная погрешность выросла с 0,024% до 0,50%), однако даже при наличии помех система сохранила работоспособность с долей успешных чтений 91,8%. В результате для рассмотренных приборов была достигнута точность в 1–2 деления шкалы, т. е., погрешность в полградуса-градус для самописца, а также в 0,05–0,1 MPa для манометров, т. о., погрешность около 0,5–1,0 деления.
Для тестовой версии была реализована визуализация найденных точек и значений в кадре самого видео в процессе запуска (Рисунок 1), а для итоговой версии прототипа, с параллельной обработкой нескольких видеопотоков, был создан дашборд с помощью подключенной платформы мониторинга и анализа данных Grafana (Рисунок 2).

Рисунок 1 - Демонстрация работы модуля на видео с помощью OpenCV

Рисунок 2 - Визуализация показателей средствами Grafana
4. Обсуждение
Полученные в ходе тестирования результаты демонстрируют, что предложенный подход к распознаванию показаний приборов на основе трёх моделей YOLO обеспечивает высокую точность в штатных условиях и приемлемую робастность при наличии внешних искажений.
Сравнение с существующими решениями. В работах , авторы добиваются сопоставимой точности для стрелочных манометров (относительная погрешность 0,3–0,5%), однако их методы сильно зависят от видимости всех ключевых делений шкалы. В нашем решении за счёт использования YOLO Pose и выравнивания по bounding box прибора удалось снизить чувствительность к частичному перекрытию или бликам: даже при потере 1–2 делений из 11 расчёт показаний сохраняется. Для самописцев аналогов с публично описанной погрешностью 0,023% в открытой литературе не обнаружено — это является достижением данной работы.
Интерпретация разницы в точности между типами приборов. Самописцы показали в 13 раз меньшую относительную погрешность (0,023% против 0,3% у манометров) в штатных условиях. Причины:
Во-первых, прямоугольная шкала и линейное перемещение указателя дают более предсказуемую геометрию.
Во-вторых, использование двух стрелок в отдельных классах позволило обучить модель более точно (ошибка для нижней стрелки — всего 0,17 пикселя). Манометры сложнее из-за радиального преобразования и перспективных искажений, даже после выравнивания.
Поведение при искажениях. Тестирование на аугментированных данных (шум, засветы, блюр) показало асимметричную чувствительность:
Манометры сохранили относительную погрешность (0,30% → 0,31%), но доля успешных распознаваний снизилась до 88,2% — в основном из-за пропуска детекции при сильных засветах.
Самописцы показали рост погрешности с 0,024% до 0,50% (в 20 раз), однако доля успешных чтений осталась высокой (91,8%). Это означает, что когда модель всё же находит шкалу, она считает показания с приемлемой точностью, но в 8% случаев теряет ключевые точки из-за деградации контраста.
Ограничения исследования. Эксперименты проводились на датасете, предоставленном заказчиком, с ограниченным разнообразиом моделей приборов (один тип манометра и один тип самописца). Не проверялось влияние вибрации камеры, резких изменений ракурса или одновременного присутствия в кадре более 6 приборов. Также не оценивалась производительность при обработке 4K-видеопотока на промышленных контроллерах (в работе использовался GPU T4 в Google Colab, что может быть избыточно для production).
Перспективы улучшения. Полученные выбросы (максимальная ошибка 0,18 МПа для манометра и 30,8°C для самописца на аугментированных данных) указывают на необходимость:
1. Добавления в обучающую выборку большего количества кадров с экстремальными искажениями.
2. Внедрения постобработки с медианной фильтрацией по времени для отсечения выбросов в видеопотоке.
3. Для самописцев — отдельной дополнительной модели верификации положения шкалы перед расчётом показаний.
Тем не менее, достигнутая точность (0,5–1,0 деления шкалы) уже соответствует и даже превышает типичную приборную погрешность, что делает систему пригодной для промышленного мониторинга.
5. Заключение
В результате выполнения данной работы полностью достигнута поставленная цель: создан модуль системы для оперативного считывания показаний с манометров (полукруглая шкала с радиальной стрелкой) и ленточных регистраторов-самописцев (прямоугольная шкала с линейным указателем) с использованием нейронных сетей в реальном времени.
5.1. Основные научные и практические результаты
Разработана архитектура из трёх последовательных моделей YOLO: первая определяет класс прибора, вторая и третья (YOLO Pose) локализуют ключевые точки шкал и стрелок. Показано, что такой конвейер обеспечивает устойчивость к перспективным искажениям и частичному перекрытию делений.
В штатных условиях эксплуатации достигнута:
1) для манометров: относительная погрешность 0,30% (MAE = 0,0048 при шкале 0–1,6 МПа), успешность распознавания 100%;
2) для самописцев: относительная погрешность 0,023% (MAE = 0,024 при шкале 0–100°C), что в 13 раз точнее, чем для манометров.
При имитации неблагоприятных условий (шум, засветы, размытие) система сохранила работоспособность:
- для манометров: погрешность 0,31%, успешность 88,2%;
- для самописцев: погрешность 0,50%, успешность 91,8%.
Полученная точность (0,5–1,0 деления шкалы) в 2–40 раз превышает цену деления самих приборов, что полностью удовлетворяет требованиям к автоматизированному мониторингу без необходимости ручной верификации каждого отсчёта.
Модуль интегрирован с базой данных PostgreSQL и системой визуализации Grafana, что позволяет встраивать его в существующие промышленные SCADA-системы через интерфейсы IEC-104 и OPC UA.
Перспективы дальнейших исследований. Описанная методика универсальна и может быть адаптирована для других типов приборов (термометры с круговой шкалой, уровнемеры) после соответствующей настройки разметки. Рекомендуется также расширить датасет за счёт съёмки в реальных цехах с вибрацией и переменным освещением, а также реализовать временную фильтрацию показаний для подавления единичных выбросов.
Таким образом, созданный модуль решает актуальную промышленную задачу автоматического распознавания показаний приборов, снижая трудозатраты персонала и обеспечивая точность, достаточную для большинства технологических процессов.
