Маскировка камуфляжа

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

Известно, что усовершенствованные детекторы объектов компьютерного зрения восприимчивы к атакам со стороны злоумышленников, которые могут обмануть детектор, заставив его пропустить обнаружение или пропустить классифицированный объект. В наших предыдущих сообщениях [1, 2] мы выпустили кодовую базу CAMOLO и показали, что враждебные патчи эффективны для снижения эффективности обнаружения YOLT транспортных средств, видимых сверху. Мы также показали, однако, что враждебные патчи обычно очень легко обнаружить, тем самым ставя под вопрос полезность таких патчей в прагматическом смысле.

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

1. Обнаружение исправлений

В этом разделе мы кратко рассмотрим нашу предыдущую работу, подробно описав простоту обнаружения наличия враждебных исправлений. В нашем предыдущем блоге [2] мы обучили библиотеку из 24 враждебных патчей, предназначенных для маскировки автобусов, легковых автомобилей, грузовиков и микроавтобусов, и показали, что наличие враждебных патчей легко обнаруживается, см. рисунок 1.

На самом деле, патчи обнаруживаются в среднем на 24% лучше, чем объекты, которые патчи должны скрывать. Это показано на рисунке 2, где оранжевые столбцы (обнаружение пятна) в среднем выше, чем синие столбцы (обнаружение автомобиля) для каждого пятна.

2. Обзор Adversarial-Yolo

Кодовая база CAMOLO создает патчи для обмана детекторов объектов на основе YOLO и построена на впечатляющей состязательно-йоло работе Thys et al. Thys и компания создали исправления, чтобы обмануть автоматические детекторы людей, оптимизировав функцию потерь, состоящую из трех частей:

L = 𝛼Lₙₚₛ + 𝛽Lₜᵥ + Lₒ

Lₙₚₛ соответствует показателю «непечатаемости», который показывает, могут ли цвета патчей создаваться обычными принтерами. Термин Lₜᵥ соответствует плавности или случайности патча, а Lₒ — максимальный балл объекта на изображении. Минимизация последнего члена (Lₒ) является наиболее важной, поскольку цель патча — скрыть интересующие объекты. В ходе обучения на тестовое изображение накладывается первоначально случайный фрагмент, и по мере того, как функция потерь медленно уменьшается, возникает враждебный паттерн. Несколько патчей, предназначенных для затемнения транспортных средств на изображениях сверху, показаны на рисунке 3.

3. Скрытые исправления

Теперь мы исследуем, возможно ли разработать враждебные патчи, присутствие которых не столь очевидно. Оранжевые полосы на рис. 2 обозначают производительность модели YOLT (которую мы будем обозначать Mₚ), которую мы обучили обнаруживать враждебные исправления. [Синие полосы на рисунке 2 обозначают производительность модели обнаружения транспортных средств или Mᵥ.] Мы используем этот детектор патчей Mₚ, чтобы добавить дополнительный член к функции потерь, которая теперь принимает вид:

L = 𝛼Lₙₚₛ + 𝛽Lₜᵥ + Lₒ + γL

L — это вероятность обнаружения наличия исправления, которая вычисляется путем запуска тестовых изображений (с наложенными предложениями исправления) через M ₚ. Мы устанавливаем γ = 1, что означает, что скрытие патча так же важно, как и скрытие интересующих объектов. Мы проводим три эксперимента с разными конфигурациями, получая патчи, показанные на рисунке 4.

На рисунке 5 мы показываем производительность оригинальной модели YOLT Mᵥ (обученной обнаруживать автобусы, легковые автомобили, грузовики и фургоны) с применением скрытого патча «obj_only_w0». Желтые прямоугольники обозначают наземный объект истинности, а обнаружения YOLT окрашены в оранжевый, красный и зеленый цвета. Патч явно не скрывает все обнаружения, хотя производительность значительно снижается.

На рисунке 6 показано, насколько хорошо модель YOLT, обученная обнаруживать исправления (Mₚ), работает со скрытым враждебным исправлением. Рисунок 6 ясно показывает, что модель обнаружения заплат очень плохо справляется с поиском этой заплаты.

4. Скрытая производительность исправлений

Давайте сравним производительность скрытых патчей с нашими стандартными патчами. На рисунке 7 мы показываем характеристики обнаружения транспортных средств (синий цвет) и обнаружения участков (оранжевый цвет) для каждого участка, а скрытые участки обведены красной рамкой. Обратите внимание, что оранжевые полосы для наших скрытых исправлений намного ниже, чем среднее значение для незаметных исправлений.

Единственные незаметные патчи, которые близки, — это две конфигурации («obj_only_tiny_gray_v0», «obj_only_tiny_gray_v1», см. рис. 3), которые мы заставили быть черно-белыми. Существенным моментом здесь, по-видимому, является то, что эти два черно-белых пятна, а также скрытые пятна были вынуждены сильно отличаться от остальных, тем самым вводя в заблуждение нашу модель обнаружения исправлений.

На рисунке 8 мы сворачиваем оранжевые и синие столбцы, чтобы показать объединенную оценку обнаружения (напомним, что чем меньше, тем лучше). Скрытые патчи в среднем гораздо более производительны, чем другие патчи. Средний показатель обнаружения для незаметных исправлений составляет 0,67, тогда как для скрытых исправлений он равен 0,11.

5. Выводы

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

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

Хотя этот подход, безусловно, не является безошибочным (например, он сильно зависит от надежности детектора исправлений), он относительно прост в реализации, имеет открытый исходный код и в наших экспериментах значительно улучшил скрытность враждебных исправлений. Для любопытных, не стесняйтесь погрузиться глубже в нашу бумагу, изучить кодовую базу CAMOLO (особенно ноутбуки) или использовать открытый исходный код работы, чтобы улучшить эти первые шаги.