問題タブ [point-clouds]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 点をつないで三角形を作る
3D ポイント (AKA ポイント クラウド) のセットがある場合、3 つのポイント (三角形) のグループを決定し、サーフェスの再構成を作成するための最良の方法は何ですか?
c++ - 大きな点群を処理するための優れたCまたはC++ライブラリはありますか?
基本的に、LIDARまたはスキャナーからの大きな点群を処理するためのライブラリまたはSDKを探しています。通常、X、Y、Z、カラーの何百万もの点にぶつかります。私が求めているのは次のとおりです。
高速表示、ズーム、パンポイントクラウド登録データへの高速低レベルアクセスサーフェスとソリッドの回帰(他のものほど重要ではありません)
リーズナブルな商用ライブラリにお金を払ってもかまいませんが、非常に高価なライブラリ(たとえば、約5,000ドルを超える)や、ユーザーあたりのランタイムライセンスコストがかかるライブラリには興味がありません。オープンソースも良いでしょう。私はグーグルでいくつかの可能性を見つけましたが、それらはすべて私の予算に対して高すぎる傾向があります。
algorithm - 3Dlaser スキャナーからの点群のメッシング
点群のメッシュをリアルタイムで実行できるパッケージ/ソフトウェアはありますか?
3D 点群を表すために使用されるデータ構造は何ですか?
visualization - 3D 点群データセットにラベルを付けるためのコマンド ライン スクリプトまたはソフトウェア ツール
3D 点群データセットにラベルを付けるにはどうすればよいですか? x、y、z 値を含むテキスト ファイルを読み込んで視覚化し、ラベルを付けることができるソフトウェアはありますか?
matlab - XYZ データを MATLAB に保存する最も一般的な方法
デカルト空間での点の位置を表す、MATLAB にインポートする大量のデータがあります。標準の XYZ データを保存および処理するための最も一般的な方法は次のうちどれですか?
オプション1
X、Y、Z 座標を別々の n * 1 ベクトルとして保存します (おそらく構造内?)。これにより、次のようになります。
- 簡単なプロット:
plot3(X, Y, Z)
- 少し複雑な個々のポイントの抽出
N = [X(i), Y(i), Z(i)]
- ポイントのセット全体を関数に渡すと、渡すさまざまな引数の数が増えます。
オプション #2
X、Y、Z 座標を 1 つの n * 3 ベクトルとして保存します。
- プロットは少し難しいです:
plot3(XYZ(:, 1), XYZ(:, 2), XYZ(:, 3))
- 個々のポイントを抽出する方が簡単です。
N = XYZ(i, :)
- ポイントのセット全体を渡すのは簡単です - 変数は 1 つだけです
これに基づいて、私は 2 番目がより一般的であると思います。
ただし、処理するデータの一部は、グリッドの形式が重要なグリッド形式で読み込まれるため、より困難です。これは、データの生の形式が (n*m) * 3 行列ではなく、* m * 3 行列であることを意味します。点 X(i, j) が点 X(i, j+1) の隣にあるという事実は重要です。ここでも、2 つのオプションが提示されます。
オプション1
X、Y、Z の各座標を n * m 行列として保存します。
オプション #2
すべての点を n * m * 3 行列として格納します。
ここでは 2 番目の方法を使用したいと思いますが、プロットなどのいくつかのオプションは非常にばかげています。
特にビジョンとグラフィックスのコミュニティでは、これに関する規約が必要だと感じています。
graphics - ポイント生成ごとのパインツリーポイントの擬似コード?(2d)
NYがやってくる!)では、drawPoint(color、x、y)のような関数があると仮定して、松の木をどのようにレンダリングするのでしょうか。
data-structures - 点群で特定の形状をすばやく見つける
点群があり、コード内の点の特定のパターンの発生を検出したいと考えています。
3D 空間に 1000 個のポイントがあり、L の各セグメントが特定の長さを持つ「L」形状を形成する 3 つのポイントのすべてのインスタンスを検出したいとします。ポイント クラウドは完全に一致しない場合がありますが、非常に近い場合があります (つまり、ポイント クラウドでは、「L」のセグメントの長さが理想よりもわずかに長い/短い場合があります)。
私の最初のアイデアは次のようなものでした:
- 検出しようとしている形状のすべてのポイント間の距離を記録します
- 空の「潜在的な形状」を作成します
- 潜在的な形状の各点について、パート 1 で見つかった距離にある/近い距離にあるすべての点を調べます)
- ポイントが見つかったら、それを潜在的な形状に追加し、すべてのポイントが得られるまでパート 3) を繰り返します。次に、ポイント間の角度をチェックして、形状が実際に正しいことを確認します。正しくない場合は、次のポイントに進み、最初からやり直します
問題は、このアプローチの最悪の場合の実行時間がひどいことです。理想的には、特定のポイントから距離最小と距離最大の間にあるすべてのポイントを検索するためのクエリを高速化するために、ある種のデータ構造が必要です。役立つデータ構造を教えてください。
アクセス時間を短縮するために、すべてのポイントを octree に入れることを考えていました。
実行時間を改善する方法について他にアドバイスはありますか? 物事をスピードアップするためのヒューリスティック?
注:私が見つけようとしている形状は可変です。それらは常に「L」であるとは限りません。ハフ変換を調べてみましたが、線や円などの特定の所定の形状を検出する場合にのみ役立つようです。
graphics - 3Dクラウドビューア?
x、y、zの位置を含む多数のポイントを含むファイルがあります。このポイントデータを読み込んで表示できるシンプルなビューアを探しています。雲の深さを確認するには、回転が不可欠です。生成されています。誰かがこれのための最小のインストールオーバーヘッドで軽量のビューアを指摘できますか?
python - 3Dモデリングパイプラインに適したファイル形式とツール
私は点群データのモデリング/再構築アルゴリズムに取り組んでいます。これまで私はPythonで開発してきましたが、視覚化のニーズについてはVPythonに比較的満足しています。
私が抱えている問題の1つは、非常に多くのオブジェクトをレンダリングするときにVPythonが非常に遅くなり(少なくとも3D以外の高速化されたLinuxラップトップでは)、複雑なモデルの目視検査が非常に困難になることです。
私は視覚化のために外部ツールを使おうと試みてきましたが、問題は、可能なファイル形式と利用可能なツールの海に少し迷っているということです。たとえば、点群データを単純なASCII形式で表示するのに最適なMeshLabを試しましたが、他のタイプのジオメトリをエクスポートして点群レイヤーに重ねる互換性のある形式を決定できませんでした。
パイプライン全体の要件は次のとおりです。
- 点群データには、単純なxyzASCII座標として保存された数百万のポイントが含まれる場合があります
- モデリングプリミティブは、主に線と円柱(つまりポリゴンなし)であり、数千の番号が付けられています
- 視覚化ツールは、理想的にはクロスプラットフォームである必要があります(少なくともLinuxで実行する必要があります)
- 選択したファイル形式のデータのインポート/エクスポートを簡単にするためのPythonモジュールが必要です(または、形式が単純なコンバーターを記述できるほど単純です)。
私はこれについて多くのことをグーグルで調べてきたので、これらすべてについて暫定的な答えがありますが、私の文脈では100%満足できるものはありません。どんな助けやアドバイスも大歓迎です..事前に感謝します!