OpenCVとOpenGLでAR
MMDモデルをOpenGLで読み込むライブラリが公開されていたので,それを使って即席のARプログラムを作って見た.使ったライブラリはいつも通りのOpenCV3,MMDモデル用にsaba,そしてビューア用にPangolin.
同じようなものを参考書庫様(AR (Augmented Reality))が既に作っていて,私もOpenGL初心者ゆえモデルの描画周りだけは参考にさせてもらった.
さて,作ったARプログラムについて.どう動くかは動画の通り.お借りしたモデルとモーションは動画の詳細に書いてある.
あらかじめターゲットとなるパターンを撮影しておき,そのパターンを撮影しているカメラの姿勢を特徴点マッチングから推定するという特筆すべきところがない作りになっている.
モーションブラーが生じても特徴点ベースなだけあって多少はロバストに動いてくれる.特徴点検出,特徴量計算,マッチング,PnPを解くという手順を踏んでいるが,平均3fps程度で動作する(Core i7 5500U).動画はちょっと古いので低速度.
リポジトリはここ.改善が必要な箇所はあるものの,一通り無難に動くので公開しておく.
12/27 - ARマーカーを使えるように更新した.ただし,ArUcoモジュールを使ったのでopencv_contribのインストールが必要.