Используется плата ESP32CAM, но лицо не зарегистрировано.
Я работал над проектом использования платы ESP32CAM для распознавания лиц и открытия какого-то замка. Программа может обнаружить лицо с помощью желтого поля, которое появляется, как вы можете видеть на следующем изображении:
Но после нажатия кнопки «Зарегистрировать лицо» ничего не меняется. В настоящее время я использую приложение CameraWebServer по умолчанию, расположенное в примерах плат ESP32CAM. Будем очень признательны за любые советы по решению этих проблем
@Wahaaj Nasir, 👍-1
1 ответ
Короткая версия: вам нужен ESP32-S3 (а ESP32CAM нет), если вам нужно практическое распознавание лиц из этого примера. Но вы можете заставить работать распознавание лиц на ESP32CAM с помощью этого примера очень медленно, если вы действительно хотите это попробовать.
Прокомментируйте пример кода объясняет:
Вы должны выбрать схему разделов в меню доски, в которой имеется не менее 3 МБ места для приложения. Распознавание лиц ОТКЛЮЧЕНО для ESP32 и ESP32-S2, поскольку оно занимает от 15 секунд для обработки одного кадра. Обнаружение лиц ВКЛЮЧЕНО, если также включен PSRAM
Я понимаю, что "обнаружение" относится только к тому, что вы видите на включенном вами изображении, а именно к тому, что оно может находить лица (любое лицо) и рисовать рамку вокруг него. Это имеет смысл, поскольку на плате имеется PSRAM.
"Признание" - это обнаружение конкретного лица, которое вы "зарегистрировали", которое "ОТКЛЮЧЕНО для ESP32". А ESP32CAM использует ESP32 (важно, не более мощный ESP32). -S3)
Вы можете увидеть это снова в виде кода, а не комментария в коде веб-сервера.
Обслуживаемая веб-страница не настроена на отображение чего-либо другого, когда эти функции отключены. Он просто передает события обратно в код веб-сервера. Однако, если вы просматриваете последовательный вывод, вы должны увидеть сообщения говорит "Неизвестная команда: face_enroll" и «Неизвестная команда: face_recouncee»; если у вас установлен уровень базовой отладки на уровне информации или выше.
Они говорят, что на обычном ESP32 это занимает 15 секунд, что, очевидно, означает, что это возможно, хотя и немного бесполезно. Итак, если вы действительно хотите попробовать, вы можете изменить эту строку в app_httpd.cpp, чтобы прочитать:
#define CONFIG_ESP_FACE_RECOGNITION_ENABLED 1
Могу попробовать позже, если найду свою ESP32CAM. Но ожидается, что это «сработает»; но у него ужасная производительность. Ну, я нашел свой ESP32CAM, отредактировал эту строку, и да, он почти не работает, но вы можете видеть, что технически это работает, по крайней мере, какое-то время. Возможно, у меня происходит сбой во время процесса регистрации, или он может просто улавливать то, что считает лишними лицами, и настолько зависает, что перестает отвечать, что, возможно, и послужило причиной того, почему они просто отключили его. В любом случае, да, он ведет себя более или менее так, как описано в комментарии.
- Несколько клиентских серверов через Wi-Fi
- WebSocketsServer.h: No such file or directory
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как получить параметры запроса от ESPAsyncWebServer?
- контент» не захватывается
- ESP32 в Arduino-IDE с FS.h и SPIFFS
- Веб-сервер Arduino: более быстрая альтернатива «indexof» для разбора запросов GET?
- Как разрешить междоменные запросы на ESP8266 WebServer