Lab41 только что завершает проект по переидентификации автомобилей под названием Pelops. Цель заключалась в том, чтобы определить, проезжает ли один и тот же автомобиль мимо фиксированного набора видеокамер, не считывая номерной знак.

Мы разбили проект на три части:

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

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

Скалывание

За последние несколько лет было проделано много работы по использованию глубокого обучения для локализации объектов. В настоящее время методы, основанные на глубоком обучении, позволяют достичь самых высоких результатов при решении многих проблем локализации. Фактически, наша родственная лаборатория CosmiQ Works изучала использование этих методов и даже разработала модифицированную версию YOLO под названием You Only Look Twice (YOLT) для локализации кораблей и самолетов на спутниковых изображениях.

Глубокое обучение тоже кажется лучшим вариантом для поиска машин! Но мы не используем глубокое обучение по двум причинам:

  1. Стандартная сеть, SSD, работала плохо.
  2. У нас не было много размеченных данных, поэтому переобучение было невозможным.

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

Вычитание фона

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

Первый метод использовал очень простую фоновую модель и в основном предназначался для тестирования. Для каждого пикселя берется средняя яркость последних десяти кадров. Это дает грубую оценку того, какие объекты являются «постоянными», а какие временными.

Второй метод был основан на статье Живковича и ван дер Хейдена. Он использует модель смеси Гаусса для оценки распределения фоновых пикселей в пространстве RGB. Он изучает распределения на основе предыдущих кадров и обновляет их по мере обработки новых кадров. Мы использовали реализацию в OpenCV под названием MOG2, cv :: BackgroundSubtractorMOG2, которая также включает модель для отбрасывания теней. В противном случае тени - это сложная проблема, потому что тени - это реальные изменения в изображении, но, как правило, не вызывают интереса.

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

Данные и маркировка

Данные, которые мы использовали для тестирования наших алгоритмов чипирования, были получены с двух наборов дорожных камер. Первый сет был из Сан-Антонио, штат Техас, а второй сет - из Нового Орлеана, штат Луизиана. Эти два набора данных охватывают широкий диапазон размеров транспортных средств с точки зрения количества пикселей. Данные Техаса имеют низкое разрешение, а камеры установлены высоко над шоссе, что дает очень маленькие микросхемы, самые большие из которых составляют примерно 50 пикселей по бокам. Данные Луизианы получены с помощью камер с более высоким разрешением, которые установлены ближе к проезжей части, поэтому чипы намного больше. Некоторые из чипов имеют до 300 пикселей на стороне. Ниже приведены примеры данных из Техаса и Луизианы:

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

Метрическая

Мы используем два показателя для оценки качества щебня. Первый - это среднее пересечение по объединению (IOU), а второй - средний балл F1 по квадрату. Они аналогичны (но не идентичны) метрике, которую CosmiQ Works использует для SpaceNet.

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

Средняя оценка F1 использует оценки долговых обязательств, рассчитанные для каждой согласованной пары выше, но с присвоенным порогом. Пары, у которых долговая расписка выше порогового значения, считаются «хорошими совпадениями», а все остальные считаются плохими совпадениями. Блоки истины без согласованных предсказанных блоков являются ложноотрицательными, а предсказанные блоки без согласованных блоков правды - ложными срабатываниями.

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

Полученные результаты

Алгоритм MOG2, предоставляемый OpenCV, лучше всего работал на трех разных камерах, которые мы тестировали, двух из Техаса и одной из Луизианы. Для данных из Техаса оптимальный размер ядра составлял около 10 пикселей (хотя разрешены только нечетные размеры), тогда как для данных из Луизианы он составлял почти 100 пикселей. Это ставит ядра примерно в том же масштабе, что и размер объектов, которые мы пытаемся обнаружить, что имеет смысл, поскольку меньшие ядра не будут достаточно подавлять шум, в то время как более крупные будут объединять близлежащие объекты вместе.

Оптимальное пороговое значение интенсивности пикселей также различалось между двумя наборами данных: около 10 для Техаса и около 50 для Луизианы (где 0 - черный, а 255 - белый). В отличие от размера ядра, у нас нет хорошего объяснения этому.

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

Заключение

Результаты неплохие, но не лучшие. Алгоритм MOG2 имеет несколько основных проблем:

  1. Тени по-прежнему представляют собой серьезную проблему, как видно на изображении с камеры, расположенной на IH-37 на Джонс-авеню.
  2. Как видно на кадре из Луизианы, получить правильный размер ограничивающей рамки непросто.
  3. Соседние автомобили часто объединяются.

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

Lab41 - это лаборатория Кремниевой долины, в которой эксперты из разведывательного сообщества США (IC), академических кругов, промышленности и In-Q-Tel собираются вместе, чтобы лучше понять, как работать с большими данными и, в конечном итоге, использовать их.

Узнайте больше на lab41.org и подпишитесь на нас в Twitter: @ _lab41