Pcl

PCDファイル形式(PCD(点群データ)ファイル形式)



Pcd File Format File Format



このドキュメントでは、PCD(ポイントクラウドデータ)ファイル形式と、それがポイントクラウドライブラリ(PCL)でどのように使用されるかについて説明します。
PCDファイル形式のアイコン
PCDファイル形式のアイコン
#なぜ新しいファイル形式なのですか?
PCDファイル形式は、車輪の再発明を意味するのではなく、既存のファイル形式を補完することを意味します。何らかの理由で、これらの形式はnDポイントクラウド処理のPCLをサポートしていません/サポートしていません。いくつかの拡張機能。

PCDは、3D点群データをサポートする最初のファイルタイプではありません。特に、コンピュータグラフィックスと計算幾何学のコミュニティは、レーザースキャナーを使用して取得した任意のポリゴンと点群を記述するためのさまざまな形式を作成しました。これらの形式の一部は次のとおりです。



プライ -Turkらによって開発されたポリゴンファイル形式。スタンフォード大学で
STL -3DSystemsによって作成されたステレオリソグラフィーCADソフトウェアのネイティブファイル形式
OBJ -WavefrontTechnologiesによって最初に開発されたジオメトリ定義ファイル形式
X3D -3DコンピュータグラフィックスデータのISO標準を表すためのXMLベースのファイル形式
そして その他
次のセクションで説明するように、上記のすべてのファイル形式にはいくつかの欠点があります。これは、異なる時間に異なる時間に作成されたため、当然のことです。今日、センシング技術とアルゴリズムは以前に発明されました。

#PCDバージョン
Point Cloud Library(PCL)バージョン1.0のリリース以前は、PCDファイル形式のリビジョン番号が異なる場合がありました。これらにはPCD_Vx(PCD_V5、PCD_V6、PCD_V7など)の番号が付けられ、PCDファイルのバージョン番号0.xを表します。



PCLのPCDファイル形式の公式バージョンはバージョン0.7(PCD_V7)である必要があります。


各PCDファイルには、ファイルに格納されている点群データの特定の属性を識別および宣言するヘッダーが含まれています。 PCDのタイトルはASCIIでエンコードする必要があります。

Attention Each title entry and the ASCII point data specified in the PCD file (see below) are separated by a new line ().

バージョン0.7以降、PCDヘッダーには次のエントリが含まれています。



VERSION -PCDファイルのバージョンを指定します
FIELDS -ポイントが持つことができる各次元/フィールドの名前を指定します。例:

FIELDS x y z # XYZ data FIELDS x y z rgb # XYZ + colors FIELDS x y z normal_x normal_y normal_z # XYZ + surface normals FIELDS j1 j2 j3 # moment invariants ...

SIZE -各サイズのサイズをバイト単位で指定します。例:
unsigned char/char 1バイトあります
unsigned short/short 2バイトあります
unsigned int/int/float 4バイトあります
double 8バイトあります
TYPE -各ディメンションのタイプをcharとして指定します。現在受け入れられているタイプは次のとおりです。
I -符号付きタイプを示しますint8 (char)int16 (short) with int32 (int)
U -符号なしタイプを示しますuint8 (unsigned char)uint16 (unsigned short)uint32 (unsigned int)
F -代表float種類
COUNT-各次元に含まれる要素の数を指定します。たとえば、xデータには通常1つの要素がありますが、VFHのような308の機能記述子があります。基本的に、これは各ポイントにnDヒストグラム記述子を導入し、それらを単一の連続したメモリブロックとして扱う方法です。デフォルトでは、COUNTが存在しない場合、すべてのディメンションのカウントは1に設定されます。
WIDTH -点群データセットポイントの幅を指定します。WIDTH 2つの意味があります。
1、クラウド内のポイントの総数を指定できます(および ポイント 同じ、以下を参照)組織化されていないデータセットの場合
2、それは組織化された点群データセットの幅(連続する点の総数)を指定することができます。
も参照してください 高さ

注意
組織化された点群データセットは、点群にオブジェクトのような画像(またはマトリックス)を与える構造であり、データは行名と列名に分割されます。このような点群の例には、ステレオカメラや飛行時間型カメラからのデータが含まれます。整理されたデータセットの利点は、隣接するポイント(ピクセルなど)間の関係を知ることにより、最近傍がより効率的になり、計算が高速化され、PCLの一部のアルゴリズムのコストが削減されることです。

例:

WIDTH 640 # there are 640 points per line

HEIGHT -点群データセットポイントの高さを指定します。高さには2つの意味があります。
1、それは組織化された点群データセットの高さ(行の総数)を指定することができます
2.組織化されていないデータセットの場合は1に設定されます(したがって、データセットが組織化されているかどうかを確認するために使用されます)。
例:

WIDTH 640 # Image-like organized structure, with 640 rows and 480 columns, HEIGHT 480 # thus 640*480=307200 points total in the dataset

例:

WIDTH 307200 HEIGHT 1 # unorganized point cloud dataset with 307200 points

VIEWPOINT -データセット内のポイント収集の視点を指定します。これは後で、異なる座標系間の変換を確立するため、または一貫した方向を必要とする表面法線などのフィーチャを支援するために使用できます。

視点情報は、平行移動(tx ty tz)+クォータニオン(qw qx qy qz)として指定されます。デフォルト値は次のとおりです。

VIEWPOINT 0 0 0 1 0 0 0

POINTS -クラウド内のポイントの総数を指定します。バージョン0.7以降、その目的は少し冗長であるため、将来のリリースで削除する予定です。
例:

POINTS 307200 # the total number of points in the cloud

DATA -点群データストアのデータ型を指定します。バージョン0.7以降、2つのデータ型がサポートされています:ascii with binary。詳細については、次のセクションを参照してください。

Attention The next byte immediately after the last line (DATA) of the title is considered part of the point cloud data and will be interpreted as such.

警告
タイトルエントリは上記の順序である必要があります 正確 指定、すなわち:

VERSION FIELDS SIZE TYPE COUNT WIDTH HEIGHT VIEWPOINT POINTS DATA


バージョン0.7以降、.PCDファイル形式は2つの異なるモードを使用してデータを保存します。

---- ASCIIフォーム、各ポイントは新しい行に配置されます:

p_1 p_2 p_3 p_4 ... p_n Attention Starting with PCL version 1.0.1, the string representation of `NaN` is `nan`.

----バイナリ形式。データはpcl::PointCloud.points配列/ベクトルの完全なメモリコピーです。 Linuxシステムでは、次を使用しますmmap/munmapこの操作は、データへの最速の読み取り/書き込みアクセスを実行します。

点群データを単純なASCII形式で、各点を他の文字なしで行、スペース、またはタブに保存するか、バイナリダンプ形式で保存します。これにより、基盤となるアプリケーションでシンプルさとスピードの両方の長所を活用できます。 ASCII形式を使用すると、ユーザーは点群ファイルを開いて、標準のソフトウェアツール(gnuplotなど)を使用して描画したり、sed、awkなどのツールを使用して操作したりできます。

#他のファイル形式よりも優れている
(別の)ファイル形式としてのPCDは、PCLが苦しんでいると見なすことができます ここでは発明されていません 症候群。実際、上記のファイル形式のいずれもPCDファイルの柔軟性と速度を提供しないため、これは当てはまりません。明確に述べられている利点のいくつかは次のとおりです。

整理された点群データセットを保存および処理する機能-これは、リアルタイムアプリケーション、拡張現実、ロボット工学、その他の研究分野にとって非常に重要です。
----バイナリmmap / munmapデータ型は、データをロードしてディスクに保存するための最速の方法です。
----さまざまなデータ型を保存します(サポートされているすべてのプリミティブ:charshortintfloatdouble点群データを柔軟にし、ストレージと処理の点で効率的です。無効なポイントサイズは通常NANタイプストレージです。
----機能記述子のnDヒストグラム-3D知覚/コンピュータービジョンアプリケーションにとって非常に重要

もう1つの利点は、ファイル形式を制御することで、ネイティブタイプのように異なるファイル形式をPCLに適応させるのではなく、PCLに最適に適応して、PCLアプリケーションと比較して最高のパフォーマンスを得ることができ、Causesを追加の遅延に変換できることです。

Attention Although PCD (point cloud data) is a native file format in PCL, the `pcl_io` library should also provide the possibility to save and load data in all other above file formats.

例:
以下にPCDファイルのフラグメントを添付してください。読者はデータを解釈し、それが何を意味するかを見ることができます。 :) 楽しむ! :

# .PCD v.7 - Point Cloud Data file format VERSION .7 FIELDS x y z rgb SIZE 4 4 4 4 TYPE F F F F COUNT 1 1 1 1 WIDTH 213 HEIGHT 1 VIEWPOINT 0 0 0 1 0 0 0 POINTS 213 DATA ascii 0.93773 0.33763 0 4.2108e+06 0.90805 0.35641 0 4.2108e+06 0.81915 0.32 0 4.2108e+06 0.97192 0.278 0 4.2108e+06 0.944 0.29474 0 4.2108e+06 0.98111 0.24247 0 4.2108e+06 0.93655 0.26143 0 4.2108e+06 0.91631 0.27442 0 4.2108e+06 0.81921 0.29315 0 4.2108e+06 0.90701 0.24109 0 4.2108e+06 0.83239 0.23398 0 4.2108e+06 0.99185 0.2116 0 4.2108e+06 0.89264 0.21174 0 4.2108e+06 0.85082 0.21212 0 4.2108e+06 0.81044 0.32222 0 4.2108e+06 0.74459 0.32192 0 4.2108e+06 0.69927 0.32278 0 4.2108e+06 0.8102 0.29315 0 4.2108e+06 0.75504 0.29765 0 4.2108e+06 0.8102 0.24399 0 4.2108e+06 0.74995 0.24723 0 4.2108e+06 0.68049 0.29768 0 4.2108e+06 0.66509 0.29002 0 4.2108e+06 0.69441 0.2526 0 4.2108e+06 0.62807 0.22187 0 4.2108e+06 0.58706 0.32199 0 4.2108e+06 0.52125 0.31955 0 4.2108e+06 0.49351 0.32282 0 4.2108e+06 0.44313 0.32169 0 4.2108e+06 0.58678 0.2929 0 4.2108e+06 0.53436 0.29164 0 4.2108e+06 0.59308 0.24134 0 4.2108e+06 0.5357 0.2444 0 4.2108e+06 0.50043 0.31235 0 4.2108e+06 0.44107 0.29711 0 4.2108e+06 0.50727 0.22193 0 4.2108e+06 0.43957 0.23976 0 4.2108e+06 0.8105 0.21112 0 4.2108e+06 0.73555 0.2114 0 4.2108e+06 0.69907 0.21082 0 4.2108e+06 0.63327 0.21154 0 4.2108e+06 0.59165 0.21201 0 4.2108e+06 0.52477 0.21491 0 4.2108e+06 0.49375 0.21006 0 4.2108e+06 0.4384 0.19632 0 4.2108e+06 0.43425 0.16052 0 4.2108e+06 0.3787 0.32173 0 4.2108e+06 0.33444 0.3216 0 4.2108e+06 0.23815 0.32199 0 4.808e+06 0.3788 0.29315 0 4.2108e+06 0.33058 0.31073 0 4.2108e+06 0.3788 0.24399 0 4.2108e+06 0.30249 0.29189 0 4.2108e+06 0.23492 0.29446 0 4.808e+06 0.29465 0.24399 0 4.2108e+06 0.23514 0.24172 0 4.808e+06 0.18836 0.32277 0 4.808e+06 0.15992 0.32176 0 4.808e+06 0.08642 0.32181 0 4.808e+06 0.039994 0.32283 0 4.808e+06 0.20039 0.31211 0 4.808e+06 0.1417 0.29506 0 4.808e+06 0.20921 0.22332 0 4.808e+06 0.13884 0.24227 0 4.808e+06 0.085123 0.29441 0 4.808e+06 0.048446 0.31279 0 4.808e+06 0.086957 0.24399 0 4.808e+06 0.3788 0.21189 0 4.2108e+06 0.29465 0.19323 0 4.2108e+06 0.23755 0.19348 0 4.808e+06 0.29463 0.16054 0 4.2108e+06 0.23776 0.16054 0 4.808e+06 0.19016 0.21038 0 4.808e+06 0.15704 0.21245 0 4.808e+06 0.08678 0.21169 0 4.808e+06 0.012746 0.32168 0 4.808e+06 -0.075715 0.32095 0 4.808e+06 -0.10622 0.32304 0 4.808e+06 -0.16391 0.32118 0 4.808e+06 0.00088411 0.29487 0 4.808e+06 -0.057568 0.29457 0 4.808e+06 -0.0034333 0.24399 0 4.808e+06 -0.055185 0.24185 0 4.808e+06 -0.10983 0.31352 0 4.808e+06 -0.15082 0.29453 0 4.808e+06 -0.11534 0.22049 0 4.808e+06 -0.15155 0.24381 0 4.808e+06 -0.1912 0.32173 0 4.808e+06 -0.281 0.3185 0 4.808e+06 -0.30791 0.32307 0 4.808e+06 -0.33854 0.32148 0 4.808e+06 -0.21248 0.29805 0 4.808e+06 -0.26372 0.29905 0 4.808e+06 -0.22562 0.24399 0 4.808e+06 -0.25035 0.2371 0 4.808e+06 -0.29941 0.31191 0 4.808e+06 -0.35845 0.2954 0 4.808e+06 -0.29231 0.22236 0 4.808e+06 -0.36101 0.24172 0 4.808e+06 -0.0034393 0.21129 0 4.808e+06 -0.07306 0.21304 0 4.808e+06 -0.10579 0.2099 0 4.808e+06 -0.13642 0.21411 0 4.808e+06 -0.22562 0.19323 0 4.808e+06 -0.24439 0.19799 0 4.808e+06 -0.22591 0.16041 0 4.808e+06 -0.23466 0.16082 0 4.808e+06 -0.3077 0.20998 0 4.808e+06 -0.3413 0.21239 0 4.808e+06 -0.40551 0.32178 0 4.2108e+06 -0.50568 0.3218 0 4.2108e+06 -0.41732 0.30844 0 4.2108e+06 -0.44237 0.28859 0 4.2108e+06 -0.41591 0.22004 0 4.2108e+06 -0.44803 0.24236 0 4.2108e+06 -0.50623 0.29315 0 4.2108e+06 -0.50916 0.24296 0 4.2108e+06 -0.57019 0.22334 0 4.2108e+06 -0.59611 0.32199 0 4.2108e+06 -0.65104 0.32199 0 4.2108e+06 -0.72566 0.32129 0 4.2108e+06 -0.75538 0.32301 0 4.2108e+06 -0.59653 0.29315 0 4.2108e+06 -0.65063 0.29315 0 4.2108e+06 -0.59478 0.24245 0 4.2108e+06 -0.65063 0.24399 0 4.2108e+06 -0.70618 0.29525 0 4.2108e+06 -0.76203 0.31284 0 4.2108e+06 -0.70302 0.24183 0 4.2108e+06 -0.77062 0.22133 0 4.2108e+06 -0.41545 0.21099 0 4.2108e+06 -0.45004 0.19812 0 4.2108e+06 -0.4475 0.1673 0 4.2108e+06 -0.52031 0.21236 0 4.2108e+06 -0.55182 0.21045 0 4.2108e+06 -0.5965 0.21131 0 4.2108e+06 -0.65064 0.2113 0 4.2108e+06 -0.72216 0.21286 0 4.2108e+06 -0.7556 0.20987 0 4.2108e+06 -0.78343 0.31973 0 4.2108e+06 -0.87572 0.32111 0 4.2108e+06 -0.90519 0.32263 0 4.2108e+06 -0.95526 0.34127 0 4.2108e+06 -0.79774 0.29271 0 4.2108e+06 -0.85618 0.29497 0 4.2108e+06 -0.79975 0.24326 0 4.2108e+06 -0.8521 0.24246 0 4.2108e+06 -0.91157 0.31224 0 4.2108e+06 -0.95031 0.29572 0 4.2108e+06 -0.92223 0.2213 0 4.2108e+06 -0.94979 0.24354 0 4.2108e+06 -0.78641 0.21505 0 4.2108e+06 -0.87094 0.21237 0 4.2108e+06 -0.90637 0.20934 0 4.2108e+06 -0.93777 0.21481 0 4.2108e+06 0.22244 -0.0296 0 4.808e+06 0.2704 -0.078167 0 4.808e+06 0.24416 -0.056883 0 4.808e+06 0.27311 -0.10653 0 4.808e+06 0.26172 -0.10653 0 4.808e+06 0.2704 -0.1349 0 4.808e+06 0.24428 -0.15599 0 4.808e+06 0.19017 -0.025297 0 4.808e+06 0.14248 -0.02428 0 4.808e+06 0.19815 -0.037432 0 4.808e+06 0.14248 -0.03515 0 4.808e+06 0.093313 -0.02428 0 4.808e+06 0.044144 -0.02428 0 4.808e+06 0.093313 -0.03515 0 4.808e+06 0.044144 -0.03515 0 4.808e+06 0.21156 -0.17357 0 4.808e+06 0.029114 -0.12594 0 4.2108e+06 0.036583 -0.15619 0 4.2108e+06 0.22446 -0.20514 0 4.808e+06 0.2208 -0.2369 0 4.808e+06 0.2129 -0.208 0 4.808e+06 0.19316 -0.25672 0 4.808e+06 0.14497 -0.27484 0 4.808e+06 0.030167 -0.18748 0 4.2108e+06 0.1021 -0.27453 0 4.808e+06 0.1689 -0.2831 0 4.808e+06 0.13875 -0.28647 0 4.808e+06 0.086993 -0.29568 0 4.808e+06 0.044924 -0.3154 0 4.808e+06 -0.0066125 -0.02428 0 4.808e+06 -0.057362 -0.02428 0 4.808e+06 -0.0066125 -0.03515 0 4.808e+06 -0.057362 -0.03515 0 4.808e+06 -0.10653 -0.02428 0 4.808e+06 -0.15266 -0.025282 0 4.808e+06 -0.10653 -0.03515 0 4.808e+06 -0.16036 -0.037257 0 4.808e+06 0.0083286 -0.1259 0 4.2108e+06 0.0007442 -0.15603 0 4.2108e+06 -0.1741 -0.17381 0 4.808e+06 -0.18502 -0.02954 0 4.808e+06 -0.20707 -0.056403 0 4.808e+06 -0.23348 -0.07764 0 4.808e+06 -0.2244 -0.10653 0 4.808e+06 -0.23604 -0.10652 0 4.808e+06 -0.20734 -0.15641 0 4.808e+06 -0.23348 -0.13542 0 4.808e+06 0.0061083 -0.18729 0 4.2108e+06 -0.066235 -0.27472 0 4.808e+06 -0.17577 -0.20789 0 4.808e+06 -0.10861 -0.27494 0 4.808e+06 -0.15584 -0.25716 0 4.808e+06 -0.0075775 -0.31546 0 4.808e+06 -0.050817 -0.29595 0 4.808e+06 -0.10306 -0.28653 0 4.808e+06 -0.1319 -0.2831 0 4.808e+06 -0.18716 -0.20571 0 4.808e+06 -0.18369 -0.23729 0 4.808e+06

PCD(Point Cloud Data)ファイル形式