こんにちは、親愛なる友人の皆さん、またお会いできて嬉しいです。 私はただ興味本位でこのToutiaoアカウントを作成しました。まずは、注目してくれた友人たちに感謝したいと思います。もちろん、コンピュータ関連の分野で友人と会って、一緒に議論したりコミュニケーションをとったりしたいと思っています。私は実在の人間であり、記事を盗用するセルフメディア組織の一員ではないことを強調しておきます。私たちはみんなお互いにコミュニケーションをとることができます! この記事では、AI関連の顔追跡と顔認識に関するいくつかの知識について説明します。もちろん、このチュートリアルは(上部)の部分であり、python + opencvを使用して顔認識と追跡を実現する方法について説明します。下部では、pythonを使用して、指紋の比較による顔認証と顔ロック解除を実現します(興味のある方は事前に注目してください)。 この 2 つのレッスンにはコードがあまり含まれていないので、誰もが理解しやすいように、できるだけ多くのコメントを追加するようにします。では、これ以上無駄話をして時間を無駄にせず、本題に入りましょう。
オープンCV:Opencv は現在非常に人気のあるビジュアル ライブラリであり、複数の言語をサポートしています。 OpenCV について話すときは、そのカスケード分類器について話す必要があります。 写真に顔があるかどうかを判断したい場合、初期の方法は、何千もの分類器を使用して最初から最後まで照合することです。これには何も問題がないように思えますが、判断する写真がもっとある場合はどうなるでしょうか?それは長い時間がかかるかもしれません。 Opencv のカスケードは、顔の特徴を決定するために使用されるこれらのコンテナーをマッチングのために複数のレイヤーに分割し、一致しないレイヤーは破棄されます。 それは、あるグループが面接のために会社に行くと、会社が最初に求める条件は男性のみなので、女性のグループは去ります。会社は学士号のみが必要だと言うので、大学卒業生のグループは去ります。会社は2年間の就業経験が必要だと言うので、別のグループが去り、といった具合です。この作業量は、性別に関係なく全員に面接してプロセスを進めてもらうよりもはるかに簡単です。 環境トポロジ:
環境構成:1. Pythonをインストールする(これについては言及しませんでした) 2. Opencvをインストールする これは公式ウェブサイトからダウンロードできます: https://opencv.org/ バージョン 3.3 をダウンロードしたと記憶していますが、最近 Github にアクセスできないようです。ホストの問題なのか、それとも何か他の原因なのかはわかりません。アクセスできる場合は、メッセージを残していただければ、hosts ファイルを修正します。アクセスできない場合は、メッセージを残すか、プライベートメッセージを送信していただければ、以前にダウンロードした opencv をパッケージ化してお送りします。 ダウンロードしたら、解凍するだけです。Python インストールの親パスに解凍することをお勧めします。 3. pipを使ってnumpyをインストールする cmd を開いて次のように入力します:
インストールすると、インストールが完了するとプロンプトが表示されます。 4. opencv のインストール パスを見つけます (たとえば、私の場合はドライブ D です) cv2.pyをD:opencvopencv3.x uildpython .7\x64パスにコピーします。 注: 私の Windows バージョンは 64 ビットなので、X64 を選択しました。32 ビットの場合は、X86 フォルダーの cv2.pyd を選択する必要があります。 コピーした後、Python インストール パスの下の Lib/site-packages フォルダーに貼り付けます。 基本的には上記を完了すればOKです。コードを書く前に環境が正常に構築されているかテストしてみましょう。 CMD コマンドラインで python を実行します。
エラーが報告されなければ、インストールは完了です。 実施原則:1. コンピューターカメラを呼び出す
2. フレームごとにカメラデータを取得します(各フレームの面にフレームを追加するのと同じです)
3. カメラデータの各フレームをOpenCVに取り込み、分類器で顔を識別させる
4.顔がある場合は、顔マークの枠を追加します
5. 画像フレームの後にフレームアニメーションを出力する
コード実装:最初のステップは、認識関数を定義することです。 まずは写真を載せておきます。この部分はより重要なので、以下で詳しく説明します。 (コード上部) 6〜7行のコードの説明: まず、分類子を作成します。なぜこれを行う必要があるのでしょうか? haarcascade で始まる参照ファイルは、opencv の顔カスケード分類器に関するものです。opencv フォルダーのsourcesdatahaarcascadesで確認できます。 説明機能:
1:haarcascade_frontalface_alt.xml
2:haarcascade_frontalface_alt2.xml
3:haarcascade_frontalface_alt_tree.xml
4:haarcascade_frontalface_default.xml
上記の 4 つをテストしましたが、haarcascade_frontalface_alt.xml が最も効果的でした。他のものを 1 つずつテストすることもできます。 グレースケールを設定:
コアコード分析: DetectMultiScale関数は、オブジェクトを検出するための一般的な関数です。紹介しましょう。
ボックスを描きます: xywh を定義し、for ループを使用して faces 変数の座標を読み取り、rectangle() 関数を使用してボックスを描画します。 コードの次の部分: (コードの下部) さて、コードを書いたら、コードの上部と下部を組み合わせて実行して試してみましょう。 皆さんはそれで我慢するしかありません。私のノートパソコンのカメラはちょっと粗悪ですが、動き回る人を完璧に検出できます。ビデオをアップロードできないので、自分でテストしてください。 サンプルコードはまだパッケージ化していません。必要な場合はWeiboで送ります〜 |
<<: パスワード危機: ディープラーニングがパスワードクラッキングを加速!
>>: 企業のアウトバウンドコールをインテリジェンスで再構築するXunzhong CommunicationsがYunxun Skylarkインテリジェント音声ロボットを発売
1. 問題と原因の分析インダストリアル インターネットは、新世代の情報通信技術と高度な製造技術の深い...
Facebookは、独自のARグラスを開発するためにRay-Banと提携するなど、拡張現実技術に多大...
モノのインターネットは現代のビジネスと経済を急速に変革しています。この革新的なテクノロジーにより、膨...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
この記事では、AR/VR テクノロジーがロボットにどのように貢献し、工場や産業にどのようなメリットを...
[[442276]]動的計画法理論の基礎動的プログラミングとは何か動的プログラミング (英語: D...
1月22日午後、上海地下鉄15号線で重大事故が発生した。千安路駅のプラットホームで、乗客が電車から...
[[398509]]この記事はWeChatの公開アカウント「Jingyu」から転載したもので、著者は...
モデルとは何か一般人にとって、AIとそのプログラミングの基盤となるアルゴリズムが、これほど広範囲にわ...
米国の著作権法では「人間」という言葉はほとんど使われておらず、この問題を扱った訴訟は歴史上ほとんど起...
[[219257]]人工知能は本質的には人間のシミュレーションです。人間の思考をシミュレートする方法...
[[389202]]勾配降下法は、目的関数の負の勾配に従って関数の最小値を見つける最適化アルゴリズム...
1. メタバースとは何ですか? Metaverse は、ブロックチェーンと AI (人工知能)、V...