Изучите основы классификации изображений, от CNN до реальных применений ИИ. Научитесь обучать и развертывать современные классификаторы с помощью Ultralytics .
Классификация изображений — это одна из основных задач в компьютерном зрении (CV), где модель машинного обучения анализирует все изображение и присваивает ему один ярлык из заранее заданного набора категорий. По сути, она отвечает на вопрос: «Что является основным объектом на этом изображении?» Являясь ключевым компонентом искусственного интеллекта (ИИ), этот процесс позволяет автоматизированным системам организовывать, классифицировать и интерпретировать визуальные данные в больших масштабах. Хотя для человеческого глаза это может показаться простым, для того чтобы компьютеры могли распознавать образы, требуются сложные алгоритмы машинного обучения (ML), которые позволяют преодолеть разрыв между необработанными пикселями и значимыми концепциями.
Современная классификация изображений в значительной степени опирается на архитектуры глубокого обучения (DL), известные как сверточные нейронные сети (CNN). Эти сети разработаны для имитации способа обработки информации биологической зрительной корой головного мозга. Посредством процесса, называемого извлечением признаков, модель учится идентифицировать низкоуровневые атрибуты, такие как края и текстуры, на ранних слоях, в конечном итоге объединяя их для распознавания сложных форм и объектов на более глубоких слоях.
Для построения классификатора разработчики используют обучение с учителем, подавая модели огромные объемы обучающих данных, содержащих помеченные примеры. Крупные общедоступные наборы данных, такие как ImageNet , сыграли важную роль в повышении точности этих систем. На этапе вывода модель выдает оценку вероятности для каждой категории, часто используя функцию softmax для определения наиболее вероятного класса.
Важно отличать классификацию изображений от связанных с ней возможностей компьютерного зрения, поскольку выбор метода зависит от конкретной задачи:
Классификация изображений лежит в основе широкого спектра реальных приложений искусственного интеллекта в различных отраслях:
В области медицины модели классификации помогают радиологам анализировать диагностические сканы. Инструменты анализа медицинских изображений могут быстро классифицировать рентгеновские снимки или МРТ как «нормальные» или «аномальные» или выявлять определенные состояния, такие как обнаружение опухолей, что позволяет быстрее проводить сортировку и диагностику пациентов.
Фабрики используют автоматизированный визуальный контроль для поддержания стандартов качества продукции. Камеры на сборочных линиях снимают изображения компонентов, а классификационные модели мгновенно маркируют их как «прошедшие» или «непрошедшие» на основе видимых дефектов. Такой автоматизированный контроль качества гарантирует, что на этап упаковки попадают только изделия без дефектов.
Фермеры используют ИИ в сельском хозяйстве для мониторинга состояния урожая. Классифицируя изображения, снятые с помощью дронов или смартфонов, системы могут выявлять признаки болезней, дефицита питательных веществ или заражения вредителями, что позволяет проводить целенаправленные точные сельскохозяйственные мероприятия.
Фреймворк Ultralytics , известный своими возможностями обнаружения, предлагает передовую производительность для задач классификации изображений. Его архитектура оптимизирована для скорости и точности, что делает его подходящим для приложений, работающих в режиме реального времени.
Вот краткий пример того, как загрузить предварительно обученную модель и classify с помощью
ultralytics Пакет Python :
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top predicted class name
print(f"Prediction: {results[0].names[results[0].probs.top1]}")
Для команд, стремящихся оптимизировать свой рабочий процесс, Ultralytics упрощает весь конвейер. Она позволяет пользователям управлять наборами данных для классификации, проводить обучение в облаке и развертывать модели в различных форматах, таких как ONNX или TensorRT без обширной инфраструктуры кодирования.