Особенности проектирования масштабируемых кроссплатформенных программных систем распознавания изображений с разнородными структурами данных на различных этапах обработки
Authors: Уржумов Д.В. 
Published: February 2025

Исследуются особенности управления памятью и библиотеками динамической загрузки в системах распознавания изображений с разнородными структурами данных на различных этапах обработки. Анализируется механизм распределения памяти для сохранения параметров между выполнением процедур алгоритма. Рассматривается методика сегментации данных на блоки, размер которых определяется как модальное значение распределения объёмов памяти, занимаемых распространёнными типами данных. Предлагается методика индексации данных, инвариантная к их логической структуре, основанная на расчёте смещений полей данных в структурах и получении абсолютного адреса каждого поля с последующей ассоциацией адреса с литеральным идентификатором. Рассматривается возможность унификации процедуры загрузки динамических библиотек с последующим вызовом функций на основе символического описания сигнатур. Спроектирована структура данных, обеспечивающая поддержку исследуемых возможностей.

Introduction. The common task of image processing is the analysis of scenes, containing different types of objects, such as large sized, small sized and group objects. For convenience of their analytical representation different mathematical descriptions can be applied. They can be represented using different data types. Processing profiles implementation based on procedures of different types requires interpretation of a huge amount of data, describing intermediate states between procedures, without direct conversion, that decreases system performance. The use of crossplatform dynamic link libraries for adding new algorithms to the system also poses a task of synthesis of productive interfaces for data upload and download. The aim of the research is the synthesis of efficient methods of data interpretation for usage in procedures without laborconsuming conversion, as well as synthesis of productive interfaces to access procedures of dynamic link libraries. Problem area analysis. Most of data, applying during image analysis, may be realized as structures or classes, integrating numerical data typically real type. Mostly probable amount of data, allocated at a time, is 4 bites. An associative array that orders data block sets by the size is proposed to index memory segments. An ability of taking a part of memory from the block back for reallocation memory allows to avoid integration of adjoint blocks without losses in performance. It is proposed to achieve data unification by the direct memory access to the structures. Mechanism of matching library functions to their signature analytical description, required to add new procedures from dynamic link libraries, was proposed to realize by template classes family. It was proposed to implement nonstandard parameters as wrapper classes on their initialization procedures from dynamic link libraries. The C language is the most appropriate for development due to combination of direct data access with highlevel metaprogramm methods. Findings and discussion. Class diagrams that exhibit software architecture of memory management, data interpretation and dynamic link library integration, followed with classes and their interconnections description, were proposed. Conclusions: The proposed classes hierarchies provide flexibility and performance for data and side libraries algorithms management. Further research is supposed to focus on gathering statistics of memory consumption to realize efficient predictions for memory usage minimization and library usage frequency for preliminary upload of most applicable library at the system initialization.