✨ FACE01
は日本人の顔に最適化された顔学習モデルJAPANESE FACEと、
Pythonで書かれたオープンソースのリファレンス実装です。
⚡️ Apache License 2.0と商用ライセンスのデュアルライセンス!
⚡️ 日本人の顔に最適化された顔学習モデル⭐️”
⚡️ 豊富なクラスとメソッド!
⚡️ 包括的なドキュメント付属!
FACE01 — さあ、始めましょう!
## 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で書かれたオープンソースのリファレンス実装です。
日本人専用の高精度顔認識学習モデル「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!
基本的には【アパッチライセンスv2】⭐️”
商用利用する予定がある場合でも、実際にまだ稼働させていない場合には、Apache License 2.0の条件に従って使用できます。
つまり社内での実験、研究、コンペティションへの参加、客先での試験運用、その他の非稼働用途は無料です💗
なぜFACE01を開発したの?
顔認証システムはあらゆるシーンで使用されるのにも関わらず、AIのコアである学習モデルはほとんどがアメリカか中国で開発されています。
AIコアが外国産である場合、肝心なところで「偽陽性」、つまり誤判定が発生することがあります。この問題は発生頻度が少ないこともあり、再現性が取りづらく、その反面、発生した場合は重大なアクシデントとなり得ます。
東アジアだけに絞っても日本人、漢民族、満州族、回族、ウイグル人、チベット人、モンゴル人、チワン族、チャン族、ミャオ族、トゥチャ族、韓民族、カザフ人、ザイ族が存在します⭐️”
日本人以外の顔データで学習されたモデルを日本人だけに使うのは想定されてないはずです⭐️”
このため日本人だけの大規模顔顔データセットから学習した「JAPANESE FACE V1」を開発し、顔認証アプリケーションに必要なクラスを揃えました。
モデル性能
日本人の顔認証に特化した学習モデルは、一般的な顔認証システムが抱える問題(若年日本人女性に対する偽陽性)を解決しました。
たとえば、一般的な学習モデルの場合、以下に示すような若年日本人女性の判別が難しい場合があります。
dlib学習モデルで偽陽性を出す例
これに対し、新しく学習されたモデル「JAPANESE FACE
」(下のグラフではefficientnetv2_arcface.onnx
)では、精度を落とすことなく判別できていることが示されました。
若年日本人女性の顔画像に対して、DlibのAUCが0.94に対し、JAPANESE FACEは0.98を達成しています⭐️”。
既存の顔認証モデルと比べて性能が向上してるのが分かりますね⭐️”。
くわしくは、「Dlib顔学習モデルの、若年日本人女性データセットにおける性能評価 」からご覧いただけます。
ℹ️: Note
- リポジトリが提供するファイルは、無料でお使いいただけます。
教育機関でご利用の場合、ソースコードを研究・教育にご利用できます。
詳しくは日本のAI教育を支援する、顔認識ライブラリFACE01
の提供についてをご覧ください。 - 商用利用では実稼動のみライセンスが必要です。(LICENSEファイルをご参照ください。)
- YouTubeにおけるJAPANESE FACE V1の使用ライセンスを追加しました。
- VTuverにおける顔追従用のONNXモデルとして無料で使用できます。詳しくはYouTube用ライセンスをご参照ください。
- リポジトリには
UBUNTU 22.04
用のFACE01
モジュール、および顔学習モデル
が含まれています。Windows
ユーザーの方は、提供しているDocker
上でご利用ください。 - JAPANESE FACE(日本人に最適化された顔学習モデル)だけを使用したい場合は、FACE01_trained_modelsリポジトリをご使用ください。
インストール
FACE01開発環境のセッティングは本当に簡単です!
Dockerイメージを使用する
🐳 一番簡単で環境を汚さない方法は、Docker
を使用することです。
こちらで丁寧な導入手順を解説をしていますのでぜひご覧ください。
こちらで用意しているDockerイメージを使ってFACE01を使うのが一番簡単でローカル環境も汚しません⭐️”
実働環境の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
詳しくはこちらをご覧ください。
豊富なエグザンプルコード
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
- Add
Acknowledgments
📄 I would like to acknowledgments those who have published such wonderful libraries and models.
- dlib / davisking
- face_recognition / ageitgey
- mediapipe / google
- open_model_zoo / openvinotoolkit
- light-weight-face-anti-spoofing / kprokofi
- openvino2tensorflow / Katsuya Hyodo (PINTO0309)
- PINTO_model_zoo / Katsuya Hyodo (PINTO0309)
- FaceDetection-Anti-Spoof-Demo / KazuhitoTakahashi (Kazuhito00)
- Some images from Pakutaso, pixabay
References
- Deep Face Recognition A Survey
- EfficientNetV2: Smaller Models and Faster Training
- ArcFace: Additive Angular Margin Loss for Deep
- MobileFaceNets: Efficient CNNs for Accurate Real-Time Face Verification on Mobile Devices
- Dlib Python API
- Pytorch documentation and Python API
- ONNX documentation
- 教育と著作権: 水谷正大 著, 大東文化大学 (2021)
- 日本人顔認識のための新たな学習モデル JAPANESE FACE v1