-
Notifications
You must be signed in to change notification settings - Fork 6
Tracking
Moscowsky Anton edited this page Nov 20, 2021
·
5 revisions
Отслеживание в данном пакете является надстройкой над трекингом OpenCV Tracking API. Отличие заключается в том, что OpenCV трекинг включается в работу, только когда основной детектор объекта не справился с задачей. В остальное время задача отслеживания занимается соотношением объектов на последующих кадрах.
Данная часть пакета работает только с версией OpenCV 4!
- Детектор объекта возвращает новый набор распознанных экземпляров объектов. Если данный объект распознан впервые то все экземпляры образуют новые треки.
- Если в системе уже имеются треки, то сопоставитель (matcher) на основе критерия максимального пересечения над объединением (intersection over union) соотносит экземпляры объектов с треками. Такие треки получают статус DETECTED.
- Для тех экземпляров объектов, что не получили пару из треков образуют новые треки, тоже получая статус DETECTED.
- Для тех треков, что не получили пару среди объектов, инициируется трекинг силами OpenCV, который пытается обнаружить объект по последним данным о нем. Трек получает статус TRACKED. При этом каждый шаг работы в этом режиме уменьшает коэффициент уверенности по формуле
score[t+1] = score[t](1 - decay)
. Если данный коэффициент достигает порога Probability объекта, то трек получает статус LOST и удаляется на следующей итерации. - Далее для треков в статусе TRACKED происходит применение признаков с типом проверки(Check) и извлечение (Extract).
Отличие от жесткого режима состоит в том, что для слежения могут использоваться распозанные объекты с более низким коэффициентом уверенности, однако они не могут порождать новые треки. TODO расписать подробнее с примером
Как было сказано, трек может иметь три статуса DETECTED, TRACKCED и LOST.
- DETECTED означает, что данный объект распознан непосредственно своим детектором.
- TRACKED означает, что данный объект распознан при помощи трекинга OpenCV.
- LOST Означает, что и детектор объекта и трекинг OpenCV не смогли найти объект. Объект, визуализирующийся или публикующийся с данным статусом содержит информацию по последним данным.
Эти статусы включены в ROS сообщения пакета.
- Метод трекинга описывается внутри тега . Ниже представлена таблица методов трекинга.
- IOU (double, default: 0.5) Порог пересечения над объединением (intersection over union). Объект и трек могут быть сопоставлены друг другу только если имеют IOU больше данного порога.
- decay (double, default: 0.1) Скорость распада, т.е. как быстро будет уменьшаться коэффициент уверенности в случае работы трекинга OpenCV. Распад равный 0 означает, что трекинг будет происходить пока не потеряет объект. Распад равный 1 будет означать, что трек будет удаляться сразу после отказа детектора. Однако тот же эффект можно достигнуть, указав None в методе трекинга.
- soft_prob (double, default: 0.5) Используется если распознавание объектов происходит в мягком режиме. Объекты с таким уровнем уверенности могут "присоединяться" у уже готовым трекам, но не образовывать новые.
<Tracker IOU="0.5" decay="0.1">KCF</Tracker>
Трекер должен быть объявлен в описании объекта
<SimpleObject Name="PersonCNNtracked" ID="1">
<Tracker IOU="0.5" decay="0.1">KCF</Tracker>
<Attribute Type="Detect">Person</Attribute>
</SimpleObject>
Метод | Комментарий |
---|---|
None | OpenCV трекинг отключен, работает только IOU сопоставитель |
KCF | |
BOOSTING | |
MIL | |
TLD | |
MEDIANFLOW | |
GOTURN | Для использования требуется дополнительные действия TODO |
MOSSE | |
CSRT |
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка