顔認識はまだこのように機能します
今日はそれを拡張して、人間の顔をした飛行機の戦いをプレイします。考え方はジェスチャー認識と似ていますが、コードの量はジェスチャー認識バージョンよりわずかに多くなります。
使用される顔アルゴリズムはミリ秒レベルで、フレーム レートは 30 に達し、コンピューターの CPU 上で非常にスムーズに動作します。
以下ではプロジェクトの実装プロセスを共有し、記事の最後でプロジェクトの完全なソース コードを入手します。
Plane War プログラムの準備
Plane War プログラムの Python バージョンを Github で見つけ、Pygame をインストールして実行します。
キーボードの A、D、W、S キーを使用して、航空機の移動方向を制御します。それぞれ左、右、上、下に対応します。 。
したがって、次にしなければならないことは、顔を認識し、顔の姿勢を推定し、推定結果を左右上下にマッピングして航空機の動作を制御することです。
顔認識
ここでは、opencv を使用してカメラからビデオ ストリームを読み取ります。
ビデオ ストリームの各フレームをメディアパイプの顔認識モデルに送信して認識します。
Picture mediapipe は顔を認識するだけでなく、顔の 6 つの重要なポイント (左目、右目、左耳、右耳、鼻、口) をマークすることもできます。
コア コード:
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)
誰もが注意する必要がある小さな知識点があります。 opencv は中国語の直接表示をサポートしていないため、
draw_zh_img は中国語を表示するコードで使用されます。そこで、PIL モジュールの Image メソッドを使用して、事前に中国語の絵を描画し、opencv 形式に変換します。
必要に応じて、高効率でフレームドロップなしでビデオストリームと直接マージします。
顔のポーズの推定
ジェスチャ認識の前に、隣接するフレームを使用してジェスチャの動きを判断していました。顔の姿勢の推定は現在のフレームのみを使用するため、比較的簡単です。
顔の 6 つのキー ポイントの座標距離によって顔の姿勢を決定できます。
ここでは、左耳間の水平距離です。したがって、顔が左を向いていると推定でき、したがって飛行機を左に動かすことができます。
同様に、他のキーポイントを使用して、顔が右を向いたり、上向き(頭が上)、下向き(頭が下)になったりすることを推定できます。
コアコード:
# 左耳与鼻子水平距离,判断面部左转 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]
航空機の動きの姿勢制御
顔の姿勢を認識した後、プログラムを使用してキーボードを制御し、航空機の動きを制御できます。
ここでは、PyKeyboard モジュールを使用してキーボードのキーを制御します。
self.key_board = PyKeyboard() # print('左转') self.key_board.press_key('A') time.sleep(0.07) self.key_board.release_key('A')
press_key 関数と release_key 関数は、それぞれキーを押すとキーを放します。
この間に、ボタンの持続時間を制御するために time.sleep(0.07) が呼び出されます。ボタンを長押しすると、航空機の移動距離が長くなります。ボタンを押す時間が短いと、機体の移動距離も短くなりますので、ご自身のニーズに合わせて調整してください。
以上が顔認識はまだこのように機能しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









入力方法を英語に調整し、Shift キーとマイナス キーを押したままにします。チュートリアルの適用モデル: Lenovo AIO520C システム: Windows 10 Professional エディション: Microsoft Office Word 2022 分析 1 まず、入力方法の中国語と英語の入力を確認し、英語に調整します。 2 次に、キーボードの Shift キーとマイナス キーを同時に押します。 3 インターフェイスをチェックして、下線付きの単語を確認します。補足:Word文書に下線を素早く入力する方法 1. Wordで下線を入力する必要がある場合は、マウスでスペースを選択し、フォントメニューで入力する下線の種類を選択します。概要/注意事項: 続行する前に必ず入力方法を英語に変更してください。そうしないと、アンダースコアを正常に入力できません。

マウスが一時的に機能しなくなった場合、キーボード ショートカットを使用して右クリック メニューを開くにはどうすればよいですか? 2 つの方法があります。1 つは Shift+F10 ショートカット キーを押して右クリック メニューを調整する方法です。 Windows と Ctrl の間のキーボード ショートカット。ディレクトリ キーも使用できます。以下の具体的なチュートリアルを見てみましょう。キーボード ショートカットを使用して右クリック メニューを開く 1 つ目の方法: 1. コンピューターのデスクトップでファイルが選択されていないときに、下の図のキーボードの赤丸でマークされたボタンを押します。右クリックメニュー。 2. デスクトップ上で右クリック メニューを開くことができます。項目を選択する必要がある場合は、マウスを使用して選択します。2 番目の方法 1. 実際には、「Shift+F10」ショートカット キーを使用して調整できます。右クリックメニュー2

キーボードやマウスなどのコンピュータ入力デバイスは人間の操作が必要であり、単独で動作することはできません。 Windows ラップトップのタッチパッドとキーボードにも同じことが当てはまります。テキストは自動的に入力されず、マウスも自動的にクリックされません。何か異常なことが起こったら、必ず理由があるはずです。ノートパソコンのキーボードの自動入力の問題が発生した場合は、ガイドに従って問題を解決してください。 Windows ラップトップのキーボードが自動的に入力される Windows ラップトップのキーボードが自動的に入力される場合、それを修正する方法は次のとおりです。キーボードを手動で確認します キーボードが適切に動作していることを確認します ラップトップがリモートに接続されているかどうかを確認します 自動入力プログラムが実行されているかどうかを確認します マルウェア スキャンを実行します キーボード設定を調整します キーボード ドライバーを再インストールします 詳しく知りましょう

2月29日の本ウェブサイトのニュースによると、Maicongは本日、K87 3モードメカニカルキーボード用に「ガスケット構造、80%配置」、関連シャフトを備えた「ヒヤシンススイッチ」と「グレーズドアイスクリームスイッチ」の2つのバージョンを発売したと発表した。キーボードの価格情報は次のとおりです: 「Hyacinth Switch」バージョン: 初期価格は 299 元 「Liuguang Ice Cream Switch」バージョン: 初期価格は 379 元 報告によると、このシリーズのキーボードはガスケット構造を使用しており、87 キー 80 %配列、フルキーロールオーバー、およびサーマルサポート プラグの抜き差しには、「オリジナル/MDA 2色PBTキーキャップ」を使用すると主張し、1.2mmのシングルキースロット付きPCB(下部ランプ位置)を使用し、RGBを装備照明効果があり、磁気吸収ネームプレートデザインを採用しています。なお、このキーボードは6000mAhのバッテリーを搭載しており、ワイヤレス遅延は3msですが、キーボードの正式なサイズやサイズは発表されていません。

今後数か月以内に発売される Windows 11 コンピューターのキーボードには、新しい Copilot キーが搭載される予定です。このキーを使用すると、ユーザーは新しい PC をアップグレードすることなく、指定されたボタンを押すだけで簡単に副操縦士モードに入ることができます。このガイドでは、Windows 11 キーボードの副操縦士ボタンを設定する方法について詳しく説明します。 Microsoft は最近、人工知能による運転支援の進歩において重要な進歩を遂げたと発表しました。 Windows 11 では、PC ユーザーのエクスペリエンスをさらに向上させるために専用の Copilot キーが追加されます。このハードウェアの変更は、Windows PC キーボードに対する 30 年間で初めてのメジャー アップグレードとなります。今後数か月以内に、新しい Windows 11 コンピュータのキーボードには新しい Copilot キー デザインが搭載される予定です

8月12日のこのサイトのニュースによると、VGNは8月6日に、Lani/Faded Oneのカスタマイズされたテーマでデザインされたキーボード、マウス、マウスパッドを含む共同ブランドの「Elden Ring」キーボードおよびマウスシリーズを発売しました。の製品はJD.comに掲載されており、価格は99元からです。このサイトに添付されている共同ブランドの新製品情報は次のとおりです。 VGN丨Elden Law Ring S99PRO キーボード このキーボードは、純粋なアルミニウム合金シェルを使用し、5 層サイレンサー構造によって補完され、GASKET 板バネ構造を使用し、単一の- キースロット付き PCB、独自の高さの PBT 素材キーキャップ、アルミニウム合金のパーソナライズされたバックプレーン、VHUB に接続された 3 つのモード接続と SMARTSPEEDX 低遅延テクノロジーをサポートし、549 元から複数のデバイスをワンストップで管理できます。 VGN丨Elden French Ring F1PROMAX ワイヤレスマウス マウス

Apple モバイル キーボード ユーザーは、手書き入力方法を設定したいと考えていますが、その方法がわかりません。実際には非常に簡単です。ユーザーは、携帯電話のキーボード設定で手書き入力方法を直接選択できます。そうでない場合は、手動で追加することもできます手書き入力方式です。 Apple 携帯電話のキーボードで手書き入力方法を設定する方法 A: キーボード設定で直接手書き入力方法を有効にする 1. Apple ユーザーが入力方法を使用する場合、手書き入力方法はデフォルトで有効になります。 2. ユーザーは、入力中に左下隅をクリックして押し続けるだけで手書き入力方法を選択できます。 3. ユーザーが携帯電話に手書き入力メソッドを持っていない場合は、手動で追加することもできます。 4. ユーザーは設定を入力し、ユニバーサル キーボード設定を見つけて、最初のキーボードに手書き入力オプションを追加します。 5. 手書き入力方法を使用して、

WeChatキーボードのスキンを設定するにはどうすればよいですか? WeChat キーボードは、非常にスマートな携帯電話入力方法ソフトウェアです。このソフトウェアには多くのユーザーフレンドリーな機能があり、ユーザーは自分の入力モードを選択し、このソフトウェア上で必要な表現をできるだけ早く見つけることができます。このソフトウェアでは、ユーザー自身でキーボードのスキンを変更することもできますが、スキンの変更方法がわからないユーザーも多いため、以下のエディターにスキンの変更方法をまとめましたので、参考にしてください。 WeChat キーボード スキンの設定方法 WeChat、SMS、または携帯電話のキーボードを使用する必要があるその他のアプリケーションでは、キーボードの左上隅にある入力方法設定アイコンをクリックして設定ページに入り、機能を表示できます。さまざまな入力方法のオプションを設定します。 2.入力方法の設定ページで「パーソナライズドスキン」をクリックします。
