elements of onboard spacecraft equipment in a limited time by small teams of developers. The experience of creation of onboard equipment of small spacecraft «mozhaets-4» and «mozhaets-5», created in the military space Academy named after A. F. Mozhaisky, is described. The material of the article can be useful in the development of elements of onboard and special equipment of spacecraft.
Key words: spacecraft, onboard equipment, industrial automation equipment, industrial computer, time constraints.
Farafonov Alexander Vladimirovich, head of the laboratory, farik196@,mail.ru, Russia, Saint-Petersburg, Military Space Academy named after A.F. Mozhaysky,
Slatov Valery Leonidovich, senior researcher, slatov65@,mail. ru, Russia, Saint-Petersburg, Military Space Academy named after A.F. Mozhaysky
УДК 004; 655.28.022.1
ПОИСК СПОСОБА УСКОРЕНИЯ ПРОЦЕССА ОПРЕДЕЛЕНИЯ СРЕДНЕГО ЦВЕТА ИЗОБРАЖЕНИЯ
Е.Н. Пальчун, Б.С. Яковлев, Н.Е. Проскуряков
Представлены результаты экспериментальных исследований по выявлению параметров, влияющих на скорость определения среднего цвета при использовании программных решений, построенных на языках C# и Python. Экспериментальными и аналитическими средствами были выявлены основные параметры, влияющие на скорость процесса определения среднего цвета. Проверялись гипотезы по влиянию на скорость процесса за счет уменьшения размера изображения и применения разных языков программирования.
Ключевые слова: средний цвет, изображение, цветовая модель RGB, C#, pixelColor.R, pixelColor.G, pixelColor.B, Python, библиотека PIP, TIF, JPG, BMP, PNG.
В современном мире постоянно растет объем информации, как графической, текстовой так других форм. Появляются новые тенденции и методы по влиянию, редактированию и обработки цифрового контента. Наиболее быстро и большими темпами это проявляется в сфере обработки графики, видео и трехмерном моделировании, производстве игр.
К подобным тенденциям можно отнести более частое применение и использование инструментов изменения большого количества параметров изображения за одно действие. Например, ранее считалось, что для редактирования изображения вполне достаточно балансировки цветовых каналов, яркости, контрастности для достижения приемлемого результата. Однако, сейчас все чаще стали применяться корректировки параметров цветовой температуры, цветовой насыщенности. Они как инструменты добавляются в редакторы изображений и видео. Для последнего типа контента стало можно применять контроль цветовой насыщенности на весь фильм, клип по выбранному участку одного из кадров видео файла.
32
Контроль цвета на изображении часто решают за счет применения определения среднего цвета самого изображения. Однако, скорость процесса очень медленная, за счет того, что необходимо опросить каждый пиксель всего изображения, а это достаточно внушительная цифра. Например, FULL HD предполагает размер кадра 1920 на 1080 точек. Значит количество операций по опросу точек должно составить - 2 073 600 операций. Однако, это цифра требует умножения на 3, так как для подсчета среднего показателя нужно не комплексное значение цвета - HEX, а показатели каждого из каналов для каждого пикселя, так как они являются числовыми проявлениями, не имеющими буквенной части.
Поэтому в подобных задач всегда нужно пытаться сократить время обработки. На наш взгляд на эту проблему могут оказывать влияние следующие факторы: размер изображения, графический формат, цветовая модель и сама работа языка программирования.
Влияние графического формата и цветовой модели на скорость процесса подсчета среднего цвета, можно проанализировать теоретически, так как это достаточно просто.
Цветовых моделей не так много, многие из них нам не подходят. Например, CMYK не лучший вариант из-за того, что он содержит 4 значения, что увеличит в 4 раза время подсчета, а не в три как в случае использования RGB, HSL, LAB. HSL не подходит из-за того, что эта модель невероятно чувствительна к изменениям, что показала работа [1]. LAB не подходит из-за того, что для него не критично отличие в одну единицу в любом из каналов любых цветовых моделей, он начинает показывать что это другой цвет при изменениях в 2 единицы суммарно, не зависимо от каналов цвета. К тому же, он может давать отрицательные значения координат в каналах L, A, B.
Нам не подходят векторные форматы и многие растровые, например, содержащие слои. Их опрос крайне сложен. Поэтому можно выделить ряд наиболее часто встречающихся однослойных растровых форматов и провести эксперименты с ними.
Наиболее важными на наш взгляд параметрами может быть уменьшение размера изображения, так как это уменьшает количество итераций опроса пикселей, а также возможности языка программирования, влияющие на скорость процесса. К последним можно отнести простую возможность выполнять работу в устройствах ЭВМ, которые не входят в стандартный инструментарий для обычных задач вычислений, например, видеокарты или оперативная память.
Так, C# очень плохо ориентирован для работы с устройствами, для работы с ними при компиляции необходимо указывать, что данное ПО не работает по стандарту Microsoft. Это опасно с точки зрения стабильности работы ПО.
Python гибкий, универсальный язык программирования, но самое главное, что он очень быстро развивается, под него колоссальное количество дополнительных библиотек от сторонних разработчиков и он, как язык может работать более просто с оборудованием, он более низкоуровневый, чем C#.
До начала проверки самой очевидной гипотезы, о влиянии размера изображения на скорость процесса, нужно установить порог, при котором изображение все еще может считаться сопоставимым по цвету с оригиналом. Мы не можем уменьшать изображение до бесконечности, так как с определенного этапа начинает активно влиять шум и ухудшается качество, что показала работа [1].
Один из полученных выводов в данной работе гласит, что изображения с превалирующим цветом, который совпадает с цветами каналов цветовых моделей не влияет на порог, при котором изображение теряет изначальный показатель среднего цвета оригинала.
Значит провести эксперимент можно над любым изображением популярных форматов. Мы выделили JPG, TIFF, PNG, BMP с разрешением 75 DPI с изначальными размерами 1024 х 768 pixy. Форматы разноплано-вы, два из которых могут содержать альфа каналы. Результаты экспериментов приведены в таблице.
Исследования проводились с применением разработанного ПО на базе языка C#, а также Adobe Photoshop Version: 13.0.1 x32, запущенных на ЭВМ следующей конфигурации: Windows 10, Intel CPU Family:6, Model:10, Stepping:9 with MMX, SSE Integer, SSE FP, SSE2, SSE3, SSE4.1, SSE4.2, HyperThreading, Physical processor count: 4, Logical processor count: 8, Processor speed: 3410 MHz, оперативной памятью 8 Гб.
Также эксперимент проводился на удаленном сервере с установленной системой Linux Ubuntu Server. Он был практически идентичны ЭВМ из первого эксперимента с ОС Windows 10: Процессор: Intel(R) Xeon(R) CPU X5460 @ 3.16GHz; оперативная память: 8 Гб; Тип системы: 64-разрядная операционная серверная система Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-50-generic x86_64). Было разработано программное обеспечение на языке Python специально для данной ОС.
Экспериментальное программное обеспечение на обоих языках работает по принципу опроса пикселей в изображении и определяет по ним средний цвет. Интерфейс данного ПО представлен на рис. 1. Образец графического файла представлен на рис. 2.
Полученные значения среднего цвета, времени операции для исследуемого образца представлены в таблице.
Стоит отметить, что показатель среднего цвета был определен языками программирования с отличиями. При этом, если эталонный средний цвет формата BMP составляет 199.94.15 по модели RGB, то в случае уменьшения изображения на 90 % Python показал цвет 198.94.15, что является более точным значением относительно оригинала, чем у C# -201.98.17. Также стоит учитывать, что на основе экспериментов из работы
[1] мы применяли в С# метод опроса, который работал с изображениями в оперативной памяти, что в ходе прошлых экспериментов позволило сократить время обработки на 5 минут относительно изначальных 20 минут.
Определен« ьредгадочмч* ИОВ <6вйгшми| X
б
Рис. 1. Интерфейс программного обеспечения по анализу среднего цвета на изображении: а - C#; б - Python
Рис. 2. Тест-объекты для эксперимента по установлению порога изменения размеров изображений без существенного искажения
среднего цвета
35
Время определения среднего цвета изображения в зависимости __от языка программирования _
Процент уменьшения, % Размер изображения, р1х Средний цвет изображения в модели ЯвВ Время анализа на языке программирования С#, мин. Время анализа на языке программирования Python, мин.
Формат ВМР
100 (эталонный) 1024 х 768 199.94.15 15.77 0,18
90 922 х 691 199.94.15 12.32 0,15
80 819 х614 199.94.15 9.5 0,15
70 717 х 538 199.94.16 7.37 0,12
60 614 х461 199.94.16 5.15 0,07
50 512 х384 199.94.16 3.52 0,05
40 410 х307 199.94.16 2.23 0,03
30 307 х 230 199.94.16 1.27 0,02
20 205 х154 199.94.16 0.55 0,02
10 102 х 77 201.98.17 0.13 0,008
Формат 1Рв
100 (эталонный) 1024 х 768 199.94.15 15.42 0,18
90 922 х 691 199.94.16 12.77 0,15
80 819 х614 199.94.16 9.93 0,14
70 717 х 538 199.94.16 8.65 0,12
60 614 х461 199.94.16 5.27 0,07
50 512 х384 199.94.16 3.62 0,05
40 410 х307 199.94.16 2.3 0,03
30 307 х 230 199.94.16 1.28 0,02
20 205 х154 200.96.16 0.58 0,02
10 102 х 77 201.97.16 0.15 0,008
Формат Р^
100 (эталонный) 1024 х 768 199.94.15 16.02 0,2
90 922 х 691 199.94.15 12.55 0,18
80 819 х614 199.94.15 9.65 0,13
70 717 х 538 199.94.16 7.25 0,1
60 614 х461 199.94.16 5.37 0,08
50 512 х384 199.94.16 3.55 0,06
40 410 х307 199.94.16 2.25 0,03
30 307 х 230 199.95.16 1.25 0,02
20 205 х154 199.95.16 0.55 0,02
10 102 х 77 199.95.16 0.13 0,008
Формат ТШ
100 (эталонный) 1024 х 768 199.94.15 15.82 0,18
90 922 х 691 199.94.15 12.45 0,16
80 819 х614 199.94.16 9.47 0,14
70 717 х 538 199.94.16 7.12 0,12
60 614 х461 199.94.16 5.13 0,07
50 512 х384 199.94.16 3.53 0,05
40 410 х307 199.94.16 2.27 0,03
30 307 х 230 199.94.16 1.25 0,02
20 205 х154 199.94.16 0.55 0,02
10 102 х 77 201.99.17 0.13 0,008
На основе проведенный исследований можно сделать следующие выводы.
1. Графический формат BMP дает возможность определять средний цвет изображения при 90 % уменьшении размера изображения, что дает возможность анализировать их в среднем за самое короткое время, не теряя существенно в качестве анализа.
2. Скорость процесса получения среднего цвета изображения незначительно зависит от графического формата. Так PNG формат анализировался в целом дольше всех остальных.
3. Программа на Python показала недостижимое уменьшение времени операции по резервному копированию. Сокращение времени операции относительно C# составило от 89 до 16 раз. Стоит отметить, что разница во времени операции сокращалась в зависимости от уменьшения оригинального изображения.
4. В данной статье не явно показано, но в ходе эксперимента все же было выявлено, что язык программирования Python показывал меньшее отличие среднего цвета от показателей оригинала для всех форматов, даже на уменьшении размеров изображений на 90 % не зависимо от формата. Данный момент необходимо более глубоко исследовать, так как это существенно повлияет на скорость процесса, из-за возможности применять любые из исследуемых форматов с более высоким процентом уменьшения, чем было показано в статьях [1, 2].
5. Несмотря на то, что C# показал худший результат в данной операции с использованием стандартных для себя инструментов по работе с пикселями изображений, решения на его основе нельзя игнорировать. Скорее всего такие показатели вызваны непродуманностью интерфейса ПО. В данной работе использовалось ПО, которое в ходе анализа меняло показатели среднего цвета в интерфейсе на «лету», тогда как Python на экран выводил только значение одного канала - R. Также Python не имеет как такого интерфейса и это ускоряет его работу, но в то же время делает его не столь интуитивно понятным как оконное приложение на C#. Поэтому идеальным вариантом, на наш взгляд, было бы использование ряда утилит, написанных на Python, выполняющих свою специфическую и очень конкретную функцию, а C# следил за ходом операции в целом и назначал задания. На наш взгляд, данный метод должен выполнять операции быстрее и стабильней, а также будет универсальным, так как каждая утилита может применяться отдельно и при этом не должно проводить перекомпиляции ПО.
Список литературы
1. Proskuriakov N.E., Yakovlev B.S., Arkhangelskaia N.N. Determination of parameters affecting the calculation time of the image average colour // Mechanical Science and Technology Update. 2019. Series 1260 (2019). 072017. DOI: 10.1088/1742-6596/1260/7/072017.
2. Proskuriakov N.E., Yakovlev B.S. Video quality control by determining the frame average color // Journal of Physics: Conference Series. 2019. 1441 (2020). 012076. DOI: 10.1088/1742-6596/1441/1/012076.
37
Пальчун Екатерина Николаевна, канд. техн. наук, доцент, kat.protivalist.ru, Россия, Тула, Тульский государственный университет,
Яковлев Борис Сергеевич, канд. техн. наук, доцент, bor_ yakamail. ru, Россия, Тула, Тульский государственный университет,
Проскуряков Николай Евгеньевич, д-р техн. наук, профессор, vippneamail. ru, Россия, Тула, Тульский государственный университет
SEARCH METHOD FOR ACCELERATING THE DETERMINATION PROCESS
MEDIUM COLOR IMAGES
E.N. Palchun, B.S. Yakovlev, N.E. Proskuryakov
The results of experimental studies on the identification of parameters that affect the speed of determining the average color when using software solutions built in C # and Python are presented. Experimental and analytical tools identified the main parameters that affect the speed of the process of determining the average color. Hypotheses were tested on the effect on the speed of the process by reducing the image size and using different programming languages.
Key words: medium color, image, RGB color model, C #, pixelColor.R, pixelCol-or.G, pixelColor.B, Python, PIP library, TIF, JPG, BMP, PNG.
Palchun Ekaterina Nikolaevna, candidate of technical sciences, docent, kat.protiva list.ru, Russia, Tula, Tula State University,
Yakovlev Boris Sergeevich, candidate of technical sciences, docent, bor_ vak@mail. ru, Russia, Tula, Tula State University,
Proskuryakov Nikolay Evgenievich, doctor of technical sciences, professor, vippnea mail. ru, Russia, Tula, Tula State University
УДК 519.9.62.50
ОРГАНИЗАЦИЯ АЛГОРИТМА ПЕРЕМЕЩЕНИЯ БЕСПИЛОТНОГО ОБЪЕКТА В ПРОСТРАНСТВЕ МЕТОДОМ КОМПОЗИЦИИ
ДВОЙСТВЕННЫХ ПАР
А.В. Демидова, Е.А. Семенчев
Рассматриваются метод декомпозиции сложных объектов по двойственным отношениям и возможность его применения для построения алгоритма перемещения автономного беспилотного объекта в пространстве путем композиции элементарных двойственных пар.
Ключевые слова: двойственные отношения, двойственная пара, метод декомпозиции-композиции, алгоритм перемещения, беспилотный объект.
В настоящее время актуальны разработки автономных транспортных платформ (АТП) различного назначения, перемещение которых в пространстве зависит от эффективности алгоритмов управления. Целью
38