見出し画像

Intel RealSense

Depth (深度)マップを取得できるセンサーとしては、Microsoft Kinect に次いで有名なセンサーかと思う。
Microsoft Kinect(V1/V2)が、2017年8月に生産終了を発表し、人体検知等で使いやすいセンサーがなくなるということで、個人的(あるいは業界的)にはかなり衝撃的な出来事だった。

次に、どのセンサーに移っておこうかと探していたところ、見つけたセンサーがRealSenseでした。
今回はこのRealSenseシリーズのT265というセンサーについて。

左:RealSense D435 右:RealSense T265

前段でDepthが取得できるセンサーと述べましたが、それはD435やD415、旧バージョンのR200などがそれに当たり、T265はDepthマップが取れるというわけではない。(カメラが左右2つ付いており、視差比較すれば計測できないわけではないので実際とれなくはない。SDKがサポートしてないという意味で…)

T265の機能として大きいのは、いわゆるSLAM(スラム)の機能を内包しているもので、カメラ・加速度・ジャイロセンサーの入力を元にセンサー本体の位置情報を計測できることにある。

これは、

このようなカタチに(雑に)T265を貼り付け、

このようにMacを持ち上げて動かしたときの画面キャプチャー動画。

T265 Poseのウィンドウに注目してみると、左が最初の状態。カメラ動画が動くとともにT265の座標を示す3軸が動き始め、最後矢印がもとに戻ることが確認できる。
これはいわゆるアンカー(錨の意)や、外部センサーを用意すること無く、ある程度の精度で絶対値を取得することが出来るということです。

内部的にはカメラ情報から特徴点を検出し、その点がどのように動いたかによってカメラの位置を計算しているわけですが、T265の素晴らしい点はこの重そうな画像処理計算がセンサー内部で行われ、接続PC側には計算負荷をかけないこと。
Raspberry PIなどの低スペック基板に接続して座標データだけもらうことも可能です。(これは過去試したので、また別の機会にでも…)
T265の利用例として、ロボットの目としての役割が多いように思いますが、本来3DoFのOculusGoにT265を接続し、無理やり6DoFに改造してしまうことをしている方も。すごい。
https://twitter.com/gravitino/status/1118744660036296704

D435とT265を組み合わせて3Dスキャンを行うといった使い方も。

最後に、アップした動画のrealsense-viewer動作までの手順をまとめます。
(Windowsであれば Intel Realsense Developer ページからRealsense Viewerをダウンロード&インストールするだけでいけるかも)
基本的には公式サイトにあるインストール方法の通りです。

1. 事前準備
公式どおりですが前提としてhomebrewをインストール済みであることとなります。あわせてXcode Command Line Toolsなども必要になるかと。
インストールしていなければ、こことか参考にインストールすると良い。

brewがインストールされれば以下のコマンドで、必要なツールをインストールする。

brew install libusb pkg-config
brew install homebrew/core/glfw3
brew install cmake


2. librealsenseのリポジトリからクローンする

[Clone on Download] ボタンから、または以下のコマンドでリポジトリをクローンする

$ cd {任意パス}/
$ git clone https://github.com/IntelRealSense/librealsense.git

以下のコマンドでビルドする。

cd librealsense  #(zipから解答したままだと-masterとかついているので注意)
mkdir build
cd build
cmake ..
make

ここまでで、実行ファイルが出来上がっているはずです。
このままコマンドライン上で実行するには

cd tools/realsense-viewer
./realsense-viewer

にて実行できる。

すごく面白いセンサーなので、もっと使いこなしたいところ。
首から掛ける、頭につけるなどして、人の位置を取得(VRではない)とか、オリジナルMRヘッドセット作ってみる(NorthStar変種)とか、応用範囲は広いと思う。
もう少しゆっくり触っていきたいと思います。

この記事が気に入ったらサポートをしてみませんか?