OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
cv::large_kinfu::LargeKinfu クラス abstract

Large Scale Dense Depth Fusion implementation [詳解]

#include <large_kinfu.hpp>

公開メンバ関数

virtual const Params & getParams () const =0
virtual CV_WRAP void render (OutputArray image) const =0
virtual CV_WRAP void render (OutputArray image, const Matx44f &cameraPose) const =0
virtual CV_WRAP void getCloud (OutputArray points, OutputArray normals) const =0
virtual CV_WRAP void getPoints (OutputArray points) const =0
virtual CV_WRAP void getNormals (InputArray points, OutputArray normals) const =0
virtual CV_WRAP void reset ()=0
virtual const Affine3f getPose () const =0
virtual CV_WRAP bool update (InputArray depth)=0

静的公開メンバ関数

static CV_WRAP Ptr< LargeKinfu > create (const Ptr< Params > &_params)

詳解

大規模高密度奥行き融合の実装

このクラスは、空間的にハッシュ化されたTSDFボリューム "Submaps "を使用して、大規模な環境のための3D再構成アルゴリズムを実装しています。また、定期的にポーズグラフの最適化を行い、長時間のシーケンスにおけるトラッキングのドリフトを最小化します。現在、このアルゴリズムには、再配置やループクローズのモジュールは実装されていません。Glocker et al. ISMAR 2013に記載されているようなBag of wordsの実装やRGBDの再定位が実装される可能性があります。

このクラスは,深度センサ(または,ステレオカメラマッチングアルゴリズムやレイマーチングレンダラなどの任意の深度画像ソース)から取得した一連の深度画像を受け取ります。出力は,点とその法線のベクトルとして得られるほか,与えられたカメラのポーズからフォンレンダリングすることもできます.

モデルの内部表現は、空間的にハッシュ化されたボクセルキューブで、最も近いサーフェスまでの距離を表すTSDF値を格納しています。[kinectfusion] の詳細はTSDFについての記事をご覧ください)。この表現に対するインターフェースはまだありません。

ポジグラフの最適化のために、ボリュームクラスの上にサブマップの抽象化を作成します。新しいサブマップは、現在のビューイング・フラストラムと既存のボリューム/モデルとの間に視認性の低いオーバーラップがある場合に、モデルに追加されます。複数のサブマップが同時に追跡され、ポゼグラフが作成され、定期的に最適化されます。

LargeKinfuは、まだOpenCLアクセラレーションを使用していません。明示的に有効または無効にするにはcv::setUseOptimized()または cv::ocl::setUseOpenCL().

この実装は、Kintinuous、InfiniTAM、その他のSOTAアルゴリズムを参考にしています。

KinectFusionを使用するには、CMakeでOPENCV_ENABLE_NONFREEオプションを設定する必要があります。


このクラス詳解は次のファイルから抽出されました: