Классификация изображений

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM OpenAI GPT-5.5 и проверена участником Georgii Maiorov Georgii Maiorov 22:54, 18 июля 2026 (MSD)


Содержание

Классификация изображений

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

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

Определение

Пусть задано множество изображений \mathcal{X} и конечное множество классов \mathcal{Y}. Требуется построить отображение


f:\mathcal{X}\rightarrow\mathcal{Y},

которое каждому изображению сопоставляет наиболее вероятный класс.

Во многих практических задачах одному изображению может соответствовать несколько классов одновременно. В этом случае говорят о многометочной классификации изображений (multi-label image classification), при которой модель независимо оценивает вероятность принадлежности изображения каждому классу.

Формальная постановка задачи

Пусть имеется обучающая выборка


\{(x_i,y_i)\}_{i=1}^{N},

где x_i — изображение, а y_i — его класс.

Цель обучения состоит в построении модели


f(x;\theta),

параметры \theta которой минимизируют среднее значение функции потерь на обучающей выборке.

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

Отличие от общей задачи классификации

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

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


x=(x_1,\ldots,x_d).

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

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

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

Отличие от локализации, детекции и сегментации

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

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

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

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

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

Основные различия между этими задачами приведены в таблице.

Задача Результат Определяется положение объекта
Классификация изображений Метка класса изображения Нет
Локализация объекта Метка класса и ограничивающий прямоугольник Да
Детекция объектов Ограничивающие прямоугольники и классы всех объектов Да
Сегментация изображений Метка класса для каждого пикселя Да

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

Основные подходы

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

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

Классические методы

До широкого распространения глубоких нейронных сетей наиболее популярными были методы, основанные на локальных дескрипторах изображений, таких как SIFT, SURF и HOG. Полученные признаки обычно использовались совместно с методом опорных векторов, логистической регрессией или другими классическими алгоритмами классификации.

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

Сверточные нейронные сети

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

Развитие архитектур AlexNet, VGG, ResNet и последующих моделей позволило существенно повысить качество классификации на крупных наборах данных, прежде всего на ImageNet. Именно успех свёрточных нейронных сетей стал одной из причин широкого распространения глубокого обучения в компьютерном зрении.

Трансформерные архитектуры

В последние годы всё более широкое распространение получают архитектуры, основанные на механизме внимания (attention). Наиболее известным представителем этого направления является Vision Transformer (ViT).

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

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

Функции потерь и метрики качества

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

Наиболее распространённой функцией потерь является кросс-энтропия:


L=-\sum_{i=1}^{C}y_i\log \hat{y}_i,

где y_i — истинная принадлежность объекта к классу, \hat{y}_i — вероятность, предсказанная моделью, а C — число классов.

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

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

Наиболее простой является Accuracy — доля изображений, классифицированных правильно:


Accuracy=\frac{N_{correct}}{N},

где N_{correct} — число правильно классифицированных изображений, а N — общий объём тестовой выборки.

При несбалансированных классах Accuracy может давать искажённую оценку качества модели. В таких случаях дополнительно используют Precision, Recall, F1-меру и матрицу ошибок (confusion matrix).

В задачах крупномасштабной классификации распространены также метрики Top-k Accuracy. Предсказание считается правильным, если истинный класс входит в число k наиболее вероятных классов, предложенных моделью. Наиболее часто используются Top-1 и Top-5 Accuracy.

Практические применения

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

К числу наиболее распространённых применений относятся:

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

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

История развития

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

До начала 2010-х годов наибольшее распространение имели методы, основанные на ручном построении признаков. Существенный прогресс произошёл после появления архитектуры AlexNet, продемонстрировавшей высокое качество на соревновании ImageNet Large Scale Visual Recognition Challenge (ILSVRC) в 2012 году.

В последующие годы были предложены более глубокие и эффективные архитектуры, включая VGG, GoogLeNet, ResNet, DenseNet и EfficientNet. В начале 2020-х годов широкое распространение получили модели, основанные на трансформерах, прежде всего Vision Transformer.

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

См. также

Литература

  1. Krizhevsky A., Sutskever I., Hinton G. ImageNet Classification with Deep Convolutional Neural Networks. NeurIPS, 2012.
  2. He K., Zhang X., Ren S., Sun J. Deep Residual Learning for Image Recognition. CVPR, 2016.
  3. Dosovitskiy A. et al. An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR, 2021.
  4. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press, 2016.
  5. Szeliski R. Computer Vision: Algorithms and Applications. Springer, 2022.
Личные инструменты