みなさんこんにちは。今日は実践的なチュートリアルを皆さんと共有したいと思います。 いつものように、まずは結果を見てみましょう(目標があることを確認してください)。 顔認識技術の発達により、私たちの日常生活は大きく便利になりましたが、プライバシーの問題もあります。そして、犯罪者が違法行為を行うために利用される可能性もあります。 そのため、多くのビデオブロガーは通行人の画像をぼかします。しかし、手動でコーディングするのは非常に面倒な作業です。1 フレームの画像であれば比較的簡単ですが、ビデオのフレーム レートが 25FPS、つまり 1 秒間に 25 フレームの画像があると仮定すると、数分間のビデオの場合、作業量も非常に膨大になります。 そこで、プログラムを使って、このような操作を自動で実行してみます! Opencv、Mediapipe、Python を使用して、顔をリアルタイムでぼかすことができます。 これは 2 つのステップで実行できます。
(宿題: 自分以外の人をコーディングするにはどうすればいいですか?) 1.コーディングする前に、まず顔の位置を決めるいつものように、まず環境を設定し、必要なライブラリ(OpenCVとMediaPipe)をインストールします。 MediaPipe ライブラリは、顔のキーポイント検出用のモジュールを提供します。 詳細については、https://google.github.io/mediapipe/solutions/face_mesh.html を参照してください。 もちろん、顔のキーポイント検出用のコードもプロジェクト コードに提供されています。 「facial_landmarks.py」のファイル: 顔キーポイント検出の効果図 コードのこの部分を一緒に書いてみましょう:
描画後の結果は次のとおりです。 次に、上記で抽出した顔のキーポイント座標を使用してマスクを作成し、ビデオフレーム内の関心領域を抽出します。
結果は以下のようになります。 このマスクを取得した後、顔をさらにぼかす(コード化する)ことができます。 ぼかし操作には、OpenCV の cv2.blur() 関数を使用します。
結果: 現時点では、顔のコーディング操作は実現しています。残っているのは、顔以外の領域を抽出して最終結果に結合することです。 顔の外側の領域(背景)を抽出するには、上記のマスクを反転するだけです。 背景抽出:
画像の詳細を見ると、背景は完全に見えていますが、顔の部分が黒くなっていることがわかります。これは、次のステップで顔にぼかしを適用する空白領域です。 最後のステップは、上記の 2 つのステップで取得した顔マスクと背景を追加することです。ここでは、目的を達成するために cv2.add() を使用します。
結果: これは画像のフレームの処理です。 2. 顔を取り出してぼかし、処理した顔をビデオフレームに戻します。上記の操作はすべて、画像の 1 つのフレームに対して処理されます。ビデオを出力する必要がある場合も、原理はまったく同じです。ビデオを一連の画像に分割するだけです。 いくつか小さな変更を加えます: (1)入力ファイル(画像→動画) (2)入力ビデオフレームに対してループトラバーサルを実行する。 |
<<: AI分野に新たな学者が加わりました!清華大学の胡世民が選出され、「Jitu」フレームワークは彼の研究室から生まれた
>>: Adobe がインドのスタートアップ Rephrase.ai を買収、生成 AI 分野で初の買収となる
[[360153]]あなたをモデルに、考え、反応し、行動するように訓練されたロボットを想像してみてく...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
現実世界のシミュレーターが登場!トレーニングされた大規模モデルが現実の物理世界に適応できないのではな...
人々が悲観的であろうと楽観的であろうと、人工知能に関する議論は止むことなく、さまざまな論争の中で、人...
データセットをトレーニング セットに分割すると、モデルを理解するのに役立ちます。これは、モデルが新し...
検出が難しい膠芽腫などの癌の生存率は1桁ですが、早期治療には検出、治療、監視のための高度な技術が必要...
今日の主人公は、AI の世界で互いに愛し合い、憎み合う古くからの敵同士です。ヤン・ルカンとゲイリー・...
AI 起業家にとって、次の 4 つの新しい方向性は注目する価値があるかもしれません。第 1 に、人間...
人工知能(AI)技術の急速な発展は、さまざまな分野に多くの革新と利便性をもたらしました。この記事では...
[51CTO.com オリジナル記事] Google の中国復帰について新たな声が上がっている。最...