Skip to content

✨ FACE01は日本人の顔に最適化された顔学習モデルJAPANESE FACEと、 Pythonで書かれたオープンソースのリファレンス実装・顔認証フレームワークです。

Notifications You must be signed in to change notification settings

yKesamaru/FACE01_DEV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FACE01日本人の顔に最適化された顔学習モデルJAPANESE FACEと、
Pythonで書かれたオープンソースのリファレンス実装
です。

⚡️ Apache License 2.0と商用ライセンスのデュアルライセンス!

⚡️ 日本人の顔に最適化された顔学習モデル⭐️''

⚡️ 豊富なクラスとメソッド!

⚡️ 包括的なドキュメント付属!

FACE01 -- さあ、始めましょう!


GitHub commit activity

## result
Audrey Hepburn
         Anti spoof              real
         Anti spoof score        100.0 %
         similarity              99.1%
         coordinate              (123, 390, 334, 179)
         time                    2022,08,09,04,19,35,552949
         output                  output/Audrey Hepburn_2022,08,09,04,19,35,556237_0.39.png
 -------

FACE01とは

FACE01日本人の顔に最適化された顔学習モデルJAPANESE FACEと、Pythonで書かれたオープンソースのリファレンス実装です。

なにが便利?

優れポイント①

FACE01を使うと入力映像の1フレームごとに、「いつ・誰が・どの座標で」映っているかの情報を1行で取得できます

Core().common_process(CONFIG).__next__()

取得されるデータは以下のとおりです。

  1. 映像のNDArrayデータ
  2. 顔の座標(複数人可)
  3. 名前(複数人可)
  4. 日付時刻
  5. 確度(%)

また顔画像を各フレームごとにディスクへ保存します。

優れポイント②

優れた顔学習モデル

日本人専用の顔学習モデル「JAPANESE FACE V1」が使えます!(後述)

優れポイント③

  • 🎉 LICENSEが「もっと使いやすく」なりました!実稼動以外はアパッチライセンスV2です!
  • 🎉 v3.0.0よりオープンソースとして公開いたしました。(LICENSEに従ってください)
  • 🎉 エグザンプルコード集とドキュメントが更に充実しました!(後述)
  • 🎉 JAPANESE FACE V1 が利用可能になりました!
    • JAPANESE FACE V1 は日本人の顔認証に特化したモデルです。
  • 10,000人以上の顔データからリアルタイムで顔認証が可能です
  • 超高速の顔座標出力機能
  • 日付と時刻情報付きの顔画像保存機能
  • 出力フレーム画像を修正する設定が可能(モザイク・ロゴ挿入など)
  • 設定ファイルによる機能の集中管理
  • RTSP、HTTP、USBなどの入力プロトコルを選択可能
  • 顔認識画像処理 のための多くの機能が利用可能です(詳細はUseful FACE01 libraryをご覧ください)
  • ...and many others!


なぜFACE01を開発したの?

顔認証システムはあらゆるシーンで使用されるのにも関わらず、AIのコアである学習モデルはほとんどがアメリカか中国で開発されています。

AIコアが外国産である場合、肝心なところで「偽陽性」、つまり誤判定が発生することがあります。この問題は発生頻度が少ないこともあり、再現性が取りづらく、その反面、発生した場合は重大なアクシデントとなり得ます。

このため日本人だけの大規模顔顔データセットから学習した「JAPANESE FACE V1」を開発し、顔認証アプリケーションに必要なクラスを揃えました。


モデル性能

日本人の顔認証に特化した学習モデルは、一般的な顔認証システムが抱える問題(若年日本人女性に対する偽陽性)を解決しました。

たとえば、一般的な学習モデルの場合、以下に示すような若年日本人女性の判別が難しい場合があります。

dlib学習モデルで偽陽性を出す例

これに対し、新しく学習されたモデル「JAPANESE FACE」(下のグラフではJAPANESE_FACE_V1.onnx))では、精度を落とすことなく判別できていることが示されました。

若年日本人女性の顔画像に対して、DlibのAUCが0.94に対し、JAPANESE FACEは0.98を達成しています⭐️''。

既存の顔認証モデルと比べて性能が向上してるのが分かりますね⭐️''。

くわしくは、「Dlib顔学習モデルの、若年日本人女性データセットにおける性能評価 」からご覧いただけます。


インストール

FACE01開発環境のセッティングは本当に簡単です!

Dockerイメージを使用する

🐳 一番簡単で環境を汚さない方法は、Dockerを使用することです。

こちらで丁寧な導入手順を解説をしていますのでぜひご覧ください。


実働環境のPCにインストールする

実働環境を想定してまっさらなマシンに直接FACE01をインストールするには、INSTALL_FACE01.shスクリプトを実行します。

wget https://raw.githubusercontent.com/yKesamaru/FACE01_DEV/master/INSTALL_FACE01.sh
chmod +x INSTALL_FACE01.sh
bash -c ./INSTALL_FACE01.sh

詳しくはこちらをご覧ください。


実働環境のPC(Python仮想環境)にインストールする

Note

この方法はテストをしておりません。

# 仮想環境構築後
pip install git+https://github.com/yKesamaru/FACE01_DEV.git

豊富なエグザンプルコード

exampleフォルダには、様々なスクリプト例が収録されています。 (全てのスクリプトが現在のバージョンに対応しているわけではないことに注意してください)

ステップ・バイ・ステップでEXAMPLEを試してみましょう!

包括的なドキュメントはこちらをご参照ください。


ドキュメント

🧑‍💻 丁寧で包括的なドキュメントが付属します⭐️''

初心者にとっても優しい!!💗

全てのクラスとメソッドをまとめたリファレンスも!!

開発者にもとっても優しい💗


Update

  • 🔖 v3.0
    • オープンソースとして公開しました。
    • LICENSEを必ずご確認ください。
  • 🔖 v2.2.02
    • pyproject.tomlを追加。
    • ./example/*.pyについて修正の追加。
  • 🔖 v2.2.01
    • EfficientNetV2 Arcface Modelを正式名称のJAPANESE_FACE_V1へ修正しました。
    • Python 3.10.12対応としました。他バージョンには対応していません。使用するシステムのPythonバージョンが異なる場合はDocker版をお使いください。
    • READMEほか、ドキュメントを日本語へ変更します。
    • 使用期限を延長しました。
    • YouTubeで使用する際のライセンスを追加しました。
  • 🔖 v2.1.05
    • Add EfficientNetV2 Arcface Model

ℹ️: Note

リポジトリについて

今後の開発はFACE01_DEVリポジトリ(このリポジトリ)で行われます。

FACE01_SAMPLEリポジトリは旧バージョンのため閉鎖されました。

FACE01_DEVリポジトリをご使用ください。

その他

  • このリポジトリが提供するファイルは、無料でお使いいただけます。 教育機関でご利用の場合、ソースコードを研究・教育にご利用できます。 詳しくは日本のAI教育を支援する、顔認識ライブラリFACE01の提供についてをご覧ください。
  • 商用利用では実稼動のみライセンスが必要です。(LICENSEファイルをご参照ください。)
  • YouTubeにおけるJAPANESE FACE V1の使用ライセンスを追加しました。
    • VTuverにおける顔追従用のONNXモデルとして無料で使用できます。詳しくはYouTube用ライセンスをご参照ください。
  • このリポジトリにはUBUNTU 22.04用のFACE01モジュール、および顔学習モデルが含まれています。Windowsユーザーの方は、提供しているDocker上でご利用ください。
  • JAPANESE FACE(日本人に最適化された顔学習モデル)だけを使用したい場合は、FACE01_trained_modelsリポジトリをご使用ください。

Acknowledgments

📄 I would like to acknowledgments those who have published such wonderful libraries and models.

  1. dlib / davisking
  2. face_recognition / ageitgey
  3. mediapipe / google
  4. open_model_zoo / openvinotoolkit
  5. light-weight-face-anti-spoofing / kprokofi
  6. openvino2tensorflow / Katsuya Hyodo (PINTO0309)
  7. PINTO_model_zoo / Katsuya Hyodo (PINTO0309)
  8. FaceDetection-Anti-Spoof-Demo / KazuhitoTakahashi (Kazuhito00)
  9. Some images from Pakutaso, pixabay

References

About

✨ FACE01は日本人の顔に最適化された顔学習モデルJAPANESE FACEと、 Pythonで書かれたオープンソースのリファレンス実装・顔認証フレームワークです。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages