タグ

pclに関するpigshapeのブックマーク (9)

  • ARKitでKinectの点群を表示してみた - Qiita

    昨年(2017/12)Unityが32bitメッシュに対応したことで、Unityで点群を扱うのが簡単になりました。 これによりプラットフォームを跨いだ利用がしやすくなり、今回Kinect+Unityで撮影した点群を転送し、ARKit+Unityで表示しました。 ここでは主にどういった手法でARKitに実装したかをまとめています。 技術背景 Unity2017.3(2017/12)で32bit頂点(約4億頂点)に対応 これまでは16bit制限(65,535頂点)で分割して表示する手間があった 32bit対応によりKinectの点群をひとつのメッシュで表示可能となった KinectV2の画素数: 512x424=217,088 動画 俯瞰図 図のようにKinectで撮影した点群をWebSocketで転送し、ARKitのImageTrackingで表示しています。 ハードウェア KinectV2

    ARKitでKinectの点群を表示してみた - Qiita
  • GitHub - braddodson/pointmatcher.net: Implementation of ICP in C#

  • Iterative Closest Point を試してみた - コンピュータサイエンス系勉強ノート

    今回はIterative Closest Point(ICP)アルゴリズムを試してみました.ICPは点群Aと点群Bが与えられた際に点群Bを回転と平行移動させて点群Aに位置合わせするためのアルゴリズムだそうです。 具体的なアルゴリズムは以下の通り。 点群Bの各点について点群Aの中から最近傍の点を見つける。 点群Bの各点とAの各点が対応しているので、各対応点に移るような変換行列を計算する。 変換行列を使ってBを写像する。 指定回数分もしくは収束するまで以上の処理を繰り返す。 ソースコード各ステップでの回転行列と平行移動行列の計算は以下のコードで計算しました.コードの詳細は以下のサイトを参照のこと. Finding optimal rotation and translation between corresponding 3D points | Nghia Ho def calcRigidTr

    Iterative Closest Point を試してみた - コンピュータサイエンス系勉強ノート
  • ICPアルゴリズムメモ - のんびり動機付け

    何したい 3次元点の位置合わせをしたい. アルゴリズム ICP(Iterative Closest Point)はデータ形状をモデル形状に合わせるアルゴリズム. 点の対応は未知でも良いけど,大まかな位置合わせは行っている前提で,高精度に位置を合わせる. モデル形状: データ形状: 収束判定閾: 1. 大まかに位置を合わせる. 初期並進: 初期回転: 2. 近傍点の計算する. データ点から最も近いモデル形状の点を とする. 3. 位置合わせパラメータの計算する. 重心を計算する. 共分散行列を計算する. 共分散行列を特異値分解する. 回転行列を計算する. 並進ベクトルを計算する. 4. 誤差を計算する. 5. 収束判定をする. ひとつ前の2乗距離誤差: もし, なら,とを返して終了する. そうでなければ,として2へ戻る. メモ 最近傍の点の対応付けは,KD-treeなどのデータ構造を用いると

  • EM-ICPによる点群間の位置合わせをwindowsで動かす - izm_11's blog

    概要 Kinectを始めとする、低価格の距離センサの出現によるPointCloudの処理は最近ホットです。 最近だと、日でも点群処理のビジネス活用を推進するポイントクラウドコンソーシアムが発足しています。 【告知】3D点群処理のビジネス活用を推進する「ポイントクラウドコンソーシアム(PCC)」を発足しました - 私が関連する組織からの発表を、ブログでも告知させてください。... http://t.co/wrSFzS23SW— DERiVEコンピュータビジョンブログ (@derivecv) 2014, 5月 14 ある点群と別の点群のマッチングはこの分野の伝統的で、尚且つ大事な処理の1つです。(写真で言うと、何枚かの写真を合成して、パノラマ写真を作るようなもの)これを点群処理では位置合わせ(registration)と呼びます。 このアルゴリズムとしては古来よりICP(Iterate C

    EM-ICPによる点群間の位置合わせをwindowsで動かす - izm_11's blog
    pigshape
    pigshape 2018/01/17
  • 一発でわかる Iterative Closest Point のコンセプト図解 - Predator's Vision

    2つの点群を重ね合わせる手法にICP (Iterative Closest Point) というものがあります。 1992年に発表されてから、現在に至るまであらゆる派生手法が提案されています。 ベーシックなICPの仕組みは一言で言うと「近傍点との距離の最小化を繰り返す」です。これを動画で示すと次の通りです。ちょっとずつ2つの点群の間が縮まって、最後的にぴったり合わせられるわけです。 ICPの注意点として、「初期位置合わせが必要」ということが挙げられます。言い換えると「2つの点群はある程度近い位置に配置されていないといけない」ということです。もし、初期位置合わせがされていなければ、下記の動画のように変な結果に終わってしまいます。(オレンジの破線が正しい点の対応関係を表す) 適切な初期位置合わせ+ICPで例えば次の画像のように2つの3D点群をピタッと合わせられます。 点群1 点群2 ICP結果

    一発でわかる Iterative Closest Point のコンセプト図解 - Predator's Vision
  • 《Unity備忘録》Unityで点群データを可視化 | PointCloudConsortium

    デプスセンサー等で取得した点群データをUnityで読み込み可視化する方法を紹介します。 今回はUnityのAsset Storeからフリーのビューアをインポートして可視化してみます。 ■Unityで点群データを可視化 Unityで点群データを表示して動かしたり、カメラアングルを変更したりしてシミュレーターなどアプリケーション化することができます。 点群を表示させるには点群データから座標値、色値を読み込み3D空間に点として配置していく方法でUnity上に表示することができます。 今回は簡単に点群を表示させるため以前の記事でも紹介しました「Point Cloud Free Viewer」をAsset Storeからインポートして点群データを可視化していきたいと思います。 (Point Cloud Free ViewerはAsset Storeからインポートすることができる無料の点群ビューア)

    《Unity備忘録》Unityで点群データを可視化 | PointCloudConsortium
  • UnityでPoint Cloudを表示する方法

    3次元点群を3Dビューアでグリグリとただ表示するだけならPoint Cloud Libraryを使ってすぐにできるんだけど、インタラクティブなコンテンツとして点群を利用したい場合にはPoint Cloud Libraryだけだとちょっと味気ない。Point Cloud Libraryだと視点を動かす時は点群の更新が止まっちゃうし。 何でUnityで点群を扱いたいかというと、お察しの通り、Kinectで取得した点群をカッコよく表示したいのです。Kinect V2になってからMicrosoftが公式にUnityプラグインを配布し始めたし、せっかくだから自前でOpenCVとかPoint Cloud Libraryでゴリゴリ頑張るよりも、Unityで他のAssetと組み合わせてサクッとリッチなコンテンツに仕上げたいのだ。 Microsoft公式のKinect v2 for Unityプラグインには

    UnityでPoint Cloudを表示する方法
  • 【シリーズ「PCLを触ってみよう!」第一回】3D点群処理ライブラリ「Point Cloud... | DERiVE コンピュータビジョン ブログ

    このサイトについて DERiVEはコンピュータビジョン、画像認識が専門のMasaki Hayashiがお送りしている、コンピュータビジョン(Computer Vision)を中心としたITエンジニア、研究向けのブログです。※「DERiVE メルマガ別館」は2015/9月で廃刊致しました、 「PCLを触ってみよう!」と題してPoint Cloud Library(PCL)という、フリーでオープンソースの3Dポイントクラウド(点群)データ処理をまとめたライブラリについて、シリーズで紹介していきたいと思います。 PCL - Point Cloud Libary http://pointclouds.org/ 私の研究室で使う人が出てきそうなので最近格的にPCLを触り始めているのでこのブログでも紹介できるという流れではあるのですが、そもそもPCLはこの後述べるようにKinectの登場で要注目のラ

  • 1