fbpx
  • Double Anchor R-CNN: распознавание людей в толпе

    Double Anchor R-CNN — это нейросеть, которая распознает людей в толпе. Алгоритм отдельно для каждого человека на снимке распознает тело и голову, а затем соотносит разметку. Модель обходит предыдущие подходы на задачах CrowdHuman, COCOPersons и CrowdPose.

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

    Архитектура нейросети

    Архитектура модели разработана поверх Feature Pyramid Network (FPN). Несмотря на это, модель можно подогнать под другие архитектуры: Faster R-CNN или Mask R-CNN. Обучение Double Anchor R-CNN состоит из следующих компонентов:

    1. Нейросеть, которая предлагает разметку для головы и тела объектов на снимке;
    2. Модуль для генерации обучающих примеров в высоком разрешении для R-CNN (proposal crossover module);
    3. Модуль для агрегации разметки голов и тел;
    4. Joint NMS алгоритм для пост-обработки 

    Сначала Double Anchor RPN размечает головы и тела на снимке. Признаки головы и тела агрегируются до финального предсказания. Joint NMS модуль используется для пост-процессинга. Одной из основных частей нейросети является Double Anchor RPN. У Double Anchor RPN есть дополнительный регрессионный слой, который предсказывает смещения для разметок головы и тела одновременно. Этого нет в базовой сети для поиска объекта на изображении.

    Визуализация составных частей нейросети

    Проверка качества модели

    Исследователи проверили Double Anchor R-CNN на датасетах CrowdHuman, COCOPersons и CrowdPose. Метрики показывают лог-среднее неверно размеченных головы (MR-H) и тела (MR-B). Видно, что предложенный подход даже без J-NMS модуля обходит существующие решения.

    Сравнение подходов для распознаванию людей в толпе на данных CrowdHuman