CampについてBlogリリースノートIsaaxのアップデート情報や新サービスリリースの紹介をしますお知らせTips導入事例CommunityFAQIsaaxについてIoTエンジニア養成キットについてIoTエンジニア養成キットに関する説明です。2019-06-22最近のスマートフォンでは顔認識システムが導入されています。生体認証として指紋や静脈とともに顔認識はよく使われています。手がふさがっていても使えるのが便利です。Pi上で動作する顔認識システムを構築してみます。v2利用する技術Python3OpenCVライブラリのインストールまずは必要になるライブラリをインストールします。-yOpenCVとともに、取得した画像を扱うPILをインストールします。テストまずはちゃんとカメラで認識できるかテストしてみます。PiにHDMIディスプレイを接続して確認しています。カメラを有効にした後、下記コマンドを実行します。bcm2835-v4l2そしてこちらのコードをダウンロードして実行します。実行後、カメラモウィンドウが開き、顔が表示されれば問題ありません。顔を認識する顔を認識する際には、こちらのスクリプトをダウンロードして実行します。他にも顔と目を認識する、笑い顔を認識する、笑い顔と目を認識するサンプルファイルが用意されています。実行結果は例えば以下のようになります。顔と目を認識した場合。顔画像を作成するでは顔認証のために、最初に顔画像を用意します。こちらの設定ファイルをダウンロードします。同じディレクトリにこのスクリプトファイルを置きます。いうディレクトリを作成します。スクリプトを実行すると、顔の画像を30枚保存して処理が終了します。User.1.7.jpg顔画像を学習する集めた顔画像を使って学習を行います。設定はYAMLファイルになります。いうディレクトリを作成しておきます。トレーニングはこちらのスクリプトで行います。いうエラーが出たら、下記のコマンドを実行してください。いうエラーの場合は下記のコマンドを実行します。libhdf5-100試す学習が正しく行われたのかテストします。こちらのスクリプトをダウンロードし、実行します。枠線の中に、認識精度が出ています(名前はコードにハードコーディングされているだけです)。30〜60%程度の認識精度です。逆に登録していない顔の場合はマイナスの認識精度になっています。今回作ったシステムの場合、顔写真でも認識してしまいます。本来の顔認識であれば、写真では反応しないようにすべきでしょう。まとめこのシステムはあくまで簡易的なもので、実用的とは言えないでしょう。顔を認識し、それを学習するという基本的な動きは顔認識システムと変わりません。写真や彫刻などを除外する仕組みであったり、学習量を増やすことで認識精度を高めることができれば、ちょっとした入退室管理システムは作れそうですね。Groupe勉強会に参加してみてはいかがでしょうか。07:32とても参考になります。戻す必要がありましたので試される方はご参考まで。12:13yokoさんコメントありがとうございます。Busterになってからpython3のバージョンが3.7に上がったので、opencv-pythonが動かなくなりました。23:40はじめまして。顔認識に興味を持ちこちらのサイトの方を参考にさせて頂いている者です。表示されるばかりで次の工程に進むことができずにいます。申し訳ございませんが、ご教示くださいますよう何卒よろしくお願い致します。12:12Reiさnコメントありがとうございます。idは、顔を学習する際のIDになります。1や2といった数字を入力します。いう出力を行うようにはなっていません。入力画面で”1′′や”2′′と打たずに”raspberry”や”pi”などと打つと何故か出てきました。12:20Reiさん記事に興味を持っていただきありがとうございます。入力画面の所で”1′′を入れたところスクリプトが動きラズパイのカメラが起動して画面上に投影されて終了しました。入力したところこのサイトのようにjpegのデータの表示されずjpegデータが入っていませんでした。対処法をもしご存知であれば教えて頂きたいのです。(pi/homeの中に”dataset”というファイルを作りその中に”01_face_dataset.py”というスクリプトと”haarcascade_frontalface_default.xml”というxmlファイルを入れた状態でスクリプトを実行しました。User.1.30.jpgのようになるかと思います。jpgファイルが作成されました。18:15datasetはファイルではなく、フォルダでしょうか?datasetの中に01_face_dataset.py、haarcascade_frontalface_default.xmlではありません。01_face_dataset.py、haarcascade_frontalface_default.xmlがある場所にdatasetというフォルダを作成します。Piを使ってできること。Piで構築するこれだけたくさんの選択肢。Times様に「本気で学ぶIoT」のご紹介を頂きました。