2021年10月21日
Vieurekaサンプルを組み合わせた姿勢推定アプリケーションの複数人対応
パナソニック システムデザイン株式会社の田頭です。
弊社はVieurekaチームと共にVieureka PF拡充を進めております。
Vieurekaカメラでは、ファームウェアVer.0.86以降、TensorFlow Liteを使ったDeep Learning推論を実行することが可能になりました。また、ソフトウェア開発キット(AdamAppSDK)にも、TensorFlow Liteを使ったDeepLearning系サンプルアプリケーションが追加されています。
その中でも、今回は姿勢推定モデルを使用したサンプルアプリケーションの概要と、推論モデルの組み合わせによる機能改善の取り組みについてご紹介します。
姿勢推定サンプルアプリケーションは、カメラに写っている人物の姿勢を推定します。
推定に用いられているモデルはTensorFlowLiteのPoseNetモデルです。このモデルにより、カメラ画像内の人物の姿勢を推定することが可能となります。モデルに前処理済みの人物画像を入力すると、顔のパーツや肩、手首足首など、身体上の17点のキーポイントの推定座標を出力できます。
サンプルアプリケーションは、取得した身体の各キーポイント座標をメタデータとして任意のサーバに送信する機能を備えています。また、ブラウザ側で表示をする際に、それらのキーポイントの座標を直線でつなげて骨格を描画することで、姿勢推定結果を視覚的に確認することができるようになります。
しかし、上記のTensorFlow Liteの姿勢推定モデルには、「同時に推定できるのは一人のみ」という制約があるため、モデルに複数人が写ったカメラ画像を入力すると、このように、崩れた姿勢推定結果が出力されてしまいます。
そこで、他の推論モデルを組み合わせることにより、同時に複数人の姿勢推定を試みました。
AdamAppSDKには他にもDeepLearning系サンプルアプリケーションが提供されています。このうちオブジェクト検出サンプルアプリケーションは、カメラ画像中のオブジェクトを複数検出できます。
人物(person)が複数、同時に検出されているのが分かります。
今回は、このオブジェクト検出モデルを組み合わせることで、複数人の姿勢推定を実現していきます。
まず、カメラ画像をオブジェクト検出モデルの推論にかけ、検出されたオブジェクトのうち「person」として検出された枠を矩形画像として切り出します。この処理により、一名ずつの矩形画像を人数分取得することができます。
次に、上記で切り出した矩形画像それぞれに対して、姿勢推定モデルの推論を行います。
こうすることで、姿勢推定モデルの「同時に推定できるのは一人のみ」という制約に、縛られることなく推論が可能となり、Vieureka上で、同時に複数人の姿勢推定が実現可能となります。
今回の試みでは2つの推論モデルを組み合わせましたが、3人同時推定の場合、VGA (640×480)のカメラ画像で1fps程度の処理速度での動作を確認しています。
このように、AdamAppSDK を使う事で、TensorFlowLiteのモデルの組み合わせを簡単に実現することができます
VieurekaPFを用いた開発では、エッジ側で推論処理を完結させてメタデータのみを送信し、描画はブラウザに任せる、といった分散化処理を自然とデザインすることが可能です。ファームウェアのアップデートによってライブラリの種類も着実に増えてきており、幅広い業界や業種の方々にVieurekaを導入いただける環境が整っております。
弊社は、今後もVieurekaチームとの協業を継続させていただくと共に、Vieurekaパートナーとして、リアル空間をデジタル化するためにVieurekaを活用し、自社商材・サービスとの連携を図り、新たな価値創造に挑戦していきます。そして、VieurekaPFと共に成長してまいります。
パナソニック システムデザイン株式会社
https://panasonic.co.jp/cns/psd/
ソリューション
ご専門分野: システム開発、サービス開発
問い合わせ先:
〒222-0033 神奈川県横浜市港北区新横浜3丁目1番9号 アリーナタワー
TEL:(045)471-9160
(Webサイトの問い合わせフォームをご利用ください)
担当:Vieureka推進窓口