待望のWeb顔認識ログインのフルバージョンが登場しました。気に入っています

待望のWeb顔認識ログインのフルバージョンが登場しました。気に入っています

[[436944]]

この記事はWeChatの公開アカウント「Programmer Insider Things」から転載したもので、著者はProgrammer Insider Thingsです。この記事を転載する場合は、Programmer Insider 公式アカウントまでご連絡ください。

記事を書き始めた頃は、Java で実装した顔認識についての記事を書きました。書き始めたばかりで何を書いたらいいのかわからなかったので、単純に顔認識のデモを作りました。

しかし、予想外だったのは、この 1 年間で多くのファンが私を友達として追加し、この小さなデモについて問い合わせてきたことです。デモには小さなバグがあり、初心者の友人の中にはデモを正常に起動できない人もいたからです。

それからというもの、私は精力的に様々な質問に答え始めましたが、やはりエネルギーに限界がありました。結局、すべての質問に答えることはできず、ファン同士が経験を共有するグループを立ち上げることにしました。

大規模に問題が起こったとき、デモの完全版をリリースしようと思ったのですが、家での仕事が多くて気力がなかったので、今まで先延ばしにしてきました。たまたまこの顔認証ログイン機能を自分のプロジェクトで使ってみたので、この機会に皆さんにシェアしたいと思います。今回はバグを残さないように頑張ります、ハハハ。

具体的な操作の前に、完成品の効果を見てみましょう。オンラインプレビューアドレスはhttps://fire100.topです。顔写真はここで収集されませんのでご安心ください。顔の特徴のみが抽出され、クラウドにアップロードされません。効果を確認するためにデモをしてみましょう。認識速度と成功率は依然として良好です。

機能フロー

機能全体のロジックは非常にシンプルです。フロントエンドはカメラをオンにし、顔を認識し、写真を撮影してバックエンドにアップロードします。バックエンドの SDK は写真の顔の特徴を認識し、データベース内のユーザーの顔の特徴と比較します。比較が成功した場合 (類似度が 0.8 ~ 1 の場合、同一人物とみなされます)、ユーザーはログインします。顔が認識されてもデータベース内の比較が成功しなかった場合は、新規ユーザー登録とみなされます。

注意: オンラインで使用する場合は、https を使用してカメラを呼び出す必要があります。ローカルテストには制限はありません。

SDKを申請する

プロジェクトを開始する前に、いくつかの準備を行ってください。サードパーティの顔認識 SDK を使用しているため、まずプラットフォームでアカウントを申請し、対応するバージョンの SDK をダウンロードする必要があります。

公式ウェブサイトアドレス:https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/login

なぜ独自の顔認識ソフトウェアを書かないのかと尋ねる人もいるかもしれません。私に聞かないでください。私にはそれができないのです。

現在、Linux、Windows、IOS、Android 版に対応しています。実名認証アカウント 1 つにつき、100 台のデバイスをアクティベートできます。つまり、同じアカウントで申し込んだ SDK は 100 台のデバイスで動作し、通常はこれで十分です。

ダウンロードした SDK パッケージのディレクトリ構造では、libs が最も重要であり、samplecode にはサンプル コードが含まれ、doc には API ドキュメントが含まれます。必要なのは、ライブラリ内の arcsoft-sdk-face-3.0.0.0.jar と、platform.dll または .so サフィックス ファイルに対応する 3 つのエンジン ファイルです。

プロジェクト構成

プロジェクト自体は、フロントエンドとバックエンドが分離された springboot + vue ですが、友人がすぐに使えるように、この機能のフロントエンドとバックエンドを統合し、永続化のために jpa を使用しました。テーブルを自分で構築する必要がないため、誰もが時間を節約できます。

SDK を使用する際にいくつか小さな落とし穴に遭遇したので、以下で詳しく説明します。

まず、springboot スタートアップクラスが配置されているプロジェクトのルートディレクトリに lib ディレクトリを作成し、その中に SDK から抽出した arcsoft-sdk-face-3.0.0.0.jar を配置し、この Jar を pom.xml ファイルに導入します。

  1. <依存関係>
  2. <groupId>com.arcsoft.face</groupId>
  3. <artifactId>arcsoft-sdk-face</artifactId>
  4. <バージョン>3.0.0.0</バージョン>
  5. <scope>システム</scope>
  6. <システムパス>${basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar</システムパス>
  7. </依存関係>

Maven パッケージ構成には特に注意してください。includeSystemScope を必ず追加してください。これにより、Maven はパッケージ化中に外部から導入された jar パッケージ (ルート ディレクトリまたはリソース ファイルへの新しい外部 jar パッケージの追加など) をプロジェクト jar にパッケージ化し、プロジェクトをサーバー上で実行できるようになります。

この構成がない場合、外部パッケージはローカルの lib で見つかりますが、サーバー上の jar にはないため、ローカルで実行できます。

  1. <プラグイン>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <バージョン>${spring-boot.version}</バージョン>
  5. <構成>
  6. <includeSystemScope>が true </includeSystemScope>
  7. <fork></fork>
  8. <mainClass>com.firebook.FireBookApplication</mainClass>
  9. <スキップ></スキップ>
  10. </構成>
  11. </プラグイン>

application.yml ファイルの構成はよりシンプルです。顔の特徴データを格納するデータベースを作成し、SDK 申請時に取得した appId と sdkKey を入力し、パスはエンジン ファイルが格納されている .dll または .so サフィックスのファイル パスです。

  1. 春:
  2. データソース:
  3. # タイプ: com.zaxxer.hikari.HikariDataSource
  4. ドライバークラス: com.mysql.cj.jdbc.Driver
  5. url: jdbc:mysql://127.0.0.1:3306/face?useUnicode= true &characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
  6. ユーザー名: root
  7. パスワード: 123456
  8. # 顔認識ウィンドウ
  9. 顔:
  10. アプリID: #************************
  11. SDKキー: #************************
  12. パス: D://face

これらを設定したら、FireControllerApplication を直接実行し、127.0.0.1:8081/login/face にアクセスします。

ここではソース コードを大きなセクションに分けて投稿しません。興味のある方はリンクを取得してソース コードをダウンロードし、試してみてください。

<<:  ウォータールー大学はヒートマップ回帰を放棄し、複数人の姿勢推定のための新しい方法を提案した。

>>:  2021年11月のドローン業界の最新動向を3分で振り返る

ブログ    

推薦する

1 つのバグが原因で 200 億ドルの損失が発生しました。ビジネス異常検出システムを構築するにはどうすればよいでしょうか?

【51CTO.comオリジナル記事】 1. AI ビジネス異常検出システムが必要な理由企業は、業務...

なぜ中国はアメリカや日本を抜いて人工知能で世界をリードしているのでしょうか?

[[279809]]北京は世界で最も人工知能企業が集中している都市であり、中国の人工知能分野は世界...

Weibo の背後にあるビッグデータの原理を探る: 推奨アルゴリズム

推薦システムは早くから誕生していたが、本格的に注目されるようになったのは、「Facebook」に代表...

...

...

将来、AIと競争して仕事を得るための16の実践的なヒント

[[256943]]現在、多くの企業がすでに人工知能と機械学習を活用しており、これらのテクノロジーの...

...

人工知能が実戦投入され、すでに一部は排除・解雇されている!

脳極体[[237444]]全世界を置き換えると叫んだ人工知能は、ついに失業という苦境に陥った。スウェ...

IoT が成功するために AI が必要な理由

モノのインターネットは膨大な量のデータを生成します。そのデータは、都市が事故や犯罪を予測するのに役立...

OpenAI従業員:エンジニアリングスキルは誇張されているが、人との付き合い方を学ぶことの方が重要

12月29日のニュース、プロンプトエンジニア、つまり、人工知能モデルを誘導して最良の出力を生成するチ...

完全なマーケティング効果評価におけるベイズ構造モデルの応用

著者についてCtrip のデータアナリストである Yiwen 氏は、ユーザー増加、因果推論、データサ...

フェイフェイ・リー氏のチームは、一人暮らしの高齢者のCOVID-19症状を監視する家庭用AIシステムを開発

[[321322]]フェイフェイ・リーCOVID-19パンデミックにより、高齢者の介護はさらに困難に...

...

コードを超高速で変更! GPT-3に編集機能とテキスト挿入機能が追加され、AIがあなたに代わって詩を書くことができる

いつもトラブルを起こしているAI分野の花形研究機関OpenAIが最近また別のことをしました。GPT-...

シーメンスとマイクロソフトが共同でAIアシスタントを立ち上げ、製造業における人間と機械の連携を強化

シーメンスとマイクロソフトは協力し、人間と機械のコラボレーションを強化し、生産性を向上させるように設...