Встраивание экземпляра: сегментация без предложений

В этой статье я рассмотрю 3 статьи в области сегментации инстансов. Они отличаются от основных подходов, основанных на предложениях, основанных на Faster-RCNN, таких как Mask-RCNN или MaskLab, и последней версии PANet, позволяя получать самые современные результаты на нескольких наборах данных (CityScapes, COCO , МВД ). См. Руководство по Mask-RCNN здесь.

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

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

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

Документ 1: Сегментация семантического экземпляра с функцией распознавания потерь

Берт Де Брабандере, Дэви Невен, Люк Ван Гул https://arxiv.org/abs/1708.02551
https://github.com/DavyNeven/fastSceneUnderstanding

Потери. В этом документе используется функция контрастных потерь, состоящая из трех частей:

(1) Тяговое усилие. Наказание за расстояние всех элементов одного и того же экземпляра от их среднего значения. То есть взять все пиксели экземпляра и вычислить их среднее значение. Сила вытягивания приведет к тому, что все пиксельные вложения одного и того же экземпляра будут в одной и той же точке. Короче говоря, уменьшение разброса встраивания для каждого экземпляра.

(2) Сила толчка. Взять все центральные точки (в пространстве встраивания, а не в центре пространства) и раздвинуть их дальше друг от друга.

(3) Регуляризация. Центры не должны быть слишком далеко от источника.

Альфа и бета используются со значением 1, а гамма установлена ​​на 0,001. Обе дельты являются порогом силы тяги и толчка.

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

Первая гипотеза для среднего - это встраивание случайного пикселя, который был изначально выбран. Затем набор точек расширяется вокруг этой точки (в пространстве вложения), затем снова вычисляется их среднее значение, и процесс повторяется до тех пор, пока изменение среднего значения не станет значительным. По моему опыту, для сходимости алгоритма требуется не более 10 итераций. И в большинстве случаев достаточно 3–4 итераций.

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

Источник ошибки

Эти результаты показывают, откуда происходит большая часть ошибок в наборе данных Cityscapes. если семантическая сегментация не предусмотрена и скорее используется основная истина, результаты AP50 подскакивают с 40,2 до 58,5. Если фактический центр также используется и не оценивается с использованием среднего сдвига, оценка увеличивается еще почти на 20 баллов, достигая 77,8. Текущий результат без предтренинга на COCO - 57,1 с использованием PANet (см. Дашборд). То же, что и при использовании истины семантической сегментации. Мы узнаем, что само вложение, вероятно, довольно хорошее.

Пример внедрения

Ниже приведен пример внедрения экземпляра, созданного сетью, обученной, с уважением. Он используется для решения проблемы, представленной Data Science Bowl 2018, которая в настоящее время работает на Kaggle. Цель - найти ядра клеток на медицинских изображениях.

Верхнее левое изображение - это исходное изображение. Среднее изображение - это семантическая сегментация (здесь только два класса, фон и передний план). Остальные изображения - это первые 7 каналов из 64 пространства для встраивания. Из вложения очевидно, что сеть изучила каналы, которые пространственно различают ядра. Пример диагонального или горизонтального кодирования. Некоторые кодируют расстояние от центра изображения. Однако внутри экземпляра цвет однородный. Это дает нам некоторое представление о том, как сеть научилась сегментировать экземпляры.

Документ 2: Сегментация семантического экземпляра с помощью глубокого метрического обучения

Алиреза Фатхи, Збигнев Война, Вивек Ратод, Пэн Ван, Хён О Сон, Серхио Гвадаррама, Кевин П. Мерфи
https://arxiv.org/ abs / 1703.10277

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

В статье предлагается изучить несколько возможных семян для каждого пикселя. Мы изучаем начальное число для каждого радиуса (в пространстве вложения) и класса. Итак, если у нас есть классы C и мы изучаем ширину полосы (радиусы) T, у нас есть начальные «предложения» CxT на пиксель. Для каждого пикселя рассматривается только предложение с наивысшим баллом.

Утрата встраивания. В этой статье за ​​встраивание пар пикселей накладываются штрафы. Мы рассматриваем пары из одного экземпляра и пары из разных экземпляров.

В статье используется модифицированная логистическая функция, которая преобразует евклидово расстояние в пространстве вложения в область [0, 1]. Пары, которые находятся близко в пространстве вложения, будут присвоены функцией значение, близкое к 1, пары, которые находятся на расстоянии, будут приближаться к 0.

Естественно, logloss используется как функция потерь. Размеры экземпляров могут различаться, поэтому, чтобы смягчить проблему дисбаланса, пары взвешиваются по размеру экземпляра, частью которого они являются.

Потеря посевной способности. Для каждого пикселя модель получает несколько оценок неэффективности. Один балл за каждую комбинацию пропускной способности (радиуса встраиваемого пространства) и класса. Поскольку оценка неэффективности близка, но не такая же, как семантическая сегментация, основная истина для каждого определяется каждый раз, когда оценивается встраивание. Маска расширяется вокруг встраивания пикселя, и если IoU с наземным экземпляром истины превышает определенный порог, пиксель рассматривается как начальное значение для класса экземпляра. В этом случае за поражение будет начислен штраф за низкий балл неэффективности для этого класса.

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

Процедура обучения. В документе используется магистраль ResNet-101, предварительно обученная на наборе данных COCO. Обучение начинается без предсказания классификации / неэффективности, т. Е. Λ = 0, и продолжается до 0,2, поскольку встраивание более стабильно.

Костяк оценивается в различных масштабах (0,25, 0,5, 1, 2), и объединенные результаты передаются в затравочные и встраивающие головки.

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

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

Документ 3: Рекуррентное встраивание пикселей для группировки экземпляров

Шу Конг, Чарлесс Фаулкс
https://arxiv.org/abs/1712.08273
https://github.com/aimerykong/Recurrent-Pixel-Embedding-for-Instance -Группировка

В этой статье предлагается выполнить вложение в n-сферу и измерить близость пикселей с помощью косинусного расстояния. Однако основным вкладом этой статьи является модель рекуррентной группировки, основанная на модифицированной версии алгоритма Gaussian Blurring Mean-Shift (GBMS).

GBMS - это итеративный алгоритм, подобный простому алгоритму среднего сдвига, который использовался для поиска центров экземпляров в первой статье. В этой версии все пиксели считаются потенциальными затравками. Все пиксели обновляются на каждой итерации в соответствии с плотностью вокруг них. Движение к «центру тяжести», как если бы пространство вложения изображения было туманностью, производящей планеты. Чем дальше точки друг от друга, тем меньше они будут влиять друг на друга. Расстояние контролируется шириной полосы Гаусса, это стандартное отклонение, как видно из приведенного ниже алгоритма.

Для GBMS есть гарантии кубической сходимости, поэтому в конечном итоге мы должны получить очень плотные, почти точечные кластеры после применения преобразования несколько раз. Подробнее о GBMS см. Здесь.

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

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

Измерение расстояний на сфере вместо использования нормы L2. Кроме того, после применения шага GBMS требуется нормализовать полученные вложения, чтобы они находились на единичной сфере.

Обучение. Используются парные потери пикселей, аналогично предыдущему документу с пороговым значением расстояния, необходимого для разнородных пар (альфа). Каждая пара оценивается с использованием калиброванного косинусного расстояния, которое находится в диапазоне [0,1] вместо [-1, -1].

Потери распространяются в обратном направлении через каждое приложение модели повторяющейся группировки. На более поздних этапах применения обнаружатся только очень сложные случаи. Авторы сравнивают это свойство с жестким отрицательным майнингом, используемым, например, при обучении Faster-RCNN.

Авторы используют 0,5 в качестве значения альфа в статье. Обратите внимание, что размер экземпляра используется для восстановления баланса потерь между маленькими и большими экземплярами.

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

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

Другие подходы

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

Резюме

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

(1) Сегментация семантического экземпляра с функцией распознавания потерь
Используется непарная функция потерь. Создание более богатых градиентов с использованием всех пикселей изображения.

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

(3) Рекуррентное встраивание пикселей для группировки экземпляров
GBMS, вариант среднего сдвига, использовался внутри сети как для обучения, так и для анализа. Создает очень плотные скопления.

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

Контакт: [email protected]

Слайды: https://goo.gl/iTC9aS