STM32F429で認証時間0.3秒を実現。

たとえ瓜二つの双子であっても高速かつ誤りなく見分ける最先端の顔認証テクノロジー「TeraFaces™」が登場した。高性能プロセッサや大容量メモリを必要としていたこれまでの顔認証の常識を打ち破り、Cortex®-M4ベースのマイコン(ST製STM32F429)で実現したのが特徴だ。わずか3cm角の小型基板ながら認証時間0.3秒を達成。パーソナルロボットやおもちゃへの搭載のほか、来店客ごとのサービス提供など新たな応用が見込まれており、業界の注目度も高い。「TeraFaces」を開発したテラプローブの皆さんにお話を伺った。

メインイメージ

業界の常識を打ち破る開発に挑む

まずはじめにテラプローブの概要を簡単にお願いします。

テラプローブ古京:テラプローブは2005年の設立で、半導体ウェハのテストや半導体デバイスのパッケージングなど、いわゆる最終工程を主な事業としています。その中で私どもが所属する先行技術開発室は、従来とは異なる事業分野を開拓しようと2014年2月に立ち上がった組織で、今回ご紹介する顔認証技術や生体信号の取得技術などに取り組んでいます。なお、今日参加している深澤は顔認証製品の技術開発リーダーを担当し、白垣はテクニカルセールスや新製品の企画を担当しています。

なぜ顔認証技術の開発を始めたのですか?

テラプローブ古京:組み込み事業を新たに手がけるにあたって画像処理の応用で何かできないだろうか、という考えは以前から持っていました。その中で顔認証技術は、おもちゃやコミュニケーション・ロボットなどのニーズはあるはずなのに、高性能なパソコンが必須で業務用途でしか使えないというのが実情でした。それであれば業界の定説を覆して組み込みレベルでの実現にチャレンジしてみようじゃないか、というのが始まりですね。そこで、世界中にある顔認証技術を徹底的にベンチマークしました。顔認証技術の中では、認証率、認証時間を含めてもっとも優れているNECの「NeoFace®」に着目し、技術提供交渉を粘り強く行った結果、NECさんからNeoFaceの技術を提供していただき、「TeraFaces」を開発しました。「TeraFaces」のアルゴリズムは「NeoFace」のものをそのまま使っていますが、組み込みで動かすための仕組みはすべてテラプローブが独自に開発しています。

どういったソリューションを展開する予定ですか?

テラプローブ古京:顔認証技術「TeraFaces」は2種類のソリューション展開を考えています。ひとつがモジュールで、「TeraFaces」を実装した小型の基板をターンキーソリューションとして提供します。もうひとつがARMベースのマイコンに対応したIPソフトウェアとしての提供です。

わずか3cm角基板に顔認証機能を搭載

さっそくですが、「TeraFaces」テクノロジーを組み込んだ顔認証モジュールを紹介してください。

テラプローブ深澤:これがそのモジュール基板です。大きさはおよそ3cm角で、当社調べですが、顔認証モジュールとしては世界最小と考えています。基板には「TeraFaces」のソフトウェアIPを動作させるためのCortex-M4ベースのST製マイコン「STM32F429」のほか、画像を扱うために外付けのRAMチップを載せています。上側から出ているフレキシブルケーブルはカメラの接続用です。また、TFT LCDパネルをオプションとして接続することもできます。

ST石川:先日、白垣さんからモジュールを見せていただいたんですが、とても小さいことに加えて、顔認証のスピードの速さにびっくりしました。

テラプローブ深澤:高速性能は「TeraFaces」の特徴のひとつで、STM32F429マイコンのフラッシュメモリにあらかじめ登録しておいた顔の辞書から検索して結果を出すまでが約0.3秒です。対応できる人数はフラッシュメモリの容量次第ですが、1MBの内蔵フラッシュの場合では、およそ200人分の顔データを格納できます。

テラプローブ古京:顔認証技術は登録人数に応じて認証に要する時間が長くなっていきますが、当社の「TeraFaces」は1人だろうが200人だろうが0.3秒という時間はほぼ変わりません。人間から見てそっくりな双子でも正確に識別します。

ST菅井:STM32F4シリーズは、内蔵フラッシュメモリをゼロウェイト相当で読み出す「ART Accelerator™」やマルチAHBバスマトリックスなどの独自アーキテクチャを採用しており、180MHz動作時に608 CoreMarkというCortex-M4ベースのマイコンとしては業界最高性能を達成しています。もともと性能の高いハイエンド品なのですが、深澤さんたちは効果的なチューニングを行うことで、うまく使いこなしていらっしゃる印象ですね。

「TeraFaces」のように画像処理にSTM32F4マイコンを応用した事例はほかにもありますか?

ST菅井:もちろんあります。とくに今回採用していただいた「STM32F429」という製品は、TFT LCDコントローラやカメラインタフェース、外付けメモリ用インタフェースを搭載していますし、先ほども触れたようにCortex-M4プロセッサの性能を引き出す仕掛けも入っていて、なおかつそれらが小型パッケージにギュッと収められているので、セキュリティカメラ用途をはじめ画像処理に使われるお客様は他にもいらっしゃいます。

STM32を総合的な評価により選択

そもそもの話として、マイコンのプラットフォームとしてARM®アーキテクチャを選んだ背景と、ARMベースのマイコンの中からSTを選んだ経緯を教えてください。

テラプローブ深澤:開発に着手した時点ではどのマイコンを使ってもいいという状況ではあったのですが、それぞれのアーキテクチャについて社内でベンチマークを行った結果、やはり世界のスタンダードとして使われているARMを採用すべきとの結論に至りました。次にマイコンベンダーの選定をしたわけですが、顔の撮影のためにカメラの接続は必須でしたし、LCDインタフェースもあったほうが望ましく、さらに性能面では、認証対象者を1秒以上待たせると遅いと感じさせてしまうので、0.5秒以下を目指すにはマイコンの動作周波数として150MHz以上は要るだろうと考えました。そうやって各ベンダーのマイコンを探してみたところ、機能や性能や消費電力などがわれわれのニーズにフィットするのはSTのSTM32F4シリーズ以外にないと判断しました。

テラプローブ古京:お客様があらかじめ決まっている半導体の最終工程事業とは異なり、「TeraFaces」はより多くのお客様を対象に展開していく製品ですから、ビジネスの足かせを作らないよう、採用するマイコンアーキテクチャとマイコンベンダーは時間をかけて精査しました。深澤には開発環境や入手性や汎用性を含めてワールドワイドの視点でベンダーのベンチマークをしてもらいましたが、その中でSTの評価がものすごく高かったんですよ。また、実際にお会いしたあとの対応もすごく良くて。

ST石川:2014年5月に開かれた「ESEC(組み込みシステム開発技術展)」の前に、出展を予定されていたテラプローブ様から、当社の評価ボードを使ったデモシステムを展示したいんだけどもいいだろうか、ということでコンタクトをいただいたのが最初ですね。

テラプローブ深澤:はい、当初は「STM32F407」が載ったST製の評価ボードを買ってきてデモシステムを構成していました。

テラプローブ白垣:そのあとも評価ボードを貸し出していただいたり、2014年11月の「ET(組み込み総合技術展)」ではSTさんのブースに「TeraFaces」のカタログを置かせていただいたりと、いろいろと協力していただいてとても心強く感じました。

使用メモリの最適化が実装上の鍵

ARMアーキテクチャやSTのマイコンについては、どういった情報を元に勉強したのですか?

テラプローブ深澤:やはりインターネットですね。とくにARMアーキテクチャの歴史から書かれていた「APS ACADEMY」はずいぶん勉強になりました。

ST菅井:この機会に言っちゃいますけど、「APS ACADEMY」のCortex-M入門編は実は私が書いてるんです。

テラプローブ深澤:そうだったんですか。菅井さんとお会いするのは今日が初めてですが、実際は以前からお世話になっていたわけですね(笑)。そうやってインターネットを探せば使いこなしのいろいろなノウハウを知ることができるのもARMのいいところだと思います。

パソコン上で動作するNECの「NeoFace」をベースに「TeraFaces」を開発されたわけですが、実装ではどのような課題がありましたか?

テラプローブ深澤:技術的な細かいところは申し上げられないんですが、数GHzのプロセッサや数GBのメモリなどの豊富なリソースが使える高性能パソコンとは違って、組み込みの世界では使えるメモリはせいぜい数百KBなので、まずは使用メモリをいかに減らすかを考えました。カメラインタフェースから画像を取り込むだけでもメモリを使いますし、顔認証の処理にもメモリを使うなど、あらゆるルーチンでメモリにアクセスするので、元々の「NeoFace」の認証アルゴリズムは変えずにアクセスを最適化するなどの作業の積み重ねですね。

ST菅井:深澤さんたちのチームは独力でシステムを完成させるほど技術力が高く、正直なところを言うとこれまでSTとしては特別な技術サポートはしていないんです。だからFAEである私は本当はここに座ってちゃいけないぐらいなので、機会があれば是非お手伝いさせてください!(笑)

STM32とともに快適な生活を支える新技術に取り組む

「TeraFaces」は、2014年5月にESECで展示されたのち、7月には評価システムの提供が発表され、11月にはST製マイコンに対応したIPで提供されることもアナウンスされました。市場の反応はいかがでしょうか。

テラプローブ白垣:たいへん多くのお問い合わせを頂戴しています。お客様の話なので詳しくは申し上げられませんが、たとえば従来のIDカード認証を顔認証にするようなセキュリティ手段の置き換えだけではなく、既存の色々な製品やシステムに顔認証機能を追加して付加価値を高めるような、まったく新しい使い方ですね。こうした引き合いと合わせて、2020年の東京オリンピックに向けて「おもてなし」を向上させる手段として、顔を登録したお客様それぞれに個別のサービスを提供するような応用も提案していきたいと考えています。

ST石川:私もテラプローブ様のモジュールは、顔認証技術の応用の可能性を広げる素晴らしい製品だと考えています。STM32ファミリのコンセプトの一つが、お客様のアプリケーションの可能性を広げる高い汎用性と拡張性なのですが、この点もテラプローブ様の製品の方向性に沿っているものと考えます。

そうすると2015年中には「TeraFaces」を組込んだ最終製品やサービスが市場に登場する可能性もあるわけですね。ところで、STに対する要望や期待などはありますか。

テラプローブ深澤:要望としては内蔵RAM容量の拡大ですね。今の品種は最大が256KBですが、384KBから512KBぐらいあれば外付けRAMチップを載せずに済み、基板の小型化が図れます。もう1つは、やはりさらなる性能アップでしょうか。

テラプローブ白垣:性能がアップすれば、カメラの前で立ち止まらなくても歩いているうちに認証が済み、ドアが開いて個人ごとのサービスが受けられる、といった世界が実現できるかもしれません。

ST石川:高性能化という意味では、最新のCortex-M7プロセッサを搭載したSTM32F7シリーズの量産が間もなく始まります。この製品はSTM32F4シリーズの上位互換製品として1000 CoreMarkの性能を実現したのが一番の売りです。Cortex-M7コア自体が高性能なことも有るのですが、STのノウハウとしてFlashアクセラレータである「ART Accelerator」などアーキテクチャに工夫をしてコアの性能を最大限に引き出したのがポイントです。もちろん、STM32F4シリーズに搭載しているCMOSカメラI/FやTFT-LCDコントローラ、グラフィックアクセラレータなどのペリフェラルを継承しています。Cortex-M4とはバイナリ互換ですし、パッケージが同じ品種はSTM32F4シリーズとのピン配置互換を維持していますから、マイコンを載せ替えるだけで性能ニーズに応じたプラットフォーム展開が可能です。いずれ評価ボードが出てきましたら、是非試してみてください。処理性能はSTM32F4シリーズのおよそ1.7倍になると見込んでいます。

テラプローブ深澤:Cortex-M7ベースのSTM32F7シリーズに載せかえるだけで性能が上がるというのはちょっと楽しみです。認証時間が現在の約0.3秒から仮に0.1秒ぐらいに短縮できれば、より自然な使い方ができるようになるでしょうから。

最後に展望をお聞かせください。

テラプローブ古京:「TeraFaces」もそうなんですが、より生活が楽になるようなテクノロジーであったり、日々が過ごしやすくなるようなテクノロジーを目指していきたいと考えていて、生体が発する微弱な信号を使った新しいユーザーインタフェースの研究にも熊本大学と共同で着手しています。われわれはもともと半導体のテストを本業とする会社ですが、今後はそういった新しい事業にも積極的に取り組んでいきます。

ST石川:STM32ファミリは高い性能と豊富なペリフェラルがもたらす汎用性と、製品間の高い互換性を兼ね備えています。「アプリケーションの付加価値創造に貢献する製品」というコンセプトの下で、製品ラインアップと開発環境の拡充を進めています。STとしても、テラプローブ様のモジュールのように、アプリケーションの可能性を切り拓く画期的な製品づくりに貢献するマイコンの開発をこれからも積極的に進めていきますので、是非ご期待いただければと思います。

本日はどうもありがとうございました。