RealSenseで街を3D走査ライド

Intelが開発、販売しているRealSenseは、深度(奥行き)が計測できる小型カメラ。本体から投射する赤外線のパターンを2つの赤外線カメラで読み取って、その差異から距離を測定する。その最新版であるD400シリーズは、一昔前のKinectに比べて大幅に小型化されており、性能も向上している。そこで、これを自転車に取り付け、深度情報を記録しながら街をライドした。

ここではRealSenseをBromptonに取り付けている。RealSenseは単体では動作せず、コンピュータを必要とするので、Bromptonのフロント・バックがピッタリという次第。もっとも、フロント・バッグに入れるためにMacBookを閉じると、スリープして処理が止まってしまう。これを避けるには、InsomniaXなるユーティリティを利用して、Disable Lid Sleepをオンにすれば良い。

このようにしてRealSenseで深度情報を記録しながら、全周1kmほどのエリアを時速20km前後で一周した。以下のムービーでは2Dのデフォルト・プリセットによって深度をビジュアライズしている。青い部分は手前で、水色、緑、黄色、赤と色が移るにつれて、より距離が遠いことを示す。10m以上の距離は測定できないので、黒く表示される。色で距離を知覚するよう思念を凝らして見て欲しい。

色調のせいもあって、サーモグラフィーやサイケデリックなエフェクトのように見えるかもしれない。だが、実際には深度情報なので、自転車の走行によって周囲の形状を3Dスキャンしていることになる。RealSenseは一般的な映像が得られるRGBカメラも備えており、得られた3Dモデルにテクスチャを貼ることもできる。このようにして自転車が街を走査する可能性を探ろうとしている。

ところで、RealSenseは深度カメラのハードウェアとして提供されるので、実際に利用するには何らかのソフトウェアが必要になる。D400シリーズ対応のアプリケーションはまだないが、GitHubにlibrealsenseという名称でSDK(ソフトウェア開発キット)とサンプル・アプリケーションが公開されている。macOSでのインストール方法も記載されているので、若干の補足を加えて再掲しておこう。

1. Xcodeをインストールする。

2. ターミナルを起動してHomebrewをインストールする。

3. ターミナルで以下のコマンドを実行する。

Homebrewから必要となるパッケージをインストールする。

brew install libusb
brew install pkg-config
brew install glfw
brew install cmake

ホーム・ディレクトリ(または任意のディレクトリ)に移動し、librealsenseのクローンを作る(ダウンロードする)。

cd ~
git clone https://github.com/IntelRealSense/librealsense

librealsenseディレクトリに移動し、buildディレクトリを作成して移動する。

cd librealsense
mkdir build && cd build

cmakeにより必要なソースコード等のファイルを生成する。

cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -G Xcode

生成されたXcodeのプロジェクトを開く。

open librealsense2.xcodeproj

4. Xcodeのスキームで realsense-viewer を選択して実行(Run)する。

なお、今回使用したのは比較的近距離での物体の深度測定に適したD415だ。屋外での移動しながら深度測定には、より広角でグローバル・シャッター方式のD435が適切と思われる。D435についても、入手次第、検証を行いたい。ただ、いずれもコンピュータが必要となるのは、自転車などの移動体には適さない。これはStructureセンサーのように、モバイル・デバイスで動作して欲しいところ。

Leave a Reply

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA