点群OBJのスムージングで凹凸が乱れる理由
点群から作成したOBJデータをアップロードしたとき、現地では平らに見えた舗装面が波打っていたり、構造物の角が不自然に丸くなっていたりすることがあります。細かなざらつきを抑える目的でスムージングを実行したにもかかわらず、処理前より凹凸が目立つように感じることもあります。
このような現象は、単純にスムージングの設定値が高すぎることだけで起こるわけではありません。元の点群に含まれる外れ値、場所ごとの点密度の差、メッシュを構成する三角形の形状、境界部分の扱い、法線の向き、書き出し時の単位や座標、アップロード先での表示方法など、複数の要因が関係しています。
実務で点群OBJと呼ばれているデータの多くは、取得した点の集合をそのままOBJへ保存したものではありません。点群から表面を推定し、点同士を三角形でつないだポリゴンメッシュとして出力されています。そのため、元の点群が適切に取得できていても、メッシュ化の段階で不要な面が作られたり、点が不足する場所を大きな三角形で補間したりすると、形状に乱れが生じます。
さらに、スムージングには、頂点の座標を実際に移動させる処理と、陰影だけを滑らかに見せる処理があります。両者を区別せずに設定を調整すると、形状が変わったのか、画面上の見え方だけが変わったのかを判断できません。
点群OBJをアップロードして活用する実務担当者にとって重要なのは、単に表面をきれいに見せることではありません。必要な段差、傾斜、角部、法肩、法尻、構造物の輪郭などを維持しながら、不要なノイズだけを抑える必要があります。そのためには、スムージングを最終的な仕上げ作業として捉え、前工程から順番に品質を整えることが大切です。
スムージング処理で変わる情報を理解する
点群OBJの凹凸が乱れる原因を整理するには、スムージングによって何が変わるのかを理解する必要があります。スムージングという名称が付いていても、すべての処理が同じ動作をするとは限りません。
形状を変えるスムージングでは、対象となる頂点の位置を周辺の頂点へ近づけるように移動させます。局所的な突出やへこみは小さくなりますが、同時に必要な段差や稜線も平均化されます。処理後の頂点座標が変わるため、距離、高さ、面積、体積、勾配などの計測結果へ影響する可能性があります。
たとえば、平坦な地面に数ミリメートルから数センチメートル程度のばらつきがある場合、周辺頂点の平均を使う処理によって表面は滑らかになります。しかし、同じ範囲に縁石や浅い排水溝が存在すると、それらも周辺の面へ近づくように変形します。画面上では見やすくなっても、施工上必要な形状が失われるおそれがあります。
一方、表示上のスムージングでは、頂点位置を変えずに法線を補間し、隣り合う面の境目を目立ちにくくします。形状データが同じでも、光の反射が連続的に計算されるため、表面が滑らかな曲面のように見えます。
表示上のスムージングは寸法を直接変化させにくいものの、直角の角部まで滑らかに表示すると、実際より丸く見える場合があります。逆に法線が不適切に設定されていると、平らな面が波打っているように見えたり、隣接する面ごとに明暗が分かれたりします。
OBJ形式には、頂点、面、テクスチャ座標、法線などを記録できます。ただし、スムージングの強度や反復回数を、どの環境でも同じ結果になる形で保存できるわけではありません。作成時の表示環境とアップロード後の表示環境が、法線やスムージンググループを異なる方法で処理することもあります。
そのため、処理画面では正常だったデータが、別の環境へ点群OBJをアップロードした途端に乱れて見える場合があります。まず確認したいのは、頂点の位置が変わっているのか、それとも陰影だけが変化しているのかという点です。
頂点位置の変化は、処理前後の断面や座標を比較することで確認できます。陰影の変化は、滑らかな表示と面ごとの表示を切り替えることで判断しやすくなります。ワイヤー表示で三角形の輪郭が変わっていないにもかかわらず凹凸の見え方が変化する場合は、法線や照明条件が原因である可能性があります。
形状と表示を切り分けずにスムージングを繰り返すと、本来修正する必要のないデータまで変形させることになります。点群OBJの品質を守るには、最初に処理の種類と目的を明確にすることが欠かせません。
対策1 外れ値や計測ノイズを先に除去する
点群OBJのスムージングで凹凸が乱れる場合、最初に確認したいのが元の点群に含まれる外れ値です。外れ値とは、本来の表面から大きく離れた位置に存在する点や、周囲の点と連続していない孤立した点を指します。
スムージングは、外れ値を正しい位置へ戻すための処理ではありません。周辺の点を平均化する処理であるため、強い外れ値が残っていると、その影響が近くの正常な点へ広がります。一本だけ突出した点を消そうとしてスムージングを強くすると、突出点の周囲まで持ち上がり、丘のような膨らみが生じることがあります。
反対に、本来の表面より低い位置に外れ値がある場合は、その周辺が引き下げられ、くぼみとして残る可能性があります。処理前には一つの異常点だったものが、スムージング後には広い範囲の緩やかな変形へ変わるため、見つけにくくなる点にも注意が必要です。
外れ値は、反射条件が不安定な場所、対象物を斜め方向から計測した場所、光沢のある面、水分を含む面、植生、金網、細い部材、動いている人や車両の周辺などで発生しやすくなります。また、複数回の計測データを結合した際に位置合わせが不十分だと、同じ面がわずかにずれた二重面として残ることがあります。
外れ値への対策では、スムージングより先に不要な点を分類し、除去することが基本です。周囲との距離が大きい孤立点は、近傍に存在する点の数や距離を使って検出できます。ただし、数値条件だけで自動的に大量の点を削除すると、手すりや配管、枝、鋭い角など、実在する細い形状まで失う可能性があります。
最初は周囲から明らかに離れた点だけを除去し、その後で表面付近のばらつきを確認します。平面に近い舗装や壁であれば、断面を表示すると上下方向の散らばりを判断しやすくなります。上から見ただけでは正常に見える場所でも、横から見ると点が複数の層に分かれていることがあります。
植生を含む地形では、草木の点を地表面へ押し下げる目的でスムージングを使用してはいけません。草木の点と地表面の点を分類し、地表として使用する点だけを残してからメッシュ化します。植生が密集して地表面を取得できていない場所では、スムージングを行っても正確な地形を復元できません。
また、外れ値を除去した後には点が不足する範囲が生じることがあります。点が抜けた場所を自動で面張りすると、実測していない領域が推定面で埋められます。見た目は滑らかでも、現地形状と一致する保証はありません。穴埋めを行った範囲は、実測範囲と区別できるように管理することが重要です。
スムージングを実行する前に、元の点群、外れ値除去後の点群、メッシュ化後のデータをそれぞれ保存しておくと、どの工程で乱れが発生したかを追跡できます。すべてを同じファイルへ上書きすると、外れ値除去の条件が強すぎたのか、メッシュ化が不適切だったのか、スムージングで変形したのかを確認できません。
点群OBJの凹凸を安定させる第一歩は、スムージングで異常を隠すのではなく、異常の原因となる点を事前に取り除くことです。
対策2 点密度と三角形の偏りを整える
点群から作成されるOBJメッシュの品質は、元の点密度と三角形の形状に大きく左右されます。点が多ければ常に精度が高いとは限りません。点の分布に偏りがあると、スムージングの効果も場所によって変わります。
点が密集している範囲では、計測時の細かな揺らぎまで小さな三角形として再現されます。その結果、表面にざらつきが生じやすくなります。一方、点が少ない範囲では、離れた点同士をつなぐ大きな三角形が作られ、本来存在しない斜面や面が生成されることがあります。
同じ強度のスムージングを全体へかけた場合、点が密な場所では小さな範囲の平均化が繰り返され、点が疎な場所では広い範囲が一度に移動します。密度が切り替わる境界では変形量に差が生じ、線状の段差や波打ちが現れることがあります。
対策としては、対象物と利用目的に合わせて点間隔を整えることが必要です。広い造成地の概形を確認する用途と、構造物の角や段差を確認する用途では、必要な点密度が異なります。広い範囲をすべて高密度のまま保持すると、処理負荷やファイル容量が増えるだけでなく、不要な計測ノイズまで細かく残りやすくなります。
点を間引くときは、単純に一定数ごとに削除するのではなく、空間的な分布が均一になるようにします。ある場所だけ点が残り、別の場所だけ大きく抜ける方法では、三角形の偏りを解消できません。一定の空間ごとに代表となる点を選ぶなど、点間隔をそろえる考え方が必要です。
メッシュ化した後は、三角形の大きさだけでなく、形状も確認します。極端に細長い三角形は、法線方向が不安定になりやすく、頂点移動の計算にも偏りを生じさせます。非常に短い辺と長い辺が混在する面や、一つの頂点へ多数の細長い面が集中する場所は注意が必要です。
地形では、法肩、法尻、急斜面、水路、段差などで点密度が変わりやすくなります。上方から取得した点群の場合、水平面は高密度でも垂直面や急斜面は点が少なくなることがあります。その状態でメッシュ化すると、上面と下面を直接つなぐ大きな三角形が作られ、実際の段差が斜面として埋められる場合があります。
構造物では、異なる面をまたぐ三角形に注意します。床面と壁面、天端と側面、縁石の上面と立ち上がり面など、本来は明確な角を持つ面が一つの連続面としてつながると、角が斜めに埋められます。その後にスムージングをかけると、角部はさらに丸くなります。
メッシュの線を表示し、対象物の形状に沿わない面がないかを確認することが重要です。表面の色やテクスチャだけを見ていると、三角形の不適切な接続に気づけない場合があります。
重複面、自己交差面、孤立した小片、穴、裏返った面なども、スムージング前に修正します。特に小さな浮遊片は、画面を拡大しないと見えにくいものの、アップロード時の表示範囲や法線計算へ影響する場合があります。
アップロード用に面数を減らす場合は、乱れたメッシュへ直接軽量化処理を行わないようにします。外れ値や不正な三角形を残したまま面数を減らすと、誤った形状が少ない面で固定され、後から修正しにくくなります。
実務上は、外れ値除去、点密度調整、メッシュ化、三角形の修正、軽量化、スムージングという順序で進めると、原因を切り分けやすくなります。スムージングは点密度や三角形の問題を根本的に解決する処理ではないため、前工程でメッシュの土台を整えることが重要です。
対策3 スムージングの強度と反復回数を抑える
スムージングの強度や反復回数を増やすと、表面のざらつきは減りやすくなります。しかし、強い設定が高品質な結果につながるとは限りません。処理を重ねるほど必要な起伏や角部まで平均化され、形状が縮んだり、薄い部分が変形したりする可能性があります。
最初から全体へ強い処理をかけるのではなく、弱い強度と少ない反復回数から試します。一回または少数回の処理後に形状を確認し、必要な範囲だけ追加で処理する方法が安全です。
スムージングの変化は一回ごとには小さく見えても、反復すると累積します。最初の処理では目立たない外周の移動も、回数を重ねると輪郭の縮みとして現れます。構造物の幅や厚み、地形の最高点と最低点、開口部の寸法などが少しずつ変化することがあります。
強度を決めるときは、画面上の見た目だけではなく、除去したいノイズの大きさを基準にします。数ミリメートル程度のばらつきを抑える目的で、数十センチメートルの範囲を平均化すると、必要な段差や勾配変化まで失われます。
近傍を検索する半径や距離を設定できる場合は、対象となる点間隔とノイズの規模に合わせます。点間隔より極端に広い範囲を参照すると、別の面や離れた形状まで同じ表面として扱われる可能性があります。
細い配管や支柱、薄い板状の構造物では、表側と裏側の点が近接しています。広い近傍範囲を指定すると、表裏の頂点が互いに引き寄せられ、厚みが減少することがあります。このような形状は全体スムージングの対象から外すか、別の範囲として弱い設定を使用します。
平坦な舗装や床面についても、見た目の波を完全になくすことを目標にしない方が安全です。元の計測精度や対象面の実際の状態によっては、小さな凹凸が現実の形状である可能性があります。過度に平らにすると、施工状態を示す情報まで失われます。
地形データでは、強いスムージングによって尾根や谷が丸くなり、排水方向の判断に影響する場合があります。法肩や法尻が移動すると、斜面長や勾配も変化します。土量計算に使用する場合は、境界のわずかな移動が広い範囲の体積差へつながることがあります。
処理前後では、代表点の座標、断面、面積、体積、外周寸法などを比較します。すべての数値を確認する必要はありませんが、データの用途に直結する項目は必ず確認します。
たとえば、閲覧だけが目的であれば、頂点のわずかな移動より表示の分かりやすさを優先する場合があります。一方、出来形確認や施工前後の比較、土量計算に使用するデータでは、見た目の滑らかさより形状の保持を優先する必要があります。
用途が異なる場合は、計測用データと閲覧用データを分ける方法も有効です。未処理または最小限の処理を行ったデータを計測用として保存し、共有や閲覧のために軽いスムージングを施したデータを別に作成します。
処理条件を記録するときは、強度や反復回数だけでなく、対象範囲、近傍距離、頂点の固定条件、処理前の点数や面数も残します。同じ数値を使っても、元データの密度が異なれば結果は変わるためです。
対策4 境界線や角部を保護して処理する
スムージングによる変形は、メッシュ内部よりも外周や穴の縁、角部、段差、稜線などで起こりやすくなります。これらの部分では、頂点の周囲に存在する面が片側へ偏っているため、平均化すると一方向へ移動しやすくなります。
メッシュの外周にある頂点は、内部の頂点と同じ条件で処理すると内側へ引き寄せられることがあります。その結果、対象範囲の輪郭が縮み、外周付近の高さや傾斜も変化します。
外周頂点を固定できる場合は、スムージング中に移動しない設定を使用します。固定機能がない場合は、外周から一定の範囲を処理対象から除外し、中央部分だけを滑らかにする方法があります。
欠損部や切り抜き範囲の縁も同様です。不要物を除去した跡や点が取得できなかった部分では、穴の周囲だけ頂点が片側に偏っています。スムージングをかけると穴が縮んだり、縁が反ったりする可能性があります。
穴を残すのか、推定面で埋めるのかは、スムージング前に決める必要があります。穴埋め後にスムージングを行う場合は、実測面と補間面の境界が過度に変形していないかを確認します。
構造物の角、舗装面と縁石の境界、床面と壁面の境界、法面と小段の境界などは、形状上の意味を持つ線です。これらを平均化すると、位置や寸法を読み取るための基準が失われます。
角度差が大きい面の間を特徴線として認識できる場合は、該当する辺や頂点を固定します。ただし、計測ノイズが多いデータでは、微小な凹凸まで特徴線として検出されることがあります。角度条件だけで自動処理を完了させず、現地写真や設計形状と照合することが大切です。
面ごとに範囲を分けて処理する方法も有効です。床面、壁面、天端、側面をそれぞれ分離し、各面の内部だけを滑らかにすれば、境界の角を保持しやすくなります。
地形の場合も、法肩、法尻、水路、道路端部、段差などを境界として扱います。地表全体を一つの滑らかな曲面にすると、施工や維持管理で重要な変化点が失われる可能性があります。
複数の点群を結合した境界では、スムージングを位置合わせの代わりに使用しないことが重要です。二つの点群がわずかにずれている状態で平均化すると、境界に幅のある盛り上がりや溝が生じます。
接合部に乱れがある場合は、共通点や基準座標を使った位置合わせを先に見直します。重複している範囲の点を整理し、どちらの点群を採用するかを決めてからメッシュ化します。
切り出し範囲の端部をきれいに保ちたい場合は、必要な範囲より少し広く残した状態でスムージングし、最後に目的範囲へ切り直す方法もあります。最初にぴったり切り出すと、必要な輪郭そのものが外周となり、変形の影響を受けやすくなるためです。
境界や角部を保護した後は、上面だけでなく斜め方向や側面方向から確認します。上から見ると正常でも、側面から見ると端部が反っている場合があります。特に垂直面や薄い部材を含むOBJでは、多方向からの確認が必要です。
対策5 法線とスムージンググループを確認する
点群OBJをアップロードした後に凹凸が乱れて見える場合、形状ではなく法線が原因である可能性があります。法線は、面や頂点がどの方向を向いているかを示す情報で、表面の明るさや陰影の計算に使用されます。
法線方向がそろっていないと、隣り合う面で光の当たり方が不連続になります。平らな面であっても、ある三角形だけ暗く見えたり、まだらな模様が現れたりします。法線が反転している面では、表裏の判定も不安定になることがあります。
まず、面の向きが統一されているかを確認します。閉じた形状では外側へ、地形のような開いた面では主に上方または閲覧側へ向けるなど、基準を決めます。
次に、面法線と頂点法線の違いを理解する必要があります。面法線を使用すると、三角形ごとの向きがそのまま陰影へ反映されます。そのため、メッシュの面構成を確認しやすい一方で、細かな面の境界が目立ちます。
頂点法線を補間すると、隣り合う面の明暗が滑らかにつながります。地形や緩やかな曲面では見やすくなりますが、構造物の角をまたいで補間すると、直角部分まで丸く見える場合があります。
スムージンググループは、どの面同士の陰影を連続させるかを管理するために利用されます。すべての面を同じグループにすると、床面と壁面、天端と側面など、本来は明確な角を持つ面まで滑らかにつながる可能性があります。
反対に、すべての面を別々に扱うと、緩やかな地形でも三角形の境界が目立ち、表面が細かく折れているように見えます。地形の連続面と構造物の角部を分け、それぞれに適した法線処理を行う必要があります。
同じ位置に重複した面が存在する場合も、表示が不安定になります。ほぼ同じ場所へ二つの面が重なっていると、画面上でどちらを表示するかが変化し、ちらつきや縞模様が現れることがあります。
表面と裏面が近接している場合や、複数のメッシュを結合した際に面が重なった場合は、重複面を除去します。ただし、頂点を結合するときの距離を大きくしすぎると、近くにある別の形状まで一つにまとめられるため注意が必要です。
縁石の上下、薄い壁の表裏、溝の両側、配管の近接部分などは、距離が近くても異なる面です。座標の単位を確認し、必要最小限の距離で結合します。
法線の乱れとテクスチャの見え方を区別することも重要です。現地写真を貼り付けたOBJでは、撮影時の影、濡れ、汚れ、材質の違いなどが凹凸のように見える場合があります。
テクスチャを一時的に無効にし、単色の陰影で表示すると、形状と画像のどちらが原因かを判断しやすくなります。テクスチャを消すと乱れが見えなくなる場合は、メッシュを追加でスムージングする必要がない可能性があります。
また、アップロード先がOBJに保存された法線を使用せず、頂点と面から自動的に法線を再計算することもあります。その場合、作成時の画面とアップロード後で見え方が変わります。
点群OBJアップロード前には、法線を保存した状態と、法線を再計算した状態の両方を確認し、アップロード先の表示に適した書き出し条件を選ぶことが大切です。
対策6 書き出し条件とアップロード後の表示を検証する
スムージング後の作業画面が正常でも、書き出されたOBJが同じ状態とは限りません。OBJ出力時には、頂点の結合、面の再構成、法線の再計算、座標の丸め、不要頂点の削除などが実行される場合があります。
そのため、作業中の画面だけを確認してアップロードするのではなく、書き出したOBJを新規データとして再度読み込むことが重要です。再読み込み後に、頂点数、面数、外形寸法、原点位置、法線、穴、重複面、テクスチャ参照などを確認します。
特に注意したいのが単位です。OBJ形式の座標値には、メートルやミリメートルといった単位が常に共通の方法で記録されるわけではありません。作成側とアップロード側で単位の解釈が異なると、モデル全体の大きさが変わります。
単位の違いは、見た目の縮尺だけでなく、近傍計算や表示精度にも影響する可能性があります。メートル単位で想定した処理距離を、ミリメートル単位のデータへそのまま適用すると、意図した範囲より極端に小さくなります。反対の場合は、広い範囲を平均化することになります。
座標値が非常に大きい場合にも注意が必要です。公共座標や現場座標をそのまま保持したOBJでは、原点から遠く離れた位置にモデルが存在することがあります。表示環境によっては、大きな座標と細かな形状を同時に扱う際に、表面のちらつきや位置表現の不安定さが現れる可能性があります。
アップロード先が大きな座標を扱いにくい場合は、閲覧用としてローカル原点へ移したOBJを作成する方法があります。ただし、元の座標へ戻すための移動量や回転条件を必ず記録します。座標情報を失った閲覧用データを、測量成果や位置確認用データとして誤使用しないように管理する必要があります。
OBJとともにマテリアル情報やテクスチャ画像を使用する場合は、ファイル名と参照関係も確認します。OBJ本体だけをアップロードし、関連ファイルが不足していると、色や写真が表示されません。
逆に、テクスチャ画像の解像度が高すぎたり、ファイル構成が複雑だったりすると、読み込みに時間がかかり、表示上の不具合と形状の問題を混同しやすくなります。アップロード用フォルダには、公開や共有に必要なファイルだけをまとめます。
ファイル名を変更した場合は、OBJや関連情報の中に記録された参照名も一致させます。文字の種類や記号、階層の深さによっては、アップロード後に参照できない場合があります。可能な範囲で分かりやすく簡潔な名前を使用します。
アップロード後の検証では、モデル全体が表示されたことだけで完了と判断しません。処理前に選んだ代表地点を開き、平坦面、急斜面、構造物の角、境界、欠損周辺、点群の接合部などを確認します。
アップロード前と同じ視点、同じ断面位置、同じ縮尺で比較できるようにすると、変化を把握しやすくなります。画面記録や確認地点の座標を残しておく方法も有効です。
凹凸が乱れて見えた場合は、すぐに元データへ強いスムージングを追加するのではなく、原因を切り分けます。頂点位置、法線、テクスチャ、単位、座標、照明、表示モードのどこに変化があるかを確認します。
面ごとの表示では正常で、滑らかな表示だけが不自然な場合は法線補間が原因と考えられます。テクスチャを無効にすると正常になる場合は、画像上の影や色むらが原因です。断面そのものが変形している場合は、形状スムージングやメッシュ化を見直します。
アップロード先に合わせて元データを過度に変形すると、別の環境や計測用途で利用できなくなるおそれがあります。形状を保持する原本と、閲覧しやすさを優先したアップロード用データを分けて管理することが安全です。
地形と構造物で設定を使い分ける
点群OBJのスムージングでは、地形と構造物を同じ条件で処理しないことが重要です。地形は緩やかに連続する面が多い一方、構造物には平面、直線、直角、段差、薄い部材などが含まれます。
地形では、細かな計測ノイズを抑えることで、全体の傾斜や起伏を読み取りやすくなる場合があります。しかし、法肩、法尻、小段、水路、轍、洗掘、沈下なども凹凸として存在します。これらをノイズと判断して消すと、施工や維持管理に必要な情報が失われます。
広い造成面や舗装面でも、実際には完全な平面ではありません。排水のための勾配や局所的な不陸が存在します。見た目を平らにすることだけを目標にすると、実際の状態から離れたモデルになります。
地形の処理では、基準点や既知の標高を動かさないようにし、代表断面で高さの変化を確認します。特に法肩や法尻の位置が移動すると、斜面長や勾配、土量計算へ影響します。
急斜面では点密度が不足しやすく、上部と下部を細長い三角形でつなぐことがあります。スムージング前にメッシュ線を表示し、実際の斜面に沿わない接続を修正します。
構造物では、全体スムージングよりも面ごとの処理が適しています。床面、壁面、天端、側面などを分け、それぞれの内部だけを整えます。面の境界では頂点位置や法線を分離し、角を保持します。
縁石、側溝、階段、基礎、柱などでは、数センチメートル程度の段差が重要な意味を持つことがあります。広い範囲を平均化すると、段差の高さや位置が変わるため、対象から除外するか、非常に弱い設定を使用します。
配管、手すり、ケーブル、支柱などの細い部材は、スムージングによって直径や厚みが変わりやすい形状です。表側と裏側が近接するため、近傍距離を広く設定すると形状がつぶれます。
地形と構造物が混在する現場では、点群を用途ごとに分ける方法があります。地表面用、構造物確認用、閲覧用の統合データを分けておけば、それぞれに適した処理を適用できます。
一つのOBJですべての用途を満たそうとすると、地形に適した設定で構造物が丸くなったり、構造物に適した設定で地形のざらつきが残ったりします。ファイル数が増えても、用途別に管理する方が品質を維持しやすくなります。
点群OBJアップロード前に確認したい手順
点群OBJの品質確認は、毎回同じ順序で行うと見落としを減らせます。最初に取得直後の点群を保存し、編集用の複製を作成します。原本は上書きせず、再処理が必要になったときに戻れる状態を維持します。
次に、孤立点、移動物、植生、反射による異常点、重複範囲などを確認します。明らかな外れ値を除去し、必要に応じて地表や構造物などへ分類します。
その後、点密度を確認します。過密部分と疎な部分の差が大きい場合は、用途に合わせて点間隔を整えます。必要な細部まで消さないように、全体を同じ密度へ強制的にそろえるのではなく、範囲ごとに判断します。
メッシュ化した後は、ワイヤー表示で三角形の状態を確認します。細長い面、大きすぎる面、角をまたぐ面、重複面、交差面、孤立片、穴などを探します。
メッシュの修正が完了したら、法線方向をそろえます。地形の連続面と構造物の角部を分け、必要に応じてスムージンググループを設定します。
形状スムージングを行う場合は、対象範囲を限定し、弱い強度と少ない回数から開始します。外周、穴の縁、角部、段差、基準点などは固定または除外します。
処理前後で代表地点の断面と座標を比較します。全体表示だけでは小さな変形を見落としやすいため、平坦面、斜面、境界、構造物の角、接合部など、問題が起きやすい場所を選びます。
アップロード用に軽量化する場合は、スムージング後の形状を確認してから面数を減らします。軽量化の前後でも、断面や外形寸法を比較します。
OBJを書き出した後は、出力ファイルを新規データとして読み込みます。作業中のデータと同じように見えるか、頂点数や面数が意図せず変わっていないかを確認します。
座標、単位、原点位置、関連ファイルの参照、ファイル名も確認します。圧縮してアップロードする場合は、必要なファイルが同じフォルダ構成に含まれているかを見ます。
アップロード後は、事前に選んだ代表地点を再確認します。表示モードやテクスチャの有無を切り替え、形状と陰影のどちらに問題があるかを判断します。
この手順を固定しておけば、問題が発生した工程を特定しやすくなります。スムージングの設定値だけを変更し続けるより、短時間で原因へ近づけます。
処理前後の品質を判断する方法
スムージング後の点群OBJは、表面が滑らかに見えるかどうかだけで評価できません。見た目が整っていても、必要な形状や寸法が変わっていれば、実務データとしての信頼性は低下します。
最初に、処理の目的が達成されたかを確認します。表示上のざらつきを抑える目的であれば、面のちらつきや法線の不連続が改善したかを見ます。外れ値周辺の形状を整える目的であれば、突出やへこみが局所的に抑えられたかを確認します。
次に、保持すべき形状が残っているかを確認します。法肩、法尻、段差、開口、外周、構造物の角、排水方向、細い部材などが処理前と比べて変化していないかを見ます。
断面比較は、スムージングの影響を確認するうえで有効です。処理前後で同じ位置と方向の断面を作成し、高さや輪郭を重ねて比較します。平面表示では分からない上下方向の変形を確認できます。
差分表示ができる場合は、頂点や面の移動量を確認します。全体が均一にわずかに動いたのか、特定の範囲だけ大きく変化したのかを判断します。
外れ値周辺だけ大きく動いている場合は、スムージング前のノイズ除去が不足している可能性があります。境界付近だけ動いている場合は、外周固定や特徴線保護の設定を見直します。
座標の確認では、動かしたくない基準点を選定します。基準点そのものだけでなく、その周辺の頂点も確認します。座標変換やローカル原点への移動を行った場合は、変換量が記録どおりであるかを確認します。
面積や体積を利用する場合は、処理前後の差を算出します。差が小さければ必ず問題がないというわけではありませんが、意図しない大きな変形を見つける指標になります。
局所的な膨らみとへこみが相殺されると、全体体積がほとんど変わらない場合があります。そのため、体積だけでなく断面や差分表示も併用します。
アップロード後は、テクスチャ表示を無効にし、単色の陰影でも確認します。テクスチャを外すと凹凸が消える場合は、写真の影や色むらが形状に見えている可能性があります。
滑らかな表示と面ごとの表示も切り替えます。面ごとの表示では正常で、滑らかな表示だけが不自然な場合は、法線やスムージンググループが原因と考えられます。
確認結果は、単に合格か不合格かだけでなく、利用できる範囲を整理します。閲覧には使用できるが数量計算には使用しないデータ、概略確認には使えるが出来形の判断には使わないデータなど、用途を明確にします。
処理条件と確認結果を残すことも重要です。スムージングの強度、反復回数、近傍距離、対象範囲、外れ値除去条件、点間隔、面数、法線設定、座標変換、書き出し条件などを記録します。
同じ現場で再計測した場合や、別の担当者がデータを更新する場合でも、処理履歴があれば品質をそろえやすくなります。点群OBJの品質管理では、完成したファイルだけでなく、そこへ至る工程を追跡できる状態が重要です。
まとめ
点群OBJのスムージング後に凹凸が乱れる原因は、設定の強さだけではありません。元の点群に含まれる外れ値、場所ごとの点密度差、不均一な三角形、境界頂点の移動、角部の平均化、法線の不統一、単位や座標の解釈、書き出し時の再計算、アップロード後の表示条件などが影響します。
対策の第一歩は、スムージングで問題を隠すのではなく、外れ値や計測ノイズを先に整理することです。その後、点密度と三角形の偏りを整え、弱い強度と少ない反復回数から処理を始めます。
外周、穴の縁、法肩、法尻、構造物の角、段差などは、形状上の意味を持つため保護する必要があります。表示だけが乱れている場合は、頂点を動かす前に法線やスムージンググループを確認します。
書き出したOBJは必ず新規データとして再読み込みし、頂点数、面数、外形寸法、断面、法線、座標、単位、関連ファイルの参照を確認します。アップロード後にも同じ地点を確認し、形状の変化と陰影の変化を切り分けます。
地形と構造物では、必要な形状や適切な処理条件が異なります。一つの設定を現場全体へ一律に適用するのではなく、範囲や用途ごとに処理を分けることが重要です。
点群OBJを計測や比較に使用する場合は、見た目の滑らかさよりも元の座標と形状を保持することを優先します。閲覧用のデータが必要であれば、計測用の原本を残したうえで、軽いスムージングや軽量化を施したデータを別に作成すると安全です。
現場で取得した点群や位置情報を整理し、処理前後のデータを比較しながらアップロードまで進めることで、凹凸の乱れや形状崩れを抑えやすくなります。点群の取得から位置情報の確認、データ共有までを効率化したい場合は、LRTK Phoneを活用した運用も確認してみてください。