穴修復フィルター

穴修復フィルタは、点群内の欠落点を補完します。点群内の欠落点の周囲の円形領域に残っている点を補間します。欠落点は、他のフィルタによって削除された場合や、そもそも再構築されなかった場合などに発生します。

注釈

穴修復フィルターを追加する前に、 除去フィルター を適用することをお勧めします。これにより、ノイズの多い点の補間を防ぐことができます。

なぜ穴修復フィルターが必要なのですか?

アルゴリズムで特定の点群密度が必要な場合、このフィルターは密度が低い部分のギャップを埋めるのに役立ちます。

消費財が詰まった箱がある次のシーンを考えてみましょう。

消費財が入ったゴミ箱

消費財用の高速プリセットを使用すると、左下のような結果が得られます。次に、それを デフォルト強力 の穴修復と比較してください。これが、すべてのアイテムで適切な把持姿勢を計算できる理由かもしれません。

穴修復フィルターが無効になっています

穴修復フィルター 0.2(デフォルト)

穴修復フィルター 0.27 (強力)

穴修復フィルターの制御方法

Enabled

フィルターのオン/オフを切り替えます

HoleSize

埋める穴の相対直径。この値を大きくすると、埋めるポイントが増えますが、計算時間も長くなります。許容される最大穴サイズは距離に応じて変化するため、mm 単位で測定すると、距離が長いほど大きな穴を埋めることができます。

Strictness

ポイントを埋めるかどうかを検討する際の厳密さのレベル。より高いレベルの厳密性では、欠落している点を埋めるために、より多くの側面の有効な点で囲まれる必要があります。この値を増やすと、埋めるポイントは少なくなりますが、たとえば 2 つのエッジの間など、円形ではないギャップを埋める可能性は低くなります。

次の値を使用する必要があります。

パラメータ

条件

Enabled

no

推論されたデータを受け入れない場合、または追加の処理時間を許容できない場合。

yes

アルゴリズムでより高い点群密度が必要で、現在点群がまばらであるという問題が発生している場合。

HoleSize

0.01

非常に小さな穴のみを埋めます (高速)

0.2

(デフォルト) 距離 1000 mm で直径約 8 mm の穴を埋める [1]

0.7

距離 1000 mm で直径約 25 mm の大きな穴を埋める [1] (遅い)

Strictness

1

円形近傍内に有効な点がほとんどない場合でも穴を埋める

4

円形近傍内の有効な点で囲まれた穴のみを埋める

穴のサイズを視覚化する

以下の視覚化では、穴のサイズが黄色の円で示されています。これは、Zivid キャリブレーション ボードの上に一定の縮尺で描かれています。軸は、指定された距離でのカメラの FOV を示します。そのため、チェッカーボードが FOV のどの部分を占めているかを実際に確認できます。

処理時間

フィルターの動作方法により、処理時間は hole size パラメーターに応じて指数関数的に増加します。これは、強力な PC (例: 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz with NVIDIA GeForce RTX 3070) を使用している限り、通常は問題ありません。安価なハードウェア、特に統合型 GPU の場合は、穴のサイズを大きくすることに注意する必要があります。ローエンドのハードウェアで最高の設定を行うには数秒かかる場合があります。

穴修復フィルターは、3D キャプチャごとに以下の処理時間を追加します。

特別な考慮事項

穴修復は点群に点を追加しますが、実際には情報を追加するわけではありません。追加される点は、他のフィルタを適用した後に残る情報から補間されます。穴修復は、システムの他の部分に多少の柔軟性があるアプリケーションに適しています。例えば、単一の SKU でも複数の SKU でも、吸盤を使ってピッキングする場合などです。このようなアプリケーションでは、点群が密であるほど、良好な把持姿勢が得られる可能性が高くなるため、パフォーマンスが向上する可能性があります。

個々の点の絶対的な精度に依存するアプリケーションも存在します。例えば、高解像度検査や 3D モデル構築などが挙げられます。これらのアプリケーションは、穴修復にはあまり適していない可能性があります。

バージョン履歴

SDK

変更点

2.12.0

穴埋め機能は実験段階から削除され、「穴修復」に名称変更されました。

2.9.0

穴埋めフィルターを追加しました