ArUco:OpenCVベースのコンパクトなARライブラリ

最近、ARToolKit以外にもっとコンパクトなARライブラリがないか調べてる。
ARアプリを作りたいわけじゃなくて、アプリケーション開発の部品として、単眼カメラによるマーカー認識で3次元座標を取得する機能が欲しいだけなので、あんまりゴテゴテとデカくても困る。カメラの3次元位置を手軽に計測する手段として考えているのです。

そこで見つけたのがOpenCVベースのArUco。(なんて読むんだ?)
BSDライセンスだそうです。


スポンサーリンク

ArUco

ArUco + Ogre + Occlusion Mask

ArUcoの主な特徴:

  • たった1行のC++コードでマーカー検出が可能。
  • ArUcoボード(複数のマーカーで構成されたマーカー)の検出。
  • 依存ライブラリはOpenCVのみ。(バージョン2.4.9以上)
  • 1024個以上の異なる標準のマーカー辞書に加え、さらに多くのHRMマーカーに対応。
  • 手軽にOpenGLとOGREを統合可能。
  • OpenCVによる高速処理と信頼性、クロスプラットフォーム対応。
  • 5分足らずでARアプリを実装できるほど充実したサンプル。
  • BSDライセンス。
  • Python版Javaベータ版が利用可能。

ソースコードをダウンロードしてビルドしてみた感じだと、OpenCV バージョン3でもちゃんと動きそうな感じ。


スポンサーリンク


以前、凹みTipsで詳しく解説されていたので今さらではあるんですけどね。
http://tips.hecomi.com/entry/2015/06/17/234142
http://tips.hecomi.com/entry/2015/09/16/014119

つい最近OpenCVのバージョン3.1がリリースされたけど、リポジトリのopencv_contribに含まれているarucoってこれと同じものなのかな?
https://github.com/Itseez/opencv_contrib/tree/master/modules/aruco

追記:OpenCVのcontribモジュールに含まれているArUcoの使い方についてはdandelionさんがまとめている↓
https://github.com/atinfinity/lab/wiki/ArUco
https://github.com/atinfinity/lab/wiki/aruco%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A7%E3%83%9E%E3%83%BC%E3%82%AB%E3%83%BC%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B
https://github.com/atinfinity/lab/wiki/aruco%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A7%E3%83%9E%E3%83%BC%E3%82%AB%E3%83%BC%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%99%E3%82%8B

Arucoマーカーだけじゃなくて、チェスボードや、両者を組み合わせたChArUcoマーカーも検出できる。
http://qiita.com/nonbiri15/items/b893cb614d7dd6c8c86a

OpenCV3.2のcontribに含まれているArUcoのチュートリアル↓
http://docs.opencv.org/3.2.0/d9/d6d/tutorial_table_of_content_aruco.html


スポンサーリンク

関連記事

OpenCVでPhotoshopのプラグイン開発
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
WordPressの表示を高速化する
Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
オープンソースのPhotogrammetryフレームワーク『Alice Vision』
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
参考書
Adobeの手振れ補正機能『ワープスタビライザー』の秘密
Paul Debevec
Autodesk Mementoでゴジラを3次元復元する
フィーリングに基づくタマムシの質感表現
MeshroomでPhotogrammetry
複数視点画像から3次元形状を復元するライブラリ『openMVG』
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
OpenGVのライブラリ構成
iPhoneで3D写真が撮れるアプリ『seene』
Google App EngineでWordPress
ディープラーニング
iPadをハンディ3Dスキャナにするガジェット『iSense 3D Scanner』
Unityで学ぶC#
バージョン管理の履歴を可視化するツール『Gource』
仮想関数
自前のShaderがおかしい件
ZScript
複数画像から3次元形状を再構築するライブラリ『Multi-View Environment』
3Dオブジェクトの確認・変換に便利なフリーウェア『MeshLab』
科学技術計算向けスクリプト言語『Julia』
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
iOSで使えるJetpac社の物体認識SDK『DeepBelief』
ブログの復旧が難航してた話
BlenderでPhotogrammetryできるアドオン
なんかすごいサイト
3Dボリュームデータ処理ライブラリ『OpenVDB』
Unityで使える数値計算ライブラリ『Math.NET Numerics』
OpenCV 3.1から追加されたSfMモジュール
PythonでMayaのShapeノードプラグインを作る
機械学習について理解するための可視化ツール『MLDemos』
手を動かしながら学ぶデータマイニング
WordPressのテーマを自作する
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた

コメント