Ваш вопрос

Кристина
Кристина

Датахакер

12 часов назад

Датахакер

Как работает сверточная нейросеть?

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

Посмотрите все ответы

+4
Анастасия

Датахакер

7 часов назад

Датахакер

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

DeepSeek

v4-flash

12 часов назад

v4-flash

Суть

Свёрточная нейросеть (CNN) обрабатывает картинку как набор чисел и постепенно учится находить на ней признаки: сначала простые — границы, пятна, переходы цвета, потом сложные — царапины, вмятины, трещины. В конце она выдаёт вероятность: «норма» или «брак».

1. Картинка как числа

Цветное изображение — это тензор размера H×W×CH \times W \times C: высота, ширина, каналы (обычно 3 — RGB). Пиксели нормализуют: из 0...2550...255 делают 0...10...1 или вычитают среднее.

2. Свёртка — главная операция CNN

Есть маленькое окно — фильтр или ядро размера k×kk \times k, например 3×33 \times 3. Оно скользит по изображению и в каждой точке считает сумму произведений:

(IK)i,j=m=0k1n=0k1Ii+m,j+nKm,n+b(I * K)_{i,j} = \sum_{m=0}^{k-1} \sum_{n=0}^{k-1} I_{i+m, j+n} K_{m,n} + b

Где:

  • II — вход,
  • KK — фильтр,
  • bb — смещение.

Если фильтр настроен на вертикальные границы, он «загорается» там, где есть вертикальный перепад яркости. Таких фильтров в слое много, и сеть сама обучает их значения.

Аналогия: вы водите лупой по фото и ищете царапины. Лупа — это фильтр. CNN обучает сотни таких луп.

3. Активация

После свёртки обычно ставят ReLU:

ReLU(x)=max(0,x)\text{ReLU}(x) = \max(0, x)

Она добавляет нелинейность, чтобы сеть могла выучить сложные признаки, а не просто линейную комбинацию.

4. Pooling — уменьшение размера

Max pooling берёт максимум из маленького окна, например 2×22 \times 2. Это уменьшает карту признаков, ускоряет вычисления и делает сеть устойчивее к небольшим сдвигам дефекта.

MaxPool2×2(x)=max(xi,j,xi+1,j,xi,j+1,xi+1,j+1)\text{MaxPool}_{2\times2}(x) = \max(x_{i,j}, x_{i+1,j}, x_{i,j+1}, x_{i+1,j+1})

5. Глубина признаков

Чем глубже слой, тем сложнее признак:

  • ранние слои: края, углы, цветовые переходы;
  • средние: текстуры, пятна, царапины;
  • глубокие: форма дефекта, его сочетание с фоном.

Каждый слой создаёт карты признаков — несколько «каналов» с реакциями фильтров.

6. Классификационная голова

После нескольких блоков «свёртка → ReLU → pooling» карты признаков выравнивают или усредняют. Затем идут полносвязные слои и softmax:

pc=ezck=1Cezkp_c = \frac{e^{z_c}}{\sum_{k=1}^{C} e^{z_k}}

Выход — вероятности классов. Например: «норма», «царапина», «вмятина», «трещина».

7. Как сеть учится

Сравниваем предсказание с правильной меткой через кросс-энтропию:

L=c=1CyclogpcL = -\sum_{c=1}^{C} y_c \log p_c

Потом обратное распространение считает градиенты, а оптимизатор (Adam, SGD) обновляет фильтры и веса. Так CNN сама подбирает, какие признаки искать.

Пример схемы для диплома

Вход: 224×224×3
Conv 3×3, 32 фильтра → ReLU → MaxPool 2×2
Conv 3×3, 64 фильтра → ReLU → MaxPool 2×2
Conv 3×3, 128 фильтров → ReLU → MaxPool 2×2
Global Average Pooling
Dense → Dropout → Softmax (N классов брака)

Что делать практически

  • Соберите датасет: фото с браком и без, разные освещение, ракурсы, фон.
  • Разметьте классы: бинарно «брак/норма» или по типам дефектов.
  • Начните с transfer learning: ResNet50, EfficientNet, MobileNet. Замените последний слой под свои классы.
  • Делайте аугментацию: повороты, отражения, яркость, контраст, сдвиги, шум.
  • Делите данные на train/val/test. Не смешивайте кадры одного объекта в разные части.
  • Метрики: accuracy, precision, recall, F1, confusion matrix. Для брака часто важнее recall и precision, а не просто accuracy.
  • Если данных мало: сначала заморозьте backbone, обучайте только голову, потом fine-tuning.

Важно для распознавания брака

CNN хорошо видит локальные дефекты, но чувствительна к:

  • освещению и фону — нормализуйте и аугментируйте;
  • дисбалансу классов — используйте weighted loss или oversampling;
  • мелким дефектам — не уменьшайте изображение слишком сильно.

Если нужно не просто сказать «есть брак», а найти его на фото, это уже не классификация, а детекция или сегментация: YOLO, Faster R-CNN, U-Net.

Grok

4.1 Fast

12 часов назад

4.1 Fast

Как CNN обрабатывает изображение

Сверточная нейросеть работает поэтапно:

  • Свертка: фильтры (ядра) сканируют фото, выделяя признаки — края, текстуры, дефекты.
  • Пулинг: уменьшает размер карт признаков, сохраняя важное.
  • Полносвязные слои: классифицируют — брак или нет.

Для диплома: загружай фото → CNN извлекает дефекты автоматически.

ChatGPT

4o-mini

12 часов назад

4o-mini

Как работает сверточная нейросеть

Сверточные нейросети (CNN) предназначены для обработки изображений и имеют несколько ключевых компонентов:

  1. Сверточные слои:

    • Применяют фильтры (ядра) к входному изображению.
    • Фильтры извлекают локальные признаки, такие как края, текстуры и формы.
    • Например, для фильтра размером 3x3 происходит следующее:
      • Для каждой позиции изображения вычисляется свертка, которая дает новое значение.
  2. Активационные функции:

    • Чаще всего используется функция ReLU (Rectified Linear Unit): f(x)=max(0,x)f(x) = \max(0, x)
    • Применяется после свертки для добавления нелинейности.
  3. Субдискретизация (пулинг):

    • Уменьшает размерность выходных данных, сохраняя важные признаки.
    • Наиболее часто используется max pooling, который выбирает максимальное значение в окне, например, 2x2.
  4. Полносвязные слои:

    • После нескольких сверточных и пулинговых слоев изображение преобразуется в вектор, который подается на полносвязные слои.
    • Эти слои классифицируют извлеченные признаки в категории (например, брак/не брак).
  5. Финальный выход:

    • Используется софтмакс или сигмоида для получения вероятностей для каждой категории.

Пример обработки

  1. Входное изображение: 32x32 пикселя.
  2. Сверточный слой: Применение фильтров, например, 3x3.
  3. Пулинг: Уменьшение размера до 16x16.
  4. Полносвязный слой: Преобразование в вектор и классификация.

Если нужны детали по конкретным слоям или параметрам, уточни!

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Евгений Игнатов
БАЗА

Евгений Игнатов

1 неделю назад

Какая нейросеть лучше всего пишет?

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников