2 日前、世界最大の同性愛者のソーシャル ネットワーキング サイトである github を閲覧していたときに、古いプログラムを見つけました。これは2017年に日本人の兄弟がボスを監視するために書いた魚捕りプログラムです。
プログラムは非常にシンプルです。このプログラムを実行すると、カメラを使用してボスを監視できます。ボスが見つかると、デスクトップが自動的に切り替わります。
次のビデオはシミュレーションです。効果がリアルすぎます。真似しないでください
上司があなたに会うたびに喜んでくれるようにしましょう。ソースコードが利用可能で、誰もが自分で変更できます。
この番組がメジャーニュースにもなったことが後に判明した。
1. プログラムの修正
今日は、このバンカーのプログラムを紹介します。
時間が長すぎるため、多くの機能が廃止されました. CherryPickプログラムを修復した後、正常に実行できるようになりました.
構成と操作も非常に簡単で、環境を構成するには、次の手順を実行するだけです。
conda create -n venv python=3.5
source activate venv
conda install -c https://conda.anaconda.org/menpo opencv3
conda install -c conda-forge tensorflow
pip install -r requirements.txt
環境を構成したら、まずボスの顔をトレーニングします。
pythonboss_train.py
次に、上司の監視を開始できます。
python camera_reader.py
手順はとても簡単です
2. Sui Sui Nian - Python を使って修士号を取得していない仕事を探してみませんか
そうです、Python 言語はここで開発に使用されます。
後でソース コードを調べてみると、ソース コードが 500 行しかないこともわかります。
ここからも、私がかつて書いた記事「なぜ Python を学ぶことを勧めるのに、Python を使って就職することを勧めないのか?」の意味が読み取れます。"
Python は単純すぎる. このようなポートレート認識のようなプログラムには触れたことがありませんが、使用するモジュールの API ドキュメントを確認するだけで変更できます. 全体の期間は土曜日と 1 日だけです.
ことわざにあるように、成功もシャオ・ヘーであり、失敗もシャオ・ヘーです。
シンプルすぎる API は、必然的に、ユーザーがその内部原理を理解する必要がなくなります。
たとえば、ボスの顔セットを訓練するために文を使用できますが、それを訓練する方法を知っていますか?
API の使用方法を学ぶだけでは、Python の競争力はありません。競争力があるのは、これらの API を実際に実装できる人だけです。
そのため、機械学習や画像認識などの職種の募集要項はすべてマスターです。
たった一文で顔認証を実現できますが、最適化して顔認証の成功率を上げたいと思ったら盲目です。そして、これらのポジションに必要なのは、まさにアルゴリズムを最適化し、作成する人々です。
3.ダウンロード時間切れ
プログラムは単純ですが、構成および実行プロセス全体で多くの問題が発生します。参考までに、構成および運用中の私の記録を第 4 部に掲載します。
私の GitHub にアクセスして、私が修復したソース コードをダウンロードできます。
https://github.com/harvic/BossSensor
以下の QR コードをスキャンして、私のトランペット [Qi Jian Za Tan] に移動し、[013] と返信して、ソース コードと構成の注意事項のコレクションを取得することもできます。
([013]と返信、ソースコード・注意事項集を入手)
4. 設定・運用上の注意事項
この部分は、上記の返信 013 から取得したメモに含まれている MarkDown 構文で記述されています。
内容は詳しく書いてありますので、設定\実行の際はよく読んでおくことをお勧めします 今読んでも混乱するだけです。
1. 構成プロセス
1.アナコンダをインストールする
(1) https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ にアクセスして、Anaconda3-4.1.0 バージョンをダウンロードします。
知らせ:
Anaconda2 ではなく、Anaconda3 から始まります。! ! ! このバージョンに対応する Python バージョンは 3.5.1 です。
インストールの際、Python3.5.1をインストールして自動設定するためのチェックボックスにチェックを入れないと、本記事の環境とは異なり、未知の問題が発生する可能性があるので注意してください。
2.cmdで実行
conda create -n venv python=3.5
(1) まず、cmd の実行ディレクトリを、ダウンロードした BossSensor のルート ディレクトリにカットします。
(2)、実行 conda create -n venv python=3.5
続行するかどうか尋ねられます。y を入力してプログラムを続行します。次の項目はこの種の問い合わせになります。y を直接入力してください。
3.実行 activate venv
4.実行
conda install -c https://conda.anaconda.org/menpo opencv3
5.実行
conda install -c conda-forge tensorflow
6.実行 pip install -r requirements.txt
今のところエラーの報告はありません.win10環境です.エラーを報告する場合は環境に関係している可能性があります.自分で解決策を見つける必要があります.
2.育成ボス画集
1.撮影対象者のプロフィール写真を入れる
(1) 初めての方は、まず自分の写真で試して、最初にすべてのプロセスを実行することをお勧めします。写真を1.BossSensor\data\bossフォルダに入れる
注: ファイル名に中国語を含めることはできません。そうしないと、「AttributeError: 'NoneType' object has no attribute 'shape'」というエラーが報告されます。
(2)、少なくとも 10 枚の画像を配置します。トレーニング画像の数を変更する場合は、boss_train.py に移動し、train(self、dataset、batch_size=10、nb_epoch=40、data_augmentation=True) を設定します。batch_size = 10 のうち 10 が変更されます。この 10 はトレーニング画像のデフォルトの数です。もちろん、画像が多いほど精度が高くなります。
注: 実行中に「'ProgbarLogger' no attribute 'log_values'」エラーが引き続き報告される場合は、画像の数が十分でないことを意味し、さらにいくつかの画像を追加してみてください。
2.すべての準備が整ったら、実行します python boss_train.py
実行が成功すると、結果は次のようになります。
3.ボスを捕まえる
ボスを攻略するためのコマンドは、python camera_reader.py
コマンドを直接実行してエラーを報告した後、段階的にトラブルシューティングを行うプロセスによるものです。
もちろん、以下の手順を読んでエラーが報告されるかどうかを確認せずに、コマンドを直接実行してボスをキャプチャすることもできます。直接実行できるのがベストですが、直接実行できない場合は、私のトラブルシューティングとインストール手順を参照して、解決できるかどうかを確認してください。
1. 最初に PyQt5 をインストールし、実行します
conda install pyqt=5
(1)、 conda install pyqt=5
PyQt5を実行してインストール
原作者が使っていたPyQt4版はバージョンが古すぎるので、ここではPyQt5版に修正し、元の機能を修正して正常に動作するようにしたので、原作者版と比較してみるとわかると思いますが、ここに変更があります。
2.openCVをインストールして実行conda install py-opencv=3.4.2
このとき、boss プログラムをキャプチャするコマンドを実行すると、次のエラーが表示されます。
これは opencv がないため、opencv2 をインストールする必要があります。
埋め込む conda install py-opencv=3.4.2
3. scikit-learn を更新して実行するconda update scikit-learn
上司を訓練するプログラムを再実行すると、次のエラーが表示されます。
conda update scikit-learn
更新 scikit-learnの実行
4. keras をインストールして実行する pip install keras==2.2.4
監視 Boss コマンドを再度実行すると、 ImportError: No module named 'keras'
エラーが報告されます
keras2.2.4 バージョンをインストールします。pip install keras==2.2.4
keras のバージョンは間違っていないことに注意してください。! ! ! 間違いを犯した後、一貫性のない機能の使用により、別の問題が発生します。
5.テンソルフローをインストールし、conda install tensorflow
監視 Boss コマンドを再度実行すると、 ImportError: No module named 'tensorflow'
エラーが報告されます。
テンソルフローをインストールして
実行 conda install tensorflow
6.監視ボスのコマンドを実行、成功!! !
実行python camera_reader.py
、ボス監視開始
(1)上司を常に監視する
コマンドを実行した後のインターフェイスは次のとおりです。
みんなに知らせるために、現在のプログラムは監視しているため、「監視しています」というログを出力し続けます
この時点で、ライトがオンになっているため、カメラの電源がオンになっていることがわかります。
(2)ボス登場
ボスが到着すると、デスクトップは即座にプリセット画像 s_pycharm.jpg にカットされ、全画面表示されます
この時点で、コードは停止します。
この時点で、プログラム全体の実行が完了しました. 次に、コードを変更する方法について説明します. Python に触れていない友人が研究を手伝ってくれます.
7. コードを修正する
(1) 表示画像の修正
ボス登場時の画像を変更したい場合は、s_pycharm.jpg のファイル名をそのままにして、元の画像を差し替えるだけなのでとても簡単です。
(2) プログラムが 1 回だけ実行されるのはなぜですか。ループで実行できますか?
プログラムが一度だけ実行されるのはなぜですか? 理由はまだコードに依存します
古いバージョンが見つかると、show_image() メソッドが呼び出されます
show_image() メソッドは image_show.py にあります。
sys.exit(app.exec_())
このコードから、画像の表示が実行された後、作成者が呼び出してメイン プログラム全体を終了することがわかります。
原因が分かったところで、ボスが消えた後も実行を継続させることはできますか?
試してみて、宿題を残してください。
初心者から上級者、実戦までパソコンの全方位を動画講座と電子書籍で厳選して学べる!! !
WeChat パブリック アカウント [Qijian Zatan]に注意して、「Android」、「java」、「ReactNative」、「H5」、「javaweb」、「インタビュー」、「機械学習」など、必要なキーワードに返信するだけです。」、「Web フロントエンド」、「デザインパターン」などのキーワードを入力して、該当する情報を取得します。(資料はすべて無料でお送りしております、転送・宣伝は皆様の任意によるものです)