機能
どの点群フォーマットが使いやすい?
3Dレーザースキャナーで点群を取得後、後工程システムに渡すために点群を出力します。
その際、出力フォーマットがいくつかあり、どのフォーマットで出力しようか迷われたことはありませんか?
弊社でも、どの形式が適しているのかというご質問をよく受けます。
本記事では、点群データを他システムにインポートする際の読み込み速度に着目し、一般的な点群フォーマットを比較してご説明していきたいと思います。
目次
読み込み速度に関係する項目
まず、点群フォーマットのそれぞれの読み込み速度は、ファイル形式に帰属します。
点群データのファイル形式には『アスキー』と『バイナリ』の2種類があります。
違いを端的に言うと、テキストデータとして開けるか開けないか、ということです。
アスキーファイルは、テキストで開くことが可能です。
文字の情報が含まれているのでその分データが大きくなり、読み込みの速度は遅くなります。
バイナリファイルは、テキストでは開けません。
プログラム内で変換する必要がないファイルのため、高速で読み込むことが可能です。
行列タイプとランダムタイプ
アスキーファイルの場合、「スキャナーでの測定順番がわかるかどうか」でさらに読み込み速度が変わります。
アスキーファイルをテキストエディタ等で開くと、表示されるテキストデータは『行列タイプ』もしくは『ランダムタイプ』に分かれます。
その違いは、『行列タイプ』は測定順番がわかり、『ランダムタイプ』は測定順番がわからない、というところにあります。『行列タイプ』は測定順番がわかるため、隣接している点の情報がわかるという利点があります。この利点を利用することで、読み込み処理時に点に対して付加する属性情報を求める演算が速くなります。そのため、『ランダムタイプ』に比べて『行列タイプ』の方が読み込み速度が速くなるというわけです。
それでは実際に、『行列タイプ』であるptxフォーマットの点群ファイルをテキストで見てみましょう。
ここからどんな情報が読み取れるのかご紹介します。
1〜2行目:行列の値(順番)がわかります。今回は横に12234列、縦に6000行です。
3〜10行目:アフィン変換に必要な情報が記載されています。
アフィン変換とは…
主に画像処理で使われる変換のことで、原点を起点にして動かす処理(拡大縮小・回転・平行移動など)を行列を用いて座標変換を行います。
11行目以降:点群の情報が記載されています。数字の意味は、以下画像の左から順番に次の通りです。
青枠の数字 →点ごとの座標値
オレンジ枠の数字 →インテンシティ(反射強度)
緑枠の数字 →RGB値(色情報)
次に、『ランダムタイプ』のptsフォーマットの点群ファイルのテキストです。
こちらについては、以下の情報が読み取れます。
1行目:点群の数がわかります。このデータは点群数が900万点程度になります。
2行目以降:点群の情報が記載されています。数字の意味は、以下画像の左から順番に次の通りです。
青枠の数字 →点ごとの座標値
オレンジ枠の数字 →インテンシティ(反射強度)
緑枠の数字 →RGB値(色情報)
グレー枠の数字 →法線ベクトル
インテンシティ(反射強度)とは…
測定箇所からのレーザー反射光の信号強度(光の強弱)です。つまり、物体に当たって反射して返ってきたレーザー光が測定機に何%程度戻ってきているかということになります。この返ってくるレーザー光が高いほど点群の色は白く、低いほど濃くなります。また、測定距離や入射角によっても数値が変化します。この情報により、測定物の質感を表現することが可能です。
RGB値とは…
スキャナーで点群取得の際、同時に写真を撮影した場合、その写真からこの色情報を取得しています。
それぞれ、R=赤、G=緑、B=青という意味になり、それぞれ0〜255までの10進数の数値が入ります。もしくは、16進数の6桁で表す場合もあります。
一般的な点群フォーマットの比較
上述の情報を踏まえて、次の点群フォーマットを読み込み速度という視点で比較していきます。
測定機依存 | バイナリファイル | アスキーファイル | ||
---|---|---|---|---|
① | ②行列タイプ | ③ランダムタイプ | ④行列タイプ | ⑤ランダムタイプ |
・fls ・zfs | ・e57 | ・e57 ・las | ・ptx | ・pts ・ptx ・asc(txt) ・csv |
※バイナリファイルはテキストでは開けませんが、内部的に行列タイプとランダムタイプで分けることができます。
複数のフォーマットが準備できる場合は、以下のような優先順位でフォーマットを決めていただくと、読み込みやすいです。(ClassNK-PEERLESSの場合)
①>②>④>③>⑤
その他読み込み速度に関係すること
弊社のモデリングソフト『ClassNK-PEERLESS』に点群データをインポートする際、点群フォーマット以外にも読み込み速度を速くするためのポイントがあります。
それは、点群ファイルの数です。
地上型レーザースキャナ(TLS)で点群データを取得した際、位置合わせ後のデータ出力時に、次のような出力方法の選択ができる場合があります。
・器械点別のファイルとして(別々のファイルとして)出力
・ひとつのファイルとして出力
ClassNK-PEERLESSでは、どちらの形態のファイルでも読み込むことが可能ですが、この場合、器械点別のファイルの方が読み込み速度が速くなります。
なぜなら、並列処理が可能だからです。
画像の通りに、並列処理では複数のファイルを一度に処理にかけることができるため、1つの大きなファイルを処理するよりも処理時間が短くなります。
この点については、別のシステムでも点群読み込み時に並列処理が可能かどうか確認ができれば、器械点別のファイルで出力した方が読み込み速度が速くなるかもしれません。
ぜひチェックしてみてください。