LoginSignup
28
37

More than 5 years have passed since last update.

軽量な AR ライブラリの ArUco について調査中

Last updated at Posted at 2016-10-23

軽量な AR ライブラリの ArUco について調査中

OpenCVのcontribを利用する場合

OpenCV3.2 ではcontrib の中にArUcoが含まれている。引用している記事に述べるように、サンプルプログラムのビルドには別途 CMakeLists.txt を作って(あるいは引用先のCMakeLists.txtをコピーして)、cmakeしてからビルドする。

  • OpenCV3.2 /Related Pages Tutorials for contrib modules
  • ArUcoマーカー検出(aruco モジュール) ArUcoマーカは、カメラの姿勢推定に使用できるバイナリの正方形の基準マーカです。その主な利点は、検出が堅牢で、迅速かつ簡単であることです。 arucoモジュールは、これらのタイプのマーカーの検出と、姿勢推定およびカメラ較正のために使用するツールを含む。 また、ChArUcoの機能はArucoマーカーと従来のチェスボードを組み合わせて、簡単で多彩なコーナー検出を可能にします。このモジュールにはChArUcoのコーナーを検出し、姿勢推定やカメラ較正に使用する機能も含まれています。

ChArUoの図

- opencv_contrib-master/modules/aruco/src       モジュールとしてインストールされるもの
- opencv_contrib-master/modules/aruco/samples  ArUcoのモジュールを利用するsampleプログラム
  • OpenCV3 ArUcoサンプルのビルド このサイトにはopencv_contrib-master/modules/aruco/samplesのプログラムをbuildするためのCMakeLists.txtの見本がある。2つのプログラムだけ書かれている部分を、残り全てのプログラムについて同様に記述すれば十分だ。

OpenCV3ではopencv_contributeというリポジトリにOpenCVを使用して作成されたライブラリがモジュールとして収録されている。 この中にAR向けマーカー認識ライブラリのArUcoがある。
opencv_contrib/modules/arucoにはCMakeLists.txtが存在するが、これはArUcoそのものをビルドするためのものであるため、 サンプルのビルドには使用できない。


ArUcoマーカー検出(aruco モジュール)
ArUcoマーカーは、カメラの姿勢推定に使用できるバイナリの正方形の基準マーカーです。その主な利点は、検出が堅牢で、迅速かつ簡単であることです。
arucoモジュールは、これらのタイプのマーカーの検出と、姿勢推定およびカメラ較正のために使用するツールを含む。
また、ChArUcoの機能はArucoマーカーと従来のチェスボードを組み合わせて、簡単で多彩なコーナー検出を可能にします。このモジュールにはChArUcoのコーナーを検出し、姿勢推定やカメラ較正に使用する機能も含まれています。

Arucoマーカーの検出
互換性:> OpenCV 3.0
著者:Sergio Garrido
単一のArUcoマーカーからの基本的な検出と姿勢推定。

Arucoボードの検出
互換性:> OpenCV 3.0
著者:Sergio Garrido
マーカボードを用いた検出と姿勢推定

ChArUcoコーナーの検出
互換性:> OpenCV 3.0
著者:Sergio Garrido
ChArUcoコーナーを使った基本的な検出

ダイヤモンドマーカーの検出
互換性:> OpenCV 3.0
著者:Sergio Garrido
ChArUcoマーカーを用いた検出と姿勢推定

ArucoとChArUcoによる校正
互換性:> OpenCV 3.0
著者:Sergio Garrido
ArucoおよびChArUcoボードを使用したカメラキャリブレーション

ArucoモジュールFAQ
互換性:> OpenCV 3.0
著者:Sergio Garrido
arucoモジュールに関する一般的で有用な質問


サンプルのソースコード
opencv_contrib-master/modules/aruco/samples
calibrate_camera.cpp Arucoによる校正
calibrate_camera_charuco.cpp ChArUcoによる校正
create_board.cpp
create_board_charuco.cpp
create_diamond.cpp
create_marker.cpp
detect_board.cpp Arucoボードの検出
detect_board_charuco.cpp
detect_diamonds.cpp ダイヤモンドマーカーの検出
detect_markers.cpp Arucoマーカーの検出

単独配布のArUcoを利用する場合

aruco-2.0.13からビルドしたsampleプログラム

aruco_calibration.exe
aruco_calibration_fromimages.exe
aruco_create_markermap.exe
aruco_markermap_pix2meters.exe
aruco_print_dictionary.exe
aruco_print_marker.exe
aruco_simple.exe
aruco_simple_markermap.exe
aruco_test.exe
aruco_test_markermap.exe
aruco_tracker.exe

ROSの一部としてのArUco

sudo apt install aruco_ros
catkinが必要になった。
 sudo apt install catkinn

Github
JanezCim/Aruco-with-Python
https://github.com/JanezCim/Aruco-with-Python/tree/master/aruco_testproject/build

28
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
37