Как асинхронная работа кода распознавания лиц ИИ приводит к поломке Huaping?

Архитектура
Как асинхронная работа кода распознавания лиц ИИ приводит к поломке Huaping?

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

Столкнувшись с проблемой потокового видео, мы предполагаем, что это может быть проблема с push-потоком или плеером.Поэтому необходимо использовать проигрыватель Adobe (например, VLC и ffplay) для проверки воспроизведения.Если такая же проблема встречается, в большинстве случаев это проблема с самим потоком, в противном случае это может быть проблема с плеером.

Так же есть размытие экрана при игре с VLC (как показано на рисунке ниже), так что причина размытия экрана проблема самого потока, которая может быть вызвана неправильной работой в push потоке, так что давайте разберем проблему в коде.

Так как распознавание лиц является довольно трудоемкой операцией, для идентификации основной информации о человеке требуется около 300 мс. Однако код на слое go является синхронной операцией. Ниже приведена часть кода:

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

После перехода на асинхронную работу и запуска программы при воспроизведении VLC все равно будет размытый экран. Также необходимо аннотировать код распознавания лиц «go client.Base.FaceDetection()», работающая программа использует vlc для воспроизведения, и феномен размытия экрана не появится.

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

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

Запустив программу, обнаружил, что точка останова не сработала, но экран действительно появлялся при использовании VLC для воспроизведения, и экран не был размытым, что указывает на отправку вторичного потока. Это главный виновник воспроизведения видео Huaping, решение — удаление отправляемого потока данных.