深度計測デバイスによるデータからの深度計測デバイによるデ タからの３D図面自動生成に関する研究

A study of automatic 3D-CAD data generation
using data from depth sensors

九州大学大学院工学府海洋システム工学専攻修士2年 河内基樹
九州大学大学院工学研究院海洋システム工学部門 木村 元

1.研究の背景と目的
背景と問題点••

バラスト水処理装置搭載の義務化（2004年IMO会議 バラスト水管理条約）
造船所に図面、または3DCADデータが存在しない→建造途中に船舶の詳細が変更されたなど

バラスト水処理装置搭載のために、船舶の図面や３DCADを作成する必要がある◯リバース・エンジニアリング
レ ザ スキャナ等の計測機器を利用して、装置を搭載する予定の場所を計測、レーザースキャナ等の計測機器を利用して装置を搭載する予定の場所を計測
その後データを解析して3DCADモデルを作成する★現状では3Dモデルを作成する工程に多大な時間が必要となっている【商用のレーザスキャナ→CADデータ生成ソフト】- FARO(R)( ) Laser Scanner （菱友）- 富士通テクニカルリサーチ「Galaxy-Eye」- シーメンス etc.

処理の中身については処理の中身にいてはブラックボックス
11.研究の背景と目的••••

近年、レーザースキャナよりもはるかに安価なKinectが利用可能に
Kinectの計測可能範囲 80cm
80cm～4m
4m
レーザスキャナと同様のデータ取得が簡単に→ レーザスキャナ用ソフトの開発
部材 ブ
部材やブロックの精度管理等に使えないか？
精度管 等 使 な

研究の目的
１．Kinectを用いた計測の利用可能性の検討
２．船内や屋内など人工環境に限定した深度データからの3D-CADデータ生成方法の検討：確率論的アプローチ2

2.計測機器Kinect
深度計測機器Kinect
KinectはMicrosoftが発売したXbox360の付属機器であり、縦480×横640pixelそれぞれの深度デ タを取得する とが出来るそれぞれの深度データを取得することが出来る。
ただし深度データであるため、そのまま空間座標に表示した場合、歪みが生じてしまう。そこで以下の処理を通して変換を行う。
X = (x-320)*z*tan28.5/320
Y = (y-240)*z*tan21.5/240
Z=z
変換後

変換前

対象との距離をスキャン

32.計測機器Kinect
深度計測機器Kinect
KinectはMicrosoftが発売したXbox360の付属機器であり、縦480×横640pixel
それぞれの深度デ タを取得する とが出来る
それぞれの深度データを取得することが出来る。
ただし深度データであるため、そのまま空間座標に表示した場合、歪みが生じてしまう。そこで以下の処理を通して変換を行う。
X = (x-320)*z*tan28.5/320
Y = (y-240)*z*tan21.5/240
Z=z
変換後

変換前

対象との距離をスキャン

深度マップ生成4

3.深度データからの3DCADデータ生成
深度データからの3DCADデータ生成法の提案
Ki
Kinect等の計測データから下記の方法によって3DCADデータを生成する。
t等の計測デ タから下記の方法によ て3DCADデ タを生成する

1.クラスタリング
計測データである点集合から平面を検出し、距離を考慮した上で複数のクラスタに振り分ける。

2.座標軸の決定
1で生成されたそれぞれのクラスタの法線ベクトルを用いて、計測データを表現する座標軸に対しする座標軸に対して、新しい座標軸を決定する。
新し 座標軸を決定する

3 平面の割り当て
3.平面の割り当て
1,2で得られた情報を元に、計測データに平面を当てはめていく。

5

3.深度データからの3DCADデータ生成
3.1クラスタリング
計測データである点集合から平面を検出し、距離を考慮した上で複数のクラスタ計測デタである点集合から平面を検出し 距離を考慮した上で複数のクラスタに振り分ける。
本研究ではクラスタに振り分ける条件の一つ、平面の判定には主成分分析を用いる。主成分分析によって得られる三つの固有値に対し、一つの固有値が他のる 主成分分析 よ得られる固有値 対固有値が他二つの固有値に比べて極端に小さい時、平面であると判定する。
y【主成分分析とは】データを無相関な（少数の）特性値に縮約する統計処理
データが3次元空間中の点列の場合、第3主成分の分散の大きさが第1・第2主成分の分散に比べて極端に小さければ点列は平面に分布している

x
点列が平面かどうかの判定に利用

6

3.深度データからの3DCADデータ生成
3.1クラスタリング
まずデータ点列からランダムに１点を選び、その近傍20点について主成分分析により平面上に分布しているかどうか判定する。平面に分布していたらそれらの点列を点列を１つのクラスタとする。のクラ タとする

Kinectの精度を考慮し、主成分分析での判定は比較的ゆるくなっているため、主成分分析のみでクラスタリングを行った場合、図のように平面からやや離れやや離れている点も含んでしまう。
る点も含ん
まう

7

3.深度データからの3DCADデータ生成
3.1クラスタリング
そのため、一度クラスタから平面の方程式を導く。
この時に最小メジアン法を使用することで平面から離れた点に影響されず平面の方程式を導くことが出来る。この平面の方程式とクラスタの点の距離を計算することにより、 定以上離れている点離を計算することにより、一定以上離れている点を除外することが出来る。

追加出来る点が出来なくなった場合、クラスタに含まれる点の数が 定以上の場合は次のクラスタまれる点の数が一定以上の場合は次のクラスタに移る。点の数が足りない場合はやり直す。
最終的に 定数のクラスタを作成するか、クラスタ最終的に一定数のクラスタを作成するか、クラスタが作成出来なくなった時点でクラスタリングの処理は終了する。
8

3.深度データからの3DCADデータ生成
3.2座標軸の決定

zx

1.それぞれ垂直な単位ベクトルを作成
2.単位ベクトルをX軸Y軸Z軸まわりに回転y3.クラスタリングで生成した各クラスタの法線ベクトルとの内積を計算し、最も評価値が大きい時の単位ベクトルを新しい座標軸とする（３個のパラメータ最適化）
ロバスト推定法により、例外値を自動排除

9

3.深度データからの3DCADデータ生成
3.3 データ点列を説明する平面の割り当て
データのノイズへの対処や不可視の部分の補間などを最も合理的に処理する方法論

Ｚ

最尤推定Ｙ
Ｘ

データ発生の確率分布モデルを構築し デ タに対する「尤度構築し、データに対する「尤度」（もっともらしさの評価値）を最大化するようモデルを最適化

評価値の計算方法や様々な処理手続きを系統的に導ける
10

3.深度データからの3DCADデータ生成• 最尤推定の例
観測デ タの発生を説明するモデルを作る
観測データの発生を説明するモデルを作る

yx11

3.深度データからの3DCADデータ生成• 最尤推定の例
モデル１ 正規分布１つで説明
モデル１：正規分布１つで説明

yx12

3.深度データからの3DCADデータ生成• 最尤推定の例
モデル２ 正規分布２つで説明
モデル２：正規分布２つで説明モデルから観測データが発生する確率

モデル１の尤度＜モデル２の尤度

yx13

3.深度データからの3DCADデータ生成• 最尤推定の例
モデル２ 正規分布２つで説明
モデル２：正規分布２つで説明

yモデルから観測データが発生する確率

モデル１の尤度＜モデル２の尤度

モデル２のほうがデータを良く説明
モデル２のほうがデタを良く説明

x14

3.深度データからの3DCADデータ生成• 最尤推定の例

モデルから観測データが発生する確率

モデル３：データ数と同数の正規分布で説明 → 尤度は限りなく大きくできる
確率分布モデルの妥当性は尤度だけで比べても意味がない

yx15

3.深度データからの3DCADデータ生成• 最尤推定の例

モデルから観測データが発生する確率

モデル３：データ数と同数の正規分布で説明 → 尤度は限りなく大きくできる
確率分布モデルの妥当性は尤度だけで比べても意味がない

y【モデルの評価方法】
AICMDLx16

3.深度データからの3DCADデータ生成• データを説明するモデルの評価法
AIC 赤池情報量基準（Akaike’s Information Criterion）

AIC  2 lnl L  2k
ここでLは最大尤度、kは自由パラメータ数

MDL 最小記述長（Minimum Description Length）

k ln nMDL   ln L 2
ここでLは最大尤度、n はデータ数、kは自由パラメータ数
これらの評価法を用いることにより、深度マップデータに何枚の板を割り当てる
これらの評価法を用いることにより深度マップデータに何枚の板を割り当てるのが妥当かといったことまで数値で評価できる（本実験では初期クラスタリングで得た平面数でｋを固定して最尤推定のみ）

173.深度データからの3DCADデータ生成
3.3 データ発生モデル（確率分布モデル）

確率分布関数の定義域：
観測範囲の直方体複数個の薄い板状の直方体内部から９９％の確率でデ タが発生
９９％の確率でデータが発生
残りの１％の確率でそれ以外の直方体内部より均一な確率密度で発生

Ｚ
薄い板状の直方体における確率密度は全て等しい（体積を大きくすると密度は下がる）

Ｙ
Ｘ
人工環境
が対象

観測範囲の直方体および薄い板状の直方体の各辺は全て座標軸に平行モデルのパラメータ：
薄い板状の直方体の位置や寸法（およびどの座標軸に垂直なのか）18

3.深度データからの3DCADデータ生成
3.3 面の割り当て
ユウ度（モデルの尤もらしさ）の計算観測された各データが薄い板状の直方体内部に入るかどうかを判定し、観測された各デタが薄い板状の直方体内部に入るかどうかを判定し内部にあるデータの個数を ni,内部にないデータの個数を no とする
薄い板状の直方体内部の確率密度をρi, それ以外の確率密度をρoと表し、以下の式で対数尤度を計算：

L  ni ln  i  no ln  o
この対数尤度 L が大きいほどデが大きいほどデータをより良く説明するモデルである
タをより良く説明するモデルである【注意事項】 薄い板状の直方体の個数はデータの個数より小さくなければならない
対数尤度 L を大きくするよう確率モデルのパラメを大きくするよう確率モデルのパラメータを調節
タを調節
そのための手法としては勾配法でもクラスタリングでも、なんでもあり★モデルの初期値として平面のクラスタリング結果を利用

19

4.実験
提案手法を用いて実際にKinectで撮影し検証する。
対象は以下の二つ：
1.壁面に置かれた棚（400W×160D×200H(mm)）、及び縦に積まれた箱3個
び縦 積まれ 箱 個
2.部屋のコーナーに置かれた箱4個
2部屋のコーナーに置かれた箱4個（310W×110D×210H(mm)）
実験対象①

実験対象②20

4.実験結果

実験対象①

実験対象②21

実験結果
1. 棚 棚の底部分（黄色と赤のクラスタ）
黄平面 実測値
400×160
計算結果
430×190（実測値の1.08～1.19倍）
赤平面 実測値
400×160
計算結果
420×180（実測値の1.05～1.13倍）

2. 箱 向かって右奥箱の各平面（深緑,黄土,水色）
深緑平面 実測値 310×200
計算結果
330×230（実測値の1.07～1.15倍）
黄土平面 実測値 310×200
計算結果
330×230（実測値の1.06～1.15倍）
水色
水色平面
実測値 200×200
計算結果
230×230（実測値の1.15倍）

22

5.考察と課題
考察
・ 計測された深度データからクラスタリング、座標軸の決定を行うことにより、平面の割り当てを行った。
細か フィッティングは行って な が各平面を綺麗に囲む直方体を表現する
細かいフィッティングは行っていないが各平面を綺麗に囲む直方体を表現することが出来た。
・ 実験対象2では二つの平面を囲む直方体が作成されてしまったが実験対象2では二つの平面を囲む直方体が作成されてしまったが、クラスタリン
クラスタリン
グにおいて統合と分離の処理を加えることで改善出来ると考えられる。

・ 精度管理に使用する可能性を考え、計算結果と実測値を比較したところ、その差は残念ながら大きかった。現状では精度管理として使うのは無理だが、計測機器をより高精度なものに変更する、アルゴリズムの改善とキャリブレーションの徹底により計算結果と実測値を近づけることは可能であると推測される。

6.終わりに【まとめ】
１） 深度マップデータから3D-CADデータ作成法の提案
深度法
案→ 確率分布モデルに基づく方法
・データのノイズの扱いや不可視データ補間、モデルの単純さまで妥当に評価
・理論的に合理的な処理アルゴリズムを導出可能
理論的に合理的な処理アルゴリズムを導出可能
今回当てはめた図形は直方体のみだが、船舶のリバースエンジニアリングにおいてパイプが多数ある室内も存在するため、円柱の割り当ても考える必要が出てくるが、今回と同様の方法で当てはめることが出来ると考える。

２） 計測機器として安価なKinectを利用
座標データを取得出来る計測機器ならばUSBカメラでも実行可能であり、高精度のレーザーレンジファインダ等を用いればより精度の良い平面を作成可能である。
ザーレンジファインダ等を用いればより精度の良い平面を作成可能である【課題】
一点方向のみではなく複数の視点からのデータをまとめて扱う技術を用いれば
点方向のみではなく複数の視点からのデ タをまとめて扱う技術を用いれば、より精密な3DCADデータの作成が出来る。