OpenCVによる拡張現実SDK [終了]


94

OpenCVで拡張現実SDKを開発しています。トピックのチュートリアル、実行する手順、可能なアルゴリズム、リアルタイムパフォーマンスのための高速で効率的なコーディングなどを見つけるのにいくつかの問題がありました。

これまでのところ、次の情報と役立つリンクを集めました。

OpenCVのインストール

最新のリリースバージョンをダウンロードします。

ここにインストールガイドがあります(プラットフォーム:linux、mac、windows、java、android、iOS)。

オンラインドキュメント

拡張現実

初心者向けは、ここにOpenCVのシンプルな拡張現実コードがあります。良いスタートです。

よく設計された最先端のSDKを探している人のために、OpenCV関数を考慮して、マーカー追跡に基づくすべての拡張現実に必要ないくつかの一般的な手順を見つけました。

  1. メインプログラム:すべてのクラスの作成、初期化、ビデオからのフレームのキャプチャ

  2. AR_Engineクラス:拡張現実アプリケーションのパーツを制御します。2つの主要な状態があります。

    • 検出:シーン内のマーカーを検出しようとします
    • 追跡:検出されると、より低い計算技術を使用して、次のフレームでマーカーを追跡します。

また、すべてのフレームでカメラの位置と向きを見つけるためのアルゴリズムも必要です。これは、シーンで検出されたマーカーと、オフラインで処理したマーカーの2D画像との間のホモグラフィ変換を検出することによって実現されます。この方法の説明はこちら(18ページ)。ポーズ推定の主な手順は次のとおりです。

  1. カメラの固有パラメータをロードします。以前はキャリブレーションによってオフラインで抽出されました。 固有パラメーター

  2. 追跡するパターン(マーカー)をロードします。これは、追跡する平面マーカーの画像です。後でシーンの特徴と比較できるように、このパターンの特徴を抽出して記述子(キーポイント)を生成する必要があります。このタスクのアルゴリズム:

  3. フレームを更新するたびに、検出アルゴリズムを実行してシーンから特徴抽出し、記述子を生成します。ここでもいくつかのオプションがあります。

    • シフト
    • 速い
    • サーフ
    • FREAK:最速であると思われる新しい方法(2012)。
    • ORB
  4. パターンとシーン記述子の一致を検索します。

  5. それらの一致からホモグラフィ行列を見つけます。RANSACは、マッチのセット内のインライア/アウトライアを見つける前に使用できます。

  6. ホモグラフィからカメラポーズを抽出します。

完全な例:


1
残念ながら、これは「建設的」ではありません。提案を探していますか。
bfavaretto 2012

3
インストールタスクに関しては、OpenCVがGITに移行されたため、コースコードをダウンロードするには、「git clone git://code.opencv.org/opencv.git」を実行する必要があります。
Carlos Cachalote、2012

12
47賛成票はまだ愚かなルールのために閉鎖。
SvaLopLop 2015

回答:


19

ARアプリケーションはモバイルデバイスで実行されることが多いため、他の機能の検出器/記述子を検討することもできます。


3
ありがとう!モバイルでリアルタイムに実行されるFASTの「高速」バージョンもあり、ピラミッド型であり、SIFT記述子が削減されます
Jav_Rock

2
ORBを使用してほぼ完璧な結果が得られました
動的な

実際、ORBについて読むと、ピラミッドのFASTであると書かれています
Jav_Rock

3
フリークは、ARで記述子を処理する最後のアルゴリズムです。FASTよりも高速です。
GOE

13

通常、マーカーを選択できる場合は、最初にエッジ検出器を使用して正方形のターゲットを検出し、次にハフまたは単に輪郭を検出します。次に、内部設計から特定のマーカーを識別します。一般的なポイントマッチャーを使用するのではなく。

適切に記述されたサンプルコードについては、Arucoご覧ください。


4
はい、基準アプローチは最も単純ですが、最新ではありません。今はテクスチャマーカーを指す必要があります。ありがとう。この例は、よく説明されているので非常に興味深いものです。
Jav_Rock

1
ポーズを知りたい場合は、マーカーフィーチャの3D位置を対応する画像座標に一致させる必要があります。通常の形状のターゲットはこれを簡単にしますが、平面である必要はありません
Martin Beckett

しかし、それらが平面でない場合は、3DモデルまたはCADモデルが必要です。それ以外の場合は、2Dから3Dへのホモグラフィは有効な方法ではなくなりますね。つまり、findhomographyで使用される直接線形変換
Jav_Rock

はい、3Dマーカーがある場合、実際の3D形状(
Martin Beckett
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.