Разные алгоритмы трекинга мы делаем последние лет 12. Зачастую это очень простые алгоритмы трекинга. Иногда очень сложные и накрученные, как в Cherry.
Если честно, то очень часто мы собирали их с нуля руками. Что такое фильтр Калмана понимаем, как сделать выбор лучшего соответствия в целом тоже.
Но, если честно, недавно бомбануло. Я увидел, как в двух разных фирмах для трекинга используют это – https://www.pyimagesearch.com/2018/10/29/multi-object-tracking-with-dlib/ (или аналоги с того же сайта).
Для тех кто не хочет читать вкратце: детекция за счёт MobileNet-ssd, а связывание объектов за счёт трекера Dlib (или вариантов cv2).
В одной из таких фирм это даже заработало каким-то чудом.
Но… Не надо так. Не надо использовать бажный оптический трекер. Править все его ошибки это гигантская работа, на которую нет OpenSource исходников.
Я решил рассказать как сделать проще и стабильнее в несколько кликов.