中村@アールテクニカ
前回はRealSense(D415/D435)のデバイス情報について書きましたが、今回はデプスのポストエフェクトについて書きたいと思います。
artteknika.hatenablog.com
ポストエフェクト
RealSense ViewerのStereo Moduleのパネルには、「Post-Processing」の項目があり、取得したデプス情報に対しポストエフェクトをかけることができます。デプスデータは、その仕組み上ノイズが多かったり正常に深度が取得できない部分があったりしますが、ポストエフェクトをかけることでノイズを除去したりデータを補間することができます。
このポストエフェクトはSDKに含まれているので、自作アプリにも容易に導入できます。
SDKで用意されているポストエフェクトはいくつかありますが、ノイズやデータの欠落が多くてもおおむね補完してくれるHole Fillingフィルターを使ってみたいと思います。
Hole Filling フィルター
Hole Fillingフィルターは正常にデプスを取得できなかった部分のデータを穴埋めしてくれるフィルターです。
補間の仕方が異なるモードがいくつかあるのでそれぞれの特徴も比較してみたいと思います。
モード名 | 概要 |
---|---|
Fill from Left | 左側の画素で補完する |
Farest from around | 周辺の最も深度の深い画素で補完する |
Nearest from around | 周辺の最も深度の浅い画素で補完する |
ソースコード
rs2::hole_filling_filterのオブジェクトを作成し、process()メンバ関数でフレームを処理するだけです。
モードは、rs2::hole_filling_filterのコンストラクタで指定します。
/* * 0 - fill_from_left - Use the value from the left neighbor pixel to fill the hole * 1 - farest_from_around - Use the value from the neighboring pixel which is furthest away from the sensor * 2 - nearest_from_around - -Use the value from the neighboring pixel closest to the sensor */ bool apply_hole_filter = true; int hole_filter_mode = 1; rs2::hole_filling_filter hole_filling(hole_filter_mode); // フレームの取得 rs2::frameset data = pipe.wait_for_frames(); auto depth_frame = data.get_depth_frame(); if (apply_hole_filter) { depth_frame = hole_filling.process(depth_frame); } // デプスをRGB画像に変換 rs2::frame depth = color_map.process(depth_frame);
実行結果
自席の液晶モニタ、キーボード周辺の画像で実行結果を比較してみます。
フィルターなし
画像の左端、液晶モニタの一部、手前にあるキーボードなどのデプスがうまく取れていません。
Fill from Left
概ね補間できていますが、左側の画素で補間するため、欠損の多い液晶モニタの左側は補間できないままになっています。
Farest from around
液晶モニタの左側は一応補間されていますが、本来の深度とは大きく異なってしまっています。
また、手前のキーボードも一部の深度が実際の値と違います。
Nearest from around
液晶モニタの左側とキーボード部分は良好に補間できています。
一方、液晶モニタの下辺りの奥行きのある部分は実際より深度が浅い値となってしまっています。
まとめ
Hole Filling フィルターは簡単にデプスデータを補間できますが、モードごとに得手不得手があるようです。
距離や対象物により最適なモードを選ぶのが良いでしょう
また、左端は全般的に正常にデプスが取れないようなのでこの部分は切り捨てた方がよさそうです。
intel RealSense™ Depth Camera D435
- 出版社/メーカー: インテル
- 発売日: 2018/01/18
- メディア: Personal Computers
- この商品を含むブログを見る
Intel Realsense Depth Camera D415 [並行輸入品]
- 出版社/メーカー: Intel
- メディア: エレクトロニクス
- この商品を含むブログを見る
中村@アールテクニカ
アールテクニカのSE兼プログラマ。Web系のサーバサイド・フロントエンドからスマホ・PCのネイティブアプリまでソフトウェア開発全般が守備範囲。最近はハードウェア開発にも興味あり。