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のクリアーインストールからやってみましたが、状況は変わりませんでした。
もし他の人と誤認識されてしまう場合は以下のコードを変更してみてください。
ファイル:facial_recognitionフォルダ の下にある facial_req.py
64行目を以下のように書き換えます。
matches = face_recognition.compare_faces(data["encodings"], encoding, 0.55)
最後のパラメーターは判定をどれだけ厳しく行うかを決めるパラメータで、0.6がデフォルト値です。
兄弟や顔が似ている場合誤った判定をしがちになるので、値をゼロに近づけるほど判定が厳しくなります。
0.55でうまくいかない場合は 0.5 など徐々に値を小さく変更してみてください。
ありがとうございます!
大変簡単に実現でき驚いています。照明の加減が認識が悪くなるようです。撮影用に証明をお使いでしょうか?撮影方法やカメラの解像度も変えてトライしてみたいと思います。
この撮影では日中の部屋だったので特に照明は使っていませんが、夜間は認識が悪くなると思います。
もし低照度での識別も〜ということでしたらIRカメラの方が安定するように思います
気にかけてくれるだけでもありがたい。
大変ためになりました。色んなものを探してきて手軽に試して、必要でどうしても無いものは自分で作るっていうのもありですよね。そういう時にこのような動画が助かります。
そうですね〜、必要な部分はほんの少しの場合が多いのでほぼコード書かなくてもできちゃいますね。
オープンソースで簡単に使えるようにしてくださっている方々がいるので本当に感謝です。
動画拝見させていただきました!
すごく面白いので実際に試して、LINEnotifyに通知させてみようと思ってやってみたのですが、なかなかうまくいきません。
認識できずunknownのときにラインに通知させたいのですが、登録した顔を認識した時だけラインに通知してしまいます。
公開されているコードのどこを改善するべきなのでしょうか?
ありがとうございます。興味深い内容を。顔認証システムで何かが開くというの、楽しみにしてます。
電気錠を使って、顔認識で開けられるようにしようかと思ってますー!
Aliexpressで鍵自体は購入したのですが、到着はまだまだのようで届くまでしばしお待ちください!!
いろいろな動画本当に参考になります。ありがとうございます。質問なのですが64Bit版OSで試したいのですが何か方法はありますか?
初めまして、動画拝見させていただきました。
とても参考になりました。
写真識別について伺いたいのですが、葉っぱとかそうゆうのを詳細写真データいっぱい入れたら病気とか識別までできますか?
この動画のやり方そのままではできませんが、そのような事もできます。
例えば健康な状態や、病気の状態の葉っぱをそれぞれ、これは健康、これは〜〜という病気などのようにラベル付けして学習させることで診断できます。
それますが植物では以下の方法で、99.95%の確率で判定できるようです。
www.nature.com/articles/s41598-024-64601-8
参考になりましたありがとうございます
是非次はtensorflow について、解説していただけると助かります
非常に参考になりました!
ちょっと質問なのですが、
この顔認識のプラグラムと体温測定出来るプログラムを組みあわせたやり方で
良い方法はありませんか?
こういう感じでしょうか?
ruclips.net/video/iKBZlOVJjdY/видео.html
ありがとうございます!
こんばんは
動画拝見させていただきました
大変参考にさせていただいております。ありがとうございます
質問なんですが、USBのウェブカメラでもプログラムを実行することは可能でしょうか
また複数人認識する為にはどのようにすればよいのでしょうか
教えていただけると嬉しいです
よろしくお願します
まず、USBのウェブカメラですが、プログラムを実行することは可能です。
しかしデバイスの番号などが変わる可能性があるので、適宜調整してあげる必要があります。
そして複数人認識させるのは以下の動画でやっている方法で実現できます。
ruclips.net/video/iKBZlOVJjdY/видео.html
また質問をさせていただきます。
前回アドバイスをいただき、友人なども一緒に顔認証を行ったところ、問題なく識別することができました!!すごく興味深かったです!
また気になったことがあるのですが、もりしーさんのデータセットには11枚の写真があり、「このぐらいで十分認識してくれました」と動画内でコメントされていました。
5枚や8枚など、写真の枚数を減らして学習させたときに、どれだけ精度が変化したかなど、客観的に精度が分かるような数値を出したりすることはできないでしょうか?数値的にどの枚数のときが一番良いか確認できないかなと気になりました!
鋭いツッコミですね。結論から言うと枚数も結果に影響を与えていますが、写真の枚数だけで精度がこうなります、と言う事は出来ません。
この仕組みはいくつもの要素があり、いわゆる「定量化」が難しい部類になります。
もちろん条件を固定した場合で、というのは出せるのですが、現実的な利用とのギャップが大きいので参考値として使えるかは、、ちょっと違うかなと個人的には思っています。
この動画では機械学習の中身の部分についてほぼ触れていませんがその内側を知る良い機会だと思いますので是非調べてみてください!!
(かなり良いツッコミなので驚きました)
7:09 特定の人しか開けられないドア の動画はどこですか❓
作ってみたいな。。と思い動画撮り忘れたので作ってないです。ごめんなさい
ボタン押してから一定期間で顔認識出来た場合に電気錠で開けるという仕組みです!
いつも為になる動画をありがとうございます。
機会がありましたら、Raspberry pi でVPNサーバーを作る動画を作っていただけたら幸いです。
VPNサーバーは作ってみたいですね〜、いつになるかはお約束できないのですがOpenVPNとかで構築してみます〜
PI3B+でやるのを諦めました>< PI4Bを購入し手順通り行って、顔認証ができるところまで進みました。ありがとうございます。1点教えていただきたいのですが、手順通り実施するとopencvはpython3.7で使えるようになりますが、pytnon3.6でも使えるようにするためには、 sudo pip install face_recognition を実行すればよいでしょうか? (※あまり解ってないので、トンチンカンかもしれません)
pipなのでおそらく Python 2.xの事だと思うのですが、基本は pip3 でインストールしたものをpipでもインストールしたらおそらく、動くと思います。
しかし、確認した訳ではないのでもしかしたら2.xでは動かないコードがあるかもしれないです。
//もし3.6でしたら多分そのまま動きます!
大変参考になる動画ありがとうございます。
早速自分でプログラムを少しいじってみて、家族の顔を識別したら家のドアの鍵を開けるってのを試してみました。
識別の精度があまりよくないのか、登録していない人でも登録されている人として識別されてしまい、鍵が開いてしまいました。
識別の精度を上げる方法などあればご教示頂けますと幸いです。トレーニングさせる写真の枚数は多い方が良いのでしょうか。
誤認識されてしまう場合は以下のコードを変更してみてください。
トレーニングは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 など徐々に値を小さく変更してみてください。
大変ためになり、実際に顔認証を実装することができました!!
一つ質問なのですが、友人の顔写真も撮り複数人での顔班別を行おうとしたところ、たまに班別できたのですが、なかなか精度良くとまではいきませんでした。どのようにすれば改善できますでしょうか?
おそらく誤認識かなと思うのですが、以下のコードを変更してみてください。
ファイル:facial_recognitionフォルダ の下にある facial_req.py
64行目を以下のように書き換えます。
matches = face_recognition.compare_faces(data["encodings"], encoding, 0.55)
最後のパラメーターは判定をどれだけ厳しく行うかを決めるパラメータで、0.6がデフォルト値です。
兄弟や顔が似ている場合誤った判定をしがちになるので、値をゼロに近づけるほど判定が厳しくなります。
0.55でうまくいかない場合は 0.5 など徐々に値を小さく変更してみてください。
すいません、初心者なのですがこの人によって変わる動作を、同じ人の表情の変化で動作するようにするにはカスケード分類器自体を変えないといけないのでしょうか?
このプログラムではカスケード分類器で正面を向いている顔があるかどうかチェックした後に誰であるかマッチングしていますが、この顔の判定処理は表情の分類には適していませんのでこの処理の前かその後に表情を予想(推論)する処理を入れてあげる必要があります。
なので、追加で表情を分類したいということであればカスケード分類器は変えなくても大丈夫と思いますー
コメント失礼します。
大変参考になる動画の投稿
ありがとうございます。
実際に私も試してみましたが
以下のエラーが出て顔の登録が
出来ない為、ご教示お願い致します。
head.shots.pyを開き
RUNさせ、カメラで顔の登録をしたいのですがRUNボタンを押すと
ModuleNotFound Eroor:No Module named 'cv2'と表示され
カメラで撮影している枠が表示されるところへ進みません。
使用しているラズパイは3B +に
なります。
ぜひ、解決方法をご教示いただけますでしょうか?
自分で試していないのでどこが原因か正直わからないのですが、他の方から頂いたコメントでは3B+はOpenCVのビルドがうまく出来ず動かない状況のようです。
以下のコマンドでOpenCVがインストールできるので、とりあえず、、どうでしょうか?
pip3 install opencv-python
(もしpermissionなんとか〜と出たらsudoで実行してみてください)
ご返信いただきありがとうございます。
両方試してみましたがうまくいきませんでした。
今度はRuntime Errorが発生し
カメラの映像が出ません。
うーん、ごめんなさい。出ているエラーを順に解決していかないと最終的に動かないのでここで「どうやったら動く」というのをお伝えするのは難しいです🙇
ラズパイ初心者です。
自分はラズパイ3modelBを使っているのですが、こちらのソースコードは使えますでしょうか?
Pi 3ではおそらく動かないと思います。
自分自身で試していないので正確に原因はわからないのですが、どうやらOpenCVのビルドがPi3ではうまくいかないっぽいです。
非常にためになりました!これは、複数人の顔を人物ごとのフォルダ作成し、学習させることで複数人同時認識可能でしょうか。
このやり方では多人数は無理ですが、7〜8人ぐらいまでなら出来ると思いますー
ありがとうございます!色々試してみます!
大変勉強になりました。
会社で使いたいと思ったら、商用利用とうを意識しないといけないんですかね?
はい、そのとおりライセンスを確認する必要があります。
ただ、この動画で紹介しているソフトウェアは商用利用OKなので特に問題無く使えます。
(OpenCV自体はApache v2 、それ以外もMITライセンスだったと思います。)
しかし、私が見逃している可能性もあるのでご利用の際には各ソフトウェア・ライブラリのライセンスをご確認ください。
そして、この動画では「こんな事が出来ますよ〜」という実験用コードなので、どちらかというとエラーの処理やシステムとして安定して動作できるか?という考慮の方が大変かな?と思いますー
@@kotaMorishita さん
ありがとうございます。
調べてみます。
openCVを無線LANルートでインストールしようとしたら、34%あたりで熱暴走で止まってしまいました。
冷却対策をされてるんですか?
@@singosuzuki7409 一応気持ち程度ですがキットでついてきた小さいヒートシンクを貼っています。ファン等は使ってないです。
正直効果の程は???ですが、熱で止まったことは無いのでもしかしたら効果があったのかもしれません。
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のクリアーインストールからやってみましたが、状況は変わりませんでした。
Pi3では試していないのでインストールの可否はわかりませんが、ソフトウェア的には多分動くハズなのでスワップファイルのサイズを大きく設定すると通るかもしれません。
ファイル /etc/dphys-swapfile
ファイル中の CONF_SWAPSIZE=100 となっているので、CONF_SWAPSIZE=2048 あたりに設定して再起動後に試してもダメでしょうか?
またSDカードには空き容量はどのぐらいでしょうか?
@@kotaMorishita 双方の /etc/dphys-swapfile を調べたところ、 いずれも CONF_SWAPSIZE=100 #CONF_SWAPFACTOR=2 #CONF_MAXSWAP=2048 の値でした。 原因は違うところですかね?
スワップサイズ設定はおそらく同じになっていると思います。しかし片方だけ途中で止まってしまうということだったので、空き容量かスワップが怪しいかなーと思いました。
ただ今手元に使えるPi3が無いので試せないためちょっと理由は。。わからないです。ごめんなさい。
色々他のことをやっていたら同じような事象がRaspbery PI OS Full(32-bit)でも発生したので、SWAPSIZEを大きくしてみたところ動き始めました(まだ完了していないので微妙ですが・・・) 最初に動いたのがマグレだったかしらw これからも宜しくお願いします。ありがとうございます。
両方で再現するということは、実行時のメモリの空き状態などにによって引き起こされてるかもしれないですね〜
素人でみよう見まねでやってみたのですが、できませんでした、、、
windowsで開発してraspberrypiにファイルをうつして実行できないのでしょうか?
windowsでの開発の部分でつまずいています。
この動画の手順はラズベリーパイ4用なので、動画通りやるとWindowsではおそらく動きません。(Windows自体持ってないので多分ですが・・)
ただ、PythonなのでWindowsでも必要なライブラリやOpenCV等環境を整えてあげれば動くかもしれません。
@@kotaMorishita ありがとうございます!
いつも見させてもらっています。
この方法でカラスの画像認識をしようとしているのですが、なかなか精度が上がりません。どうすれば精度が良くなりますか?
画像はカラスの画像を30枚程度読ませています。
解決方法などがあればお願いします。
ちなみにLEDを光らすためのfacial_req_gpio.pyを使っています
このプログラムは顔があるか判定して、あれば誰かマッチするという処理になっているので、精度というより処理が行われません。そのため鳥を認識させたい場合は、別の方法利用する必要があります。
鳥というカテゴリーで認識できればOKなら Yolo という仕組みが便利です。多分すでにトレーニング済みモデルもあります。
github.com/ultralytics/yolov5
しかし、カラス限定でということなら以下のような仕組みで実現できます。
github.com/microsoft/acoustic-bird-detection
@@kotaMorishita 返信ありがとうございます。
下のURLでやろうと思うのですが中学生なので細かいところの理解があまりできていません。
申し訳ないのですが簡単な導入からLEDを点灯させるくらいの流れを教えていただきたいです。
ターミナルに打ち込めば良いコードだけ教えていただければ大体わかるので、時間があればお願いします!😀
これはコマンド打ち込みだけで〜という感じではなく、環境の構築とプログラムの作成になってしまうので簡単にはご説明出来ないです🙇
いつか動画にできれば良いのですが、私の取れる時間的に難しいので。。申し訳ないー
れご太郎さんがどの程度のスキルレベルかわからないので、適切なアドバイスかわからないのですが以下のあたりが参考になると思うので是非チャレンジしてみてください。(英語ですがDeepL等の翻訳サイトで大抵翻訳できちゃうと思います)
towardsdatascience.com/this-model-is-for-the-birds-6d55060d9074
ruclips.net/video/Ar6pCDWt2qs/видео.html
最高や
猫認識を頼まれてしまった・・・できるかどうかわかんないので、調べに来ました。
猫ははだかなので、体の模様も認識情報として使えそうな気がするけど、顔認識ができるということは、体認識もできるということなのでしょうか?
猫の個体の認識は可能と思いますが、どの程度の精度が必要になるかで構成は結構変わってくる気がします。
@@kotaMorishita ありがとうございます。でもこのソースを改造できる気がしない。。。ちょっとがんばってみます。
@@そこらへんの漁船の操舵室 ごめんなさい、これはあくまでも人の顔専用の検出プログラムなので学習データの変更などで猫に対応することはできません。技術的に可能かどうかーという話と勘違いしてしまいました。🙇
開発者向け?の資料になってしまうので申し訳無いのですが、このあたりが参考になります。
cs230.stanford.edu/projects_fall_2019/reports/26251543.pdf
お世話になっております。
Pi4 カメラ 有効/無効の選択が出ないとき、ご対策を教えて頂けますでしょか!
多分最新(10/30リリース)のOSを使われていると思いますが、カメラ周りが大幅に変更されたためこの動画の手順では動作しません。
最新版ではPythonからカメラを利用することができないので、もし試される場合は説明欄の一番上にある、一つ前のOSをダウンロードしてご利用ください。
質問失礼します
このプログラムの全体のフローチャート図を教えていただきたいです.
このプログラムではほとんどの処理をライブラリがしていて、そのライブラリの呼び出ししかしていないのでフローチャートのようなものは作って無いです
@@kotaMorishita
返信ありがとうございます
スマートフォンのカメラは、使えないでしょうか?
スマホのカメラデータをRTMPとかでラズベリーパイに飛ばして、ラズパイ側もストリームを処理するようにしたら使えると思いますよー
USBカメラで、手軽にする場合は如何様にやればよいのかを、動画をお願いします。
手軽に出来るかどうかは使うカメラと接続しているデバイス依存なので
動画として一般的でなくなってしまうので多分できません、ごめんなさい。
ただ、UVideoStream(src=0)あたりをちょっといじれば(なんなら変更しなくても)出来るかもしれません。
libcameraの時はどう対応すればいいですか
変更箇所が多すぎるので具体的にここで全部お伝えすることはできないのですが、
libcameraに対応したコードに変更する必要があります。
ありがとうございます。
外から特定のコンセントの電源OFF/ON出来る様にしたい。
家の外からということでしょうか?
この動画の話なら、特定の人が通った時にONとかできそうですね〜(監視っぽいので法律的には何が制約ありそうですけど)
@@kotaMorishita
Iot製品っぽいモノ
出先で家のラズパイサーバーを任意のタイミングで再起動。
これは違う人を映してみてkotaって表示されないかのチェックも必要
今の所家族ぐらいしか試してませんが、自分は誤認識されないものの顔が似ている子供達は誤認する場合もありますねー
Raspberry pi でOpencv導入しようと思ったけど環境ぐちゃぐちゃで全然導入できず結局Ubuntu入れてやってます
OpenCVは環境整えるまでに手間がかかりますね〜
自前でとりあえずビルドしようとしたら、、依存してるパッケージが多すぎて動画作るの諦めかけましたw
1時間かかるなら早く言え