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

Статья опубликована в рамках: LXXXVII Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 26 мая 2025 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Ельников М.С., Яргин З.М. СРАВНЕНИЕ МОДЕЛЕЙ ГЛУБОКОГО ОБУЧЕНИЯ НА ПРИМЕРЕ ЗАДАЧИ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ ДЛЯ ВЫЯВЛЕНИЯ ЛЕСНЫХ ПОЖАРОВ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. LXXXVII междунар. науч.-практ. конф. № 5(78). – Новосибирск: СибАК, 2025. – С. 77-95.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

СРАВНЕНИЕ МОДЕЛЕЙ ГЛУБОКОГО ОБУЧЕНИЯ НА ПРИМЕРЕ ЗАДАЧИ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ ДЛЯ ВЫЯВЛЕНИЯ ЛЕСНЫХ ПОЖАРОВ

Ельников Максим Сергеевич

студент 4 курса бакалавриата, федеральное государственное автономное образовательное учреждение высшего образования «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)»,

РФ, г. Москва

Яргин Захар Максимович

студент 4 курса бакалавриата, федеральное государственное автономное образовательное учреждение высшего образования «Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет)»,

РФ, г. Москва

Введение и постановка задачи

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

В рамках данного исследования рассматривается задача классификации изображений на три класса:

  • дым (наличие признаков задымления),
  • пожар (активное горение, пламя),
  • нормальная ситуация (отсутствие огня или дыма).

Рисунок 1. Пример изображений из датасета. Источник: [1]

 

Цель исследования — провести сравнение двух подходов к построению классификационного пайплайна:

1. Обучение модели Vision Transformer (ViT). Обучение будет происходить с Использованием предобученной модели для извлечения признаков VIT в разных вариациях, дообучая лишь классификатор. Также при обучении используется большой объём размеченных данных.

2. Использование предобученной модели DINOv2 для извлечения признаков и последующая классификация с помощью простого KNN (k-nearest neighbors), опираясь на небольшой объём размеченных примеров.

Используемый датасет

Для экспериментов использовался открытый набор данных Forest Fire, Smoke and Non-Fire Image Dataset [1], опубликованный на Kaggle. Датасет включает:

  • 42,900 изображений, разделенных на тренировочную и тестовую выборку
  • классы: fire, smoke, normal,
  • изображения различного качества и ракурса, собранные из реальных условий, включая воздушную съёмку и наземные камеры,
  • данные организованы по папкам, что упрощает использование через стандартные загрузчики PyTorch.

Особенностью данного набора является высокая степень визуального разнообразия (разные погодные условия, освещение, география)

2. Теоретические основы

2.1 Vision Transformer (ViT)

Vision Transformer (ViT) — это архитектура нейронной сети, адаптированная из трансформеров, изначально разработанных для обработки последовательностей в задачах обработки естественного языка (NLP). В отличие от традиционных сверточных нейронных сетей (CNN), ViT применяет механизм самовнимания (self-attention) для моделирования глобальных взаимосвязей между различными частями изображения. Это позволяет модели эффективно захватывать как локальные, так и глобальные особенности изображений. Особенность данной архитектуры смогла показать достаточно высокие результаты на различных датасетах. А ее основа данной архитектуры легла во многие решения начиная от классификации до решения задач OCR и детекции с VLM решениям.

Архитектура ViT

Архитектура ViT состоит из нескольких ключевых компонентов:

1. Разбиение изображения на патчи (Patch Embedding):

  • Входное изображение размером, например, 224×224 пикселя, делится на неперекрывающиеся патчи размером 16×16 пикселей.
  • Каждый патч разворачивается в вектор и проецируется в пространство признаков фиксированной размерности с помощью линейного слоя.
  • Таким образом, изображение представляется как последовательность токенов, аналогично словам в NLP.

 

Рисунок 2. Схема представления обработки изображения.

 Источник: составлено автором

 

2. Добавление позиционных эмбеддингов:

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

 

Рисунок 3. Схема представления обработки изображения.

 Источник: составлено автором

 

3. Класс-токен ([CLS] token):

  • Специальный токен [CLS] добавляется в начало последовательности токенов.
  • После прохождения через трансформер, выход этого токена используется для классификации всего изображения.

4. Трансформерный энкодер:

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

Рисунок 4. Архитектура энкодера трансформера.

Источник: [2]

 

5. Классификационная голова (MLP Head):

  • Выходной вектор [CLS] токена передается через многослойный перцептрон (MLP), который выдает вероятности принадлежности изображения к различным классам.

 

Рисунок 5. Итоговая архитектура VIT.

 Источник: [2]

 

Преимущества модели VIT

  • Глобальное восприятие: Механизм самовнимания позволяет ViT учитывать взаимосвязи между всеми частями изображения, что особенно полезно для сложных задач классификации.
  • Масштабируемость: ViT демонстрирует улучшение производительности при увеличении объема обучающих данных и размера модели.
  • Отсутствие индуктивных смещений: В отличие от CNN, ViT не использует априорные предположения о локальности и трансляционной инвариантности, что делает его более гибким, но требует больше данных для обучения.

Ограничения, накладываемые на работу с VIT

  • Требования к данным: для эффективного обучения ViT необходимы большие объемы размеченных данных, что может быть проблематично в условиях ограниченных ресурсов.
  • Вычислительные ресурсы: Обучение ViT требует значительных вычислительных мощностей, особенно при работе с высокоразрешающими изображениями. Как правило размерность для изображений для модели это 224x224.

2.2 DINOv2

DINOv2 (DIstillation with NO labels version 2) — это самообучающаяся модель, разработанная Meta AI, которая обучается без использования размеченных данных. Её цель — извлечение высокоуровневых визуальных представлений (фичей), пригодных для решения широкого спектра задач компьютерного зрения.

Ключевые особенности DINOv2

  • Self-supervised обучение (SSL):

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

  • Архитектура Vision Transformer (ViT):

Используется трансформерная архитектура, что позволяет эффективно учитывать как локальные, так и глобальные зависимости в изображении и извлекать богатые представления.

  • Универсальность:

Извлечённые моделью представления могут применяться для различных downstream-задач (например, классификация, сегментация, поиск изображений) без необходимости дополнительного обучения.

Данный подход относится к классу self-supervised методов, основанных на дистилляции без разметки (Self-Distillation with NO labels). Разработчики DINO поставили задачу: понять, какие визуальные признаки может выучить Vision Transformer, если обучать его без меток.

Визуальные особенности DINO

Как показано на рисунке 5, карта внимания на выходе предобученного ViT (обученного с использованием DINO) демонстрирует уникальные свойства:

  • Выявление границ объектов:

Признаки модели явно кодируют фрагменты сцены, такие как контуры и границы объектов, чего не наблюдается при традиционном supervised-обучении в трансформерах или сверточных сетях.

  • Высокое качество признаков для простых моделей:

Даже без дообучения простейший классификатор KNN, обученный на извлечённых DINO признаках, достигает 78.3% точности на ImageNet, что подчеркивает высокое качество этих представлений.

 

Рисунок 6. Карта внимания модели DINO после обучения.

Источник: [3]

 

DINO как foundation-модель

Эти качества, вкупе с возможностью использовать для обучения практически неограниченные объемы неразмеченных данных (например, изображения из интернета), позволяют относить DINO к так называемым foundation models.

Такие модели обладают обширными универсальными знаниями и позволяют решать широкий спектр задач без необходимости специализированного fine-tuning’а. В отличие от моделей, таких как SAM или CLIP, DINO не требует разметки на этапе обучения, что:

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

Эти свойства модели, которую наделяет данный подход в процессе обучения, плюс возможность использования огромного набора картинок без разметки (по сути, весь интернет) позволяют отнести ее к так называемым “Foundation Models”. Такие модели вбирают в себя огромный пласт знаний и позволяют решать без дообучения большинство известных задач с приемлемым качеством. При этом в отличие от моделей SAM [4] и CLIP [5], здесь для обучения вообще не требуется разметка. Во-первых, это делает процесс обучения более дешевым. Во-вторых, позволяет извлечь больше информации и не ограничиться существующей разметкой.

Алгоритм DINO: student-teacher обучение

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

Как показано на рисунке 6, на вход обеим сетям подаётся одно и то же изображение, но предварительно обработанное разными наборами аугментаций. Таким образом, модель учится извлекать устойчивые к изменениям представления, которые можно использовать в downstream-задачах.

Рисунок 7. Метод обучения DINO.

Источник: [3]

 

Выход P для сетей нормализуется функцией softmax.

 

где

выход сети «студент»

 – входное изображение

k – размерность входа сети

температура софтмакса

параметры сети g

Целью обучения является минимизация расхождения между выходами сети-учителя и сети-студента:

где  кросс-энтропия между прогнозом “студента” и “учителя”:

При этом градиенты считаются только по сети-студенту, а параметры учителя обновляются с помощью экспоненциального скользящего среднего (EMA):

 

Основное отличие DINO от классической дистилляции знаний заключается в том, что учитель изначально не предобучен — его веса инициализируются на основе весов студента и обновляются в процессе обучения, что реализует так называемый momentum encoder.

Принципы SSL обучения в DINO

Входное изображение подвергается набору аугментаций, в результате чего формируются:

  • два глобальных кропа размером 224×224, захватывающих более 50% изображения;
  • шесть локальных кропов размером 96×96, покрывающих менее 50% изображения.

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

Улучшения в DINOv2

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

Рисунок 8. Пайплайн для предобработки изображений.

Источник: [3]

 

Пайплайн подготовки данных

Для обучения использовался специальный pipeline (см. рисунок 7), включающий:

  • Curated data: тщательно подготовленные датасеты высокого качества, такие как ImageNet-22k и Google Landmarks.
  • Uncurated data: изображения из интернета, очищенные от дубликатов с помощью PCA, отфильтрованные по содержимому (с применением специальных нейронных сетей), с размытыми лицами для соблюдения приватности.

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

Особенности подхода

DINOv2 использует дискриминантный self-supervised подход, совмещая лосс-функции DINO и iBOT. Это означает, что помимо кросс-энтропии между выходами учителя и студента на уровне всего изображения (image level), учитывается также согласованность между фрагментами изображения на уровне патчей (patch level) после маскирования — ключевой механизм iBOT.

3. Реализация

3.1 ViT

При реализации пайплайна модели для дообучения изначально использовался bacbone модели VIT «vit_base_patch16_224» для решения задачи, а также классификатор состоящий из двух полносвязных слоев и нормализации с функцией активации GELU между ними (см. рисунок 8)

 

Рисунок 9. Архитектура классификатора модели.

Источник: составлено автором

 

Для подготовки данных был разработан специальный класс, включающий создание кастомного датасета и загрузчика данных (DataLoader), а также встроенный предобработчик изображений, настроенный в соответствии с требованиями архитектуры ViT.

В ходе экспериментов модель на основе vit_base_patch16_224 продемонстрировала высокие результаты: показатель F1-меры достигал 99%. Учитывая простоту задачи и качество данных, было принято решение о снижении размерности модели и переходе на конфигурацию vit_tiny_patch16_224, что позволило значительно уменьшить вычислительные затраты при сохранении высокого качества классификации.

 

Рисунок 10. Резульаты обучения в ClearML.

Источник: составлено автором

 

Для мониторинга обучения использовался фреймворк ClearML, предоставляющий средства для:

  • логгирования метрик и артефактов (включая, например, confusion matrix);
  • контроля версий датасета с использованием DVC (Data Version Control);
  • обеспечения масштабируемости и воспроизводимости экспериментов в рамках проекта.

Как показывают результаты (см. рисунок 9), предложенный пайплайн позволяет эффективно решать задачу классификации с использованием моделей семейства ViT, при этом достигая высокой точности даже на компактных конфигурациях.

 

Рисунок 11. confusion matrix, сохраненная артфектом по окнчании обучения.

Источник: составлено автором

 

3.2 DINOv2 + KNN

В рамках экспериментов был реализован пайплайн, включающий использование предобученной модели DINOv2 [3] (архитектура ViT) для извлечения признаков с последующей классификацией с помощью алгоритма K-ближайших соседей (KNN).

Первоначально была взята модель DINOv2 (вариант dinov2_vits14), предобученная на большом количестве неразмеченных изображений, была загружена через torch.hub. Эта модель служит универсальным экстрактором признаков, способным кодировать высокоуровневые семантические зависимости без дополнительного обучения на конкретной задаче.

Модель переводилась в режим eval (выключение dropout, batch norm в режиме инференса) и переносилась на доступное устройство (GPU или CPU).

Данные были организованы по стандартной схеме: тренировочная и тестовая выборки в отдельных директориях.

Для предобработки изображений использовался пайплайн трансформаций:

  • изменение размера (Resize) до 224×224,
  • центрированный кроп (CenterCrop),
  • преобразование в тензор (ToTensor),
  • нормализация с mean = [0.5, 0.5, 0.5] и std = [0.5, 0.5, 0.5].

Для экспериментов был создан балансированный поднабор тренировочной выборки с фиксированным количеством изображений на класс (n_samples_per_class), чтобы сравнить качество модели при разных объемах данных. Например, изначально использовалось 1000 изображений на класс, а затем количество постепенно снижалось до 250 и 100 изображений для оценки влияния уменьшения данных на итоговые метрики.

 

Рисунок 12. confusion matrix, полученная на 100 примерах на класс.

Источник: составлено автором

 

Рисунок 13. confusion matrix, полученная на 250 примерах на класс

 

Рисунок 14. confusion matrix, полученная на 500 примерах на класс.

Источник: составлено автором

 

Для извлечения признаков использовалась функция extract_features.

Она проходила по всем батчам изображений, прогоняла их через метод forward_features модели DINOv2, извлекая нормализованные вектора x_norm_clstoken (это embedding [CLS] токена — агрегированный признак всего изображения). Эти признаки сохранялись как NumPy - массивы вместе с соответствующими метками классов.

Для классификации использовался алгоритм KNeighborsClassifier из библиотеки scikit-learn.

Была проведена настройка гиперпараметров с помощью GridSearchCV:

  • количество соседей: [1, 3, 5, 7, 10, 15],
  • веса соседей: uniform или distance,
  • метрика расстояния: cosine, euclidean, manhattan.

В качестве метрики качества использовался macro F1-score (сбалансированное усреднение по классам). После подбора параметров модель обучалась на тренировочных данных (извлечённых признаках) и делала предсказания на тестовых данных.

По результатам работы DINOv2 были достигнуты следующие задачи:

Рассчитаны и проанализированы:

  • итоговый accuracy на тестовой выборке;
  • подробный classification report (precision, recall, f1-score по классам);
  • macro и weighted F1 метрики;
  • confusion matrix для визуального анализа ошибок.

По результатам:

  • при использовании 500 изображений на класс модель достигла F1 ≈ 96.75%;
  • при снижении до 250 изображений на класс F1 оставался на допустимом уровне ≈ 95.91%;
  • при дальнейшем снижении до 100 изображений на класс F1 падал до ≈ 91.88%, что считалось недопустимым уровнем точности.

Выводы

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

  1. обучение классификационного пайплайна на базе архитектуры Vision Transformer (ViT) с дообучением классификатора,
  2.  использование предобученной self-supervised модели DINOv2 с последующей классификацией с помощью алгоритма K-ближайших соседей (KNN).

Основные результаты:

  • ViT (дообучение классификатора):

Модель ViT, использующая backbone vit_base_patch16_224, показала выдающиеся результаты на исследуемом датасете, достигая F1-меры ≈ 98%. При переходе на более лёгкие конфигурации (например, vit_tiny_patch16_224) удалось сохранить высокие метрики при значительном снижении вычислительных затрат. Это свидетельствует о том, что ViT является мощным инструментом, однако требует значительного количества размеченных данных и ресурсов для обучения.

  • DINOv2 + KNN:

Предобученная модель DINOv2 показала себя как эффективный экстрактор признаков, способный достигать высоких результатов даже с простыми классификаторами, такими как KNN.

При обучении на 500 изображениях на класс достигнута F1 ≈ 96.75%; при снижении до 250 изображений на класс — F1 ≈ 95.91%, что остаётся на приемлемом уровне. Однако при дальнейшем уменьшении объёма данных (100 изображений на класс) наблюдается падение F1 до ≈ 91.88%, что свидетельствует о необходимости минимального порога данных для сохранения качества. Что самое важное – это то, что тем самым при использовании сопоставимого значения даже в 500 изображений на класс наши затраты на ресурсы в обучении и разметке снизились с 30000 тысяч изображений на 3 класса до 1500, что при базовой ставке в 220 рублей в час для разметке при затратах по 5 секунд на изображение, без учета цены за сбор составит порядка полумиллиона рублей выгоды.

Использование DINOv2 позволяет существенно снизить потребность в размеченных данных и ресурсах, достигая сравнимых с ViT результатов при меньших затратах. Это делает связку DINOv2 + KNN особенно привлекательной для прототипирования и быстрых запусков задач классификации в условиях ограниченных ресурсов. ViT, в свою очередь, лучше подходит для задач, где требуется максимально высокая точность, и доступны большие размеченные датасеты.

При решении задач классификации с ограниченным количеством размеченных данных рекомендуется рассматривать подходы self-supervised обучения с использованием предобученных моделей (например, DINOv2) в связке с простыми классификаторами. При наличии достаточного объёма данных и ресурсов для fine-tuning, ViT остаётся одним из наиболее эффективных инструментов.

 

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

  1. Forest Fire Smoke and Non-Fire Image Dataset [Электронный ресурс]. – Режим доступа: https://www.kaggle.com/datasets/amerzishminha/forest-fire-smoke-and-non-fire-image-dataset (дата обращения: 04.05.2025).
  2. Vision Transformer [Электронный ресурс] // Papers with Code. – Режим доступа: https://paperswithcode.com/method/vision-transformer (дата обращения: 04.05.2025).
  3. DINO: Self-Distillation with No Labels [Электронный ресурс] // DeepSchool. – Режим доступа: https://blog.deepschool.ru/cv/dino-self-distilation-with-no-labels/#dinov2 (дата обращения: 04.05.2025).
  4. Oquab M., Darcet T., Moutakanni T., et al. DINOv2: Learning Robust Visual Features without Supervision [Электронный ресурс]. – Режим доступа: https://arxiv.org/pdf/2304.02643.pdf (дата обращения: 04.05.2025).
  5. Dosovitskiy A., Beyer L., Kolesnikov A., et al. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale [Электронный ресурс]. – Режим доступа: https://arxiv.org/pdf/2103.00020.pdf (дата обращения: 04.05.2025).
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

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