ラズベリーパイ4で顔認識から人を識別するところまでやってみました!PythonとOpenCVでお手軽に実行可能です。

Поделиться
HTML-код
  • Опубликовано: 15 сен 2024

Комментарии • 105

  • @kotaMorishita
    @kotaMorishita  2 года назад +3

    もし他の人と誤認識されてしまう場合は以下のコードを変更してみてください。
    ファイル:facial_recognitionフォルダ の下にある facial_req.py
    64行目を以下のように書き換えます。
    matches = face_recognition.compare_faces(data["encodings"], encoding, 0.55)
    最後のパラメーターは判定をどれだけ厳しく行うかを決めるパラメータで、0.6がデフォルト値です。
    兄弟や顔が似ている場合誤った判定をしがちになるので、値をゼロに近づけるほど判定が厳しくなります。
    0.55でうまくいかない場合は 0.5 など徐々に値を小さく変更してみてください。

  • @user-qe5uw5qu1b
    @user-qe5uw5qu1b 3 года назад +1

    大変ためになりました。色んなものを探してきて手軽に試して、必要でどうしても無いものは自分で作るっていうのもありですよね。そういう時にこのような動画が助かります。

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      そうですね〜、必要な部分はほんの少しの場合が多いのでほぼコード書かなくてもできちゃいますね。
      オープンソースで簡単に使えるようにしてくださっている方々がいるので本当に感謝です。

  • @そこらへんの漁船の操舵室

    気にかけてくれるだけでもありがたい。

  • @MJ-qg6jk
    @MJ-qg6jk 3 года назад

    ありがとうございます。興味深い内容を。顔認証システムで何かが開くというの、楽しみにしてます。

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      電気錠を使って、顔認識で開けられるようにしようかと思ってますー!
      Aliexpressで鍵自体は購入したのですが、到着はまだまだのようで届くまでしばしお待ちください!!

  • @はり-n4b
    @はり-n4b 2 года назад

    参考になりましたありがとうございます
    是非次はtensorflow について、解説していただけると助かります

  • @satuki0522
    @satuki0522 3 года назад +2

    いつも為になる動画をありがとうございます。
    機会がありましたら、Raspberry pi でVPNサーバーを作る動画を作っていただけたら幸いです。

    • @kotaMorishita
      @kotaMorishita  3 года назад

      VPNサーバーは作ってみたいですね〜、いつになるかはお約束できないのですがOpenVPNとかで構築してみます〜

  • @user-lj6ld7fh1g
    @user-lj6ld7fh1g Год назад

    動画拝見させていただきました!
    すごく面白いので実際に試して、LINEnotifyに通知させてみようと思ってやってみたのですが、なかなかうまくいきません。
    認識できずunknownのときにラインに通知させたいのですが、登録した顔を認識した時だけラインに通知してしまいます。
    公開されているコードのどこを改善するべきなのでしょうか?

  • @ebizohtaku777
    @ebizohtaku777 11 месяцев назад

    いろいろな動画本当に参考になります。ありがとうございます。質問なのですが64Bit版OSで試したいのですが何か方法はありますか?

  • @user-rg7hm6tf8b
    @user-rg7hm6tf8b Год назад

    また質問をさせていただきます。
    前回アドバイスをいただき、友人なども一緒に顔認証を行ったところ、問題なく識別することができました!!すごく興味深かったです!
    また気になったことがあるのですが、もりしーさんのデータセットには11枚の写真があり、「このぐらいで十分認識してくれました」と動画内でコメントされていました。
    5枚や8枚など、写真の枚数を減らして学習させたときに、どれだけ精度が変化したかなど、客観的に精度が分かるような数値を出したりすることはできないでしょうか?数値的にどの枚数のときが一番良いか確認できないかなと気になりました!

    • @kotaMorishita
      @kotaMorishita  Год назад +1

      鋭いツッコミですね。結論から言うと枚数も結果に影響を与えていますが、写真の枚数だけで精度がこうなります、と言う事は出来ません。
      この仕組みはいくつもの要素があり、いわゆる「定量化」が難しい部類になります。
      もちろん条件を固定した場合で、というのは出せるのですが、現実的な利用とのギャップが大きいので参考値として使えるかは、、ちょっと違うかなと個人的には思っています。
      この動画では機械学習の中身の部分についてほぼ触れていませんがその内側を知る良い機会だと思いますので是非調べてみてください!!
      (かなり良いツッコミなので驚きました)

  • @user-ks8uc4mg3z
    @user-ks8uc4mg3z Год назад

    こんばんは
    動画拝見させていただきました
    大変参考にさせていただいております。ありがとうございます
    質問なんですが、USBのウェブカメラでもプログラムを実行することは可能でしょうか
    また複数人認識する為にはどのようにすればよいのでしょうか
    教えていただけると嬉しいです
    よろしくお願します

    • @kotaMorishita
      @kotaMorishita  Год назад

      まず、USBのウェブカメラですが、プログラムを実行することは可能です。
      しかしデバイスの番号などが変わる可能性があるので、適宜調整してあげる必要があります。
      そして複数人認識させるのは以下の動画でやっている方法で実現できます。
      ruclips.net/video/iKBZlOVJjdY/видео.html

  • @POPGAMING1234
    @POPGAMING1234 3 года назад +1

    最高や

  • @user-ux1md7pn4s
    @user-ux1md7pn4s 2 года назад +1

    非常に参考になりました!
    ちょっと質問なのですが、
    この顔認識のプラグラムと体温測定出来るプログラムを組みあわせたやり方で
    良い方法はありませんか?

    • @kotaMorishita
      @kotaMorishita  2 года назад +1

      こういう感じでしょうか?
      ruclips.net/video/iKBZlOVJjdY/видео.html

    • @user-ux1md7pn4s
      @user-ux1md7pn4s 2 года назад

      ありがとうございます!

  • @user-rg7hm6tf8b
    @user-rg7hm6tf8b Год назад

    大変ためになり、実際に顔認証を実装することができました!!
    一つ質問なのですが、友人の顔写真も撮り複数人での顔班別を行おうとしたところ、たまに班別できたのですが、なかなか精度良くとまではいきませんでした。どのようにすれば改善できますでしょうか?

    • @kotaMorishita
      @kotaMorishita  Год назад +1

      おそらく誤認識かなと思うのですが、以下のコードを変更してみてください。
      ファイル:facial_recognitionフォルダ の下にある facial_req.py
      64行目を以下のように書き換えます。
      matches = face_recognition.compare_faces(data["encodings"], encoding, 0.55)
      最後のパラメーターは判定をどれだけ厳しく行うかを決めるパラメータで、0.6がデフォルト値です。
      兄弟や顔が似ている場合誤った判定をしがちになるので、値をゼロに近づけるほど判定が厳しくなります。
      0.55でうまくいかない場合は 0.5 など徐々に値を小さく変更してみてください。

  • @djf0326
    @djf0326 2 года назад

    大変参考になる動画ありがとうございます。
    早速自分でプログラムを少しいじってみて、家族の顔を識別したら家のドアの鍵を開けるってのを試してみました。
    識別の精度があまりよくないのか、登録していない人でも登録されている人として識別されてしまい、鍵が開いてしまいました。
    識別の精度を上げる方法などあればご教示頂けますと幸いです。トレーニングさせる写真の枚数は多い方が良いのでしょうか。

    • @kotaMorishita
      @kotaMorishita  2 года назад

      誤認識されてしまう場合は以下のコードを変更してみてください。
      トレーニングは10枚ぐらいで良いと思いますが、もし以下で説明するパラメーターを厳しく設定する場合は若干(5~6枚ほど)増やしたほうが「認識されない」が改善します。
      ファイル:facial_recognitionフォルダ の下にある facial_req.py
      64行目を以下のように書き換えます。
      matches = face_recognition.compare_faces(data["encodings"], encoding, 0.55)
      最後のパラメーターは判定をどれだけ厳しく行うかを決めるパラメータで、0.6がデフォルト値です。
      兄弟や顔が似ている場合誤った判定をしがちになるので、値をゼロに近づけるほど判定が厳しくなります。
      0.55でうまくいかない場合は 0.5 など徐々に値を小さく変更してみてください。

  • @竹中信都志
    @竹中信都志 3 года назад

    PI3B+でやるのを諦めました>< PI4Bを購入し手順通り行って、顔認証ができるところまで進みました。ありがとうございます。1点教えていただきたいのですが、手順通り実施するとopencvはpython3.7で使えるようになりますが、pytnon3.6でも使えるようにするためには、 sudo pip install face_recognition を実行すればよいでしょうか? (※あまり解ってないので、トンチンカンかもしれません)

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      pipなのでおそらく Python 2.xの事だと思うのですが、基本は pip3 でインストールしたものをpipでもインストールしたらおそらく、動くと思います。
      しかし、確認した訳ではないのでもしかしたら2.xでは動かないコードがあるかもしれないです。
      //もし3.6でしたら多分そのまま動きます!

  • @ばりぃ-u4h
    @ばりぃ-u4h 2 года назад

    すいません、初心者なのですがこの人によって変わる動作を、同じ人の表情の変化で動作するようにするにはカスケード分類器自体を変えないといけないのでしょうか?

    • @kotaMorishita
      @kotaMorishita  2 года назад

      このプログラムではカスケード分類器で正面を向いている顔があるかどうかチェックした後に誰であるかマッチングしていますが、この顔の判定処理は表情の分類には適していませんのでこの処理の前かその後に表情を予想(推論)する処理を入れてあげる必要があります。
      なので、追加で表情を分類したいということであればカスケード分類器は変えなくても大丈夫と思いますー

  • @猫通過
    @猫通過 3 года назад

    非常にためになりました!これは、複数人の顔を人物ごとのフォルダ作成し、学習させることで複数人同時認識可能でしょうか。

    • @kotaMorishita
      @kotaMorishita  3 года назад

      このやり方では多人数は無理ですが、7〜8人ぐらいまでなら出来ると思いますー

    • @猫通過
      @猫通過 3 года назад

      ありがとうございます!色々試してみます!

  • @fling_poo
    @fling_poo 2 года назад

    ありがとうございます!

    • @fling_poo
      @fling_poo 2 года назад +1

      大変簡単に実現でき驚いています。照明の加減が認識が悪くなるようです。撮影用に証明をお使いでしょうか?撮影方法やカメラの解像度も変えてトライしてみたいと思います。

    • @kotaMorishita
      @kotaMorishita  2 года назад

      この撮影では日中の部屋だったので特に照明は使っていませんが、夜間は認識が悪くなると思います。
      もし低照度での識別も〜ということでしたらIRカメラの方が安定するように思います

  • @SKたよ
    @SKたよ 2 года назад

    ラズパイ初心者です。
    自分はラズパイ3modelBを使っているのですが、こちらのソースコードは使えますでしょうか?

    • @kotaMorishita
      @kotaMorishita  2 года назад

      Pi 3ではおそらく動かないと思います。
      自分自身で試していないので正確に原因はわからないのですが、どうやらOpenCVのビルドがPi3ではうまくいかないっぽいです。

  • @singosuzuki7409
    @singosuzuki7409 2 года назад

    大変勉強になりました。
     会社で使いたいと思ったら、商用利用とうを意識しないといけないんですかね?

    • @kotaMorishita
      @kotaMorishita  2 года назад

      はい、そのとおりライセンスを確認する必要があります。
      ただ、この動画で紹介しているソフトウェアは商用利用OKなので特に問題無く使えます。
      (OpenCV自体はApache v2 、それ以外もMITライセンスだったと思います。)
      しかし、私が見逃している可能性もあるのでご利用の際には各ソフトウェア・ライブラリのライセンスをご確認ください。
      そして、この動画では「こんな事が出来ますよ〜」という実験用コードなので、どちらかというとエラーの処理やシステムとして安定して動作できるか?という考慮の方が大変かな?と思いますー

    • @singosuzuki7409
      @singosuzuki7409 2 года назад

      @@kotaMorishita さん
       ありがとうございます。
      調べてみます。
       openCVを無線LANルートでインストールしようとしたら、34%あたりで熱暴走で止まってしまいました。
       冷却対策をされてるんですか?

    • @kotaMorishita
      @kotaMorishita  2 года назад

      ​@@singosuzuki7409 一応気持ち程度ですがキットでついてきた小さいヒートシンクを貼っています。ファン等は使ってないです。
      正直効果の程は???ですが、熱で止まったことは無いのでもしかしたら効果があったのかもしれません。

  • @ucman6435
    @ucman6435 2 года назад

    お世話になっております。
    Pi4 カメラ 有効/無効の選択が出ないとき、ご対策を教えて頂けますでしょか!

    • @kotaMorishita
      @kotaMorishita  2 года назад

      多分最新(10/30リリース)のOSを使われていると思いますが、カメラ周りが大幅に変更されたためこの動画の手順では動作しません。
      最新版ではPythonからカメラを利用することができないので、もし試される場合は説明欄の一番上にある、一つ前のOSをダウンロードしてご利用ください。

  • @ベッカムさん大好き男
    @ベッカムさん大好き男 2 года назад

    コメント失礼します。
    大変参考になる動画の投稿
    ありがとうございます。
    実際に私も試してみましたが
    以下のエラーが出て顔の登録が
    出来ない為、ご教示お願い致します。
    head.shots.pyを開き
    RUNさせ、カメラで顔の登録をしたいのですがRUNボタンを押すと
    ModuleNotFound Eroor:No Module named 'cv2'と表示され
    カメラで撮影している枠が表示されるところへ進みません。
    使用しているラズパイは3B +に
    なります。
    ぜひ、解決方法をご教示いただけますでしょうか?

    • @kotaMorishita
      @kotaMorishita  2 года назад

      自分で試していないのでどこが原因か正直わからないのですが、他の方から頂いたコメントでは3B+はOpenCVのビルドがうまく出来ず動かない状況のようです。
      以下のコマンドでOpenCVがインストールできるので、とりあえず、、どうでしょうか?
      pip3 install opencv-python
      (もしpermissionなんとか〜と出たらsudoで実行してみてください)

    • @ベッカムさん大好き男
      @ベッカムさん大好き男 2 года назад

      ご返信いただきありがとうございます。
      両方試してみましたがうまくいきませんでした。
      今度はRuntime Errorが発生し
      カメラの映像が出ません。

    • @kotaMorishita
      @kotaMorishita  2 года назад

      うーん、ごめんなさい。出ているエラーを順に解決していかないと最終的に動かないのでここで「どうやったら動く」というのをお伝えするのは難しいです🙇

  • @phantom4drone77
    @phantom4drone77 Год назад

    7:09 特定の人しか開けられないドア の動画はどこですか❓

    • @kotaMorishita
      @kotaMorishita  Год назад

      作ってみたいな。。と思い動画撮り忘れたので作ってないです。ごめんなさい
      ボタン押してから一定期間で顔認識出来た場合に電気錠で開けるという仕組みです!

  • @そこらへんの漁船の操舵室

    猫認識を頼まれてしまった・・・できるかどうかわかんないので、調べに来ました。
    猫ははだかなので、体の模様も認識情報として使えそうな気がするけど、顔認識ができるということは、体認識もできるということなのでしょうか?

    • @kotaMorishita
      @kotaMorishita  2 года назад +1

      猫の個体の認識は可能と思いますが、どの程度の精度が必要になるかで構成は結構変わってくる気がします。

    • @そこらへんの漁船の操舵室
      @そこらへんの漁船の操舵室 2 года назад

      @@kotaMorishita ありがとうございます。でもこのソースを改造できる気がしない。。。ちょっとがんばってみます。

    • @kotaMorishita
      @kotaMorishita  2 года назад

      ​@@そこらへんの漁船の操舵室 ごめんなさい、これはあくまでも人の顔専用の検出プログラムなので学習データの変更などで猫に対応することはできません。技術的に可能かどうかーという話と勘違いしてしまいました。🙇
      開発者向け?の資料になってしまうので申し訳無いのですが、このあたりが参考になります。
      cs230.stanford.edu/projects_fall_2019/reports/26251543.pdf

  • @TARO_BOT
    @TARO_BOT 2 года назад

    いつも見させてもらっています。
    この方法でカラスの画像認識をしようとしているのですが、なかなか精度が上がりません。どうすれば精度が良くなりますか?
    画像はカラスの画像を30枚程度読ませています。
    解決方法などがあればお願いします。

    • @TARO_BOT
      @TARO_BOT 2 года назад

      ちなみにLEDを光らすためのfacial_req_gpio.pyを使っています

    • @kotaMorishita
      @kotaMorishita  2 года назад

      このプログラムは顔があるか判定して、あれば誰かマッチするという処理になっているので、精度というより処理が行われません。そのため鳥を認識させたい場合は、別の方法利用する必要があります。
      鳥というカテゴリーで認識できればOKなら Yolo という仕組みが便利です。多分すでにトレーニング済みモデルもあります。
      github.com/ultralytics/yolov5
      しかし、カラス限定でということなら以下のような仕組みで実現できます。
      github.com/microsoft/acoustic-bird-detection

    • @TARO_BOT
      @TARO_BOT 2 года назад

      @@kotaMorishita 返信ありがとうございます。 
      下のURLでやろうと思うのですが中学生なので細かいところの理解があまりできていません。
      申し訳ないのですが簡単な導入からLEDを点灯させるくらいの流れを教えていただきたいです。
      ターミナルに打ち込めば良いコードだけ教えていただければ大体わかるので、時間があればお願いします!😀

    • @kotaMorishita
      @kotaMorishita  2 года назад

      これはコマンド打ち込みだけで〜という感じではなく、環境の構築とプログラムの作成になってしまうので簡単にはご説明出来ないです🙇
      いつか動画にできれば良いのですが、私の取れる時間的に難しいので。。申し訳ないー
      れご太郎さんがどの程度のスキルレベルかわからないので、適切なアドバイスかわからないのですが以下のあたりが参考になると思うので是非チャレンジしてみてください。(英語ですがDeepL等の翻訳サイトで大抵翻訳できちゃうと思います)
      towardsdatascience.com/this-model-is-for-the-birds-6d55060d9074
      ruclips.net/video/Ar6pCDWt2qs/видео.html

  • @MrZero-er4rh
    @MrZero-er4rh 2 года назад

    素人でみよう見まねでやってみたのですが、できませんでした、、、
    windowsで開発してraspberrypiにファイルをうつして実行できないのでしょうか?
    windowsでの開発の部分でつまずいています。

    • @kotaMorishita
      @kotaMorishita  2 года назад +1

      この動画の手順はラズベリーパイ4用なので、動画通りやるとWindowsではおそらく動きません。(Windows自体持ってないので多分ですが・・)
      ただ、PythonなのでWindowsでも必要なライブラリやOpenCV等環境を整えてあげれば動くかもしれません。

    • @MrZero-er4rh
      @MrZero-er4rh 2 года назад

      @@kotaMorishita ありがとうございます!

  • @user-hl5ju7ff3p
    @user-hl5ju7ff3p 3 года назад

    USBカメラで、手軽にする場合は如何様にやればよいのかを、動画をお願いします。

    • @kotaMorishita
      @kotaMorishita  3 года назад

      手軽に出来るかどうかは使うカメラと接続しているデバイス依存なので
      動画として一般的でなくなってしまうので多分できません、ごめんなさい。
      ただ、UVideoStream(src=0)あたりをちょっといじれば(なんなら変更しなくても)出来るかもしれません。

  • @ch-ce3xq
    @ch-ce3xq 3 года назад

    質問失礼します
    このプログラムの全体のフローチャート図を教えていただきたいです.

    • @kotaMorishita
      @kotaMorishita  3 года назад

      このプログラムではほとんどの処理をライブラリがしていて、そのライブラリの呼び出ししかしていないのでフローチャートのようなものは作って無いです

    • @ch-ce3xq
      @ch-ce3xq 3 года назад

      @@kotaMorishita
      返信ありがとうございます

  • @user-hl5ju7ff3p
    @user-hl5ju7ff3p 3 года назад

    スマートフォンのカメラは、使えないでしょうか?

    • @kotaMorishita
      @kotaMorishita  3 года назад

      スマホのカメラデータをRTMPとかでラズベリーパイに飛ばして、ラズパイ側もストリームを処理するようにしたら使えると思いますよー

  • @竹中信都志
    @竹中信都志 3 года назад

    PI 3B と Raspbery PI OS Full(32-bit) 、Raspbery PI OS(32-bit)の組み合わせで OpenCVのインストールを試したところ、 Full版では手順通り完了しましたが、Raspbery PI OS(32-bit)は6分経過位のところで、SDカードアクセスランプ点灯したままで止まってしまいました。3時間経過しても状況は変わりませんでした。Raspbery PI OS(32-bit)ではインストールできないのでしょうか? 因みにOSのクリアーインストールからやってみましたが、状況は変わりませんでした。

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      Pi3では試していないのでインストールの可否はわかりませんが、ソフトウェア的には多分動くハズなのでスワップファイルのサイズを大きく設定すると通るかもしれません。
      ファイル /etc/dphys-swapfile
      ファイル中の CONF_SWAPSIZE=100 となっているので、CONF_SWAPSIZE=2048 あたりに設定して再起動後に試してもダメでしょうか?
      またSDカードには空き容量はどのぐらいでしょうか?

    • @竹中信都志
      @竹中信都志 3 года назад

      @@kotaMorishita 双方の /etc/dphys-swapfile を調べたところ、 いずれも CONF_SWAPSIZE=100 #CONF_SWAPFACTOR=2 #CONF_MAXSWAP=2048 の値でした。 原因は違うところですかね?

    • @kotaMorishita
      @kotaMorishita  3 года назад

      スワップサイズ設定はおそらく同じになっていると思います。しかし片方だけ途中で止まってしまうということだったので、空き容量かスワップが怪しいかなーと思いました。
      ただ今手元に使えるPi3が無いので試せないためちょっと理由は。。わからないです。ごめんなさい。

    • @竹中信都志
      @竹中信都志 3 года назад

      色々他のことをやっていたら同じような事象がRaspbery PI OS Full(32-bit)でも発生したので、SWAPSIZEを大きくしてみたところ動き始めました(まだ完了していないので微妙ですが・・・) 最初に動いたのがマグレだったかしらw これからも宜しくお願いします。ありがとうございます。

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      両方で再現するということは、実行時のメモリの空き状態などにによって引き起こされてるかもしれないですね〜

  • @nakamuable
    @nakamuable 10 месяцев назад

    libcameraの時はどう対応すればいいですか

    • @kotaMorishita
      @kotaMorishita  10 месяцев назад +1

      変更箇所が多すぎるので具体的にここで全部お伝えすることはできないのですが、
      libcameraに対応したコードに変更する必要があります。

    • @nakamuable
      @nakamuable 10 месяцев назад

      ありがとうございます。

  • @zutuku
    @zutuku 3 года назад

    外から特定のコンセントの電源OFF/ON出来る様にしたい。

    • @kotaMorishita
      @kotaMorishita  3 года назад +1

      家の外からということでしょうか?
      この動画の話なら、特定の人が通った時にONとかできそうですね〜(監視っぽいので法律的には何が制約ありそうですけど)

    • @zutuku
      @zutuku 3 года назад

      @@kotaMorishita
      Iot製品っぽいモノ
      出先で家のラズパイサーバーを任意のタイミングで再起動。

  • @user-ub4py8tz5n
    @user-ub4py8tz5n 3 года назад

    Raspberry pi でOpencv導入しようと思ったけど環境ぐちゃぐちゃで全然導入できず結局Ubuntu入れてやってます

    • @kotaMorishita
      @kotaMorishita  3 года назад

      OpenCVは環境整えるまでに手間がかかりますね〜
      自前でとりあえずビルドしようとしたら、、依存してるパッケージが多すぎて動画作るの諦めかけましたw

  • @chanponcham
    @chanponcham 3 года назад

    これは違う人を映してみてkotaって表示されないかのチェックも必要

    • @kotaMorishita
      @kotaMorishita  3 года назад

      今の所家族ぐらいしか試してませんが、自分は誤認識されないものの顔が似ている子供達は誤認する場合もありますねー

  • @ここよの
    @ここよの 3 месяца назад

    1時間かかるなら早く言え