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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Больше о