はじめに
TeamXRのアレックスです。
近年、AIの発展は、感情認識の分野に革命をもたらしています。表情から感情を推定する技術は、商業分野での顧客対応や教育、さらにはヘルスケア分野など、様々な実用的な応用が期待されています。
このテーマに興味があった理由は、感情認識が人間とAIのより深い相互理解を可能にできると思っているからです。AIが感情を正確に認識し、さらに人間の感情に応じたフィードバックを提供する未来像は、非常に魅力的です。
このブログでは、私自身が試した感情認識システムを紹介し、それぞれの特長や限界について話していきたいと思います。また、独自に開発した簡易アプリケーションを通じて、複数のシステムを統合的に利用する実験を行い、その可能性について考察します。最後に、現在の感情認識技術が直面している課題について、私自身の意見を述べていきたいと思います。
オープンソースのシステム
FER (Facial Emotion Recognition)
このツールは、深層学習、特に畳み込みニューラルネットワーク(CNN)を利用して感情を認識するシステムです。FER2013データセットを用いたテストでは、追加の学習データなしで73.28%という高い精度を達成した点が特長です。
私自身の経験では、処理速度がリアルタイムでの使用に十分対応できるほど高く、精度も許容範囲内でした。
- 幸福(happy)、中立(neutral)、驚き(surprise)の認識は良好でした。
- 怒り(angry)も概ね正確に検出されました。
- 悲しみは他の感情と誤認される傾向があります。
- 恐怖(fear)は驚き(surprise)と誤認することがあります。
LibreFace
LibreFaceは、最先端の感情認識技術を非商用のツールとして簡単に利用できるように設計されたオープンソースフレームワークです。このツールは、顔認識および感情認識において高い性能を発揮し、以下の革新的な特徴を備えています。
- 適応的な事前学習: 多様な顔データセットを活用し、視覚エンコーダーを事前学習することで、顔の特徴を正確にモデル化します。
- 軽量モデルへの蒸留: 高精度と効率性を兼ね備えたResNet-18に基づく軽量モデルを採用し、リアルタイム処理が可能です。
私のテストでは、LibreFaceは最も良い結果を示したソリューションでした。
- 幸福(happy)や中立(neutral)の状態を正確に認識しました。
- 怒り(angry)、驚き(surprise)、恐怖(fear)、悲しみ(sad)も概ね正確に検出されました。ただし、驚きと恐怖を間違える場合がありました。
DeepFace
DeepFaceは、主に顔認識のためのツールで、画像内の顔とデータベースに保存された顔を効率的に照合することを目的としています。さらに、年齢、性別、人種、感情の推定を含む顔分析機能も備えています。最大の強みはその柔軟性であり、顔認識および画像内の顔検出のためにさまざまなモデルを選択できる点です。
私のテストでは、顔検出モデルの選択が感情分析の結果に大きな影響を与えることが分かりました。デフォルトモデルを使用した場合、感情の検出精度はあまり高くありませんでした。しかし、RetinaFaceを使用したところ、感情認識の精度が大幅に向上し、より信頼性の高い結果を得ることができました。ただし、RetinaFaceは他のモデルと比較して処理速度が遅いという欠点があります。
ResEmoteNet
ResEmoteNetは、精度と効率のバランスを追求した深層ニューラルネットワークアーキテクチャに基づき、感情認識に特化して設計されたシステムです。
私のテストでは、次の2点が分かりました。
- 処理速度:ResEmoteNetは画像を非常に高速で処理し、リアルタイムでの高いフレームレートを実現しました。
- 精度の限界:感情認識の精度は十分ではありませんでした。RA-FDBデータセットを使用したテストでは、ほとんど間違っている結果を出しました。
有料システム
FaceReader (Noldus)
FaceReaderは、学術研究や商業環境で広く利用されているプロフェッショナルなソリューションです。有料のソリューションなので比較的に高精度の認識を期待しましたが私のテストでは、オープンソースのソリューションと同じような結果がみられました。
- 幸福(Happy)中立(neutral)は正確に検出されました。
- 驚き(surprise)の識別性能も良好でした。
- 怒り(angry)悲しみ(sad)恐怖(fear)の認識の際に誤認がありました。
しかし、オープンソースのソリューションと違って複雑なセットアップがないため、技術者ではなくても使えるアプリケーションを提供しています。
MorphCast
MorphCastは、ビデオ会議やウェブアプリケーションへの統合にフォーカスしたリアルタイム感情分析の商用ツールです。ウェブ上で数秒間試せるデモが用意されており、その機能を簡単に体験することができます。
実際テストしたところで結果は全体的によろしくありませんでした。この精度の低さは、信頼性の高い感情分析が求められるシナリオでは大きな制約となります。
比較表
システム | ライセンス | 精度 | 速度 | コスト | 感想 |
FER | MIT | 中 | 中 | 無料 | リアルタイムで使用するには十分な速度があります。精度は許容範囲内です。 |
LibreFace | Apache 2.0 | 高 | 低 | 無料 | テストでは良好な精度が得られました。ですが、速度は遅かったです。 |
DeepFace | MIT | 可変(モデルに依存) | 可変(モデルに依存) | 無料 | 顔認証とDBとのマッチングが強みです。複数のモデルに対応できるので柔軟性があります。 |
ResEmoteNet | MIT | 低 | 高 | 無料 | 動作としては最速でした。しかし、感情認識で得られた結果は誤認が多く不安定でした。 |
FaceReader | 商用(独自ライセンス) | 高 | 中 | 問い合わせ必要 | デモでは1枚の画像のみをテストできました。結果は許容範囲内でした。 |
MorphCast | 商用(独自ライセンス) | 低 | 中 | 複数のサービスを提供。料金は月間利用量に応じて調整されます。一部のサービスは最大19ドルまで。 | 試した Web デモでは、リアルタイムでうまく動作することがわかりました。ですが、精度が非常に低かったです。 |
3つの感情認識システムを組み合わせた精度検証
画像ごとに3つのシステム(FER、LibreFace、DeepFace)で評価を行い、それぞれの結果を比較して、単独のシステムを使用した場合と比べて精度が向上するかどうかを検証しました。
本来であれば、各感情の強度を基に総合的な判断を行いたかったのですが、LibreFaceはこの情報を提供していないため、今回は各システムが検出した感情のみを利用しました。判断基準は次の通りです。
- 2つ以上のシステムが同じ感情を選択した場合、その感情を最終結果とします。
- 3つのシステムが異なる感情を選択した場合:
-
- 1つのシステムが「neutral」を選択した場合、「neutral」を最終結果とします。
- どのシステムも「neutral」を選択しなかった場合、FERとDeepFaceの各感情の強度の平均値に基づいて結果を決定します(LibreFaceは各感情の強度を提供していません)。
結果として、LibreFace単独で得られた精度を大きく超えることはできませんでしたが、一定の改善がみられました。特に、1つのシステムが誤った感情を検出した場合でも、他の2つのシステムが正しい判断を下したケースでは、全体の精度が向上しました。ただし、2つのシステムが同じ誤った感情を選択した場合、誤った結果につながることもありました。
システム間の協力ロジックをさらに改善することで、より正確な結果を得られる可能性があります。このアプローチは、今後の研究において非常に興味深いテーマとなるでしょう。
まとめ
感情認識技術は、AIの進化とともに急速に発展しています。しかし、画像のみから人間の感情を推定することは難しく、限界があると思います。最新の研究では、マルチモーダル感情認識技術が注目されています。今までと違うアプローチで顔の表情、音声、テキストなど複数のインプットを統合して感情を認識する技術です。これにより、1つのインプットよりも高い精度で感情を識別できることが期待されています。これらの技術の進展により、感情認識AIはますます高度化し、ビジネスや日常生活において重要な役割を果たすようになるでしょう。
XRにおける感情認識は、さまざまな分野で没入感、パーソナライズ、そして感情的なつながりを強化するために活用できます。仮想空間でアバターの表情をより自然かつリアルに再現することが可能です。医療や心理学では感情によってコンテンツを変えることでユーザーの感情に変化をもたらすこともできます。XRデバイスでユーザーの反応を分析してよりパーソナライズされた広告や体験を提供することができます。このように、感情認識の技術はXRの中でも段々発展していくでしょう。
上記ブログの内容に少しでも興味がありましたら、お気軽にご連絡ください。
弊社のエンジニアがフレンドリーに対応させていただきます。