一瞬で捉える人の動き ミリ波レーダーとAIの融合が実現する次世代人物検知 ~ミリ波レーダーセンサーを用いた人物検知AIモデル TERAの開発~

本記事では、先端技術を活用したミリ波レーダーという実世界の物理的なシステムと、AI処理による人物検知といったデジタル技術を融合させた統合システムの開発についてご紹介します。さらに、このようなシステムが、どういった社会課題の解決に役立つかまでを考察します。
【講演者】
【目次】
何を作ろうとしているのか
私たちが作ろうとしているのは、特定の環境においてミリ波レーダーセンサーを使用し、人物検知をするAIモデルです。ミリ波レーダーセンサーのデータを使って、人がいる確率やいない確率を導き出すAIモデルになります。ただ、特定の環境という条件を付けているように、どこでも動作する汎用的なものを目指しているわけではありません。
そもそもレーダーとは、直進性が強い周波数帯を用いた電波の反射波を利用して、速度や距離、移動方向を検出する装置のことを指します。身近な例としては、警察が使う速度取締装置や気象レーダー、自動車の衝突防止システムなどが挙げられます。
電波は周波数帯によって区分され、周波数が低ければ波長は長く、高ければ短くなります。また、低い周波数は電波の直進性が弱く、高い周波数は直進性が強くなります。今回使用するミリ波帯は周波数がとても高く、波長が1cmから1mmと非常に短いために直進性が非常に強いことから、レーダーに向いています。
ミリ波レーダーは波長が非常に短いため、人間の呼吸や心拍などとても微細な動きも捉えることができます。また、光学カメラや赤外線カメラとは違って、ある程度死角を捉えることもでき、環境変化にも強くて暗闇でも動作します。このような特徴を持つことから、ルールベースのアプローチよりも検知精度を向上させたいため、検知にAIを使います。
ミリ波レーダーで人の動きを捉える
今回使用するミリ波レーダーは、周波数を変化させて物体の特徴を捉える方式の周波数変調連続波レーダー(FMCW:Frequency Modulated Continuous Wave Radar)です。送信波と、物体に反射して戻ってくる受信波との周波数の差から距離を測定します。人の呼吸や心拍などによる体の表面のわずかな動きや、ドップラー効果による周波数のわずかな変化も検出可能です。今回の開発では、物体の距離測定による信号強度と位相情報の変化を使って、人物の特徴を学習して検知しています。
FMCWレーダーは、3本の送信アンテナから送信したレーダーを4本の受信アンテナで受信するため、合計12チャンネルのデータが取得できます。このように、複数の送信アンテナと受信アンテナを用いることを、MIMO(Multi Input Multi Output)と呼びます。周波数帯は79GHz帯、波長は約3.8mmと非常に短く、距離分解能は約13cmになります。
このレーダーモジュールからは約3.84msecという短い時間に、それぞれの送信アンテナから周波数を可変させながら64回のデータ送信が行われます。この信号はチャープと呼ばれ、約3.84msecの間に64チャープの信号を3本の送信アンテナから送信し、4本の受信アンテナで受信します。一旦64チャープを送信した後は約70msec休止して、また64チャープを送信します。このように、12チャンネル64チャープ分のデータを1フレームと呼び、フレームの間隔が約70msecなので、1秒間で約13フレームのデータが取得可能です。
実際には、レーダーセンサーのデータから人物の特徴を学習させることは、結構難しいと思われます。実環境で取得されるデータには、人以外からの反射波など多くのノイズが含まれており、そのなかから、人物の特徴をどれだけ正確に学習できるかが鍵になります。
レーダーモジュールの詳細は以下よりご覧ください。
エスタカヤ電子工業社製 76/79GHz Radar Module
URL:https://www.macnica.co.jp/business/semiconductor/macnica_products/boards/145637/
取得したデータはRange FFTと呼ばれる高速フーリエ変換を使って、AIモデルで使用する元データとします。Range FFTデータからは、さまざまな距離ポイントにおける反射強度と位相情報が得られます。この反射強度と位相情報から特徴を学習して、人物を検知するAIモデルを作ります。チャープ信号が人に反射した時と、人以外の物体に反射した時では強度や位相情報に違いがあるので、それをAIに学習させます。
AIモデル学習に用いるRange FFT処理後のデータフォーマットが、次のスライドです。レーダーセンサーは2つ使用し、センサー0は距離ポイントを92、センサー1は距離ポイントを46に設定してデータを取得しています。この距離ポイントのデータは複素数で表示され、実部および虚部のデータから信号強度と位相情報を計算して求めます。
1フレーム分のデータ量は、センサー0が「64チャープ×92ディスタンスポイント×12チャンネル」、センサー1が「64チャープ×46ディスタンスポイント×12チャンネル」になります。さらに、それぞれに実部と虚部があるため、センサー0で14万1312、センサー1で7万656のデータポイントあり、これらのデータから人間の特徴を学習させようとしています。
実際には、レーダーセンサーのデータから人物の特徴を学習させることは、結構難しいと思われます。実環境で取得されるデータには、人以外からの反射波など多くのノイズが含まれており、そのなかから、人物の特徴をどれだけ正確に学習できるかが鍵になります。
開発を進めているAIモデルTERA
今回使用するデータは量が非常に多く、時間とともに変化する時系列データであることから、生成AIでも使われているディープラーニングのTransformerモデルを採用した、「TERA(Transformer Encoder model for RAdar sensor)」という手法を適用します。TERAの大まかなパイプラインは、元データから新たな特徴量を計算して追加し、最終的にヒューマンかノンヒューマンかを判定します。
TERAでは、まず元データのチャープ、チャンネル、距離ポイントにおける実部と虚部の複素数データから振幅と位相を算出します。その後、算出した振幅や位相の差分を計算し、「振幅」「位相」「振幅差分」「位相差分」の4つを新たな特徴量データとして追加します。
特徴量を追加したデータはノーマライズを行い正規分布に近づけることで、ディープラーニング学習の安定化と高速化、汎化性能の向上などが見込まれます。次のスライドは、左の表が元データの最小値、最大値、平均値、標準偏差、歪度、尖度をまとめたもので、右の表がノーマライズ後の統計量です。これらの表から、ノーマライズ後の統計量は全特徴量を通してほぼ同じスケールに収まり、歪度や尖度が改善されていることが分かります。
ノーマライズは、各々の特徴量に応じてその手法を選択しています。左のグラフは実部のデータの1フレームで、尖度の大きなデータになっています。このデータは、Quantile Transformerという手法でノーマライズし、尖度、歪度ともに良好な値に補正して正規分布に近づけました。
次のスライドは虚部と振幅のデータで、これらは虚部をQuantile Transformer、振幅をYeo-Johnson変換でノーマライズしました。
位相はマイナスπからプラスπまでどれかの値を取りますが、適度にばらついているため、πで除算してスケール変換だけ行っています。振幅差分についてはオリジナルデータでもほぼ正規分布に近いため、スケール変換のみを行って標準正規分布に近づけました。
位相差分についても、オリジナルデータがもともと正規分布に近い分布になっているために、標準正規分布に近づける処理のみとしました。
ここで、特徴量の追加とノーマライズをしたデータを、TERAのモデルパイプラインで学習させます。まず、入力データの次元を変換して正規化し、時系列情報を与えて1チャープあたり512次元のエンベディングを生成します。このエンベディングを、4段階に設定したTransformerエンコードブロックの入力とします。Transformerエンコード処理の後、さらにセルフアテンション処理を行います。
次に64チャープの平均を取り、512次元のエンベディングを1つ生成します。最後にソフトマックス関数によって2値分類することで、人がいる確率といない確率を出力します。このパイプラインでは、センサー0用、センサー1用、両方使えるセンサー01用の3種類のモデルを作ります。
Transformerモデルで最も重要なセルフアテンションとは、時系列の個々の情報の関連性を学習するテクニックです。今回は時系列のチャープ番号、人物検知をするためのチャープ間のすべての関連性をセルフアテンション処理によって学習し、人物を示す特徴を抽出します。この特徴量を未知のデータに当てはめることで、人物がいる時といない時の特徴を判断させるわけです。
TERAでは、AIのトレーニングに使用するデータと異なる条件で採取したデータで推論を行った時に、高い精度が得られるパラメータを見つけることが求められます。そのためには、手元にあるデータをどのように分割してトレーニングさせるかが重要な要素になります。
そのため、テストデータはトレーニングデータと条件や状況の異なるものを選択することが重要で、分類の仕方によってモデルの汎化性能を確認します。今回手元にあるデータは、合計約67万8000フレームで、いくつかの分割パターンで実験しています。そのうちの1パターンでは、約52.2%をトレーニングデータとし約42%のデータでテストしました。
学習モデルのパラメータ数やサイズ、ハイパーパラメータの設定は、数々の実験を重ねて次のスライドのようにしました。また今回は、エッジデバイスで動作させる必要があるため、あまり大きなモデルにならないようにパラメータ数はセンサー0が約1700万、センサー1が約1500万としました。
今回はオプティマイザにAdamWを使用してエポックは20に設定し、バリデーションロスが一番低いエポックのモデルをベストモデルとして採用できるようにプログラムを組んでいます。学習率は最大値を5のマイナス5乗に設定し、徐々に上げて徐々に下げていくWarmUp Decay Scheduleとしています。
バリデーションロスの変化や精度の変化はモデルの性能を知る手がかりになるため、トレーニング中は特にトレーニング指標とシステムリソースの使用状況を監視しています。システムリソースに問題ないかどうかは、スムーズな実験を継続するために重要な要素になります。
次のスライドが、分割パターン1で学習したモデルによる、テストデータの分類精度になります。センサー0と1の両方のデータを1つのモデルで処理できるように学習したモデルで、誤検知が非常に少なく、99%以上の精度が確認できました。
ただし、レーダーセンサーのデータは取得条件によってバリエーションがさまざまであると想定され、あらゆる未知のデータに対して期待する性能が出るとは限りません。そのため、学習済みモデルを実環境にデプロイして実験を繰り返し確認していく作業が重要で、そのなかでモデルが人の特徴をきちんと学習できているかどうかが明らかになってくると考えています。現在は、実験室で学習済みのモデルが出来上がった段階で、今後はリアルな環境で実力を確認していくことになります。
CSPソリューションへの期待
TERAのようなAIモデルは「CPS(Cyber Physical System)」と呼ばれ、今回のレーダーセンサーモジュールのように実世界の物理的なシステムと、レーダーセンサーのデータ化及びデータのAI処理による人物検知といった、デジタル技術を融合させた統合システムになっています。このように、CPSはセンサーやIoTデバイスを通じてデータを収集し、クラウドやAIで分析処理することで、さまざまな分野で効率化や最適化を実現します。これによって、生産性向上やコスト削減、安全性向上などの価値を創出し、スマートファクトリーやスマートシティの実現に貢献すると思われます。
TERAをCPSソリーションとして具現化するには、次のスライドのようにAIモデルをエッジコンピューターに組み込み、人物検知を知らせたり通知するシステムを構築する必要があります。このようなシステムにより、プライバシーを保護しつつ人物検知が必要なシチュエーションにおいて、生産性や安全性の向上が期待されます。
TERAは特定用途向けAIモデルですが、ミリ波レーダーセンサーを使った人物検知の一歩先の社会課題への応用例を考察します。
ミリ波レーダーセンサーは人間の目には見えない電波を扱うので、光学カメラや赤外線カメラなどとは違って個人のプライバシーが保護されます。また、環境の影響を受けにくく、さまざまな条件下で安定して動作します。対象となる素材にもよりますが、透過性もあり高精度な動きの検知も可能で、人に接触することなく観測測定できます。さらに、原理的には複数の対象を同時に検知したり、存在検知、速度検知、呼吸検知など多様なデータを1つのセンサーで取得できます。
例えば、プライバシー保護という特徴を生かした「高齢者見守りシステム」や環境の影響を受けにくいという特徴を生かした「スマート交通システム」、透過性やある程度の死角をカバーできるという特徴を生かした「セキュリティシステム」、プライバシー侵害のない人物の位置検知による「スマートホーム制御システム」、人物と機械の位置検知による「工場安全管理システム」など、考えればいろいろなアイデアが出てくるでしょう。ミリ波レーダーによる人物検知というアプローチは、このようなさまざまなCPSシステムへの応用が期待できる領域だと思います。