エッジAIとは?
ディー・クルーでは、エッジAI(IoT環境で動く人工知能)の研究を行っています。
IoTデバイスでは通信負荷が高まるとデータ転送に遅延が生じるなど、問題が起き始めます。
そこで、クラウド側に過度に依存せず、ローカル環境=エッジ側でセンシングー演算ーAI認識まで完結させて、レスポンス性能と通信負荷の低減を両立した環境にやさしいシステムを実現する。
これをめざしてディークルーで現在研究しているのが、AI開発「エッジAI」です。
すなわち、AIを組み込んだIoTデバイスやEDGEデバイスに AI オンチップ アクセラレータを組込むという構想です。
この構想のもと、私は電力負荷の高いGPU を使用せずに低電力 MCU で動作する軽量の AI システムを作りたいと思っていまして、今研究を進めています。
駐車場の空き監視AIを作ってみたきっかけ
今日は、そのなかでも、映像認識のエッジAI研究プロジェクトの1つ「駐車場監視AI」をご紹介します。
映像認識AIは例えば、今映像で映っているオブジェクト(対象物)が、人なら人、コップならコップといった具合に、「どこに、それがあるのか(ないのか)」を人工知能(AI)にリアルタイムに検出させる技術を用いて課題を解決する技術です。
当社はIoTシステムの開発案件を多く手掛けており、駐車場に関したシステムも開発していました。駐車場に止める「車」はAIモデルが認識しやすいオブジェクト(対象物)であります。
そこで、駐車場に設置したカメラから、駐車スペースの空きが分かる便利になると思い付き、AIによる駐車場空き監視システムを作ってみたので、少しご紹介したいと思います。
今回のAIモデルの概要
このプロジェクトのAIモデルについての概要を示します。
- 図1 入力イメージからのオブジェクト検出にFCNN(完全な畳み込みネットワーク)を用います。
- AIモデルは、図2 出力マスクを生成し、オブジェクトのおおよその位置を示します。
- AIモデルは、この出力マスクを使いオブジェクトの位置を特定、数えることができます。
- AI モデルは、Python向けの機械学習ライブラリである、Pytorch フレームワークを使用します。
- AI モデルは、Raspberry PI 4 上で 4 ~ 8 Hz のフレーム レートで実行されます。
- 学習用のデータセットソースは 、 Parking Lot Dataset | Kaggle を使用しています。
AIモデルの動作について
作成したAIモデルの動作についてはYoutubeの動画にしましたので、ぜひご覧いただければと思います。
次に、この映像で何が起きているかということをご説明します。
- AIモデルが、映像上で「車」と認識している位置に、白い四角を打っています。
- 動画の上部(UPPER)駐車スペースと、下部(LOWER)駐車スペースの「Parked」(満)と「FREE」(空)数で、AIが認識した数を数えて、それぞれの値を変えています。
- AIが認識した駐車した車の数に合わせて、白い四角の数も変わり、これらの数字も刻々と変わっていくことがお分かりいただけるかと思います。
なお、映像がカクカクしているなとお感じかもしれません。これは、IoTならではの軽量システムでのパフォーマンスを維持するために、意図的にフレームレートを落としているからです。システム環境によっては、フレームレートを高め、AIモデルをそこに最適化することもできます。
次回は、このAIモデル作成時の課題や工夫したポイントなどについてお伝えしようと思います。