現在、顔認識技術は広く利用されており、決済や本人認証、美容カメラなどに利用されています。 iPhone ユーザーは、次の機能に精通している必要があります。 iPhoneの写真には、写真に写っている顔を認識して分類できる「People」機能があります。その原理も顔認識技術です。 この記事では主にPythonを使って顔検出を実装する方法を紹介します。顔検出は顔認識の基礎です。顔検出の目的は、写真に写っている顔を識別し、顔の特徴を見つけることです。顔認識は、顔検出に基づいて、その人物が誰であるかをさらに知らせることです。 さて、紹介はこれで終わりです。次に、環境の準備を始めましょう。 準備 この記事の顔検出は dlib に基づいていますが、これは Boost と cmake に依存しているため、まずこれらのパッケージをインストールする必要があります。Ubuntu を例に挙げます。
私たちのプログラムは numpy と opencv も使用するため、これらのライブラリもインストールする必要があります。
顔検出は、ここからダウンロードできる事前トレーニング済みのモデルデータに基づいています。
ローカル パスにダウンロードした後、解凍して、プログラムで使用される解凍されたファイルのパスを書き留めます。 dlibの顔の特徴 上記でダウンロードしたモデルデータを使用して、顔の68個の特徴点(x、y)の座標位置を推定します。これらの68個の座標点の位置は次の図に示されています。 手順は次の 2 つのステップで構成されます。 最初のステップは写真の顔の部分を検出することです 2 番目のステップでは、検出された顔領域内の器官 (目、鼻、口、あご、眉毛) をさらに検出します。 顔検出コード まず、いくつかのユーティリティ関数を定義しましょう。
この関数の rect は、dlib 顔領域検出の出力です。ここで、rect はシーケンスに変換され、その内容は矩形領域の境界情報となります。
この関数のシェイプは、dlib 顔特徴検出の出力です。シェイプには、上記の顔特徴の 68 個のポイントが含まれます。この関数は、後続の処理を容易にするために、形状を Numpy 配列に変換します。
この関数内の画像は、検出したい画像です。顔検出プログラムの最初に、確認のために検出結果の画像を表示します。ここでサイズを変更するのは、画像が大きくなりすぎて画面からはみ出ないようにするためです。 次に、メインプログラムを開始しましょう。
顔を検出する画像をsys.argv[1]パラメータから読み取り、顔領域検出用の検出器と顔特徴検出用の予測子を初期化します。 shape_predictor のパラメーターは、先ほど解凍したファイルへのパスです。
特徴領域を検出する前に、まず顔領域を検出する必要があります。このコードは opencv を呼び出して画像を読み込み、適切なサイズに変更し、グレースケールに変換し、最後に detector を使用して顔領域を検出します。写真には複数の顔が含まれている可能性があるため、ここでは複数の顔に関する情報を含む配列 rects を取得します。
検出された顔ごとに、顔の特徴(鼻、目、眉毛など)をさらに検出します。顔の部分は写真上で緑色の枠でマークし、顔の特徴は赤い点でマークします。 ***検出マークの付いた写真を表示し、waitKey(0)は任意のキーを押してプログラムを終了できることを意味します。 これが私たちのプログラムです テスト 次は、結果をテストするエキサイティングな瞬間です。 以下は元の写真です 以下はプログラム認定の結果です 顔の部分が緑色の四角で囲まれ、顔の特徴(鼻、目など)が赤い点でマークされていることがわかります。 簡単じゃないですか? |
<<: 李偉博士がブロックチェーンについてわかりやすく語る:技術原理、実用的応用、AIとの統合
DALL·E 2、この AI は実際に独自の秘密言語を作成しました。たとえば、次の 2 つの非常に...
たった今、百度が公式発表しました。自動運転車は2018年に量産される予定です。 Subversion...
敵対的攻撃の概念は、Goodfellowら[6]によって初めて提唱されました。近年、この問題はますま...
あなたは、コンピューターサイエンスまたはソフトウェアエンジニアリングの学位を取得して大学を卒業したば...
ちょうど2年前、大学に入学したときに一度だけ行ったことがあります。その時は、まず入り口の機械で番号を...
[[375635]] 2020 年は激動の年であり、組織は数多くの課題に直面しました。 2021年に...
[[260485]] [51CTO.com からのオリジナル記事] 哲学にさまざまな流派があるように...
[[248484]] [51CTO.com クイック翻訳] アプリケーション セキュリティの脅威の背...
調査データによると、過去18か月間、企業はさまざまな緊急事態に対応するために技術革新のペースを加速さ...
あらゆるものがデータと自動化によって駆動される現代の世界では、人工知能はますます一般的になりつつあり...
[この一連のブログ投稿では、一般的なデータ構造と対応するアルゴリズムを分析および要約し、各ブログ投稿...