Feature Extraction
Изучи, как извлечение признаков преобразует необработанные данные в полезные выводы. Узнай, как Ultralytics YOLO26 автоматизирует этот процесс для более эффективного обнаружения объектов.
Извлечение признаков — это преобразующий процесс в машинном обучении (ML), который преобразует необработанные многомерные данные в структурированный набор информативных атрибутов, или «признаков». Необработанные входные данные, такие как изображения высокого разрешения, аудиопотоки или неструктурированный текст, часто слишком объемны и избыточны для эффективной обработки алгоритмами. Извлечение признаков решает эту проблему, сводя входные данные к наиболее существенным компонентам — сохраняя критически важную информацию, необходимую для предиктивного моделирования, и отбрасывая шум и нерелевантные фоновые детали. Такое сокращение крайне важно для смягчения проклятия размерности, помогая моделям сохранять вычислительную эффективность и хорошо обобщать данные на новые, ранее не встречавшиеся примеры.
Роль извлечения признаков в глубоком обучении#
В эпоху традиционного компьютерного зрения специалисты использовали ручные методы, такие как масштабно-инвариантное преобразование признаков (SIFT), для обнаружения ключевых точек на изображениях. Однако современное глубокое обучение (DL) произвело революцию в этом рабочем процессе, автоматизировав поиск признаков.
Нейронные сети, в частности сверточные нейронные сети (CNNs), используют специализированный архитектурный компонент, известный как бэкбон, для иерархического извлечения признаков. По мере прохождения данных через слои сети сложность извлекаемых признаков возрастает:
- Поверхностные слои: Эти начальные слои работают подобно детекторам границ, выявляя простые низкоуровневые структуры, такие как линии, углы и градиенты цвета.
- Глубокие слои: По мере углубления сети эти простые элементы объединяются в высокоуровневые семантические представления, такие как форма транспортного средства, человеческое лицо или характерные отметины животного.
Эти выученные представления хранятся в картах признаков, которые затем передаются в голову детектора для выполнения таких задач, как обнаружение объектов или классификация изображений.
Практические применения#
Извлечение признаков служит основой многих передовых возможностей AI, преобразуя необработанные сенсорные данные в практические выводы в самых разных отраслях.
- Медицинская диагностика: В области AI в здравоохранении модели анализируют сложные медицинские изображения, такие как снимки MRI или CT. Сложные алгоритмы извлечения признаков выявляют тонкие аномалии плотности или текстуры тканей, которые могут указывать на патологии на ранней стадии. Выделяя эти критически важные визуальные маркеры, системы могут помогать радиологам в обнаружении опухолей со значительно более высокой точностью и скоростью.
- Автономное вождение: Беспилотные автомобили зависят от извлечения признаков в реальном времени для безопасной навигации. Бортовые камеры передают видео в модели компьютерного зрения (CV), которые мгновенно извлекают признаки, связанные с дорожной разметкой, светофорами и движениями пешеходов. Эта возможность позволяет автономным транспортным средствам принимать решения за доли секунды в динамичных условиях.
- Обработка аудио: В голосовых помощниках необработанные аудиосигналы преобразуются в спектрограммы. Затем алгоритмы извлекают фонетические признаки, высоту и тембр звука, позволяя системам преобразования речи в текст понимать устную речь независимо от акцента говорящего или фонового шума.
Извлечение признаков с помощью Ultralytics YOLO#
Современные архитектуры, такие как Ultralytics YOLO26, напрямую интегрируют мощные бэкбоны для извлечения признаков в свою структуру. При выполнении инференса модель автоматически обрабатывает изображение, извлекая релевантные признаки перед прогнозированием ограничивающих рамок и меток классов.
В следующем примере показано, как использовать предварительно обученную модель для обработки изображения. Хотя код прост, модель внутри выполняет сложное извлечение признаков для обнаружения объектов:
from ultralytics import YOLO
# Load a pretrained YOLO26 model, which includes a learned feature extraction backbone
model = YOLO("yolo26n.pt")
# Perform inference on an image
# The model internally extracts features to locate and classify objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the resulting bounding boxes
results[0].show()Для команд, которым нужно управлять наборами данных, используемыми для обучения таких экстракторов признаков, Ultralytics Platform предлагает комплексное решение для аннотирования, обучения и развертывания.
Различия между связанными терминами#
Чтобы полностью разобраться в конвейере обработки данных, полезно отличать извлечение признаков от схожих концепций.
- Извлечение признаков и проектирование признаков: Хотя эти понятия часто рассматриваются вместе, проектирование признаков — более широкий термин, который обычно подразумевает ручной процесс, в котором предметная область используется для создания новых переменных (например, вычисления «цены за квадратный метр» на основе «цены» и «площади»). Извлечение признаков — это конкретный метод, часто автоматизированный в глубоком обучении, который проецирует многомерные данные (например, пиксели) в низкоразмерный вектор признаков.
- Извлечение признаков и отбор признаков: Отбор признаков заключается в выборе подмножества существующих признаков без их изменения — просто удаляются менее важные признаки для снижения уровня шума. Извлечение признаков, напротив, создает новые признаки путем преобразования и объединения исходных точек данных, например с помощью анализа главных компонент (PCA) или выученных весов сети.
Освоив извлечение признаков, разработчики могут использовать такие фреймворки, как PyTorch и TensorFlow, чтобы создавать модели, которые не только точны, но и достаточно эффективны для развертывания на периферийных устройствах.









