Intel RealSense SDK 2 (librealsense2) Sample Program

Intel RealSense

RealSense Depth Camera D400 Series

RealSense Depth CameraはIntelが発売しているRGB-Dのセンサーです。
現在はIRステレオカメラによるActive Stereo方式のRealSense D400シリーズが発売されています。(RealSense Depth Camera D415RealSense Depth Camera D435)

RealSense D415
RealSense D435

RealSense D400シリーズの主なスペックは以下の通りです。

RealSense D415 RealSense D435
Environment Indoor and Outdoor Indoor and Outdoor
Color Resolution@fps*1 1920×1080@30fps
1280×720@30fps
848×480@60fps
1920×1080@30fps
1280×720@30fps
848×480@60fps
FOV(Horizontal×Vertical) 69.4°x42.5° (+/-3°) 69.4°x42.5° (+/-3°)
Sensor Technology Rolling Shutter Global Shutter
Depth Resolution@fps*1 1280×720@30fps
848×480@60fps
1280×720@30fps
848×480@60fps
FOV(Horizontal×Vertical) 63.4°x40.4° (+/-3°) 85.2°x58.0° (+/-3°)
Distance Range*2 0.16m-10.0m 0.11m-10.0m
Sensor Technology Active IR Stereo Active IR Stereo
Connector USB 3.0 (USB 3.1 Gen1) Type-C USB 3.0 (USB 3.1 Gen1) Type-C
OS Windows, Linux, MacOS Windows, Linux, MacOS

1 Part of combination of resolution and frame rate.
2 Accuracy varies depending on calibration, scene, and lighting conditions.

Microsoft Kinectと比較すると、基本的なスペックの向上以外に「屋内・屋外で使用可能」「USBからの電源供給のみで動作」「筐体が小型」という特徴があります。
また、RealSense D400シリーズはUVC(USB Video Class)のデバイスのためPCに接続するだけで手軽に使用できます。

Active IR Stereo

RealSense D400シリーズのDepthセンサーの「Active IR Stereo」についてはデータシートに簡単な技術概要が書かれています。以下、簡単に翻訳して内容をまとめたものです。

Intel RealSense D400シリーズのDepthカメラは、ステレオビジョンを使用してDepthを計算します。
ステレオビジョンは、左右のIRカメラ(IRステレオカメラ)とオプションのIRプロジェクタの構成で実装されています。
IRプロジェクタは、ステレオビジョンの対応点探索の補助のために目には見えないIRの静的パターンを投影して、テクスチャの乏しいシーンでDepthの精度を改善します。
IRステレオカメラがシーンを撮影すると、それぞれのIR画像はIntel RealSense Vision Processor D4に送られてDepth画像を計算します。

ステレオマッチングは左のIRカメラを基準として計算されます。そのため、生成されたDepth画像は左端にDepthデータを持たない領域(左右のIRカメラの視野が重ならずDepthを計算できない領域)を持ちます。
当然、この領域は遠距離のシーンに比べ近距離のシーンの方が広くなります。

RealSense D400シリーズが投影するIRパターンはあくまでテクスチャが乏しいシーンのための補助であり、Kinect v1のようなStructured LightのためのIRパターンではありません。そのため、投影したIRパターンの干渉が問題になることはなく、RealSense D400シリーズは複数台で利用しやすいセンサーと言えるでしょう。
また、ステレオビジョンの原理として距離が視差に反比例するというものがあります。そのため、視差が小さい遠距離のシーンでは視差が少しだけ異なるだけで計算結果の距離が大きく変わります。つまり、近距離のシーンの方が奥行方向の精度は高いという特徴があります。

RealSense SDK 2.x (librealsense 2.x)

RealSense D400シリーズのソフトウェア開発キットはRealSense SDK 2.xを使用します。 (「RealSense SDK 2.x」と「librealsense 2.x」は同じものを指します。)
以前のRealSense Depth Camera (F200、R200、LR200、ZR300)で使用していたRealSense SDK 1.xやlibrealsense 1.xとは互換はありません。

RealSense SDK 2.x (librealsense 2.x)はオープンソースのライブラリです。
C、C++、Python、.NET(C#)、JavaScript(Node.js)といった様々な言語に対応しています。また、UnityやROSのためのサポートも用意されています。
ただし、現在は「人物や手、顔などの姿勢推定」「3次元形状復元」などの応用機能は提供されておりません。これらの機能が必要な場合、自前で実装する必要があります。

RealSense SDK 2.x Sample Program

Samples

RealSense SDK 2.x (librealsense 2.x)のC++で書かれたサンプルプログラムを公開します。このサンプルプログラムはRealSense SDK 2.x (librealsense 2.x)の基本的な以下の機能を実装しています。

  • Color
  • Depth
  • Infrared
  • Disparity
  • Align
  • Record
  • PointCloud
  • Multi
RealSense Color
RealSense Depth
RealSense PointCloud

Download

サンプルプログラムは以下のリポジトリからダウンロードしてください。

Development Environment

サンプルプログラムはRealSense SDK 2.x (librealsense 2.x)の要求する開発環境で動作します。また、画像データを扱うためにOpenCVに依存します。

推奨環境は以下の通りです。*3

*3 I recommend using tools and libraries of latest stable release.


コメントを残す

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