大っ嫌い!今、話題の人工知能(AI)などで人気のPython。使用した、顔検出と顔認識について何回かに分けて述べてみたいと思います。使用した新しい顔検出だったわね」※1今回から、顔認識の話題に入りたいと思いますが、その前に顔データの取得の話から入りたいと思います。P子「色々とネタを引っ張るわね」せっかくなので、一通りの機能を実装してみたいと思います。1.顔認識(face_recognition)まずは、私が最初に試した顔認識のご紹介をしたいと思います。手順がややこしいので、紹介だけにしておきます。入れるか、pipiの場合は、仮想環境で入れる必要があります。付けてインストールすることとします。--break-system-packagesインストール後のプログラムの手順としては、1.認識したい顔の画像を読み込み、顔の特徴値を取得する。2.WBEカメラから1フレーム読み込み、顔を検出しそれぞれの特徴値を取得する。3.検出した顔の特徴値と認識したい顔の特徴値を比較する。2.顔認識(cv2.FaceRecognizerSF)今回の本命です。≪参考資料2≫https://qiita.com/UnaNancyOwen/items/8c65a976b0da2a558f06OpenCVの新しい顔認識を試してみる新しい方式と言っても手順は同じです。比較対象となる顔写真を用意し特徴量を算出します。カメラ画像から顔を検出して、同じように特徴量を算出します。順番に比較して、特徴量が一番近い値の顔写真を決定します。特徴量の検出に関しては、ある程度の「threshold(スレッショルド)」で判定しないと、比較用写真の中から選んでしまうかもしれません。プログラムを用意する前に、準備が必要です。実行できるので他に必要なモジュールのインストールは不要です。モジュールを使用するより簡単です。取得先を示しておきます。今回は、サンプルソースの準備が間に合いませんでした。顔識別の場合は、やることが多いので、手順が少し複雑になります。1)顔画像のマスタを読み取り、特徴抽出を行う。(先に特徴抽出したファイルを用意しておく)(特徴点ファイルのタイムスタンプが画像より古い場合は特徴抽出しなおす)2)顔検出する3)顔認識して、特徴点に一番近い画像を顔と判断する。4)特徴点が一致しない(似た画像がない)の場合、切り抜いた顔を顔画像のマスタに保存する5)特徴抽出したファイルもセーブするみたいな感じになります。処理を分解して説明するのが良いのかもしれません。使用した新しい顔検出だったわね」P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。名前を記憶しておくコメント:SpecialPRスポンサーからのお知らせPRちゃとらんオープンソースのWebアプリケーションフレームワーク(openGion)を主催しています。久しぶりの対面研修で思ったことよく学びよく遊びよく寝る、頭の回転が良い子供がたくさん育つ国になるといいな。新着記事SpecialPR@ITメールマガジンのお申し込み新着記事をいち早く知りたい、オリジナルコラムを読みたい――メールマガジンに登録して、@ITを120%使いこなそう。ITmediaはアイティメディア株式会社の登録商標です。