デモンストレーション
デモ動画 橋脚の点群データからワイヤーフレームを作成している様子
本研究の概要
我が国では,高度経済成長期に施工された社会インフラ設備の老朽化が深刻であり,長寿命化のための点検や補修が急務である.こうした背景の下,国土交通省では,CIMやi-Constructionを推進しており,点群データや3次元モデルの活用による維持管理業務の効率化を目指している.しかし,橋梁等の既設構造物を計測した点群データをもとに3次元モデルを作成する必要があり,専門的な知識や多大な労力を要する.既存研究では,点群データからワイヤーフレームを生成して得られた寸法値を用いて3次元モデルを生成する手法が提案されているが,過剰な辺の誤生成や欠損,過剰補完があり,検査対象の部位の形状や寸法を誤推定する課題がある.このことから,3次元モデルを作成する最終的な段階において,人手で確認と修正した上でモデル化する必要がある.そこで,本研究では,点群データを基にワイヤーフレームモデルを始めとした3次元モデルデータの作成を支援する技術を提案する.
研究背景
我が国では,高度経済成長期に施工されたインフラ設備の老朽化が深刻であり,長寿命化のための点検や補修が必要である.国土交通省による調査結果を図1に示す.特に,老朽化が激しい橋脚は,定期的な維持管理が求められる.しかし,現存する橋脚の設計図面や関連する資料は紙媒体が主流で,劣化や紛失等で存在しないことが多い.また,設計図面がある場合でも,LOD300(Level Of Detail)に準拠した3次元モデルの作成は,点群データの欠損による影響で,正確なモデル化が困難である.そのため,現在では,レーザスキャナ等の計測機器を用いて対象の建造物を計測し,その点群データを用いて維持管理に活用可能な3次元モデルが作成されている.ただし,点群データから3次元モデルを作成する場合,専門的な知識や多大な作業コストが必要であることから,すべての既存建造物を手作業でモデリングすることは困難である.
こうした背景の下,図2に示すような既存研究[1]では,既設構造物を検査対象ごとにモデル化するため,部位ごとの点群データに分離した後,深層学習を用いて点群データからワイヤーフレームを生成し,事前に用意された部位ごとのテンプレートの3次元モデルと遺伝的アルゴリズムを用いて点群データに3次元モデルをフィッティングする手法が提案されている.しかし,事前に用意されたテンプレートの3次元モデルを選択するには,その部位がどのような形状のテンプレートに一致しているかを判定する必要がある.そこで,著者らは,計測した橋脚の点群データからワイヤーフレームを生成する手法[2]を利用し,推定したワイヤーフレームの辺の数等を用いて橋脚の種別を自動的に推定する手法[3]を提案した.これにより,橋脚の疑似的に生成した点群データ(以下,疑似点群データ)から橋脚種別を自動的に判定ができることを示した.しかし,生成したワイヤーフレームの中に二重に生成された辺,欠損した辺や本来生成する必要がない箇所に誤推定された辺があると,橋脚の形状の種別を誤推定する課題がある.加えて,既存手法[2]では,遺伝的アルゴリズムによるパラメータ探索の初期値としてワイヤーフレームから得られた寸法値を設定しているため,過剰に生成された辺や欠損した辺があると,正確な寸法値を取得できない課題も発生する.これらの課題から,橋梁の点群データから自動的に3次元モデルを正確に生成することは容易ではない.以上のことから,本研究では,橋梁の点群データと暫定的に作成された3次元モデルから,最終的な橋梁の3次元モデルの作成を支援する技術を提案する.
本研究の目的
本研究では,橋脚の点群データを基にして,ワイヤーフレームモデルを始めとした3次元モデルの作成を支援する技術の提案を目的とする.具体的には,まず,各種モデルデータを読み込み,可視化する.次に,読み込んだ点群データから,3次元モデルの作成に必要な情報を解析した上で提示する.最後に,提示された情報を基に3次元モデルを作成し,各種ファイル形式で保存する.これにより,既存手法で推定した3次元モデルが誤推定している場合でも点群データを基に修正した上で最終的な3次元モデルを作成できる.
既存研究
点群データから3次元モデルを作成するための既存技術として,Autodesk社のAutoCAD[5]を始めとした工業分野向けの3DCADや同社のMaya[6]やBlender Foundationがオープンソースで公開しているBlender[7]等,主に映像制作向けの3DCGソフトウェアが存在する.また,Autodesk社では,計測した各種データから設備の設計を支援するソフトウェアReCap[8]や,土木分野に特化した3次元的な設計と施工を可能とするCivil 3D[9]が開発されている.さらに,Intelligent Style社が提供している膨大な数の点群データから,付加した情報を基に利活用が可能な基盤が構築された点群データブラウザ3D Point Studio[10]が存在する.
Autodesk社のAutoCAD[5]では,構造物や製品等の設計と製図を主な利用用途とする有償のソフトウェアであり,2次元と3次元,両方の製図をサポートしている.さらに,共同作業の環境や同シリーズのソフトウェア同士で利用可能な独自規格のファイルのサポート等,連携のしやすさがソフトウェアの特徴となっている.また,同社のReCap[8]やCivil 3D[9]では,写真測量やレーザスキャナ等で計測した3次元点群データから3次元モデルの作成,分析等が可能で土木分野における設計と施工の場面での活用が可能な有償のソフトウェアである.
Intelligent Style社が提供している3D Point Studio[10]では,全体を計測した点群データを国土交通省が定める「点群データの属性管理仕様(道路編)」[11]に準拠したSemantic Point Cloud Dataとして付加した情報と共に一つの「領域データ」として点群データを管理することで,場所の情報に加え,設置物の情報,計測に関する情報等の様々な情報を「領域データ」に含めて蓄積することが可能である. Autodesk社のMaya[6]やBlender FoundationのBlender[7]では,映像やゲームで使われる3次元モデルの作成を主な利用用途とする有償のソフトウェアであり,3次元モデルの動きを付与するアニメーションの作成も可能である.
既存研究の課題
前述したこれらの既存技術を3次元モデルの作成支援技術に適用する場合,いくつかの課題が生じる.Autodesk社のAutoCAD[5]やMaya[6]では,設計と製図に重点が置かれている点や映像制作等のクリエイティブな分野で主に用いることが多いことから,インフラ設備の維持管理業務には適さない.Blender Foundationが提供しているBlender[7]では,プラグインの追加により新規機能を実装することが可能だが,点群データの処理において,利用可能な範囲は限定的である.Autodesk社のReCap[8]シリーズやCivil 3D[9]では,現場の現況を計測した3次元データを基に,構造物の設計や製図,工事シミュレーションが可能だが,構造物の維持管理には適さない点や操作の習得のための学習コストを要する点,ライセンスにかかる費用が課題となる.Intelligent Style社が提供している3D Point Studio[10]では,対象物ごとに点群データを「領域」として管理しているが,点群データから3次元モデルを作成することはできない課題がある.
課題に対する対応策
点群データからポリゴンメッシュやワイヤーフレームなど3次元モデルの作成を支援する技術を開発することで,点群データに沿ったモデル化が可能となる.そこで,本研究では,各種3次元モデルデータを読み込み,可視化する機能に加え,点群データ対して前処理によって抽出したエッジの点群の部分に自動的に移動することによって,3次元モデルの効率的な作成,修正を支援する技術を提案する.
提案手法
本研究で提案する手法の流れを図3に示す.提案手法は,3次元モデル可視化機能,情報提示機能とモデル修正機能で構成される.入力データは,橋脚を計測した点群データと3次元モデルデータ,出力データは,修正後の3次元モデルデータとする.さらに,本研究で実装する機能を3つの提案手法を分類項目として表1のように各機能を分類した.
a) 3次元データ可視化機能
本機能は,図4に示すように点群データ,ポリゴンメッシュとワイヤーフレームをそれぞれ読み込み可視化する.各種データの読み込みにはOpen3d[12]を用いて各種対応するデータ形式で読み込み,最低限の情報を保持するものとする.ポリゴンメッシュデータでは,STL形式のファイルをサポートしており,頂点座標情報と三角面を構成するための頂点同士の接続情報を持つ.ワイヤーフレームデータでは,OBJ形式,テキストファイル形式をサポートしており,頂点座標情報と直線を構成するための頂点同士の接続情報を持つ.点群データでは,PLY形式とテキストファイル形式をサポートしており,頂点座標情報と各点の色情報を持つ.各種データの可視化にはwxPython[13]でウィンドウを構成し,3次元データの描画にはOpenGL[14]のラッパーライブラリであるPyOpenGL[15]を通じてOpenGL[14]を利用し,描画する.
b) 情報提示機能
本機能では,前述の3次元データ可視化機能で読み込み,図5に示すような可視化した各種データを選択した対象の面や辺を強調して表示する.さらに,点群データに対しては,主成分分析を適用して得られた固有値から曲率を算出し,閾値以上の曲率をもつ点をエッジ点として抽出する処理(以下,前処理)で抽出したエッジ点のみを表示して,図6に示すような点群データの概形を可視化する.
c) モデル修正機能
本機能では,前述の情報提示機能で提示した情報を基に,選択した辺を点群データ上のエッジ点の部分まで自動的に移動して修正する.まず,移動の対象となる辺を選択する.次に,図7に示すように,前処理で抽出したエッジの点群データに対して,各点の各座標軸の分布を解析して,辺の移動先の候補を算出する.このとき,各座標軸の分布は,その軸の最小値と最大値の範囲内を一定区間数で分割したものとし,その区間内で度数が最大値付近である座標値を移動先の座標の候補として算出する.最後に,選択した対象の辺を付近にある移動先の候補まで自動的に移動する.
参考動画 橋脚の点群データからワイヤーフレームを作成している様子
検証実験
本実験では,疑似的に生成した点群データ(以下,疑似点群データ)を対象に,提案手法の導入前後でのワイヤーフレームの寸法値と正解の寸法値との差や,3次元モデルの作成に要した時間を比較し,提案手法の有用性を確認する.
実験内容
本実験では,実際の構造物であるT型橋脚を対象に評価する.評価対象とする点群データには,既存研究[4]と同様に,各寸法値を任意の値に設定可能なT型橋脚のパラメトリックモデルの表面上に疑似的に生成した点群データを用いる.
まず,実験データは,事前にパラメトリックモデルのテンプレートを用意し,その寸法範囲において一定の間隔で寸法値を変更することで橋脚の3次元モデルを生成する.この手順で実験データを10個生成し,この寸法値を正解の寸法値とする.生成した実験データのそれぞれの寸法値を表2に示す.
次に,生成した橋脚の3次元モデルに対して,各寸法値を指定した範囲内で値をランダムに変更して,さらに10個生成する.このデータを修正前の寸法値とする.本実験では,修正前のデータに対して,提案手法を用いて3次元モデルを修正したものを「導入前」,提案手法のモデル修正機能の「エッジフィッティング処理」を用いて3次元モデルを修正したものを「導入後」として実験する.
最後に,評価は,提案手法のエッジフィッティング処理の導入前後でのワイヤーフレームの寸法値と正解の寸法値との差で評価する.さらに,提案手法の導入前後での,ワイヤーフレームの修正に必要とした時間を比較する. 実験機器は,デスクトップPCで,Python[16]の標準機能として利用可能な仮想環境のツールを用いて,仮想的な実行環境でソースコードを実行した.実装するソースコードは全てPython言語[16]で記述されており,記述にはMicrosoft社のVisual Studio Code[17]とJetBrains社のPyCharm[18]を用いた.動作する際のバージョンはPython3.10である.
評価結果と考察
実験対象のデータの例を図8,提案手法を用いて修正したワイヤーフレームの可視化結果を図9に,修正後のワイヤーフレームの寸法値と最確値との比較結果を表3と表4に示す.また,最確値との誤差平均において,提案手法の導入前後の平均誤差の比較結果を表5と表6に示す.さらに,各パラメータの平均の寸法誤差の比較結果を表7と表8に示し,3次元モデルの作成に要した各データの時間を表9に,導入前後で全データの平均時間を表10に示す.図9から,Cloud Compare[19]による可視化結果を確認すると,点群データに沿ったワイヤーフレームを生成できていることが確認できる.さらに,表3と表4,表5と表6を確認すると,提案手法の導入後は,下線で示すような寸法値の誤差平均から,誤差の平均は減少し,提案手法によって点群データから3次元モデルを高精度に作成できたことがわかる.さらに,表9から,全てのデータの平均時間を確認すると,提案手法の導入後は,同様に下線で示すような作成に必要な平均時間から,作成時間の平均は減少し,提案手法によって3次元モデルを効率的に作成できたこともわかる.ただし,梁部分のパラメータでは,一部で誤差が増加した部分が見られた.これは,図10に示すようにモデル修正機能のエッジフィッティング処理において,エッジ点の分布数のピークが網羅的に検出されず,本来のエッジ座標から外れたピーク座標に修正したためと推察される.以上のことから,提案手法の導入後では,点群データから3次元データを高精度かつ効率的に作成できたといえるものの,エッジ点の分布数のピークを網羅的に検出する方法の再考が必要と考えられる.
まとめ
本研究では,点群データと各種3次元データを読み込み,可視化した上で,点群データと提示された各情報を基に3次元モデルの作成を支援することで高精度かつ効率的に作成できる技術を提案した.そして,実証実験を通じて,提案手法の有用性を確認することができた.今後は,エッジフィッティング処理が適用できなかった部分において,エッジ点の分布数のピークを網羅的に検出できるように処理を再考することで,より多くのエッジ位置の候補を検出し,エッジフィッティングができるように改良する.また,3次元モデルの辺以外にも,コーナ点(頂点)部分を自動的に修正する機能の実装やUI設計の見直しにより,精度と操作性の向上を図る.さらに,疑似的に生成した点群データだけでなく,実際の構造物を計測した点群データに対しても適用し,同様の傾向が見られるか確認することで,実用性を評価する予定である.
参考文献
[1] 国土交通省:国土交通白書2021, https://www.mlit.go.jp/hakusyo/mlit/r02/hakusho/r03/html/n1221000.html,2023.11.30.
[2] 塚田義典,中原匡哉,梅原喜政,田中成典,武内克樹,中井瑞基:橋梁点群データからのエッジ推定によるパラメトリックモデルの生成に関する研究,土木学会論文集,Vol.80,No.22,2024.
[3] X. Tan, D. Zhang, L. Tian, Y. Wu, Y. Chen : Coarse-to-Fine Pipeline for 3D Wireframe Reconstruction from Point Cloud, ELSEVIER Computers & Graphics, Vol.106, pp.228-298, 2022.
[4] 中原匡哉,塚田義典,梅原喜政,田中成典,武内克樹,南李玖:深層学習を用いた橋脚種別の推定に関する研究,情報処理学会全国大会講演論文集,Vol.86,No.4,pp.797-798,2024.
[5] Autodesk : AutoCAD,https://www.autodesk.com/jp/products/autocad/overview, 2024.1.10.
[6] Autodesk : Maya,https://www.autodesk.com/jp/products/maya/overview, 2024.1.10.
[7] Blender Foundation : Blender,https://www.blender.org/, 2024.1.10.
[8] Autodesk : ReCap Pro,https://www.autodesk.com/jp/products/recap/overview, 2024.1.10.
[9] Autodesk : Civil 3D,https://bim-design.com/infra/product/civil3d/, 2024.1.10.
[10] Nakamura, K., Imai, R., Tsukada, Y., Umehara, Y., Tanaka, S. : 3D Point Studio: Utilization Platform for Point Cloud Data, Journal of Digital Life, Vol.3, 2023.
[11] 国土技術政策総合研究所:点群データの属性管理仕様【道路編】, https://www.nilim.go.jp/lab/qbg/researchfields/gis/pdf/zokuseikanrisiryou.pdf, 2024.1.10
[12] Intelligent Systems Lab : Open3d A Modern Library for 3D Data Processing,https://github.com/isl-org/Open3D, 2024.1.10.
[13] The wxPython Team : wxPython,https://wxpython.org/index.html, 2024.1.10.
[14] Khronos Group : OpenGL,https://www.opengl.org/, 2024.1.10.
[15] J. Hugunin, T. Schwaller, D. Ascher : PyOpenGL,https://github.com/mcfletch/pyopengl. 2024.1.10.
[16] Python : https://www.python.org/, 2024.1.10.
[17] Microsoft : Visual Studio Code, https://azure.microsoft.com/ja-jp/products/visual-studio-code, 2024.1.10.
[18] JetBrains : PyCharm, https://www.jetbrains.com/pycharm/promo/, 2024.1.10.
[19] CloudCompare : Open Source Project, https://www.danielgm.net/cc/, 2024.1.10.
コメント