Utilisez simplement la démo de reconnaissance de visage nommée d'OpenVINO dans Docker

J'avais l'habitude d'exécuter interactive_face_detection_demo, ainsi que [face_recognition_demo](https://docs.openvinotoolkit.org/2020.3/_demos_face_python html) est exécuté. C'était une démo qui était dans OpenVINO 2020.3, mais cela ne semblait pas être dans OpenVINO 2020.4. Alors lancez-le en 2020.3.

output-palette.gif

Exécuter avec Docker

Il est pratique de le définir sur 2020.4 ou 2020.3, alors exécutez-le avec Docker. (Je ne l'ai pas essayé sur Google Colab car il semble difficile d'utiliser l'interface graphique.)

Installation du serveur X11

Cette démo a la fonction que lorsqu'un visage inconnu apparaît, vous pouvez entrer le nom et il sera enregistré avec l'image du visage sur place. Définissez la fenêtre à lancer depuis Docker pour une entrée depuis l'interface graphique.

Cette fois, j'ai démarré le serveur X11 côté OS hôte (Windows 10) afin que la fenêtre du conteneur (Ubuntu 18) puisse être soufflée sous Windows 10. Comme il s'agit de Windows 10, j'ai installé et démarré 1.20.8.1 de VcXsrv et autorisé les réseaux privés dans les paramètres du pare-feu Windows. L'adresse de connexion du conteneur docker au système d'exploitation hôte n'est pas localhost, alors vérifiez-la avec ipconfig.

ipconfig
~~~
Adaptateur Ethernet vEthernet(WSL):

Suffixe DNS spécifique à la connexion. . . . .:
Lier l'adresse IPv6 locale. . . . .: fe80::6ca1:e659:80eb:a804%18
Adresse IPv4. . . . . . . . . . . .: 172.25.64.1 (Voici la destination de la connexion DISPLAY)
masque de sous-réseau. . . . . . . . . .: 255.255.240.0
passerelle par défaut. . . . . . .:

Dans l'exemple ci-dessus, «172.25.64.1» est la destination de la connexion DISPLAY.

Démarrez Docker / Exécutez la démo

docker run \
  -v /c/Users/${USER}/Downloads:/Downloads \
  -u root \
  -it \
  --rm \
  -e DISPLAY=172.25.64.1:0.0 \
  openvino/ubuntu18_dev:2020.3

La partie de 172.25.64.1 est l'adresse confirmée dans ↑↑. Puisqu'il n'est pas nécessaire d'ajouter ou de créer une bibliothèque, cela peut fonctionner même si vous n'êtes pas root, mais je voulais définir le chemin du modèle, etc. sur comme la dernière fois Donc je suis root. Puisqu'il s'agit d'une démo qui n'est pas en 2020.4, nous lançons 2020.3.

Travaillez dans le conteneur ci-dessous

${INTEL_CVSDK_DIR}/deployment_tools/tools/model_downloader/downloader.py \
  --name face-detection-retail-0004,landmarks-regression-retail-0009,face-reidentification-retail-0095 \
  --output_dir /content/model/ \
  --precisions FP32

Utilisez le modèle entraîné que vous souhaitez utiliser dans face_recognition_demo dans Attaché Downloader Je vais le laisser tomber avec.

mkdir -p /Downloads/face_gallery/
cd ${INTEL_CVSDK_DIR}/inference_engine/demos/python_demos/face_recognition_demo/
python3 ./face_recognition_demo.py \
  -m_fd /content/model/intel/face-detection-retail-0004/FP32/face-detection-retail-0004.xml \
  -m_lm /content/model/intel/landmarks-regression-retail-0009/FP32/landmarks-regression-retail-0009.xml \
  -m_reid /content/model/intel/face-reidentification-retail-0095/FP32/face-reidentification-retail-0095.xml \
  --input /Downloads/input.mp4 \
  --output /Downloads/output.mp4 \
  -fg /Downloads/face_gallery/ \
  --allow_grow

Puisqu'il s'agit de Python, aucune compilation n'est requise. De plus, il y a une description de pip3 install -r requirements.txt dans le manuel, mais ce n'était pas nécessaire car les modules dépendants sont déjà inclus. Après le démarrage, --allow_grow est ajouté, donc si vous avez un visage inconnu, il vous sera demandé si nécessaire. A ce moment, l'image du visage est enregistrée dans face_gallery.

Recommended Posts

Utilisez simplement la démo de reconnaissance de visage nommée d'OpenVINO dans Docker
Utilisez simplement la démo de détection de visage d'OpenVINO dans (Google Colab | Docker)
[Docker] Utiliser des variables d'environnement dans Nginx conf
Comment utiliser le volume nommé dans docker-compose.yml
Utiliser docker dans un environnement proxy sur ubuntu 20.04.1
Comment utiliser Docker dans VSCode DevContainer
Comprendre en 5 minutes !! Comment utiliser Docker
Installez simplement Laravel 8 sur le docker dans l'environnement PHP8