Это не проблема версии Python.Проблема, которую вы хотите решить, очень сложная.Проблема заключается в части обнаружения и ассоциации.Во-первых, у вас может не быть обнаружения, во-вторых, обнаруженный объект может быть не связан со следующим кадром.
match=face_recognition.compare_faces([face_encoding],face)[0]
face_distanc=face_recognition.face_distance([face_encoding],face)
Если расстояние слишком велико или слишком мало между целью.у вас будет неудачная ассоциация и ложная ассоциация.В этом случае вам, скорее всего, придется повысить точность сопоставления элементов лица, получив лучшую функцию расстояния / функцию кодирования лица.
Пара вещей, которые вы могли бы сделать с минимальными усилиями, чтобы улучшить результат.
Сначала
Вместо
frame1 -> обнаружение -> связать *> 1012 *
frame2 -> обнаружение -> связать
frame3 -> обнаружить -> связать
....
Попробуйте
frame1 -> обнаружить -> отслеживание
frame2 -> обнаружить -> отслеживание -> связать
frame3 -> обнаружить -> tracking -> assocaiate
Отслеживание может быть любым методом, таким как kct или tld tracker.Первоначально он реализован в виде отдельного трекера, и есть работа, которая расширяет их в несколько целевых трекеров.Вы можете найти их в github
![enter image description here](https://i.stack.imgur.com/aaVWb.png)
Как показано на рисунке, даже если у вас несколько человек, было бы меньше ложных или неудачных партнеров.
Во-вторых,
Другая вещь, которую вы можете попробовать, - это использовать обнаружение / отслеживание / ассоциацию скелета для сцены, честно говоря, я не могу действительно различать левого и правого мальчика.Особенно, когда они не обращены непосредственно к камере, может быть несколько случаев неудачного обнаружения / отслеживания / ассоциации.
![enter image description here](https://i.stack.imgur.com/ValHO.png)
Однако мы часто сталкиваемся с таким типом вопроса о позе / обнаружении / ассоциации при обнаружении скелета, когда люди могут двигаться, танцевать и менять позы.время.В github также есть множество открытых пакетов отслеживания обнаружения скелетов.
![enter image description here](https://i.stack.imgur.com/Sa0BG.jpg)
Зависит от того, сколько усилий вы хотите приложить к этому, может быть много других решений.