Image Recognition
Распознавание изображений определяет, что на них изображено: от одной метки для всей картинки до каждого отдельного объекта, лица или слова. Как оно работает и какие у него есть виды.
Распознавание изображений — общее понятие для программного определения того, что изображено на картинке: объектов, людей, мест, текста или действий. В повседневной речи это синоним классификации изображений, то есть присвоения всему изображению метки, например «золотистый ретривер» или «пневмония». В исследованиях понятие «визуальное распознавание» охватывает более широкий набор задач по определению содержимого изображений, как в конкурсе ImageNet Large Scale Visual Recognition Challenge, который проходил с 2010 по 2017 год и включал задачи классификации, локализации и детекции объектов.
Как работает распознавание изображений#
Модель распознавания преобразует пиксели в компактное описание, а затем сравнивает его с тем, что ей известно. Бэкбон — свёрточная нейронная сеть (CNN) или визуальный трансформер (ViT) — слой за слоем извлекает признаки: от границ и текстур на ранних слоях до частей объектов и объектов целиком на глубоких слоях, после чего объединяет их в вектор признаков, или эмбеддинг. Дальнейший процесс зависит от того, как задан набор возможных ответов:
Голова классификатора, обученная с помощью обучения с учителем на размеченных изображениях, например на 1,28 миллиона обучающих изображений 1000 классов ImageNet, выбирает наиболее вероятный класс из фиксированного набора. При распознавании лиц и товаров эмбеддинг сравнивается с галереей сохранённых примеров, поэтому новых людей или товары можно добавить без переобучения. Модели с распознаванием по нулевому примеру, например CLIP от OpenAI, отображают изображения и текст в одно пространство и распознают любые категории, которые можно описать текстовым запросом.
До появления глубокого обучения системы распознавания передавали классификаторам, например методам опорных векторов, признаки, спроектированные вручную, в том числе ключевые точки SIFT и гистограммы направленных градиентов. В 2012 году AlexNet снизила долю ошибок top-5 на ImageNet до 15,3% против 26,2% у модели, занявшей второе место, и с тех пор доминируют признаки, извлечённые обученными моделями.
Виды распознавания изображений#
- Классификация изображений: одна метка для всего изображения или несколько меток при многометочной классификации.
- Детекция объектов: метка и ограничивающая рамка для каждого объекта; поэтому фотография с тремя собаками даёт три результата.
- Распознавание лиц: идентифицирует или проверяет конкретного человека, сравнивая эмбеддинг лица с эмбеддингами зарегистрированных лиц.
- Оптическое распознавание символов (OCR): преобразует печатный или рукописный текст на изображении в машиночитаемые символы.
- Распознавание действий: определяет, что делают люди в кадрах видео.
YOLO26 поддерживает первые два вида: модели классификации -cls присваивают всему изображению один из 1000 классов ImageNet, а модели детекции определяют каждый объект и находят его. В этом примере обе модели работают с одной фотографией:
from ultralytics import YOLO
image = "https://ultralytics.com/images/bus.jpg"
# Распознавание на уровне изображения: одна метка для всей картинки
classifier = YOLO("yolo26n-cls.pt")
results = classifier(image)
result = results[0]
print("Image label:", result.names[result.probs.top1])
# Распознавание на уровне объектов: метка для каждого найденного объекта
detector = YOLO("yolo26n.pt")
results = detector(image)
result = results[0]
print("Objects:", [result.names[int(c)] for c in result.boxes.cls])Классификатор возвращает одну метку ImageNet для всей фотографии, а детектор — по одной метке COCO для каждого найденного объекта.
Примеры применения в реальных условиях#
- Анализ медицинских изображений: модели классифицируют рентгеновские снимки грудной клетки, фотографии кожи и снимки сетчатки как нормальные или патологические, чтобы врачи в первую очередь проверяли срочные случаи.
- Розничная торговля: распознавание товаров сопоставляет продукты на полках или у кассы с каталогом изображений товаров, включая продукты, добавленные после обучения модели.
- Производство: камеры на линии распознают бракованные детали, а также отсутствующие или неверно установленные компоненты до упаковки.
- Специальные возможности: программы экранного доступа и приложения для телефонов описывают фотографии и зачитывают надписи вслух для незрячих людей и людей с ослабленным зрением.
Распознавание без фиксированного набора меток#
Классификаторы с фиксированными метками распознают только классы, на которых их обучали. Чтобы добавить новый класс, нужно собрать размеченные изображения и переобучить модель. Модели, обученные на парах «изображение — текст», снимают это ограничение, а визуально-языковые модели также умеют описывать сцены и отвечать на вопросы о них. CLIP, обученная на 400 миллионах пар «изображение — текст» из интернета, показала точность на ImageNet на уровне исходной модели ResNet-50 в режиме распознавания по нулевому примеру, не используя ни одного из 1,28 миллиона размеченных изображений, на которых обучалась ResNet-50.










