ディー・クルー・テクノロジーズ Blog

bookmark_borderAIモデルを開発する(AI×IoTトイレ見守り⑥)

AIと低コストのTOFセンサーの組み合わせが、人の検出や転倒検知などに利用できる可能性をPoC(Proof of Concept)の結果が証明しました。さて、次のステップは何でしょうか?それは、システムをPoCから実用製品へと発展させることです。

POC から製品化へ

このフェーズでは、主に「簡略化によるシステムコスト削減」と「インフラ」の2つの領域に焦点を当てていきます。

簡略化によるシステムコスト削減

デバイス上での処理

注目したいのは、デバイス上での処理です。実は、AIモデルは32ビットのM4 Cortex MCU上で直接処理することが可能。これにより、コストを抑えつつも性能を高めることができます。 具体的には、STM32ビットM4 Cortex上のAIモデルは約41KBのFlashと約12KBのRAMを使用しています。AIモデルは量子化されており、float32モデルからint8ベースに変換されています。このおかげでAIモデルのサイズが削減されるため、32ビットMCU上での高速処理が実現できるのです。 またAIモデルの推論時間は約4msですが、センサーデータの読み取り、前処理、後処理をすべて含めると、1フレームのToFデータ処理にかかる時間は10~15ms。ToFセンサーのフレームレートが8Hzであることから、最も長くて1秒あたり120msの処理時間になります。処理時間の約88%の時間をMCUはアイドル状態になるため、その間、理論上は低消費電力モードやスリープモードに移行可能です。

インフラ

一方で、システムの中でもっとも課題となるのが「インフラ」です。これには次のような要素が含まれます:

  1. 接続性(Connectivity)
    • システム統合に不可欠なBluetooth、UART、WiFiなど。
  2. 筐体
    • センサー保護(防水、防塵 など)
  3. 電源(Power)
    • バッテリー駆動または有線電源の選択肢。

システムの改善に向けて

現状のシステムは低コストのTOFセンサーを使用していますが、コストを最小限に抑えながら性能の向上や機能の拡張を目指す必要があります。特に、家具や設備が固定されている環境では、無人時に取得したキャリブレーションデータをAIモデルが活用できます。しかし、患者の移動式ベッドが動いた場合や、大型の物体がセンサー範囲に入って来る場合など、シナリオによっては想定外の事態が生じることがあります。

このような状況への対策として、以下のような解決策が考えられます。

  1. 低コストの高解像度ToFセンサーを使用する
  2. 複数のセンサーを使用し、データ融合を行う

低コストの高解像度ToFセンサーを使用する

2025年末には、解像度52×42の新しいセンサーが登場予定。このセンサーはスマートフォン向けに開発されるため、低価格での提供が期待できます。これにより、キャリブレーションデータなしでも体の部位を検出できる可能性が広がります。

上の画像は、60×45の高解像度ToFセンサーからダウンサンプリングした画像の一部を示しています。人物は 立位、膝立ち、座位、または倒れた状態 になっています。プライバシーの観点から見ると、顔は判別できず、また体の画像も十分な詳細がないため、プライバシー上の問題は生じにくいと考えられます。

複数のセンサーを用いたデータ融合を行う

サーマルセンサーには検出範囲の制限があり、またToFセンサーよりもコストが高く(3~5倍)別の課題があります。しかし、低解像度のサーマルイメージセンサーと低解像度のTOFセンサーを組み合わせることで、物体の温度情報を活用し、人間と非人間の物体を区別できるようになるかもしれません。これにより、システム全体の精度の向上が期待されます。

さらなるユースケースの探求

顧客が関心を持つユースケースはさまざまです。例えば、

  1. 患者ベッドモニタリング
  2. 温泉
患者ベッドモニタリング
温泉

これらのユースケースは、転倒検知や危険な姿勢の早期発見に焦点を当てています。たとえば、ベッドからの転落や温泉での居眠りなど、安全面を考慮したシステムが求められています。 高解像度センサーやハイブリッドソリューションを活用することで、プライバシーを保護しつつ、より高度な検出システムを構築できる可能性があります。これにより、AIとIoT技術が目指す未来の実現に近づくことができるのです。

bookmark_borderフリップフロップ(FF)①

今回から何回かに分けて、フリップフロップ(FF)について紹介していきたいと思います。以前のブログに“メタステーブル”と書きましたが、この単語もフリップフロップの紹介の中で説明できたらと思います。

FFというとデジタル回路という感覚をお持ちの方も多いと思いますが、その中では非常に高度なアナログ的な動作が行われています。FFは信号の”1”,”0″を記憶することができるので、カウンターやシーケンス回路などあらゆるデジタル回路に使われています。

FFの基本はラッチ(latch)回路です。単語の意味は“掛け金”で、一度カチッとさしたら抜けなくなる仕組みのことです。これを電気回路では”正帰還“をかけて実現しています。

図1

一番簡単なラッチはOR回路の出力を入力に戻して正帰還をかける回路(図 1)です。ORなので一旦出力が”1“に成ってしまうとそのまま元にはもどらず、この状態のままとなります。実際に回路ではこのままでは使えないので元に戻すリセット回路(図 2の左)を追加します。

図2

AND回路やOR回路で構成した回路と同じ動作をNAND回路で構成して、トランジスタ数を少なくした回路が図 2の右です。動作は図 3の様になります。この回路はSetとResetの動作をするのでSRラッチと呼んでいます。

図3

このSRラッチを応用して入力したデータを保持する様にしたDラッチという回路(図 4)があります。

図4

この回路はSTB(ストローブ)信号が“1”の時間は、入力DINがそのまま出力OUTに現れて、STBを“0”にするとその状態を保持する回路です。しかし、STB=”1“のときは入力信号が変化すると出力も変化してしまい、いろいろと問題が発生します(したのだと思います)。

そこで出てきたのが、D-FF回路(図 5)です(やっと本題にたどり着きました)。

図5

この回路はトランスファーゲートを使ったラッチ回路を2段直列につないだ構成になっていて、前段をマスターラッチ、後段をスレーブラッチと呼びます。この回路はクロックのエッジのみ動作し、一旦ラッチがかかると図 4のDラッチ回路みたいに入力が変化しても出力は変化しません。したがって、クロックのエッジの瞬間の入力状態を保持することができます(図 6)。これにSET,RESET機能をつけたものが最も多く使われているのではないでしょうか。

図6

次回はこのD-FFの動作についてもうちょっと詳しく紹介したいと思います。

bookmark_borderAIモデルを開発する(AI×IoT トイレ見守り⑤)

こんにちは!今日はAIモデル開発のデータ収集についてお話しします。

前回の記事はこちら

AIモデルの学習と評価には、どれだけのデータが集まるかが非常に重要です。成功するプロジェクトには、質の高い、大量かつ多様なデータが必要不可欠です。実際データはAIモデルそのものよりも重要だと言えます。

データ収集とアノテーションの重要性

データ収集やアノテーション(データラベリング)は、多くのリソースを必要とする手間のかかる作業です。そのため、効率的にデータ収集やアノテーションを行うために、使いやすいアプリケーションを活用したり、自動化、半自動化のプロセスを取り入れることが重要です。

データ収集とは?

2024年のTOFセンサー PoCでは、2つのTOFセンサーを使ってデータを収集しました。6週間のプロジェクト期間中に、実質的には2週間分の測距データが収集されたのです。実際のトイレを長期間利用するのは難しかったため、工場内の一室を借りて、実際のトイレのレイアウトに合わせた測距データ収集用のトイレを設置しました。

データ収集においては、多様性が鍵となる要素です。具体的には以下のような点に配慮しました:

部屋のレイアウトやTOFセンサーの設置位置のバリエーション

数種類の台を使ってTOFセンサーの距離を変えたり、トイレの設備のバリエーション(便座の位置、タンクの有無など)を変えたりしてバリエーションを収集しました。

トイレのバリエーション

便座閉じる、便座上げ、タンクありなど

さらに、様々な人の姿勢や位置を含む測距データの多様性(体格や身長の違い、立っている・歩いている状態、異なる服装による影響など)を担保すべく、人との姿勢や人数のバリエーションを収集しました。

人間の測距データバリエーション

  • 異なる体格や身長の人
  • 154cm->181cm
  • さまざまな姿勢や位置で立つ/歩く人
  • 異なる形や位置での転倒
  • 複数人の存在(2人いる時)
  • 異なる服装の人(赤外線反射と吸収)

人間以外の測距データバリエーション

  • 靴、ブロック、バッグ等が床に置かれた状態

アノテーションについて

データ収集とアノテーションは時間と人手を要する作業です。そこで、時間短縮を目指し、データ収集プロセスを設計しました。データの収集と解析を同時に実施できるように工夫しています。

アノテーションの入力方法

Bluetooth キーバッド

Bluetoothキーパッドを利用して、データ収集アプリケーションをリアルタイムで制御しました。これにより、ほとんどのデータ収集作業を一人で行うことが可能になり、2人分のデータ収集でも2人だけで対応できるようになりました。

データラベル設定

データラベルには以下の情報が含まれます。 

  1. 人数 
  2. 人の状態(転倒または正常) 
  3. 人が存在するエリア(ゾーン)
人数と人の状態
  上から見てA~Fの6つのエリア(ゾーン)が設定されています。

AIモデル評価とは?

学習用データと評価用データを分ける

データは2つの部分に分けられます。1つは学習用、もう1つは評価用です。

データは学習用と評価用に分けられます。学習用データセットは評価データとは独立させる必要があります。この独立性により、さまざまな環境でもAIが正確に状態を認識できるかをテストできます。

AIモデル評価

今回作成したAIモデルは、評価データに対して良好な性能を示しましたが、100%の精度には達していません。

これは、転倒と立っている状態の間に明確な境界がない場合があるためです。また、このセンサーの課題として、人と大きな物体を区別できない点もあります。

PoC評価の実施

AIモデルも完成したので、実際の現場での対応能力をテストしました。実験の様子を撮影した動画もあるので、ぜひご覧ください。

実験のため、動画で私がいろいろな動きを試しています。また2人でトイレに入った想定で、AIモデル評価の実験した時の様子がわかる動画もアップしています。

1人で計測した時の動画
2人で計測した時の動画

アプリでは、無人の場合は青、正常な状態は緑、異常な状態は赤で表示しました。

トイレでの人の動きに連動してアプリ画面の色が変わります。無人、1人立っている、2人立っている、などの状態をAIがそれぞれしっかりと検出しました。

さらに、2人で居るときには、うち1人が立っていて1人が転倒している場合は黄色(注意)で示しました。これは、もし看護師と患者が2人同時に居る場合、看護師がサポートできるので即レッド(危険)ではない状態もあると考えたためです。実際のケースではAIだけの判断ではなく、看護師の携帯電話に電話するなど別のサポート手段を取る方法も考えられます。

AIモデル評価では2つの問題を指摘しましたが、実際のPoCにおけるAIの判定結果は有望でした。私の作ったAIモデルはトイレ部屋のレイアウト(建具の配置など)の違いにも対応できていました。
つまり、PoCは成功です!

いかがでしたか? さあ、次回のブログでは以下の内容について議論します。

  1. システムの改善点
  2. システムのIoT MCUへの移植
  3. その他…

このPoCを実用的な商用製品へと発展させることを目指します。お楽しみに。