はじめに. | ラズパイでOpenCVを使って顔認識を行う的な記事は、既に星のように出ている気がしていましたが、最近やろうとしたら意外とすんなりいかなかったので、記事にすることにしました。, 「Raspberry Pi の設定」の「インターフェイス」タブを開いて、「カメラ」を「有効」にします。, 顔検出だけならoepncv_python 4.1.0.25で動いたのですが、顔認識のトレーニング用のプログラムを実行したら次のエラーが出て動きませんでした。, ググってみたらopencv-pythonにはメインモジュールしか含まれていなく、contribモジュールが含まれているopencv-contrib-pythonをインストールする必要があったことがわかりました。, 既にoepncv_python 4.1.0.25をインストールしてしまった方は、次のコマンドでアンインストールした後にopencv-contrib-pythonをインストールしてください。, 2020年9月1日時点では、なぜか100MB近いファイルをダウンロードしてきて、1時間経ってもインストールが終わらず、挙句の果てにエラーが出たので中断しました。, ググってみると2019年11月ぐらいからインストールできなくなっていたらしく、次のように古い(インストールできる)バージョンを指定してインストールしている記事が複数見つかりました。, このバージョンだと10MB程度のファイルで、1分もかからずにインストールが完了しました。, Raspberry Pi OSにデスクトップ版のイメージを使っている場合は、次のライブラリをインストールします。, https://github.com/Mjrovai/OpenCV-Face-Recognitionにアクセスして、プロジェクトファイルをダウンロードします。, 緑色の「Code」ボタンをクリックすると、クローン用のURLが表示されるので「コピー」アイコンをクリックします。, $ git clone の後にコピーしたURLをペーストすると次の文になるので、実行します。, これでホームディレクトリに「OpenCV-Face-Recognition」ディレクトが作られて、プロジェクトのファイルがダウンロード(クローン)されます。, 「OpenCV-Face-Recognition」プロジェクトには「FaceDetection」(顔検出)と「FacialRecognition」(顔認識)の2つのディレクトリがあります。, 顔認識は認識させる顔の写真をいつくも用意する必要があるので、まずはそのまま動かすことができる顔検出から行ってみます。, 実行するには「FaceDetection」ディレクトで次のようにコマンドを実行します。, 眼鏡をかけていると目の検出精度が落ちるので、ジョブズの若い頃の写真でそれぞれ実行してみた結果を載せます。, まずは「FacialRecognition」ディレクトリに顔データを格納するディレクトリ「dataset」を作ります。, そして顔データ作成用のプログラム「01_face_dataset.py」を実行します。, と、表示されてカメラに顔を向けて少し待つと、どどどどどっと連続して30枚写真が撮られます。, 写真を撮るときに帽子や眼鏡をしていると、顔と認識されるのに時間がかかったりするみたいで、柄の細かい服を着ているとそれを顔と認識することもありました。, 写真を撮った後はファイルマネージャで「dataset」フォルダの写真をサムネイル表示して確認した方が良さそうです。, ぼくとジョブズの検索画面で出た顔で2つのデータセットを作った後の「dataset」フォルダのスクショ。, 作成したデータセットでOpenCV Recognizerを使ってトレーニングします。, 「trainer」ディレクトリができたら、トレーニング用のプログラムを実行します。, 今回は、ぼくとジョブズの2人分のデータを用意してトレーニングを実行したので、2 faces trained.と表示されています。, プログラムが終了すると、最初に作成した「trainer」ディレクトリにOpenCV Recognizerによってトレーニングされた結果ファイル「trainer.yml」ができます。, これでやっと顔認識ができる!っと喜ぶ前に、最後の試練、ソースの書き換えをしましょう。, 03_face_recognition.pyの26行目に、認識した人の名前が次のように記述されているので、顔データとして用意した人の名前に変更します。, 最初の'None'は顔番号0で、トレーニングを行ったのは顔番号1のぼくと顔番号2のジョブズなので、次のように変更しました。, 変更したら、次のコマンドで03_face_recognition.pyを実行します。, IntellectualCuriosityさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?, Powered by Hatena Blog

2, グレースケールに変換(処理を軽くするため) # aaa_527_257.png ブログを報告する, https://github.com/Mjrovai/OpenCV-Face-Recognition, https://github.com/Mjrovai/OpenCV-Face-Recognition.git, スマートプラグ(コンセント)とラズパイで洗濯機や乾燥機の終了をLINEに通知できて稼働状況もわかるシ…, micro:bitをArduino IDEでも使いやすくして、ついでにBlynkでも使えるようにする, Ofuro BoardをPWAに対応させてお風呂のドアの開閉をWeb Pushで通知するようにした, M5StackのBALA-CミニセルフバランスカーをBlynkで操作できるようにサンプルコードを改造する方法, ATOM GPS Kit (M8030-KT)でお手軽Bluetooth GPSレシーバーを作った, M5CameraとDRV8830を2個搭載したGROVE I2CミニモータードライバとBlynkでお手軽カメラタンクを作った, スマートプラグ(コンセント)とラズパイで洗濯機や乾燥機の終了をLINEに通知できて稼働状況もわかるシステムを作った, CameraWebServerサンプルコードを改良してM5Cameraをネットワークカメラとして長時間使えるようにした, パン・チルト機構付きカメラを搭載した、Blynkで操作できるラズパイタンクを作った, M5StickCと非接触温度センサHat(MLX90614搭載)でお手軽非接触温度計を作った. # aaa_91_277.png # aaa_446_348.png, https://docs.opencv.org/4.1.0/d7/d8b/tutorial_py_face_detection.html, https://github.com/opencv/opencv/tree/master/data/haarcascades, you can read useful information later efficiently.

Python OpenCV 顔認識 pillow. Why not register and get more from Qiita? https://github.com/opencv/opencv/tree/master/data/haarcascades. # aaa_438_41.png # aaa_11_70.png OpenCVのインストール ※2020年9月4日追加. # aaa_190_175.png 1, 画像を読み込み # aaa_76_206.png 4, 顔認識できた矩形を、カラー画像の方で切り取る What is going on with this article? Help us understand the problem. 顔検出だけならoepncv_python 4.1.0.25で動いたのですが、顔認識のトレーニング用のプログラムを実行したら次のエラーが出て動きませんでした。 そこで、画像を一旦保存して、その画像を手元のPCにダウンロードし、表示させる手順を想定している。, では、上記のコードを適当な名前で (testGazou.py) 保存して実行してみよう。.

Copyright (C) 株式会社マックスネット All Rights Reserved. By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. 3, カスケード分類器にかける # aaa_254_330.png # aaa_269_171.png 顔認識を作ってみたいんだけど、どういう方法があるの? 顔認識はOpenCVを使うのが簡単です。 やり方を説明します. 今回はOpenCVで顔認識を実装する方法を解説します。 本記事の顔認識は、特定の人物の顔を識別するものではなく、写真などの画像から人物の顔部分を抽出する方法になります。 さて、今回はOpenCVで顔画像を切り取ってみよう。 以前のブログでOpenCVで顔認識のpythonコードを書いてみたが、今回は描画された矩形の通りに顔画像を切り出してみたい。 切り出す画像はこちら。 画像処理のコードを書いている人にはおなじみのレナさん。 今回はディープラーニングの画像処理に使う、手元の画像データから顔認識をして、切り出す作業をやってみましょう。, 以前のブログでOpenCVで顔認識のpythonコードを書いてみたが、今回は描画された矩形の通りに顔画像を切り出してみたい。, まずpythonコードはこちら。 画像中の顔を認識させて四角の枠で囲むコードを改造して、ファイルとして切り出すコードを作成してみました。 ライブラリーのインポート. # aaa_385_140.png

こんにちは。株式会社マックスネット 人工知能・AI開発チームのIsoです。 OpenCVで顔認識・切り出し. # aaa_79_106.png # 「./haarcascade_frontalface_alt.xml」をカレントディレクトリィに置くと確実. #face_cascade = cv.CascadeClassifier('haarcascade_profileface.xml'), #cv.rectangle(img,(x-10,y-10),(x+w+10,y+h+10),(255,0,0),2), # aaa_152_22.png OpenCV、Pillow等のライブラリーをインポートします。 import os … わかりやすいように、行数を減らして最低限にしてみた。, 大筋で処理手順を書いてみると、 5, 切り取った画像を保存する, 一般的には最後にMatplotlibなどを使って、画像を表示させることが多いのだが、AmazonのAWSなどを使っていると、遠隔で操作しているので、画像の表示作業が面倒になる。 画像中の顔を認識させて四角の枠で囲むコードを改造して、ファイルとして切り出すコードを作成してみました。, 元画像(jpg,大きさ500×334px)をorgフォルダに置きます。これをpngファイルに変換し、サイズ幅を600pxに調整した後、png_resizeフォルダに格納します。, 顔画像の切り出しを実行します。切り出し範囲を検出範囲より上下左右10px広くしています。, 上記画像から計12枚の顔画像が切り出されました。顔の大部分が写っていれば切り出しに成功していることが分かります。, 集合写真から写真付きで名簿を作る場合等で使えそうです。訓練された識別器がカスケードファイルとして公開されていると、誰でも利用できて便利ですね。, https://docs.opencv.org/4.1.0/d7/d8b/tutorial_py_face_detection.html OpenCVを使った顔抽出こんにちは。AI coordinatorの清水秀樹です。前回の記事で、OpenCVを使った顔認識を紹介しました。今回は大量の画像から顔の部分だけをトリミングして保存する方法を紹介します。