待望の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分で振り返る

ブログ    

推薦する

海外メディア:アップルは2025年までに完全自動運転車を発売する可能性

アップル社が2025年までに完全自動運転車を発売する計画だとブルームバーグが報じたことを受け、同社の...

...

...

MySQLインデックスの背後にあるデータ構造とアルゴリズムの原理

序文プログラミングの分野では、「プログラム = データ構造 + アルゴリズム」というよく知られたルー...

...

Transformer ではまだ注意が必要ですか?

ここ数週間、AI コミュニティでは、注意を必要としないアーキテクチャを使用して言語モデルを実装すると...

ドイツ反トラスト長官:AIは大企業の支配を強める可能性がある

ドイツ独占禁止局のアンドレアス・ムント局長は10月10日、人工知能によって大手テクノロジー企業の市場...

...

GenAIは主流になるが、CIOの行動は遅い

過去2週間、OpenAIの創設者サム・アルトマン氏は取締役会により解雇され、関連メンバーはマイクロソ...

...

2023 年の AI セキュリティに関するトップ 10 の話題

生成 AI は 2022 年末までに世界を席巻し、2023 年には AI 分野が脚光を浴びることにな...

GoogleのオープンソースAIは92%の精度で音を区別できる

[[249335]] VentureBeatによると、Googleの人工知能研究部門は音声認識におい...

11人が2ヶ月間集中的にトレーニングし、マスク氏がOpenAIを徹底的に攻撃! xAIの最初の大規模モデルGrokが爆発的に成長、330億のパラメータと月額16ドル

最近では、すべての家族が行動を起こす準備ができています。 OpenAI 開発者会議が近づく中、マスク...

自動運転のための不確実性を考慮した動作計画:強化学習ベースのアプローチ

[[429196]] 2021年10月1日にarXivにアップロードされた論文「強化学習を使用した不...

...