鉄工所の三代目がもがくblog

鉄工の仕事の話はほぼ出てこない

「3Dスキャナとは?」と運用の話 中長距離型編

3DスキャナといえばKinectのような小型のハンディタイプを連想される方が多いかと思います(Kinectは3Dスキャナとして「も」使われている、という感じですが)。
弊社でもハンディタイプを所有していますが、主力は据え置き型の中長距離レーザースキャナですのでまずこちらについて利用例等をご紹介します。
「3Dスキャナとは?」と題してはおりますが、基本的には計測した後の処理の話がメインです。

中長距離型3Dレーザースキャナについて

f:id:kkei17:20150720153807j:plain*1

仕組みの簡単な説明

弊社で使用しているFARO Focus3Dはレーザーを照射して反射して帰ってきた光によって距離を計測します。
自分は人に説明する時ゴルフ等で使うハンディ測定器のオバケみたいな物なんて言い方をよくしますが、点を高密度で打っていけば線になり、それを繰り返せば面になるように、計測をひたすら数百万回レベルで繰り返し点の集合体で立体を表現する実に力技な装置だったりします。色の取得は内蔵されたカメラで行います。
ちなみに計測データを点群データやPointcloudと呼んだりするのですが、これは出来上がったデータがまさに点の集合体である事から来ています。

 

スキャナの立ち位置から見える物を360°取得

一般的に据え置き型は垂直/水平方向に回転する反射鏡と雲台により360°のデータ取得が可能です。
もちろんスキャナの足元は死角になっていたり、レーザーが返ってこなくなるほどの遠距離や乱反射する対象は測れないといった制限はあるのですが、1スキャン10分以内(点密度の設定/色の取得の有無にもよりますが)で形状と色を取得できます。
精度はカタログスペック上はFocus3Dで"範囲誤差±2mm(範囲誤差とは、スキャナーの位置と平面ターゲット間で生じる最大誤差をいう)"との事です。
現場をこれほど高速、高精度に保存する方法はレーザースキャナを超えるものは無いでしょう。

ただし、スキャナから見える範囲は漏れなく取得できますが、死角になっているところは完全にデータが抜け落ちています。

f:id:kkei17:20150720153318p:plain*2
この場合スキャナを動かして死角がなくなるまで計測を繰り返すのですが、スキャナを担いで動かしてしまうとスキャンデータ間の位置関係がわからなくなってしまいます。
そこでデータ間の位置関係の把握の為に基準球と呼ばれる白い球を配置します。
目安としてスキャンAとスキャンBに共通する3点があれば半自動的にデータの接合が可能です。

f:id:kkei17:20150720151343p:plain

点群データで出来ること

取得した点群データを用いて以下のようなことができます。

・360度ビューの閲覧
・計測
スクリーンショットの作成
・ウォークスルームービーの作成
・CADデータの作成

見るだけであれば点群のままでも良いのですが、実際に業務に使用する場合は次のステップに処理を進める必要があります。

活用の幅を広げる3DCADデータ化 しかし

点群データを読める環境もそう多くないので、一般的には点群をベースにモデリングをして3DCADデータとして取り扱うケースが多いのではないかと思われます。
3DCADデータ化することによりデータサイズが格段に小さくなります。

ただしそのモデリングもかなり難工事で1案件で平気で数Gバイトを超える点群データを扱う必要があるのでそれ相応のスペックのPCとソフトウェアを要求されます。

そして前述した通り点の集合体でしかないので人間の目であればこれは壁、これは地面、と言った区別は可能ですが、コンピュータ的には座標の集まりでしかありません。
故に基本的には"自動変換"ではなく"点群を下敷きにして人間が3DCADを書いていくという作業"になります(この認識は超重要)*3

現状では、点群の断面をとって線を引きそれを押し出してみたり、パイプを一本一本なぞって認識させたりという方法を取らざるを得ません。

最近はソフトウェアも進化してきて点群をインポートすればある程度の壁やパイプは自動的に面や円筒などのサーフェスモデルとして認識できるようになってきていますが形状認識だけでは誤検出も多く、大部分を精度良く自動モデリングするにはまだまだ時間がかかりそうです。
現実的な運用としては全体に自動認識をかけて不要なものを削除していくか、何らかの方法でフィルタをかけて信頼性のある部分のみ自動認識を用いるといった流れになるかと思います。

そしてもう一つ、ここまで苦労して3Dモデルを作っても点群の色や、本物がもつ細かい形状はモデリング時に失われてしまいます(必要であればテクスチャなどを貼る必要があります)。工業用途ならそれでも良いのですが景観保存とはやや相性が悪いです。

こんな事には向いている

接近できない対象(危険地帯や橋梁など接近が難しい場所)や取り壊しが決まっていて全体の保存が必要な物件、図面が既に失われている建築物の図面化などには力を発揮します。
そもそも弊社は造船系の鉄工所であり、船舶の大規模改修の為の図面作成(リバースエンジニアリング)がスタート地点です。
外航船は条約により現役の船に対して新しいフィルタ類を設置しそれに伴う大規模な配管工事を短期間で大量に行う必要に迫られているのですが、以下の問題が存在しています。

・現役船なのですぐに長い航海に出てしまう。(=再訪問無しで一回で計測を終えたい)
・図面が存在しなかったり、あっても2Dだったり、増改築されていて図面が生かせない。

・そもそも船は図面通りにはできていない。図面レベルで「現場合わせのこと」なんてザラ。

そのあたりの概要は弊社サイトのこのあたりを参照して頂くとして、上記の問題は3Dスキャナを用いたリバースエンジニアリングで何とか実用レベルまで到達し、実績をあげる事ができました。
ともかく、後処理には時間をかけても良いが現場は短時間で済ませたい、計測し忘れによる再訪問は極力したくないというケースには絶大な力を発揮します。

まとめ

3Dスキャナで取得した点群データからは画像の切り出しや動画の作成、3Dモデルの作成のベースに用いることができます。
なんとなく便利さと面倒臭さを感じて頂けたのではないでしょうか。
各項目とも簡略化の為に大幅に説明を省いていますので次回以降で具体例を挙げながら説明していきたいと思います。

*1:FARO Focus3D公式サイトより引用

*2:図はスキャナ位置と死角の関係。

*3:大規模な建築物を計測していてこりゃモデリングに2か月はかかるな。と思っていたら「で、これモデリング何日でできる?2日?」と聞かれたこともあった。このギャップが怖い。