Таким образом, естественный вопрос заключается в том, как разработать точные и эффективные детекторы объектов, которые также могут адаптироваться к широкому диапазону ограничений ресурсов?
«EfficientDet: масштабируемое и эффективное обнаружение объектов», принятая на CVPR 2020, представляет новое семейство масштабируемых и эффективных детекторов объектов. Опираясь на предыдущую работу по масштабированию нейронных сетей (EfficientNet) и включив в себя новую двунаправленную функциональную сеть (BiFPN) и новые правила масштабирования, EfficientDet достигает современной точности, в то время как в 9 раз меньше и использует значительно меньше вычисления по сравнению с известными современными детекторами. На следующем рисунке показана общая сетевая архитектура моделей.
Оптимизация архитектуры моделей
Идея, лежащая в основе EfficientDet, возникла в результате усилий по поиску решений для повышения вычислительной эффективности путем систематического изучения предшествующих современных моделей обнаружения. В общем, детекторы объектов имеют три основных компонента: магистраль, которая извлекает признаки из данного изображения; сеть объектов, которая принимает множество уровней функций от магистрали в качестве входных данных и выводит список объединенных функций, которые представляют характерные характеристики изображения; и конечная сеть класса / ящика, которая использует объединенные функции для прогнозирования класса и местоположения каждого объекта.
Изучив варианты проектирования этих компонентов, определили несколько ключевых оптимизаций для повышения производительности и эффективности. Предыдущие детекторы в основном используют ResNets, ResNeXt или AmoebaNet в качестве магистральных сетей, которые либо менее мощны, либо имеют более низкую эффективность, чем EfficientNets. Первоначально внедрив магистраль EfficientNet, можно добиться гораздо большей эффективности. Например, начиная с базовой линии RetinaNet, в которой используется магистраль ResNet-50, наше исследование абляции показывает, что простая замена ResNet-50 на EfficientNet-B3 может повысить точность на 3% при одновременном снижении вычислений на 20%. Другая оптимизация заключается в повышении эффективности функциональных сетей. В то время как большинство предыдущих детекторов просто используют нисходящую пирамидальную сеть (FPN), мы обнаруживаем, что нисходящий FPN по своей природе ограничен односторонним потоком информации. Альтернативные FPN, такие как PANet, добавляют дополнительный восходящий поток за счет дополнительных вычислений.
Недавние попытки использовать поиск нейронной архитектуры (NAS) обнаружили более сложную архитектуру NAS-FPN. Однако, хотя эта структура сети эффективна, она также нерегулярна и сильно оптимизирована для конкретной задачи, что затрудняет адаптацию к другим задачам. Для решения этих проблем мы предлагаем новую сеть двунаправленных функций BiFPN, в которой реализована идея объединения многоуровневых функций из FPN / PANet / NAS-FPN, которая позволяет передавать информацию как в направлении сверху вниз, так и снизу вверх. , используя регулярные и эффективные соединения.
Сравнение между BiFPN и предыдущими функциональными сетями. BiFPN позволяет функциям (от уровней низкого разрешения P3 до уровней высокого разрешения P7) многократно передаваться как сверху вниз, так и снизу вверх.
Чтобы еще больше повысить эффективность, мы предлагаем новую методику быстрого нормализованного синтеза. Традиционные подходы обычно обрабатывают все входные данные в FPN одинаково, даже с разными разрешениями. Однако мы наблюдаем, что входные объекты с разными разрешениями часто вносят неравный вклад в выходные функции. Таким образом, мы добавляем дополнительный вес для каждой входной функции и позволяем сети изучать важность каждой из них. Мы также заменим все регулярные свертки на менее дорогие, глубоко отделимые свертки. Благодаря этой оптимизации наш BiFPN дополнительно повышает точность на 4%, одновременно снижая стоимость вычислений на 50%.
Третья оптимизация включает достижение лучшей компромисса между точностью и эффективностью при различных ресурсных ограничениях. Наша предыдущая работа показала, что совместное масштабирование глубины, ширины и разрешения сети может значительно повысить эффективность распознавания изображений. Вдохновленные этой идеей, мы предлагаем новый метод составного масштабирования для детекторов объектов, который совместно увеличивает разрешение / глубину / ширину. Каждый сетевой компонент, т. Е. Магистральная сеть, объект и сеть с предсказанием блоков / классов, будет иметь один сложный коэффициент масштабирования, который управляет всеми измерениями масштабирования с использованием эвристических правил. Этот подход позволяет легко определить, как масштабировать модель, вычисляя коэффициент масштабирования для заданных ограничений целевого ресурса.
Объединяя новую магистраль и BiFPN, мы сначала разрабатываем базовую линию EfficientDet-D0 небольшого размера, а затем применяем составное масштабирование для получения EfficientDet-D1 до D7. Каждая последовательная модель имеет более высокую вычислительную стоимость, охватывающую широкий диапазон ограничений ресурсов от 3 миллиардов FLOP до 300 миллиардов FLOPS, и обеспечивает более высокую точность.
Производительная модель
Оценивая EfficientDet на наборе данных COCO, широко используемом наборе эталонных данных для обнаружения объектов. EfficientDet-D7 достигает средней средней точности (mAP) 52,2, что на 1,5 балла превышает предыдущую современную модель, используя в 4 раза меньше параметров и в 9,4 раза меньше вычислений
EfficientDet достигает современного уровня 52,2 мАП, что на 1,5 балла больше, чем в предшествующем уровне техники (не показано, поскольку он составляет 3045B FLOP) на тестовом устройстве COCO при той же настройке. При одинаковом ограничении точности модели EfficientDet в 4–9 раз меньше и используют в 13–42 раза меньше вычислений, чем предыдущие детекторы.
Также сравнили размер параметра и задержку CPU / GPU между EfficientDet и предыдущими моделями. При аналогичных ограничениях точности модели EfficientDet работают в 2–4 раза быстрее на графическом процессоре и в 5–11 раз быстрее на процессоре, чем другие детекторы. Хотя модели EfficientDet в основном предназначены для обнаружения объектов, мы также проверяем их эффективность в других задачах, таких как семантическая сегментация. Для выполнения задач сегментации мы немного модифицируем EfficientDet-D4, заменив головку обнаружения и функцию потери головкой сегментации и потери, сохраняя при этом тот же масштабированный магистральный канал и BiFPN. Сравниваем эту модель с предыдущими современными моделями сегментации для Pascal VOC 2012, широко используемого набора данных для тестирования сегментации.
EfficientDet обеспечивает лучшее качество Pascal VOC 2012 val по сравнению с DeepLabV3 + с 9,8x меньшими вычислениями при той же настройке без предварительной подготовки COCO.
Учитывая их исключительную производительность, ожидается, что EfficientDet может послужить новой основой будущих исследований, связанных с обнаружением объектов, и потенциально сделает высокоточные модели обнаружения объектов практически полезными для многих реальных приложений. Поэтому открыли все контрольные точки кода и предварительно обученной модели на Github.com.
- EfficientNet: как масштабировать нейросеть с использованием AutoML
- EfficientDet: Scalable and Efficient Object Detection