УДК 629.7
РАСПОЗНАВАНИЕ ПОКАЗАНИЙ АНАЛОГОВЫХ ПРИБОРОВ НА ПРИМЕРЕ АВИАЦИОННЫХ ПРИБОРОВ ВЫСОТНО-СКОРОСТНОЙ ГРУППЫ
© 2021 А.А. Алексеев12, М. В.Гришин2'3, Е. В. Степашкина12
1 Ульяновский государственный технический университет, Ульяновск, Россия 2 Ульяновское конструкторское бюро приборостроения, Ульяновск, Россия 3 Ульяновский государственный технический университет, Институт авиационных технологий и управления, Ульяновск, Россия
Статья поступила в редакцию 17.12.2021
Статья посвящена рассмотрению вопроса распознавания показаний аналоговых приборов на примере авиационных приборов высотно-скоростной группы. Приводится подробное описание программного обеспечения, способного распознавать показания аналоговых приборов на примере авиационных приборов при их поверке. Дается описание основных функций библиотеки алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом OpenCV, использованных при распознавании показаний приборов. Программное обеспечение разработано на высокоуровневом языке общего назначения Python 3.7.7. Приведены результаты работы программы, показывающие эффективность данного метода поверки авиационных приборов высотно-скоростной группы.
Ключевые слова: авиационные аналоговые приборы высотно-скоростной группы, компьютерное зрение, авионика, поверка, распознавание образов, обработка изображений. DOI: 10.37313/1990-5378-2022-24-1-55-58
ВВЕДЕНИЕ
Несмотря на преобладание цифровых приборов, аналоговые измерители со стрелочной индикацией продолжают достаточно широко использоваться из-за ряда преимуществ [1]. Однако, аналоговые приборы не имеют цифровых интерфейсов, для проведения их поверки используют визуальное считывание показаний. Низкая эффективность и невысокая надежность, обусловленные визуальным считыванием, снижают производительность традиционных систем тестирования и поверки аналоговых приборов со стрелочной индикацией.
Таким образом, технологии компьютерного зрения были использованы для идентификации результатов измерений указателей. Методы компьютерного зрения имеют высокую применимость в данной области, в связи с ростом вычислительной мощности современных компьютеров.
РАСПОЗНАВАНИЕ ПОКАЗАНИЙ
Для поверки аналоговых приборов разработана экспериментальная программа, дающая возможность распознавать статичные показа-
Алексеев Антон Александрович, инженер-программист
2 категории, аспирант. E-mail: antoxa_alexeev@mail.ru Гришин Максим Вячеславович, кандидат технических наук, инженер-конструктор 1 категории. E-mail: likani7@mail.ru
Степашкина Елена Валерьевна, заместитель начальника отдела, аспирант. E-mail: e.stepashkina85@mail.ru
ния. Изображения прибора получены посредством камеры Л4ТееЬ РК-910Н.
Продемонстрируем возможности ПО на примере распознавания показаний Указателя скорости- 450 (УС-450), представленного на рисунке 1.
\ k! i
45 15
скорость
-35
-.30 20
6 25 У
' II 1
Рис. 1. Указатель скорости - 450 (УС-450)
Распознавание показаний реализовано по принципу, указанному на рисунке 2.
ПО разработано на языке Python 3.7.7 [2] с использованием библиотеки алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом OpenCV [3].
К достоинствам программы можно отнести простой и понятный консольный интерфейс (рисунок 3).
Рис. 2. Схема распознавания показаний прибора
Python Interpreter
*** Remote Interpreter Reinitialized *** [Obg] »>
H Call Stack: ЙЙ Variables Si Watches Щ Breakpoints Output ^ Messages c^ Python Interpreter
Рис. 3. Пример интерфейса программы
Python input
Введите минимальный угол (начало циферблата), градусы:
Рис. 4. Пример диалогового окна ввода информации
На первом этапе необходимо провести калибровку ПО. Оператор вводит минимальный и максимальный углы отклонения стрелки от вертикали (рисунок 4).
Далее, оператор сообщает ПО наибольшее и наименьшее значения, изображенные на указателе. После завершения этапа калибровки, ПО генерирует изображение на основе исходного изображения и с использованием указанной оператором информации рисунок 5.
приведением изображения к оттенкам серого, затем приведенное изображение бинаризирует-ся. Пороговое значение бинаризации было установлено эмпирическим путем, вероятно, для других приборов необходимо подкорректировать это значения. Возможно использование метода Оцу[4] для вычисления порога бинаризации. Результат второго этапа проиллюстрирован на рисунке 6.
Рис. 5 Результаты калибровки программы тестирования УС-450
Вторым этапом ПО идентифицирует положение стрелки на указателе. Это обеспечивается
Рис. 6 Результаты бинаризации исходного изображения
Следующим шагом является обнаружение стрелки аналогового прибора. Для обнаруже-
О4 45
Чо 10'
"КОРОСТЬ
Рис. 7 Результат обнаружения стрелки
Python Interpreter
*** Remote Interpreter Reinitialized *** [Dbg]»>
-35
^ 25 20
^ / I 1 V N V
Й Call Stack Ш Variables §§ Watches Breakpoints ëV Output ^ Messages ф Python Interpreter
Рис. 8 Пример работы ПО
ния используется преобразование Хафа: функция HoughLinesP(image, rho, theta, threshold) из библиотеки OpenCV, где image - изображение на котором производится поиск, rho- точность шага в пикселях, theta - точность поворота в радианах, threshold - пороговое значение. На рисунке 6 представлен пример нахождения стрелки прибора.
После идентификации стрелки, ПО, с помощью введенных данных на этапе калибровки, определяет угол отклонения стрелки и пересчитывает в показания прибора.
На рис. 8 представлен пример работы ПО.
ВЫВОДЫ
Разработанное ПО дает возможность распознавать только статичные показания. ПО находит применение при проведении проверок контрольных точек. Такой параметр, как «плавность хода» оценивается приблизительно. В целях повышения точности и реализации возможности в полном объеме контролировать плавность хода необходимо модернизировать ПО для возможности работы с сериями изображений, т.е. видеофайлами с необходимой частотой смены кадров.
СПИСОК ЛИТЕРАТУРЫ
1. Алексеев, А. А. Основные аспекты автоматизации поверки аналоговых авиационных приборов вы-сотно-скоростной группы / А. А. Алексеев // Информатика и вычислительная техника. XI Всероссийская научно-техническая конференция аспирантов, студентов и молодых ученых. - 2019. - С. 6-8.
2. Бейдер, Д. Чистый Python. Тонкости программирования для профи / Д. Бейдер. - СПб.: Питер, 2018. - 288 с.
3. Bradski G., Kaehler A. Learning OpenCV - computer vision with the OpenCV library / G. Bradski, A. Kaehler - Sebastopol: O'Reilly Media, 2008. - 556 p.
4. Фокин, Д.С. Предварительная обработка изображений сцены для выделения искомых объектов/ Д.С. Фокин, С.Н. Карабцев, Т.С. Рейн. - Москва: Технические науки, 2020.
4 Zhang, Y. Imagecalibration algorithm based on total least squares method for pointer instruments / Y. Zhang, D. Zhang, C.H. Xu, B. Xie. - Henan: Science and Technology. 2015. - V. 36(5). P.75-79.
S7
ANALOG INSTRUMENT READING USING THE EXAMPLE OF HIGH-ALTITUDE AND HIGH-SPEED FLIGHT INSTRUMENTS
© 2022 A. A. Alekseev1'2, M. V. Grishin2'3, E.V. Stepashkina12
1 Ulyanovsk State Technical University, Ulyanovsk, Russia 2 Ulyanovsk Instrument Manufacturing Design Bureau, Ulyanovsk, Russia 3 Institute of Aviation Technologies and Management of Ulyanovsk State Technical University, Ulyanovsk, Russia
The article considers the issue of analog instrument reading using the example of high-altitude and highspeed flight instruments. The article provides a detailed description of the software that can read analog gauge data through the example of flight instruments during their verification. The article describes the main functions of computer vision library, image processing, and general-purpose numerical algorithms with open source (OpenCV), used for instrument readings. The software is developed in the high-level universal programming language Python 3.7.7. The results of the program are presented, showing this method performance of checking high altitude flight instruments.
Keywords: aviation analog high-altitude and high-speed devices, computer vision, avionics, verification, pattern recognition, image processing DOI: 10.37313/1990-5378-2022-24-1-55-58
REFERENCES
1. Alekseev, A.A. Osnovnye aspekty avtomatizacii poverki analogovyh aviacionnyh priborov vysotno-skorostnoj gruppy / A. A. Alekseev // Informatika i vychislitel'naya tekhnika. XI Vserossijskaya nauchno-tekhnicheskaya konferenciya aspirantov, studentov i molodyh uchenyh. - 2019. - S. 6-8. s.
2. Bejder, D. CHistyj Python. Tonkosti programmirovaniya dlya profi / D. Bejder. - SPb.: Piter, 2018. - 288 s.
3. Bradski G., Kaehler A. Learning OpenCV - computer vision with the OpenCV library / G. Bradski, A. Kaehler - Sebastopol: O'Reilly Media, 2008. - 556 p.
4 Fokin, D.S. Predvaritel'naya obrabotka izobrazhenij sceny dlya vydeleniya iskomyh ob"ektov/ D.S. Fokin, S.N. Karabcev, T.S. Rejn. - Moskva: Tekhnicheskie nauki, 2020.
5. Zhang, Y. Imagecalibration algorithm based on total least squares method for pointer instruments / Y. Zhang, D. Zhang, C.H. Xu, B. Xie. - Henan: Science and Technology. 2015. - V. 36(5). P.75-79.
Anton Alekseev, Software Engineer of the 2nd Category, Post-Graduate Student. E-mail: antoxa_alexeev@mail.ru Maxim Grishin, Candidate of Technical Sciences, Design Engineer of the 1st Category. E-mail: likani7@mail.ru Elena Stepashkina, Deputy Head of the Department, PostGraduate Student. E-mail: e.stepashkina85@mail.ru