はじめまして、リサーチャーの木村と申します。私は本年4月に新卒としてモルフォに入社しました。
今年の新人研修(OJT)において、私たちのチームは2ヶ月にわたってPanasonic様が提供するVieureka1というエッジデバイスを用いたアプリケーション開発を行いました。私たちのチームは、Vieureka を使った駐車可能位置案内システム ( Camera based Parking Guidance System ) を開発しました。この駐車可能位置案内システムは、Vieureka で撮影した駐車場の画像から車両検出により駐車場の空き状況を分析してWeb 上に簡易駐車場マップを表示し、駐車可能な位置の情報を提供するというものです。
この記事では、このシステムを開発するに至った動機やシステムに使用している技術などについて紹介します。
駐車場での混雑を解消できないか?
車で大型施設に訪れた際に駐車場が混雑して、中々駐車できる場所が見つからないことは誰しもが経験したことがあると思います。このような場合に駐車場を回ってタイミングよく空いている場所を探す必要があり、時間もかかってしまい、環境にも良くないため、本OJTではよりスムーズな駐車を促す事ができないか検討しました。
既存の駐車案内システム
現在でも既にスムーズな駐車を促す取り組みは行われていて、一般的なものにはバリアゲートによる駐車場内の管理があります。しかし、これは駐車場内の車の数は管理できますが、空いている駐車位置までは把握する事ができません。空いている駐車場を把握する方法として、駐車位置ごとにセンサーを配置するという方法も考えられますが、導入コストが高額になってしまいます。そこで私たちのチームは監視カメラで駐車場を撮影して、駐車場の状況を把握することでより導入コストの低い駐車案内システムを構築することを目標に開発に取り組みました。
開発に使用した機材
VieurekaはPanasonic様が提供するエッジAIカメラデバイスです。カメラで撮影した映像をAI技術を用いて解析し、来客の分析や商品棚のモニタリングを行うことで必要な情報を提供することができます。今回のOJTではVieureka(VRK-C301)を用いて駐車場内の車を検出することで、駐車状況を分析します。
また実際の駐車場を利用して開発を行う事は難しかったため、駐車場を模したシートとミニカーを用いてシステム開発と動作テストを行いました。
システム構成
本システムは以上のような構成となっています。事前準備として、設置したVieurekaで撮影した画像から駐車枠の座標とIDの記録し、簡易駐車マップとの対応付けを行います。こちらの作業を簡単に行えるように、駐車枠選択用のGUIを作成しました。設置した場所から撮影した駐車場画像を読み込み、駐車場のIDと任意の四点の座標を選択することで、駐車枠とIDを記録したファイルを生成します。
次にWeb上で表示するための簡易マップの作成を行います。ここでは簡易マップ作成用のサイトを用意して、先ほど記録した駐車場に合うように行と列を追加し、当てはまる場所にIDを入力することで簡単に駐車枠とIDを対応付けたマップファイルを作成可能です。また、駐車場の出入口も指定可能なため、どの向きのマップであるかを分かりやすく表示することも可能です。
最後に先ほど作成したマップファイルを読み込み、リアルタイムでのマップ更新を行います。以下の画面が今回表示する簡易駐車場マップの例です。赤が駐車中のスペース、緑が空いているスペースを示しており、対応するIDの駐車スペースの駐車状況が変化した時に、こちらの画面に反映されるようになっています。
メイン動作ではVieurekaを用いて撮影した駐車場の映像から車両検出を行います。その後、予め記録しておいた駐車枠と検出された車との重なり具合で駐車判定を行い、結果をWeb上に送信することで簡易駐車場マップを更新します。
車両検出の方法として、昨今では深層学習による推論が高い精度を持つこと知られています。しかし、深層学習による推論には重い処理が要求されるため、VieurekaのようなIoT機器で一般的なフレームワークを動作させると処理時間が長くなってしまうのが現状です。そこで、今回はエッジデバイスやモバイル端末での深層学習モデルの推論を可能とする当社製品SoftNeuroⓇを使用しました。これにより、Vieurekaに搭載されたCPU上でも実用的なフレームレートでの深層学習による推論が可能です。車両検出には高速な物体検出を可能とする物体検出モデルとして2018年に提案されたYOLOv3 [1] を採用しました。データセットは駐車場視点に適したデータセットを用意する事が難しかったため、今回は車を含め様々な物体が検出可能な公開データセットCOCOを使用して学習を行いました。以下の画像が今回用いたYOLOv3モデルでの車検出結果です。少し誤検出が生じてしまっていますが、このようにbounding boxで画像中の車を検出することが可能です。
今回は、時間の都合上検出モデルの性能向上を断念しましたが現在はYOLOv3よりも性能が良い物体検出モデルも登場していますので、使用モデルや学習データセットを吟味する事で車両検出の速度、精度ともに改善が可能です。
車両検出を行った後は、検出されたbounding boxの中心がどの駐車枠の内側に含まれているのかを判定することで駐車されているかどうかを判定します。
システムの動作デモ
こちらがシステムのデモ動画になります。駐車状況と合わせてマップが変化していることが分かります。今回は1920×1080のFHD画質で撮影しているため、推論時間を考慮して更新に数秒の間隔を空けていますが、実際の駐車場では秒単位での変化は大きくないため、現在の処理速度でも十分実用的です。処理速度が必要な場合は、検出モデルや入力画像の解像度を変更することでよりリアルタイムなマップ更新が可能です。
まとめ
本OJTでは、Vieurekaを用いた駐車場可能位置案内システムの開発に取り組みました。本システムの課題としては、実際の駐車場を用いた動作テストを行う必要があること、複数のデバイスを連携してより広い駐車場でも駐車状況を把握できる機能を実装すること等が必要です。また、性能向上として検出精度改善のためのモデルや学習データの見直し、追加機能で車体番号や車種の識別機能の実装などが考えられます。
最後に本システムの将来の展望として、現在は運転手に視覚的に空いている駐車位置を提供することが目的ですが、車のデジタル化が進むと自動運転技術との連携にも応用が可能で、マップを車に受け渡すことで運転手が何もせずとも最短で駐車が可能になることも期待できます。
参考文献
- 「Vieureka」および「Vieureka」ロゴはパナソニック株式会社の登録商標です↩