Kinectを用いたプログラミングのメモとして...
コントローラーを使わずにジェスチャーなどで操作を可能にする周辺機器。
主な機能として、画像・深度の取得、関節・音の検知がある。
Kinectは以前生産終了となったが、Azure Kinect DK として復活した。
- 主な画像情報
- 深度画像
画素ごとに奥行き方向の距離情報を持つ画像データ。
物体までの距離や物体の形状を知ることが可能。
- 人物の形状データ
深度画像から人物領域のみを抽出して作成した画像データ。
このデータを使う事でカメラ画像から 人物領域のみを切り出すことも可能。
- 骨格情報
人物領域の情報をもとに計算された関節の位置情報。
頭・手・肩・胴・脚などの関節について、画像上の座標値(x,y)と、空間中の座標値(X,Y,Z)の両方を得ることが可能。
- ドライバと開発環境
https://www.microsoft.com/en-gb/download/details.aspx?id=44561
OpenNI
PrimeSense社などが開発していたAPI群。
Appleに買収されオフィシャルサイトに行ってもappleのサイトにリダイレクト、GitHubには残っていた。
通常はユーザ、骨格、ジェスチャなどを検出するミドルウェアNiTEと併用する。
画像処理ライブラリのOpenCVと連携が可能なため自分の研究ではOpenNIを使用している。
libfreenect
OpenKinectというプロジェクトで開発されているドライバ
言語はC, C++
スケルトントラッキングなどの解析機能は持たないが、各センサの生データをシンプルかつ高速に取得できるといった特徴があるっぽい。
<参考文献>
- KINECT センサープログラミング 中村 薫<著> 株式会社ゲッシュ
- Kinectプログラミングの道しるべ 橋本 直 独立行政法人科学技術振興機構/工学ナビ http://www-ui.is.s.u-tokyo.ac.jp/~hiraoka/media2011/pdf/Kinect_111118.pdf
- キネクトとは http://carnation.is.konan-u.ac.jp/PREZEMI/prezemi-3round/1%E3%82%AD%E3%83%8D%E3%82%AF%E3%83%88%E3%81%A8%E3%81%AF.pdf
- Azure Kinect DK – AI モデルの開発 | Microsoft Azure https://azure.microsoft.com/ja-jp/services/kinect-dk/
- OpenNI Archives – Summary?Blog http://unanancyowen.com/openni-archives/
- 【はじめての3Dセンサー】OpenNIのインストール https://qiita.com/yagizo/items/e32daa243c91e112c0ba