Kinect PCL 3 2013 2 5
3 Xbox360 Kinect Kinect SDK PCL(Point Cloud Library) 3 Kinect 3 RGB 3 3 PCL SAC-IA(Sample Consensus Initial Alignment) ICP(Interative Closest Point)
1 1.1 1.2 2 2.1 3 2.2 3 2.3 Kinect Fusion 2.4 3 Kinect 3.1 Kinect 3.2 3 3.3 4 PCL 3 4.1 PCL 4.2 4.3 4.4 4.5 ICP 5 5.1 5.2
1 1.1 Nintendo 3DS Kinect Xbox 360 Kinect RGB 3 3 Kinect 3 3 3 Kinect 3 Kinect PCL Point Cloud Library PCL Kinect PCL 3 3D 3D 3D 3D Kinect 3 3 PCL 1.2 2
3 Kinect 4 3 5
2 2.1 3 3 3 3 3 3 3 1 1 3
3 Kinect DERiVE[1] Kinec 2 2 Kinect 3 Kinect 3 2.2 3 3 3 3 3 3 3 3 RapidformXOM PCL 3 Kinect PCL 3 3 3 kd-tree octree RANSAC
2 2.3 KinectFusion Kinect KinectFusion KinectFusion Kinect 3 ICP Interative Closest Point KinectFusion 3D Kinect KinectFusion 3 KinectFusion 3
3 KinectFusion 2.4 KinectFusion Kinect 3 PCL 3 3 CAD 3D 4 4 Kinect PCL Kinect SDK VisualStudio 2010 C++
4 3 3D
3 Kinect 3.1 Kinect Kinect for Xbox 360 2010 Xbox 360 2012 Microsoft Windows Kinect for Windows Kinect for Xbox 360 Kinect for Windows Kinect RGB RGB Xbox 360 PC Kinect SDK lib C# C++ Kinect 3D 4m Kinect 3 3 3.2 3 Kinect 640 480 13 mm 1 3 X Y Z Z X Y
Z Kinect Kinect P 3 (X,Y,Z) X P (B) ABC ABD 28.5 P X AD Z tan28.5 640 480 320 5 P 320:w=Z tan28.5:x X=(w Z tan28.5)/320 w Z P 3 X Y P Y ABD 21.5 AD
240 P 3 Y 3.3 RGB KinectSDK NuiImageGetColorPixelCoordinatesFromDepthPixel 6 7 8 7 7
図 7 座標合わせを行う前の入力画像 図 8 座標合わせを行った後の画像
4 4.1 PCL(Point Cloud Library) 3 3 3 PCL 3 3 PCL 3 PCL Kinect PCL (pcd ) Kinect PCL 4.2 Kinect 3 3 σ σ 50 9 3 10 9 10 26
23 9 10 4.3 Kinect 640 480
PCL 11 1 12 10 23 1 11
12 3 4.4 Kinect 1 3 3 3 ICP ICP 2 3 SAC-IA(Sample Consensus Initial Alignment) SAC-IA RANSAC Randum Sample Consensus 2 3 2
ように座標変換を行う そのときに生じる位置の差を 特徴点の誤差とす る この対応付けを一定回数行い 最も 2 つの特徴点の誤差が低くなった場 合を座標変換として採用する そしてターゲットに合わせてインプットを 回転 拡大縮小 平行移動をおこない 再配置することで 大まかな位置 を合わせることができる SAC-IA は点群の特徴点からそれらを整列するので まず FPFH(Fast Point Feature Histograms)で特徴点を求める さらに FPFH を使用すると きに法線ベクトルも必要となる よって位置合わせは 法線ベクトルの推 定 特徴点の推定 SAC-IA の実行 ICP アルゴリズムの実行という手順を 踏む 図 13 は 2 つの異なる測定位置から立体物の計測を行った図である 視点 1 では立体物の上面 視点 2 では立体物の側面を計測した 図 14 は 図 13 の測定結果から 2 つの 3 次元点群データを求め 初期位置合わせを行わず ICP アルゴリズムによる精密位置合わせを行ったものである 2 つの点群デ ータの測定位置が大きく違うため 正しい位置に収束していない 図 13 2 つの異なる測定位置から立体を計測した図
14 15 2 14 16 15 15
16 4.5 ICP ICP 3 ICP 2 3 ICP ICP 2 3 3 17 15 ICP 15 18 16
17 18
5 5.1 Kinect PCL 3D 3 3 3D 3 3 3 Kinect 3D 3 3 3 3 2 SAC-IA ICP Kinect PCL 3 5.2 Kinect
2 3 3
50 1 x,y,z 0.15m 0.03m 0.08m SAC-IA 5 1m SAC-IA 50 ICP RANSAC 0.1m 0.1m ICP 100
CkinectViewer.cpp KinectSample2.cpp KinectSample2Dlg.cpp PCLFirstTime.cpp KinectSample2 PCLFirstTime Kinect 3 PCL 3