私たち人間が知覚できる空間は3次元の空間が基となっています。
近年、3DカメラはComputerVisionアプリケーションとしてロボティクス、自動運転、品質検査などの分野で広く利用されており、検出、認識、姿勢推定、3D再構成などのタスクで優位性を発揮しています。図1に示す画像は実際にセンサーで取得したDepthデータと呼ばれる形式のデータで、各ピクセルがカメラ投影面から撮影対象物までの距離を示しており、その値を濃淡で画像として表示しています。
3次元を表現する形式には、Depthデータの他にも物体上の点を3次元座標 x,y,zで表す点群データというものもあります。ここで取り上げるセンサーの例では前者のDepthデータの形式で得られますが、ICTマッチングアルゴリズムで複数視点のデータを結合するなどの処理を行う場合は、点群データに変換してから処理を行います。
また、3次元データを取得できるセンサーには様々なものがありますが、その原理は対象に赤外線などを照射し反射光を観測するアクティブ方式と、外界からの光を利用するパッシブ方式に大別されます。本稿ではまずアクティブ方式、パッシブ方式の特徴について解説した後で、主な3次元データを取得する事のできるセンサー、センシング方法とそれぞれの特徴を紹介し、最後にそれらの比較をまとめます。
3次元データを取得する為のセンシングの方法は大きく分けてアクティブ方式とパッシブ方式があります。
Structured light のようにプロジェクター等により模様を投光し、投影された模様の歪みをセンシングすることで、三角測量によって距離を計測する手法。ToF ( Time of Flight ) センサーなどのように光の飛行時間から距離を計測する手法などがあります。本方式は光を投光し、その反射光を受光することにより3次元測量を行うため、外光の影響を受けやすいという性質があります。
画像の特徴を利用して計測する手法で、2台のカメラを用いた stereo vision、多眼カメラを用いたマルチベースラインステレオ等があります。本方式は外光の影響を受けにくい性質を持ちますが、暗闇での撮影は不可能です。また、多眼間での対応点を検出する必要があるため、一様な色の壁のように模様のない面のみが両カメラから写るような撮影環境では測距が難しいという性質があります。
ここでは3次元データを取得する為の代表的な取得方法とセンサーを紹介します。
左右のカメラから対応点を見つけ、三角測量で各点のx, y, z座標を算出していく手法です。一般的にはパッシブ方式による2眼のRGBカメラを用いた方式を指します。左右カメラの距離、カメラの画素数等によって測距距離、精度に違いが生じます。受光のみを用いるため、カメラ間距離さえ調整すればアクティブ方式よりも遠くの距離を測距する事も可能です。ただし暗闇では受光そのものができない為使用できません。
対応点を左右のカメラ画像から見つける必要があるため、同一色の壁等のように対応点が上手く見つけられない環境では3次元推定ができません。
・ZED
カメラから投光される光が対象物に反射して戻るまでの時間を測定することで距離計測を行います。(図6)
対象物の反射強度にもよりますが、計測距離に対して±1%程の誤差が一般的とされています。殆どの場合投光される光は非可視光の近赤外線を使用します。
投光する光のクラスによって測距距離、精度が異なってきます。強い光は人の目に悪影響を及ぼす恐れがあるため、クラス1以上の光を投光する場合使い方に気を付ける必要があります。
・Intel RealSense LiDAR Camera L515
基本的にはStereo Visionと同じですが、片方のカメラがプロジェクターになります。(図11)
複数フレームで1枚のDepth推定を行う空間エンコード法と1ShotでDepth推定を行う手法があります。Kinect V1では後者の手法でRandom dot patternという手法が用いられています。非可視光である近赤外光を用いたドットパターンを投影し、IRセンサーでそのドットパターンの反射光を撮影することでDepth推定を行っています。
空間エンコード法などのように複数フレーム毎の模様で1枚のDepthデータを生成する場合測距精度は上がりますがリアルタイムでの3次元測距が難しくなります。また、光を投光する為外光の影響を受けやすいことや、他のアクティブセンサーと同時に使用する場合はセンサーによって干渉してしまう問題を時間同期等の方法によって制御する必要があります。
・Kinect V1
上記に挙げた3次元データの取得方法とそれぞれの特性をまとめると以下のようになります。
現状全ての状況で利用できるセンサーは存在せず、使用用途、利用時の環境、必要な精度に応じてセンサーを選択、または同時に利用する必要があります。(表4)
また、価格の面から観ると価格の低いものは測定距離が数メートルで精度が低く、価格の高いものは最大測定距離が長い、もしくは至近距離で精度が高く、特化した分野での利用に向いていると言えます。(表5)
本稿で取り扱った以外にも音波や電波を使った3次元計測方法や多眼センサーによる計測、DeepLearningを用いた単眼カメラからのDepth推定、精度向上等様々な手法が考案されており、今後も方式、精度の向上が見込まれます。また、近年では小型化、軽量化も進みスマートフォン等のように殆どの人が持っている製品にも組み込まれるようになってきており、3次元データを利用したサービスはより裾野を広げていく分野となっています。