Поля привязки для обнаружения объектов

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

Что такое поле привязки?

Anchor boxes является набором предопределенных ограничительных рамок определенной высоты и ширины. Эти поля заданы, чтобы получить шкалу и соотношение сторон классов конкретного объекта, которые вы хотите обнаружить и обычно выбираетесь на основе размеров объекта в ваших обучающих наборах данных. Во время обнаружения предопределенные поля привязки размещаются рядом через изображение. Сеть предсказывает вероятность и другие атрибуты, такие как фон, пересечение по объединению (IoU) и смещения для каждого мозаичного поля привязки. Прогнозы используются, чтобы совершенствовать каждое отдельное поле привязки. Можно задать несколько полей привязки, каждого для различного размера объекта.

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

Преимущество Использования полей привязки

При использовании полей привязки можно оценить все объектные прогнозы целиком. Поля привязки избавляют от необходимости сканировать изображение с раздвижным окном, которое вычисляет отдельный прогноз в каждом потенциальном положении. Примеры детекторов, которые используют раздвижное окно, являются теми, которые основаны на совокупных функциях канала (ACF) или функциях гистограммы градиентов (HOG). Детектор объектов, который использует поля привязки, может обработать целое изображение целиком, делая системы обнаружения объектов в реальном времени возможными.

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

Как действительно привязывают работу полей?

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

Каждое поле привязки размещается рядом через изображение. Количество сетевых выходных параметров равняется количеству мозаичных полей привязки. Сеть производит прогнозы для всех выходных параметров.

Ошибки локализации и улучшение

Расстояние или stride, между мозаичными полями привязки является функцией объема субдискретизации существующего в CNN. Субдискретизация факторов между 4 и 16 распространена. Эти факторы субдискретизации производят грубо размещенные рядом поля привязки, которые могут привести к ошибкам локализации.

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

Субдискретизация может уменьшаться путем удаления субдискретизации слоев. Чтобы уменьшать субдискретизацию, понизьте ‘Stride’свойство свертки или макс. объединения слоев, (таких как convolution2dLayer и convolution2dLayer.) Можно также выбрать слой извлечения признаков ранее в сети. Слои извлечения признаков от ранее в сети имеют более высокое пространственное разрешение, но могут извлечь меньше семантической информации по сравнению со слоями далее вниз сеть

Сгенерируйте обнаружения объектов

Чтобы сгенерировать обнаружения конечного объекта, размещенные рядом поля привязки, которые принадлежат фоновому классу, удалены, и остающиеся единицы отфильтрованы их счетом уверенности. Поля привязки с самым большим счетом уверенности выбраны с помощью немаксимального подавления (NMS). Для получения дополнительной информации о NMS, смотрите selectStrongestBboxMulticlass функция.

Размер поля привязки

Многошкальная обработка позволяет сети обнаружить объекты различного размера. Чтобы достигнуть многошкального обнаружения, необходимо задать поля привязки различного размера, такой как 64 64, 128 128, и 256 256. Задайте размеры, которые тесно представляют шкалу и соотношение сторон объектов в ваших обучающих данных. Для примера оценки размеров смотрите Оценочные Поля Привязки От Обучающих данных.

Связанные примеры

Больше о