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

河内基樹*

正員

木村元*

A study of automatic 3D-CAD data generation using data from depth sensors
by Motoki Kawachi， Student Member

Hajime Kimura， Member

Key Words: Kinect， Web Camera， Augmented Reality

1．研究の背景と目的
船舶の修繕工事等において工事箇所のＣＡＤデータが無い場合,工事箇所の計測と図面作成には膨大な手間を要し,この手間を削減するためにレーザレンジファインダを用いた計測システムが実用化されているが,計測データから３ＤＣＡＤ図面を作成するには未だ膨大な手作業を要するのが実情である.本研究では,計測データから３ＤＣＡＤ図面を自動生成するための方法を考察する.計測点列座
標データより３次元空間中に存在する長方形の集合を検出して３ＤＣＡＤデータを自動生成する方法を提案する.
安価な計測機器としてキネクトを用い,簡単な実験を通じて実現可能性を検討する.また工事の進捗状況や撓鉄の精度管理などへの応用を模索する.

Fig.2. Coordinate data not corrected

2．計測機器 Kinect
キネクトは Microsoft が発売した Xbox360 の付属機器であり深度データを計測し座標データとして記録することが出来る.キネクトはレーザレンジファインダに比べて精度は劣るものの,非常に安価であり比較的導入も容易であると考え本研究では計測機器として用いる.
キネクトから得られるデータは深度データであり,そのまま空間座標に変換しても歪みが生じてしまうため,以下の処理を通して変換を行う.
X = (x-320)*z*tan28.5/320(1)
Y = (y-240)*z*tan21.5/240(2)
Z=z(3)

3． 計測対象の空間の特徴
本研究で想定する計測対象はリバースエンジニアリン
グが必要な,箱状の機器類が多数配置される室内であり,特徴として存在している平面がそれぞれ平行,または垂直であるものが多数存在することを想定している.本研究で提案するアルゴリズムは,上記の特徴を利用して計算量を大幅に減らし,自動化を可能としている.

4.深度データからの 3DCAD データ生成法の提案
4.1 クラスタリング
キネクトから得られた点集合のデータから平面を検出し軸を決定するためにクラスタリングを用いて自動的に分類する.クラスタに加える条件の判定は,主成分分析と距離によって決定される.下記に詳細なアルゴリズムを記す.
1.

2.

3.
Fig.1. Coordinate data not corrected4.

――――――――――――――――――――――* 九州大学大学院工学研究院海洋システム工学専攻** 九州大学大学院工学研究院海洋システム工学部門
原稿受付
秋季講演会において講演©日本船舶海洋工学会

5.
6.

データからランダムに点を選び,その点の最近傍（20 点）でクラスタを形成する.この時点で平面となっていない場合はやり直す.
クラスタの点集合に,ある任意の 1 点を加えて主成分分析により固有値を計算し,を満たすものを同じ平面にあるとする.(m は正の実数)
上記の同じ平面かつクラスタとの距離が一定以下の点をクラスタに追加する.
追加出来る点がなくなった場合,主成分分析で得た平面とクラスタの点との距離を計算し,一定以上の点をクラスタから除外する.
最終的にクラスタの数が一定以上でなければ,そのクラスタ自体を除外し,1 に戻る.
クラスタを生成出来なくなった,もしくは一定数のクラスタを生成した場合は終了する.

Fig.3. Object photographedFig.7. Final result of clustering

Fig.4. Result of only principal component analysis

主成分分析のみを用いてクラスタに含まれる点が増えてきた場合,固有値による判定だけでは平面からやや離れている点もクラスタに追加されてしまう（Fig.4）.
そのため,主成分分析でクラスタリングされた点集合を表す平面の方程式を導く.平面の方程式の導出にはノイズに強い最小メジアン法を用いた.
平面と点との距離を計算し,一定距離以上の点をクラスタから除外することで（Fig.5）,より正確な平面を見つけることが出来る（Fig.6）.クラスタに含まれる点が充分にある場合（1000 個）,次のクラスタに移行する.最終的に一定数のクラスタを作成するか,クラスタが作成出来なくなった時点で処理は終了する（Fig.7）.
4.2 座標軸の設定
3 章で得た平面の集合を参考にして,対象空間へ座標軸を設定する.生データを表現する座標軸に対して,新しい座標軸の x,y,z 各方向を示す単位ベクトルを決定する.
座標軸の決定法は,まずそれぞれが垂直である単位ベクトルを 3 つ用意し,X 軸 Y 軸 Z 軸周りに回転させ,3 章の平面の放線ベクトルとの内積を計算する.各平面の法線ベクトルが 3 つの座標軸の中で最も同じ方向を示す,つまり内積が最大となる座標軸との内積を評価値として考え,この評価値の合計が最大になる X 軸 Y 軸 Z 軸周りのそれぞれの回転角度を求め,これを新しい座標軸 X’,Y’Z’軸とする.

Fig.5. Removed blue point

Fig.8. Normal vectors from planes
Fig.6. One clustering finished範囲を増やすことでクラスタリングの重心から設定した座標軸方向に対数尤度が大きくなる方へ直方体を広げていく.この時,クラスタの平面に垂直な方向,つまり法線ベクトル方向への座標軸へは直方体を大きくせずに厚みは一定にする.対数尤度 L が大きくなれば広げ,小さくなった場合は戻すという手法を繰り返し,どの方向へ広げても対数尤度 L が大きくならない場合は終了する.

Fig.9. Coordinate axes
4.3 平面の割り当て
次に振り分けられたクラスタと決定された座標軸を用いて平面を割り当てる.これは,対象としている 3 次元図形から観測される深度データが,その図形を構成している長方形の表面から均一に発生しているとして,確率分布モデルとして扱い,最尤推定問題として解く.
まず,複数個の薄い板状の直方体内部から 99%の確率でデータが発生し,残りの 1%でそれ以外の直方体内部より均一な確率密度で発生していると仮定する.直方体モデルの各辺は 4.2 節によって得られた軸に平行であるとし,クラスタの重心も利用する.
観測された各データが薄い板状の直方体内部に入るかどうかを判定し,内部にあるデータの個数を ,内部にないデータの個数を とする.また,薄い板状の直方体内部の確率密度を ,それ以外の確率密度を と表し以下の計算で対数尤度を計算する.
(4)
この対数尤度 L が大きい程データをより良く説明するモデルであるとする.ただし,薄い板状の直方体の個数データの個数よりも小さくならなければならない.
対数尤度 L を大きくするパラメータを探索する方法は多数考えられるが,本研究では 4 節のクラスタリングと座標軸を用いて探索する.

Fig.9 Result of plane assignment

5.実験
上記で説明したシステムを用いて実際にキネクトで撮影し平面を検出する.対象は以下の 2 つである.
1. 壁面に置かれた棚(400W×160D×200H(mm) ）,及び縦に積まれた箱 3 個
棚の板の厚さ 10mm
2. 部屋のコーナーに置かれた箱 4 つ(310W×110D×210H(mm)）

Fig.10 Example1 of plane assignmentFig.11 Example2 of plane assignment

6．課題と考察7．終わりに計測された深度データからクラスタリング,座標軸の設定を行うことにより,平面の割り当てを行った.平面としての薄い直方体の割り当ては直方体の各辺を広げていくのみで,細かいフィッティング等は行っていないが,各平面を綺麗に囲む平面を表現することが出来た.
Fig.11 では 2 つの平面を囲む大きい平面が作成されたり,1 つの平面であるのに 2 つの平面が作成されたものもあった.これは,クラスタリングにおいてクラスタの統合や分離を行うことで改善することが出来ると考えられる.
実測値と比較が用意な部分のみ記す.
1. 棚 棚の底部分（黄色と赤のクラスタ）
黄平面 実測値
400×160
計算結果 430×190
赤平面 実測値
400×160
計算結果 420×180
2. 箱 向かって右奥箱の各平面（深緑,黄土,水色）
深緑平面 実測値
310×200
計算結果 330×230
黄土平面 実測値
310×200
計算結果 330×230
水色平面 実測値
200×200
計算結果 230×230
各値を比較すると,実測値よりも計算結果の方がかなり大きな値をとっていることが分かる.キャリブレーションや平面検出アルゴリズムが不十分であるためである.
今回はキネクトを計測機器として用いたが,レーザレンジファインダ等に比べれば精度は劣ってしまう（±5mm程度）.そのため,直方体の法線ベクトル方向にも大きめの範囲を設けており,本棚の板の厚みなどをうまく捉えることが出来なかった.
撮影対象が船舶の室内を想定しているためパイプのような円柱形の物体も多数存在する.本手法においてデータ点集合に対して長方形の当てはめを行っている部分に円柱の当てはめを追加することでパイプデータの生成も可能であるが,パイプの曲がり部やバルブといったものまで考慮すると困難であることが考えられ,パターン認識等の技術を併用することが必要不可欠である.

本研究は造船所においてリバースエンジニアリングの時,造船所に図面が残っていない場合を想定し,カメラからの座標データから 3DCAD データ作成法を検討した.
今回は箱状の物体が多く存在している,という前提であるため,斜めに対しては対応が出来なかった.また,船舶のリバースエンジニアリングにおいてパイプが多数配置される室内も存在する.今回行なった平面の割り当てと同様に,円柱形の物体も認識してモデルを当てはめることが必要になってくる.
今回はキネクトを計測機器として使用したが,座標データを取得出来る計測機器ならば USB カメラでも実行することが可能であり,レーザレンジファインダ等を用いればより精度のよい平面を作成出来る.また,一点方向からのみのデータであったため,物体の裏側などの情報が座標データに存在しないため,複数の視点からのデータをまとめて扱う技術を用いれば,より精密な３DCAD データの作成が出来る.

参考文献
1)

2)
3)

4)

5)

川戸 一希 : 三次元点群への局所平面当てはめによる法線情報付きランドマークデータベースを用いた
カメラ位置・姿勢推定 2011 年 奈良先端科学技術大学院大学修士論文
中村薫，斎藤俊太，宮城英人：The Kinect for Windows
SDK プログラミング C++編，秀和システム，2012.
宮本達也，木村元 : 拡張現実を用いた船殻認識シス
テム 日本船舶海洋工学会講演会論文集 Vol．9W，pp．
67-70 2009 年 11 月 19～20 日熊本県荒尾市ホテルヴ
ェルデ宮本達也，木村元 : 拡張現実を用いた船殻認識シス
テム 2010 年度 九州大学大学院修士論文，2011 年
3月
河内基樹, 木村 元 : USB カメラを利用した船殻ブロック工事進捗状況の自動認識，日本船舶海洋工学会
講演会論文集 Vol.14, pp.453--456