Узнайте, как свертка (convolution) обеспечивает возможности ИИ в компьютерном зрении, позволяя выполнять такие задачи, как обнаружение объектов, распознавание изображений и медицинская визуализация с высокой точностью.
Свертка - это специализированная математическая операция, которая служит фундаментальным строительным блоком современных систем компьютерного зрения (КВ). В контексте искусственного интеллекта (ИИ), свертка позволяет моделям обрабатывать данные в виде сетки, такие как изображения, путем систематической фильтрации входных данных для извлечения значимых паттернов. В отличие от традиционных алгоритмов, требующих ручной установки правил, свертка позволяет нейронной сети нейронной сети автоматически обучаться пространственным иерархии признаков - от простых краев и текстур до сложных форм объектов, - имитируя биологические процессы, наблюдаемые в зрительной коре головного мозга.
Операция выполняется путем сдвига небольшой матрицы чисел, известной как ядром или фильтром, по входному изображению. В каждой позиции ядро выполняет поэлементное умножение с перекрывающимися значениями пикселей и суммирует результаты, чтобы чтобы получить один выходной пиксель. В результате формируется карту признаков, на которой выделяются области, где обнаружены определенные обнаружены определенные закономерности.
Ключевые параметры, определяющие поведение свертки, включают в себя:
Конволюция - основной двигатель Конволюционные нейронные сети (CNN). Ее важность заключается в двух основных свойствах: совместном использовании параметров и пространственная локальность. Благодаря использованию одних и тех же весов модели (ядра) для всего изображения, сеть остается вычислительно эффективной и пространственно локальной. сеть остается вычислительно эффективной и способной инвариантность к переводу, Это означает, что она может распознать объект независимо от того, где он находится в кадре. Такая эффективность позволяет использовать сложные архитектуры, такие как YOLO11 выполнять выводы в режиме реального времени на различных аппаратных средствах, от мощных графических процессоров до устройств Edge AI с ограниченными ресурсами. устройств Edge AI.
Применение свертки распространяется практически на все отрасли, использующие визуальные данные:
Важно отличать сверточные слои от полносвязных (плотных). В полностью связанном слое каждый входной нейрон соединяется с каждым выходным нейроном, что требует больших вычислительных затрат и игнорирует пространственную структуру изображений. Напротив, свертка сохраняет пространственные связи и значительно сокращает количество параметров, что позволяет избежать перебора при работе с высокоразмерными данных. В то время как плотные слои часто используются для окончательной классификации, сверточные слои выполняют тяжелую работу по извлечению признаков. извлечения признаков.
Вы можете визуализировать конволюционную архитектуру современных детекторов объектов с помощью
ultralytics пакет. Следующий код загружает пакет
YOLO11 модель и распечатывает ее структуру, выявляя
Conv2d слои, используемые для обработки.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Print the model architecture to observe Conv2d layers
# These layers perform the convolution operations to extract features
print(model.model)