顔認証に適したAI/IoTデバイスの構築
FaceMe®
< All Articles

顔認証に適したAI/IoTデバイスの構築

2021/03/04

この記事では、ARMベースのAI/IoTデバイスを使用して顔認証用デバイスを構築する上で考慮すべき重要事項についてご案内します。

ARMベースのAI/IoTデバイスとは

まず、ARMベースのAI/IoTデバイスの定義ですが、AI/IoTデバイスはインターネットに接続され、AIアルゴリズムを実行してタスクを処理するデバイスを意味します。デバイスの内部には、ARMベースのSOC(Systems-on-a-chip)またはSOM(Systems-on-a-module)があり、これらは一般的な処理を行うCPUと、高速化用のGPUを備えています。また多くのAI/IoTベンダーは、AIアプリケーションを(クラウドサーバーではなく)エッジでより効率よく実行できるように、APU(AI Processing Unit)またはNPU(Neural Processing Unit)をSOC/SOMに搭載しています。

ARMベースのデバイスはエネルギー効率が高く、x64コンピューターよりもはるかに低消費電力です。ARMプロセッサーは、シンエッジベースのAI/IoTデバイス、キオスク端末、産業タブレット、デジタルサイネージ、ウェアラブルデバイス、モバイルデバイスなどでよく使用されています。

AI/IoTデバイスでの顔認証

AI/IoTデバイスの用途は非常に幅広く、スマートホームやスマートオフィスなどの多くの分野で活躍しています。様々な業界におけるAI/IoTデバイスの使用例をご紹介します。

工場、倉庫施設

顔認証は、製造業における多くの場面でメリットをもたらします。まず、施設の出入口に配置された顔認証対応のAI/IoTデバイスを使用することで、施設に出入りする人物の顔を即座に識別できるため、スタッフの入退館管理を効率化できるとともに、許可されていない人物が施設に入ろうとした際に、管理者にアラートを送信することもできます。また、安全規則の順守のためにも顔認証が使用できます。例えば、AI/IoTデバイスを機器に接続して顔をIDカード代わりに使用することで、取り扱いに厳格な管理が必要な機器において、許可された人物のみが機械の操作を行えるようにできます。

スマートリテール

小売店舗に顔認証を使用したAI/IoTデバイスを導入することで、店内における顧客体験を大きく変革し、競合他社やオンラインストアとの差別化を図ることができます。例えば、買い物客が店内のセルフサービス端末を利用する際に、顔認証を使用することでVIPおよびポイントプログラムのメンバーを自動で識別し、おすすめ情報や会員向けのプロモーションを提供することができます。顔認証機能を備えたAI/IoTデバイスによって、スムーズな支払いが可能になるとともに、店員側にも顔認証によるレジ端末のロック解除といったメリットをもたらすことができます。

スマートオフィス

顔認証によって、オフィスビルのアクセス制御およびセキュリティをシームレスに自動化し、より安全性を高めることができます。顔認証機能を備えたAI/IoTデバイスをビルの玄関に配置することで、従業員はキーカードを使用する代わりに、顔認証によって入館することが可能になります。同様のソリューションは、サーバールームなどの制限区域へのアクセス制御にも適用することができます。

デジタルサイネージ

顔認証とAI/IoTの代表的な用途の一つが、デジタルサイネージです。例えば、空港に設置されたスマートでインタラクティブなデジタルサイネージによって、事前に登録を行った旅行者は、搭乗する便のゲートや時刻の変更など、フライトに関する情報を入手することが可能になります。

医療

AI/IoTは、医療機器の管理や患者の識別、アクセスモニタリングなど、医療現場における様々な分野にイノベーションをもたらすための重要な鍵となっています。AI/IoTの代表的な使用例として、スマート医療キャビネットがあります。顔認証を備えたスマート医療キャビネットによって、厳格な管理が必要な医薬品に対するセキュリティとアクセス制御を強化することができます。許可された担当者のみが医薬品を扱うことができるようにしたり、また誰がいつどの薬を使用したかを自動的に記録したりすることができます。

スマートドアベル

顔認証とAI/IoTを使用したスマートドアベルは、近年人気が高まっている消費者向けの用途です。従来の鍵を使用したドアをスマートドアベルに置き換えることで、ホームセキュリティを大きく改善することができます。スマートドアベルは顔認証機能を使用して、家族や友人、近所の人などを即座に識別し、家族に対してロックを自動的に解除したり、身元不明の人物がドアに近づいた際にアラートを送信したりするなど、様々なルールを設定して運用することができます。

スマートロック

スマートドアベルと同様に、顔認証を備えたAI/IoTスマートロックは、多くの分野でセキュリティの向上に役立っています。例えばホテルやクルーズ船などでは、スマートロックの導入によりキーレス化を進めることができます。医療施設では、スマートロックによって制限エリアへのアクセスを制御することができます。企業では、従業員のオフィスへの出入りにスマートロックを使用できます。このように、スマートロックは非常に幅広い分野で使用できます。また、物理的な鍵やアクセスカードは、借用や盗難などがあった際に本来の持ち主以外が使用できてしまう可能性がありますが、スマートロックは許可された個人のみアクセスを可能とすることができます。

自動車のインフォテインメントシステム

AI/IoTと顔認証の新たな用途として、自動車、特にインフォテインメントシステムへの統合が注目を集めています。ドライバーが運転席に座ると、顔認証によってドライバーが識別され、座席とミラーの位置、エアコンの温度設定、またカーオーディオの設定に至るまで、個人の好みの設定が自動的に適用されます。

顔認証用のAI/IoTデバイスを構築する際に考慮すべき事項

AI/IoTデバイスの主要な使用例をご紹介しましたので、次は顔認証用のAI/IoTデバイスを構築する際に考慮すべき事項についてご案内します。用途や環境などによって、必要とされるAI/IoTデバイスの仕様は異なってくるため、パフォーマンス、コスト、消費電力などの様々な要素を考慮する必要があります。

パフォーマンス

パフォーマンスの要件を決定するためには、まず、デバイスが何に使用されるかを明確にする必要があります。顔認証によって何を行いたいか、タスクがどれほど複雑になるかを考慮しなければなりません。また、1秒間にどれだけの顔を検出して識別する必要があるかどうかを検討する必要があります。想定されるのは、一度に1つの顔を識別する必要のある用途でしょうか?それとも複数の顔を同時に識別する必要のある用途でしょうか?一例として、スマートロックによるドアアクセス制御では、ドアの目の前に立っている人物の顔のみを識別すればいいので、一度に1つの顔を識別するだけでよく、負荷が比較的低い軽量AIモデルで十分です。このような用途では、FaceMe® のH(高精度)モデルが適しています。しかし、ショッピングモールの入口など、多くの人が行き交う場所にカメラを設置し、ブラックリストに登録された人物を特定したい場合などは、より多くの処理能力が必要となります。

また、用途において個人の識別が必要なのか、あるいは単に統計情報を収集したいだけなのかを判断する必要があります。例えば、デジタルサイネージなどでは、年齢や性別などの統計情報のみを識別するだけでいい場合も多いため、このような場合に必要とされる処理能力は比較的低くて済みます。しかし、顔認証と個人の識別を行う必要がある場合は、より高い処理能力が必要となります。

コスト

一般的に、AI/IoTデバイスに必要な処理能力が高いほど、コストも高くなります。したがって、AIおよび顔認証プロジェクトにおいてコストが重要な考慮事項である場合は、パフォーマンス要件を考慮する必要があります。

NVIDIA、Intel、Qualcommなどのチップベンダーは、性能や装備するインターフェース(Wi-Fi、HDMI、USBなど)に応じて、複数の価格ラインの製品ラインナップを提供しています。例えば、NVIDIA Jetsonソリューションは、優れたパフォーマンスで人気の高いチップセットですが、そのぶんコストも比較的高価です。

フォームファクター

フォームファクターについて考える際は、サイズを考慮するべきです。ドアに内蔵する必要のあるスマートロックなど、AI/IoTデバイスを特定の寸法内に納める必要がある場合、サイズは大きな制限事項となります。また、デジタルサイネージなど大型ディスプレイが必要な用途では、AI/IoTデバイスとは別に、ディスプレイ用の電源装置も含めたサイズの検討が必要となります。

消費電力

パフォーマンスと消費電力は密接に関わっています。一般的に、デバイスのパフォーマンスが高ければ高いほど、より多くの電力を消費します。ただし、ビジョンテクノロジーとAIアルゴリズムを専用チップによって高速化することにより、電力効率を向上させることもできます。

例えば、APU(AI Processing Unit)を追加したMediaTek i350チップセットでは、APUとNeuroPilotプラットフォームが連携して動作し、消費電力を抑えながらAIアルゴリズムのパフォーマンスを向上させています。汎用CPUの命令セットと比較すると、APUは、コンピュータービジョンAIアルゴリズムの画像処理で一般的に使用される、複数のデータポイントの積和演算などの大規模な並列データ処理の効率が大きく向上しています。

NVIDIA Jetsonファミリー
出典: NVIDIA

MediaTek Pumpkin 開発者向けボード
出典: MediaTek

顔認証用の主要なAI/IoTデバイス構成

顔認証用に使用される最も一般的な4つのAI/IoTデバイス構成を、パフォーマンスとコストの順にご紹介します。

  1. NVIDIA Jetsonプラットフォーム

    パフォーマンス:高
    コスト:高

    Jetsonは、NVIDIAによって2014年にJetson TXとして最初にリリースされました。以来、NVIDIAは数世代にわたって製品を急速に発展させてきました。最新世代の製品はJetson Xavier NXで、AI推論のパフォーマンス、消費電力、コストのバランスに優れています。Jetsonプラットフォームは、他のアプリケーションとともに、一度に複数のビデオ入力を処理して顔認証を実行することができます。デバイスで一度に複数のタスクを実行する必要がある場合、Jetsonは最適な選択肢です。

    NVIDIAはCUDA、TensorRT、DeepStreamなどのツールとSDKを提供しており、現在市場で入手可能なプラットフォームの中でも成熟度は群を抜いています。これらのツールによってAIアルゴリズムをスムーズに実行できるようになるため、Jetsonを使用して顔認証を容易に実装することができます。また、NVIDIAは、開発パッケージであるJetPackを提供しており、これにはUbuntuのカスタマイズバージョンと、必要なすべてのツールチェーン、およびライブラリが含まれています。

    FaceMe® のVH(Very High)モデルを使用したテストでは、Jetson Xavier NXを使用して、1秒間に約72枚の画像に対して顔認証を実行しています。(画像解像度:1080p、1画像あたり1つの顔がある場合)

    Jetsonデバイスはサイズも非常に小さく、フォームファクターは5インチ四方で、消費電力10W未満のミニPCと同等のサイズです。ただし、これらのデバイスは比較的高価でもあります。

  2. Qualcomm

    パフォーマンス:適切~中
    コスト:中~低

    Qualcommは、Snapdragonシリーズのようなスマートフォンやタブレット向けの製品から、QCS410/610のようなAI/IoTエッジ製品に至るまで、幅広いSOCを提供しています。AIアルゴリズムをSOC上のGPUまたはDSPチップで実行できるようにするQualcomm Neutral Processing SDK(SNPE)によって、AIアルゴリズムと顔認証の実行速度を向上させることのできる、最も優れたプラットフォームの一つです。

    Snapdragon 660を搭載したAdvantechの産業Androidタブレットを使用したテストでは、AIアルゴリズムをSNPEによりGPUで実行することによって、エンドツーエンドの顔認証処理時間が約40%短縮され、CPU使用率も約64%低減しました。FaceMe® のVHモデルを使用した場合は1秒間で約16枚、Hモデルを使用した場合は1秒間で約24枚の画像に対し顔認証を実行しています。(画像解像度:720p、1画像あたり1つの顔がある場合)

  3. MediaTek i350

    パフォーマンス:中
    コスト:低

    MediaTek i350は、コストパフォーマンスに非常に優れたAI/IoTデバイス向けのチップセットです。POS端末、スマートロック、産業タブレット、スマート家電、フィットネス機器に装備されたディスプレイパネルなど、様々なタッチスクリーンデバイスでの使用に適しています。またMediaTekは、中小メーカー向けにスマートフォンソリューションを提供していることでも知られています。SDK、サンプルコード、ツールが提供されているため、誰でも容易に独自のアプリケーションを構築できます。i350はAndroidとUbuntuの両方をサポートしています。

    MediaTek i350を使用したテストでは、FaceMe® のVHモデルを使用した場合は1秒間で約8枚、Hモデルを使用した場合は1秒間で約18枚の画像に対して顔認証を実行しています。(画像解像度:720p、1画像あたり1つの顔がある場合)

  4. NXP i.MX8M Plus

    パフォーマンス:中
    コスト:低

    NXP Semiconductorsは、セキュリティ、認証、自動車、ネットワーク、ラジオ、電力などの幅広い分野向けに製品を提供しています。NXP i.MX8M Plusは、現在試作段階にある製品で、2021年初頭に登場する予定です。NXPによるSOCにNPUを組み込んだ初の製品で、これにより、AIアルゴリズムが効果的に高速化されるとともに、AIアプリケーションを実行する際のCPU負荷を低減させることができます。

    NXPのチップセットでAPUをサポートするために、TensorFlow Liteフレームワークと推論エンジンが使用されています。TensorFlow Liteはオープンソースプロジェクトで、主にGoogleによって開発されており、多くのAIアプリケーションで使用されている、機能が豊富かつ安定、成熟したプラットフォームです。i.MX8M Plusは、多くのAIアプリケーションをプラットフォームに移植するのに最適です。

    i.MX8M Plusを使用したテストでは、FaceMe® のVHモデルを使用した場合は1秒間で約5枚、Hモデルを使用した場合は1秒間で約6.3枚の画像に対して顔認証を実行しています。(画像解像度:720p、1画像あたり1つの顔がある場合)

    以下の表は、各プラットフォームのパフォーマンスをまとめたものです。

    プラットフォーム
    FaceMeモデル
    画像解像度
    パフォーマンス(1秒あたり顔認証実行数)
    Jetson NX
    VH
    1080p
    72
    UH
    1080p
    23
    Jetson Nano
    VH
    1080p
    20
    Snapdragon 660 SNPE アクセラレーション
    H
    720p
    26
    VH
    720p
    16
    MediaTek i350 NeuroPilot アクセラレーション
    H
    720p
    18
    VH
    720p
    8
    NXP i.MX8 Plus
    H
    720p
    6
    VH
    720p
    5

    * 画像1枚あたり1つの顔がある場合

顔認証用AI/IoTデバイスで使用されるオペレーティングシステム

顔認証用AI/IoTデバイスで使用される最も一般的なオペレーティングシステムとして、Linux(Ubuntu、Debian)とAndroidの2つがあります。どちらのOSが適切かを判断するためには、顔認証の用途とニーズを考慮することが重要です。FaceMe® は、最も幅広い用途に対応した顔認証エンジンの一つであり、Linux、Ubuntu、Redhat、CentOS、Android、iOS、Windowsなどの10種類以上のOSをサポートしています。LinuxとAndroidの主な違いは次の通りです。

Linux & Ubuntu

Linuxはカスタマイズが可能で柔軟性に優れています。用途に合わせてOSのコンポーネントをカスタマイズすることで、システムを可能な限りスリムにすることができます。不要なサービスを容易に削除できるため、ソフトウェアをより高速に実行するとともに、消費電力を節約することができます。Ubuntuは最も人気のあるLinuxディストリビューションの一つで、エッジデバイスからクラウドサーバーに至るまで幅広く使用されています。Ubuntu Linuxは、基盤となるテクノロジーを最新の状態に保つため、最大5年間のサポートが提供される長期サポートバージョン(LTS)を約2年ごとにリリースしています。オープンソースであることから、豊富なコードライブラリのセットが使用可能で、プロジェクトの開発を大幅にスピードアップすることができます。

Android

AndroidはGoogleによって開発されており、そのカーネルはLinuxのカスタマイズバージョンをベースとしています。スマートフォンやタブレットでは最も一般的なOSです。Androidは開発者によって使いやすいソリューションであり、多くのAI/IoTデバイスに適したOSといえます。Androidツールチェーン、IDE(Android Studio)、SDKなどの充実したツールにより、容易に開発を行うことができます。プロフェッショナルツールは無料で使用可能です。Androidアプリケーションは、Javaプログラミング言語で開発されることが多く、C++と比較して、リソースやメモリのコーディングと管理がはるかに容易です。また、C++で記述されたコンポーネントのJavaプログラムへの統合もサポートされているため、両方の言語においてメリットを得ることができます。

最適なAI/IoTデバイスの選択

顔認証用のシステムを構築する際に使用できるAI/IoTデバイスの構成は数多くありますが、選択に際して難しく考える必要はありません。どの構成を選択するかを評価する場合、まず顔認証の用途を理解することが非常に重要です。次に、パフォーマンス、フォームファクター、拡張性、および予算などの要件について考えていきます。

用途に適した構成ができたら、アプリケーションを導入して実際に使用し始める前に、実証実験(POC)を実施することをおすすめします。実証実験によって、本稼働の前に改善する必要がある点を洗い出し、調整することができます。

顔認証についての詳細は、エッジデバイスによる顔認証をご参照ください。

また、2021年における顔認証の展望では、顔認証に関する最新の情報をご案内しています。

FaceMe について
のお問い合わせ

FaceMe®についての詳細はこちら

当社のFaceMeチームがお客様のご質問にお答えし、デモのご予約を承ります。FaceMe®の無料評価版は、条件を満たしたお客様に対して提供されます。

FaceMe についてのお問い合わせ

ニュースレター登録