Kinect v2の後継機、AzureKinectはじめました!
弊社製品の一つ、姿勢計測システムShiseiCamではマイクロソフトの製品である「Kinect v2」というセンサーが使用されていました。
ところが2017年にKinect v2の終息が決定。後継センサ探しが始まりました。
数年かけて後継機として選定した「AzureKinect」(2020発売)への移行をまとめつつ、その特長をご紹介できればと思います。
(文 : ShiseiCam 開発担当 O)
■そもそもKinectって?
Kinect (Kinect v2センサー)はMicrosoft社が2014年7月にリリースした製品です。ゲーム機のコントローラーとして開発されました。
Kinectは専用のカメラを設置することで、カメラの前に立った人の動き・姿勢を、非接触でリアルタイムに認識したり、カメラ前の空間の形状をスキャンすることができます。
その汎用性から、ゲーム用に留まらず、PCに接続して使用する形でも普及し、世界中の開発者がKinectの仕組みを利用したアプリケーションを作る事が出来るようになりました。
弊社ではお客様の要望を受け、Kinectの「安価で簡便」な特長を活かした動作計測システムを何件か開発した実績があります。
姿勢計測システムShiseiCamを企業の販促向けにカスタマイズすることもありました。
その後も様々な活用先が考えられただけに、2017年のKinect v2販売終息のニュースは残念なものでした。
■AzureKinectの発売
2020年、ついに後継機種となるAzureKinectが発売されました。弊社はすぐにデバイスを調達し、技術調査を開始しました。
ShiseiCamの後継センサーとして使用するには主に以下の条件がそろう必要がありました。
1. 高精度な深度情報(形状情報)が取得できること
2. リアルタイム骨格推定ができること
3. SDK (ソフトウェア開発用の枠組み)が提供されること
4. 終売のリスクが少なく、安定供給されること
*残念ながら世界的な半導体不足のため、現在供給は不足気味です(2022.02.16時点)
AzureKinect発売までの3年間、複数デバイス・複数の技術を検証していましたが、前述条件の一部が満たされることがあっても、すべてが満たされるものはAzureKinect以外見つけられませんでした。それほど高い技術が低コストで実現された製品であることを改めて認識できました。
■前機種との違い
前機種のKinectv2とAzureKinectの主な違いを以下にまとめます。
目立つところでは「カメラと深度センサの解像度の向上」と、「筐体の小型化」が大きいと思います。
情報引用:
https://docs.microsoft.com/ja-jp/azure/kinect-dk/windows-comparison?WT.mc_id=DT-MVP-4039701#features
カメラの仕様変更に伴い画角も広角化しており、さらには付属ケーブル類がシンプルになったため、より省スペースでの計測、簡易なセッティングが可能になったと言えます。
左がKinect v2(旧カメラ)、右がAzureKinect(新カメラ)です。
また、内部の処理として大きく変わったのは骨格認識に関する仕組みです。
Kinect v2でも骨格検出は可能でしたがAzure Kinectではさらに骨格検出の安定性が向上しています。
検出できる関節の数も25点(左図)から32点(右図)に増加しました。
画像引用:
https://www.buildinsider.net/small/kinect2dp/03
https://docs.microsoft.com/ja-jp/azure/kinect-dk/body-joints
細かい話をすると、Kinect v2では主に深度情報を基に骨格を推定していましたが、Azure Kinectではディープラーニングと深度情報を組み合わせて検出を行うことで、極端な誤認識が減少した印象です。
反面、ディープラーニングの高負荷処理はPCが担うため、NVIDIAのグラフィックボード搭載が必須となるなど、前機種よりもハイエンドなPCが要求されるようになりました。
■調査検証
調査検証をしていてハマった箇所がいくつかありましたのでご紹介します。
・RGBカメラと深度カメラの取り付け角度が6度ずれている
プログラムを組む中でKinectから取得した「映像」と「形状データ」の位置合わせをする処理があるのですが、何度やっても位置が合わず途方に暮れていたところ、なんと両センサの取り付け角度を6度ずらしてあることが公式資料からわかりました。
画像引用: https://docs.microsoft.com/ja-jp/azure/Kinect-dk/coordinate-systems
この仕様を踏まえて処理をした結果ようやく位置合わせに成功しました。
これからAzureKinectの開発を行われる方はご留意ください。
・BodyIndexが変わっている
内部事情は不明ですが、明らかにBodyIndexと呼ばれる人のシルエッㇳ検出機能に変化があります。(左がKinect v2、 右がAzureKinect、同一人物のシルエットです)
私を含む以前からのKinectユーザーの中には、この変化に戸惑う声も多く、BodyIndex前提のシステムを構築する場合には注意が必要です。
※BodyIndex(シルエット)が欠けていても、「骨格推定」の処理とは分離されているので、ShiseiCamの骨格推定の精度に影響はありません。
■自社システム ShiseiCamへの対応・リリース
前述のような発見に対応しつつ、AzureKinectによる姿勢データを撮り貯め、2021年の10月に姿勢計測システムShiseiCamのAzureKinect対応を完了しました。
より省スペースでの計測、安定した骨格検出を実現しており、近日中に新機能となる「比較機能」のリリースも予定しております。ご期待ください。
■AzureKinectへの対応を終えて
高いコストパフォーマンスを持ちながらも、国内ではまだ活用事例の少ないAzureKinectです。この記事をお読みの皆様もAzureKinectの活用に興味がございましたら、ぜひ弊社までお声がけ頂ければと思います。
■この記事で紹介した製品
姿勢計測システム ShiseiCam
https://www.kicnet.co.jp/solutions/biosignal/humans/posture/shiseicam/
※ 製品・ブログ等に関するお問い合わせは、上記リンクページ下部の「お問い合わせ」よりご連絡ください。
この記事が気に入ったらサポートをしてみませんか?