Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 40(294)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10

Библиографическое описание:
Бешляга Д.Д. ИСПОЛЬЗОВАНИЕ КРИВОЛИНЕЙНЫХ ИНТЕГРАЛОВ ДЛЯ РАСПОЗНАВАНИЯ ФОРМ И ОБЪЕКТОВ НА ИЗОБРАЖЕНИЯХ // Студенческий: электрон. научн. журн. 2024. № 40(294). URL: https://sibac.info/journal/student/294/351644 (дата обращения: 26.12.2024).

ИСПОЛЬЗОВАНИЕ КРИВОЛИНЕЙНЫХ ИНТЕГРАЛОВ ДЛЯ РАСПОЗНАВАНИЯ ФОРМ И ОБЪЕКТОВ НА ИЗОБРАЖЕНИЯХ

Бешляга Дарья Денисовна

студент, кафедра «Информационных и управляющих систем», Высшая школа печати и медиатехнологий, Санкт-Петербургский государственный университет промышленных технологий и дизайна,

РФ, г. Санкт-Петербург

Шекихачева Наталья Ивановна

научный руководитель,

канд. пед. наук, Высшая школа печати и медиатехнологий, Санкт-Петербургский государственный университет промышленных технологий и дизайна,

РФ, г. Санкт-Петербург

АННОТАЦИЯ

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

 

Ключевые слова: анализ изображений, криволинейные интегралы, распознавание объектов, программирование, Python, численное интегрирование.

 

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

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

Для нахождения контура фигуры был применен следующий алгоритм:

1. Загрузка изображения и его предварительная обработка, включая преобразование цвета в оттенки серого, применения фильтра Гаусса для уменьшения шума и получение бинарного изображения с помощью порогового преобразования.

2. Определение контуров.

3 Параметризация контура и сплайновая аппроксимация: обработка каждого обнаруженного контура как параметрической кривой.

4 Вычисление криволинейного интеграла с помощью численного интегрирования (метода Симпсона).

Длина вычисляется с помощью линейного интеграла: .

Для вычисления площади используется формула Грина:. Для получения положительного результата возвращается абсолютное значение площади независимо от ориентации контура.

5. Сравнение исходного и полученного изображения(рис.1).

Для реализации программного решения был использован язык программирования Python и следующие библиотеки:

  1. OpenCV: обработка изображения.
  2. Numpy: работа с массивами.
  3. Scipy.interpolate: интерполяция функций.
  4. Matplotlib.pyplot: отображение изображений.

 

Рисунок 1. Пример распознавания форм на изображении

 

В Таблице 1 указаны данные о площади и длине, полученные с использованием криволинейных интегралов и библиотеки OpenCV.

Таблица 1

Характеристики распознанных контуров

 

Длина (численное интегрирование)

Длина (OpenCV)

Площадь (численное интегрирование)

Площадь (OpenCV)

Контур 1

3025.92

 3634.00

1085459.10

760092.00

Контур 2

939.27

614.97

22663.26

22582.00

Контур 3

697.62

647.98

22360.48

22275.00

Контур 4

677.53

629.96

29578.37

28446.00

Контур 5

779.49

714.28

18420.40

17893.50

Контур 6

758.63

647.31

54270.33

26246.00

Контур 7

736.06

634.50

20349.17

18477.00

Контур 8

604.59

559.14

20485.85

20290.50

Контур 9

583.26

568.61

18135.82

17069.00

 

Различия в результатах, полученных методами криволинейного интегрирования и OpenCV, обусловлены: аппроксимацией контуров в OpenCV, алгоритмы которой потенциально подвержены упрощению с потерей точности, точностью численного интегрирования и его чувствительностью к шуму, а также различиями в представлении контура: дискретное против сплайн-аппроксимации.

Таким образом, методы OpenCV обеспечивают высокую скорость обработки, но снижают точность для сложных или зашумлённых контуров. Криволинейные интегралы, напротив, точнее для гладких контуров, но вычислительно сложнее. Оптимальный метод определяется компромиссом между скоростью и точностью, который особенно важен для сложных контуров.

Вычисленные характеристики могут быть использованы для классификации объектов по форме (рис.2).

 

Рисунок 2. Пример распознавания формы на изображении

 

Простой пример — определение круга по отношению периметра к площади(рис.3). Однако, такой подход ограничен идеальными условиями и простыми фигурами. Надежная классификация сложных форм требует более совершенных методов, учитывающих особенности контура, например, методов машинного обучения.

 

Рисунок 3. Результат определения формы на изображении

 

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

В сфере индустрии разработки игр, применение криволинейных интегралов позволяет решать задачи анализа траекторий персонажей и сложных двумерных форм в играх с нестандартной механикой или уникальным художественным стилем, моделирования физики мягких тел, оценки кривизны ландшафта для оптимизации навигации, а также определять площади текстур, например, для расчёта силы воздействия и проверки столкновений сложных объектов.

В мультимедийных приложениях используют распознавание рукописного ввода, определение скорости и ускорения объектов путем анализа их криволинейных траекторий для обработки видео, создание плавной анимации посредством генерации и оптимизации кривых.

Криволинейные интегралы могут быть полезным инструментом для анализа формы объектов на изображениях, особенно в случаях, когда требуется высокая точность и обработка сложных форм. Однако, следует учитывать вычислительную сложность и необходимость предварительной обработки.

 

Список литературы:

  1. Фисенко В.Т. Компьютерная обработка и распознавание изображений / В.Т. Фисенко — СПб.: ИТМО, 2008 — 195 с.
  2. Numpy and Scipy Documentation [Электронный ресурс]. – Режим доступа: https://docs.scipy.org/doc/scipy/reference/interpolate.html (дата обращения: 01.11.2024).
Удалить статью(вывести сообщение вместо статьи): 

Оставить комментарий