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

ブログ    

推薦する

APP はユーザーのプライバシーと顔認識生体認証情報を深く掘り下げ、「データ疫病」の到来に注意

315 Gala で摘発された企業は、業界内ではほんの少数派です。ユーザーのプライバシーを侵害するア...

必要なパラメータはわずか1%で、その効果はControlNetを上回る。新しいAI塗装制御マスターが登場

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

大規模機械学習のためのプログラミング手法、計算モデル、Xgboost および MXNet の事例

[[191977]]現在、機械学習のトレンドは、従来の方法のシンプルなモデル + 少量データ (手動...

デイリーアルゴリズム: 有効な括弧

[[420388]] '('、')'、'{'、...

...

【ビッグコーヒーがやってくるエピソード5】ビッグデータミドルプラットフォームの構築方法

今回、「ビッグネームがやってくる」のライブ放送にゲストとして参加したのは、iResearch CTO...

多くの競争者が競い合う中、自動運転をめぐる戦いが始まる!

著者: 張傑[51CTO.comより引用] 2020年と比べると、2021年の自動運転業界にはよりエ...

データに飽きた?人工知能は良い選択です

今日のデジタル マーケティング担当者にとっての課題は、共感を得るためにすべてのプラットフォームでブラ...

AIとIoTテクノロジーがメンタルヘルス問題の解決に役立つ4つの方法

IoT テクノロジーは、精神疾患に苦しむ患者の健康状態を改善する専門家の支援を補完することができます...

...

MetaがCMUと提携して最も強力な「汎用ロボットエージェント」を開発するのに2年かかりました。

爆発的な人気を博している大規模モデルは、「汎用ロボットエージェント」に関する研究を再構築しています。...

あなたが知らないかもしれないゲームにおける AI に関する 5 つの予測

コンピュータービジョン技術の急速な発展に伴い、機械学習はビデオゲーム業界、特に仮想現実の分野で広く使...

Meta Digital Human 2nd Generation が登場! VRヘッドセットはもういらない、iPhoneでスキャンするだけ

Meta のリアルなデジタル ヒューマン 2.0 がさらに進化し、iPhone を使用して生成できる...

...

AIは地球を救うことができるのか

メタバースは現実世界を揺るがしており、未知の部分が多すぎるため、賛否両論の評価を受けています。しかし...