La reconnaissance faciale peut toujours fonctionner comme ça
Aujourd'hui, nous allons l'étendre et jouer à des combats d'avions avec des visages humains. Bien que l'idée soit similaire à la reconnaissance gestuelle, la quantité de code est légèrement supérieure à celle de la version à reconnaissance gestuelle.
L'algorithme de visage utilisé est de niveau milliseconde, la fréquence d'images peut atteindre 30 et il fonctionne très bien sur le processeur d'un ordinateur.
Maintenant, je vais partager le processus de mise en œuvre du projet et obtenir le code source complet du projet à la fin de l'article.
Préparez le programme de guerre des avions
Trouvez une version Python du programme de guerre des avions sur Github, installez Pygame et exécutez-le.
Utilisez les touches A, D, W et S du clavier pour contrôler la direction du mouvement de l'avion, qui correspondent respectivement à gauche, droite, haut et bas.
Donc, ce que nous devons faire ensuite, c'est reconnaître le visage, estimer la pose du visage et cartographier les résultats estimés à gauche, à droite, en haut et en bas pour contrôler le fonctionnement de l'avion.
Reconnaissance faciale
Ici, nous utilisons opencv pour lire le flux vidéo de la caméra.
Envoyez chaque image du flux vidéo au modèle de reconnaissance faciale dans Mediapipe pour reconnaissance.
Picture Mediapipe peut non seulement reconnaître les visages, mais également marquer 6 points clés sur les visages : œil gauche, œil droit, oreille gauche, oreille droite, nez et bouche.
Code principal :
with self.mp_face_detection.FaceDetection( model_selection=0, min_detection_confidence=0.9) as face_detection: while cap.isOpened(): success, image = cap.read() image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) results = face_detection.process(image) image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) if results.detections: for detection in results.detections: # 获取人脸框坐标 face_box = detection.location_data.relative_bounding_box face_w, face_h = int(face_box.width * frame_w), int(face_box.height * frame_h) face_l = int(face_box.xmin * frame_w) + face_w face_t = int(face_box.ymin * frame_h) face_r, face_b = face_l - face_w, face_t + face_h # 显示人脸框 cv2.rectangle(image, (face_l, face_t), (face_r, face_b), (0, 255, 255), 2) self.draw_zh_img(image, self.face_box_name_img, (face_r + face_l) // 2, face_t - 5) pose_direct, pose_key_points = self.pose_estimate(detection) # 显示人脸 6 个关键点 for point_name in FaceKeyPoint: mp_point = self.mp_face_detection.get_key_point(detection, point_name) point_x = int(mp_point.x * frame_w) point_y = int(mp_point.y * frame_h) point_color = (0, 255, 0) if point_name in pose_key_points else (255, 0, 255) cv2.circle(image, (point_x, point_y), 4, point_color, -1) # 显示关键点中文名称 point_name_img = self.face_key_point_name_img[point_name] self.draw_zh_img(image, point_name_img, point_x, point_y-5)
Il y a un petit point de connaissance auquel tout le monde doit prêter attention.
Draw_zh_img est utilisé dans le code pour afficher le chinois, car opencv ne prend pas en charge l'affichage direct du chinois. Par conséquent, j'utilise la méthode Image dans le module PIL pour dessiner des images chinoises à l'avance et les convertir au format opencv.
En cas de besoin, fusionnez directement avec le flux vidéo, avec une grande efficacité et sans perte d'image.
Estimation de la pose du visage
Avant la reconnaissance des gestes, nous utilisions des images adjacentes pour juger du mouvement des gestes. L'estimation de la pose du visage utilise uniquement l'image actuelle, ce qui est relativement simple.
On peut déterminer la posture du visage grâce à la distance coordonnée des 6 points clés du visage
Ici, la distance horizontale entre l'oreille gauche et le nez est très proche, on peut donc estimer que le visage tourne vers la gauche, vous ne pouvez donc utiliser que l'avion pour vous déplacer vers la gauche.
De même, en utilisant d'autres points clés, nous pouvons estimer si le visage tourne vers la droite, vers le haut (lever la tête) et vers le bas (baisser la tête). posture du visage, nous pouvons utiliser le programme pour contrôler le clavier afin de contrôler le mouvement de l'avion.
Ici, j'utilise le module PyKeyboard pour contrôler les touches du clavier. Les fonctions
# 左耳与鼻子水平距离,判断面部左转 left_ear_to_nose_dist = left_ear.x - nose_pos.x # 右耳与鼻子水平距离,判断面部右转 nose_to_right_ear_dist = nose_pos.x - right_ear.x # 鼻子与左眼垂直距离,判断面部向上 nose_to_left_eye_dist = nose_pos.y - left_eye.y # 左耳与左眼垂直距离,判断面部向下 left_ear_to_left_eye_dist = left_ear.y - left_eye.y if left_ear_to_nose_dist < 0.07: # print('左转') self.key_board.press_key('A') time.sleep(0.07) self.key_board.release_key('A') return 'A', [FaceKeyPoint.NOSE_TIP, FaceKeyPoint.LEFT_EAR_TRAGION] if nose_to_right_ear_dist < 0.07: # print('右转') self.key_board.press_key('D') time.sleep(0.07) self.key_board.release_key('D') return 'D', [FaceKeyPoint.NOSE_TIP, FaceKeyPoint.RIGHT_EAR_TRAGION]
press_key et release_key sont respectivement des touches d'appui et de relâchement.
Entre eux, time.sleep(0.07) est appelé pour contrôler la durée du bouton. Si le bouton est enfoncé longtemps, la distance parcourue par l'avion sera longue. Au contraire, si le bouton time est long. Courte, la distance parcourue par l'avion sera courte. Vous pouvez l'ajuster en fonction de vos propres besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Ajustez la méthode de saisie sur l'anglais et maintenez la touche Maj et la touche moins enfoncées. Modèle applicable du didacticiel : Lenovo AIO520C Système : Windows 10 Édition Professionnelle : Microsoft Office Word 2022 Analyse 1 Vérifiez d'abord la saisie en chinois et en anglais de la méthode de saisie et ajustez-la en anglais. 2Maintenez ensuite enfoncées simultanément la touche Maj et la touche Moins de votre clavier. 3 Vérifiez l'interface pour voir les mots soulignés. Supplément : Comment saisir rapidement un soulignement dans un document Word 1. Si vous devez saisir un soulignement dans Word, sélectionnez l'espace avec la souris, puis sélectionnez le type de soulignement dans le menu de police pour saisir. Résumé/Remarques : assurez-vous de modifier la méthode de saisie en anglais avant de continuer, sinon le trait de soulignement ne pourra pas être saisi avec succès.

Lorsque notre souris perd temporairement sa fonction, comment utiliser les raccourcis clavier pour ouvrir le menu contextuel ? Il existe deux méthodes : l'une consiste à appuyer sur la touche de raccourci Maj+F10 pour ajuster le menu contextuel ? le raccourci clavier entre Windows et les touches du répertoire peut également être utilisé. Jetons un coup d'œil au didacticiel spécifique ci-dessous. La première méthode d'utilisation des raccourcis clavier pour ouvrir le menu contextuel : 1. Lorsqu'aucun fichier n'est sélectionné sur le bureau de l'ordinateur, appuyez sur le bouton marqué d'un cercle rouge sur le clavier dans l'image ci-dessous. Ce bouton est le bouton pour ouvrir rapidement. le menu contextuel. 2. Vous pouvez ouvrir le menu contextuel sur le bureau. Si vous devez sélectionner un élément, utilisez simplement la souris pour le sélectionner. Deuxième méthode 1. En fait, nous pouvons utiliser la touche de raccourci "Maj+F10" pour ajuster. le menu contextuel 2

Les périphériques d'entrée informatiques tels que le clavier et la souris nécessitent une intervention humaine et ne peuvent pas fonctionner de manière indépendante. Il en va de même pour le pavé tactile et le clavier des ordinateurs portables Windows. Le texte n'est pas automatiquement saisi et le clic de la souris n'est pas automatique. Si quelque chose d’inhabituel se produit, il doit y avoir une raison. Si vous rencontrez des problèmes de saisie automatique sur le clavier d'un ordinateur portable, suivez le guide pour les résoudre. Clavier sur un ordinateur portable Windows tapant automatiquement Lorsque le clavier de votre ordinateur portable Windows tape automatiquement, voici comment y remédier. Vérifiez le clavier manuellement Assurez-vous que le clavier fonctionne correctement Vérifiez si l'ordinateur portable est connecté à distance Vérifiez si des programmes de saisie automatique sont en cours d'exécution Exécutez une analyse de logiciels malveillants Ajustez les paramètres du clavier Réinstallez le pilote du clavier Nous le saurons en détail

Selon les informations de ce site Web du 29 février, Maicong a lancé aujourd'hui deux versions de « Hyacinth Switch » et « Glazed Ice Cream Switch » pour le clavier mécanique à trois modes K87. Le clavier présente une « structure de joint, disposition à 80 % » et un arbre associé. claviers Les informations sur le prix sont les suivantes : Version « Hyacinth Switch » : le prix initial est de 299 yuans. Version « Liuguang Ice Cream Switch » : le prix initial est de 379 yuans. Selon les rapports, la série de claviers utilise une structure de joint, 87 touches 80. % disposition, retournement complet des touches et prise en charge thermique. Pour le branchement et le débranchement, il prétend utiliser des « touches PBT bicolores originales/MDA », utilise un PCB à fente à touche unique de 1,2 mm (position inférieure de la lampe), est équipé de RVB. Effets de lumière et dispose d'une conception de plaque signalétique à absorption magnétique. De plus, ce clavier est équipé d'une batterie de 6000 mAh et d'un délai sans fil de 3 ms. La taille officielle et la taille du clavier n'ont pas été annoncées.

Les claviers d'ordinateur Windows 11 qui seront lancés dans les prochains mois disposeront d'une nouvelle touche Copilot. Cette touche permet aux utilisateurs d'entrer facilement en mode copilote en appuyant sur un bouton désigné sans mettre à niveau un nouveau PC. Ce guide détaillera comment configurer le bouton copilote sur n'importe quel clavier Windows 11. Microsoft a récemment annoncé avoir réalisé d'importants progrès dans la conduite assistée par l'intelligence artificielle. Windows 11 ajoutera une clé Copilot dédiée pour améliorer encore l'expérience des utilisateurs de PC. Ce changement matériel représente la première mise à niveau majeure des claviers PC Windows depuis trente ans. Dans les mois à venir, les nouveaux ordinateurs Windows 11 présenteront un nouveau design de touches Copilot sur le clavier

Selon les informations de ce site le 12 août, VGN a lancé le 6 août la série de claviers et de souris co-marqués « Elden Ring », comprenant des claviers, des souris et des tapis de souris, conçus avec un thème personnalisé de Lani/Faded One. de produits Il a été mis sur JD.com, au prix de 99 yuans. Les informations sur les nouveaux produits co-marqués jointes à ce site sont les suivantes : Clavier VGN丨Elden Law Ring S99PRO Ce clavier utilise une coque en alliage d'aluminium pur, complétée par une structure de silencieux à cinq couches, utilise une structure à ressort à lames GASKET, a un seul -PCB à fente pour touches et capuchons de touches en matériau PBT de hauteur d'origine, fond de panier personnalisé en alliage d'aluminium ; prend en charge la connexion à trois modes et la technologie à faible latence SMARTSPEEDX connectée au VHUB, il peut gérer plusieurs appareils en un seul arrêt, à partir de 549 yuans ; VGN丨Elden French Ring F1PROMAX souris sans fil la souris

Les utilisateurs de clavier mobile Apple souhaitent configurer la méthode de saisie manuscrite, mais ne savent pas comment le faire. C'est en fait très simple. Les utilisateurs peuvent sélectionner directement la méthode de saisie manuscrite dans les paramètres du clavier du téléphone. Sinon, ils peuvent également l'ajouter manuellement. une méthode de saisie manuscrite. Comment définir la méthode de saisie manuscrite sur le clavier du téléphone mobile Apple A : Activer la méthode de saisie manuscrite directement dans les paramètres du clavier 1. Lorsque les utilisateurs Apple utilisent la méthode de saisie, la méthode de saisie manuscrite est activée par défaut. 2. Les utilisateurs doivent simplement cliquer et maintenir le coin inférieur gauche pour sélectionner la méthode de saisie manuscrite lors de la saisie. 3. Si l'utilisateur ne dispose pas d'une méthode de saisie manuscrite sur son téléphone mobile, il peut également l'ajouter manuellement. 4. L'utilisateur saisit les paramètres, recherche les paramètres du clavier universel et ajoute l'option de saisie manuscrite au premier clavier. 5. Utilisez la méthode de saisie manuscrite pour

Comment définir le skin du clavier WeChat ? WeChat Keyboard est un logiciel de méthode de saisie sur téléphone mobile très intelligent. Ce logiciel possède de nombreuses fonctions conviviales. Il permet aux utilisateurs de choisir leur propre mode de saisie et de trouver les expressions qu'ils souhaitent envoyer le plus rapidement possible. Ce logiciel permet également aux utilisateurs de modifier eux-mêmes le skin du clavier. De nombreux utilisateurs ne savent pas comment changer le skin. L'éditeur ci-dessous a compilé les méthodes de changement de skin pour votre référence. Comment définir l'apparence du clavier WeChat Dans WeChat, SMS ou d'autres applications qui nécessitent l'utilisation du clavier de votre téléphone, vous pouvez cliquer sur l'icône des paramètres de la méthode de saisie dans le coin supérieur gauche du clavier pour accéder à la page des paramètres et afficher la fonction. options de configuration pour diverses méthodes de saisie. 2. Cliquez sur « Skin personnalisé » sur la page des paramètres de la méthode de saisie.
