Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Сверточная нейронная сеть (CNN)

Узнайте, как сверточные нейронные сети (CNN) обеспечивают работу современного компьютерного зрения. Узнайте о слоях, приложениях и о том, как запустить Ultralytics для искусственного интеллекта в реальном времени.

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

Как работают конволюционные нейронные сети

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

  • Слой свертки: это основной строительный блок. Он использует набор обучаемых фильтров (или ядер), которые скользят по входному изображению, как фонарик. В каждой позиции фильтр выполняет математическую операцию, называемую сверткой, создавая карту признаков, которая выделяет определенные шаблоны, такие как горизонтальные линии или цветовые градиенты.
  • Функция активации: после свертки к выходу применяется нелинейная функция. Наиболее распространенным выбором является ReLU (Rectified Linear Unit), которая превращает отрицательные значения пикселей в ноль. Это вводит нелинейность, позволяя сети обучаться сложным паттернам, выходящим за рамки простых линейных отношений.
  • Слой пулинга: также известный как понижающая дискретизация, этот слой уменьшает размерность карт признаков. Такие методы, как максимальный пулинг, сохраняют только самые важные признаки (наивысшие значения) в области, что снижает вычислительную нагрузку и помогает предотвратить переобучение.
  • Полностью подключенный слой: на заключительном этапе обработанные признаки выравниваются и поступают в стандартную нейронную сеть (NN). Этот слой использует высокоуровневые признаки, определенные предыдущими слоями, для окончательной классификации или прогнозирования, например «кошка» или «собака».

Применение в реальном мире

CNN преобразовали отрасли промышленности, автоматизировав визуальные задачи с сверхчеловеческой точностью.

  • Медицинская диагностика: В здравоохранении CNN помогают радиологам выявлять аномалии на медицинских сканах быстрее, чем человеческий глаз. Например, модели глубокого обучения анализируют МРТ и КТ-сканы для detect признаков опухолей или переломов. Исследования с использованием ИИ в радиологии подчеркивают, как эти инструменты улучшают согласованность и скорость диагностики.
  • Автономные системы: Автомобили с автономным управлением в значительной степени полагаются на CNN для восприятия окружающей обстановки. Модели типа YOLO26 используют эффективные базовые CNN для обнаружения объектов в реальном времени, идентификации пешеходов, дорожных знаков и других транспортных средств, чтобы принимать мгновенные решения во время движения.

CNN против Vision Transformers (ViT)

Хотя CNN долгое время были стандартом для задач зрительного восприятия, появилась новая архитектура под названием Vision Transformer (ViT).

  • CNN обрабатывают изображения с использованием локальных характеристик и являются высокоэффективными при работе с небольшими наборами данных благодаря своему «индуктивному смещению» (они предполагают, что соседние пиксели связаны между собой). Они превосходны в сценариях, требующих вывода в реальном времени на пограничных устройствах.
  • ViT разделяют изображения на фрагменты и обрабатывают их с помощью глобальных механизмов самоконтроля. Это позволяет им улавливать долгосрочные зависимости на изображении, но, как правило, требует огромных наборов данных и большей вычислительной мощности для эффективного обучения.

Пример реализации

Современные библиотеки упрощают использование моделей на основе CNN. ultralytics Пакет предоставляет доступ к современным моделям, таким как YOLO26, которые отличаются высокооптимизированными архитектурами CNN для быстрого вывода.

Следующий пример демонстрирует, как загрузить предварительно обученную модель CNN и выполнить прогнозирование:

from ultralytics import YOLO

# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")

# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the prediction results
results[0].show()

Инструменты для разработки

Разработка CNN поддерживается надежной экосистемой инструментов с открытым исходным кодом. Инженеры обычно используют такие фреймворки, как PyTorch или TensorFlow для создания пользовательских архитектур. Эти библиотеки предоставляют низкоуровневые tensor , необходимые для свертки и обратного распространения.

Для команд, стремящихся оптимизировать жизненный цикл проектов в области компьютерного зрения — от сбора данных до внедрения — Ultralytics предлагает комплексное решение. Она упрощает сложные рабочие процессы, позволяя разработчикам сосредоточиться на применении CNN для решения бизнес-задач, а не на управлении инфраструктурой. Кроме того, модели можно экспортировать в такие форматы, как ONNX или TensorRT для высокопроизводительного развертывания на периферийных устройствах.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас