2012-02-13 21 views
4

私は現在、iPhoneビデオから撮影された一連の画像からボールや岩のような落下物体の3D軌道を再構成しようとしています。ビデオからの3D軌道再構成

どこから探し始めますか?私はカメラを校正する必要があることを知っています(私はJean-Yves Bouguetのmatlabキャリブレーションツールボックスを使用します)、同じシーケンスから消失点を見つけることができます。

+0

固定カメラと移動ボールがありますか? –

+0

も基本的にはyesです。これは大学院コースのプロジェクトであり、割り当ては最初に較正する必要のあるカメラから取り出された一連のフレームから3D軌道を取得することです。私は現在、Zissermanを使用して基礎となる数学を理解していますが、このプロジェクトの詳細ではかなり曖昧です(imho)。 – ripkars

答えて

4

これを読んでください:http://www.cs.auckland.ac.nz/courses/compsci773s1c/lectures/773-GG/lectA-773.htm 2台のカメラを使って3次元再構成を説明しています。今、簡単な概要については、そのサイトからの図を見てください:

3d reconstruction from stereovision

あなたが唯一のPR/PL、画像ポイントを知っています。 2つのカメラの原点と向きを知っているので、これらの線の3次元方程式を構築することができます。彼らの交差点はこのように3Dのポイントであり、それは簡単です。

しかし、1台のカメラを破棄すると(左のカメラと言う)、Pr。欠けているのは深みです。幸いなことに、あなたのボールの半径を知っています、この余分な情報はあなたに欠けている奥行き情報を与えることができます。 (私の塗料のスキルを気にしない)、次の図を参照してください。角度で投影したときのボールの形状は、(変更すなわちない垂直上:bal projection

は今、あなたは私が最後の問題を参照してくださいthe intercept theorem

を使用して深さを知っていますあなたのキャプチャ・プレーン)。しかし、あなたは角度を知っているので、補償が可能ですが、私はあなた次第ということを残して:P

編集:@ripkars'はコメント(コメントボックスが小さすぎた)

1)OK

2 )aha、対応問題:D一般的に、相関分析またはマッチング機能(主にマッチング後にビデオで追跡)によって解決されます。 (他の方法もあります) 私はイメージ/ビジョンツールボックスを自分で使用していませんが、途中であなたを助けるいくつかのことが間違いないでしょう。

3)=カメラの較正。

4)はい、ちょうど仕事にLonguet・ヒギンズ方程式を置く、すなわち通常はカメラのみインストールする際に、(および他のすべての時間をあなたがそれらの相対的なポーズを変更)一度この操作を行う必要があります。解決

P = C1 + mu1*R1*K1^(-1)*p1 
P = C2 + mu2*R2*K2^(-1)*p2 

と P =見つかるべき点 C =カメラの中心(ベクトル) R =ワールドフレーム内の最初のカメラの向きを表す回転行列。 K =カメラの較正行列(カメラの内部パラメータを含み、RおよびCに含まれる外部パラメータと混同しないでください) p1およびp2 =画像点 mu =投影上のPの位置を表すパラメータカメラ中心CからPまでの線(私が正しいとすれば、R * K^-1 * pはCからPを指す線方程式/ベクトルを表す)

これらは5つの未知数:mu1、mu2およびP

編集:@ripkars 'comment(コメント欄が小さすぎます) 私の心の中でポップアップするコンピュータビジョンライブラリは、OpenCV(http://opencv.willowgarage.com/wiki)です。しかし、それはCライブラリ、matlabではない...私はあなたの友人だと思う;)

キャリブレーションについて:これらの2つの画像には、カメラの相対的な姿勢を変更した場合は、もちろん再較正する必要があります。

ワールドフレームの選択は任意です。後で検索された3Dデータを分析したい場合にのみ重要になります。たとえば、ワールドプレーンの1つをモーションプレーンに合わせることができます。 この世界のフレームはです。ちょうど「基準フレーム変換の変更」(翻訳および/または回転変換)で変更可能な参照フレーム

+0

本当にありがとう、Guntherこれは本当に役に立ちました!私は現在、あなたが提供したウェブサイトを見ている、私はそれを使用して、この問題とZissermanをよりよく理解しようとします:) – ripkars

+0

+1 - ペイントスキルのために!:) –

+0

@アンドレイ:私は全体の要点を把握してみましょう:
1)異なるポーズの2つのビデオカメラを使って同じ動く物体のビデオを撮る
2)いくつかのマッチングポイントを見つける?画像処理/コンピュータビジョンツールボックスは同じフレーム番号
3で2つのビデオ間)本に役立つ)8点アルゴリズム
4を使用して基本的な/不可欠行列の推定を行う)
修正を三角測量することによって再構成します。 )? – ripkars

4

ステレオカメラを持っていない限り、較正されたカメラであっても、確かにその位置を知ることはできません。 ボールが小さく、近くにあるか大きくて、離れているかわからないから

フォーカスが異なる一連の画像に基づいて、単一のカメラで他の方法があります。しかし、私はあなたがそのようにあなたの携帯電話のカメラを制御できるかどうかは疑問です。

編集(1): @GuntherStruyfが正しく指摘するように、あなたの入力の一方がボールの大きさであれば、あなたが位置を知ることができます。

+0

あなたの答えをありがとう。既知の寸法の白黒正方形のマトリックスを使用してカメラを較正するとどうなりますか? – ripkars

+1

ボールの大きさが分からない限り、奥行き情報が表示されません。その場合、球の直径から深さを計算することができます –

+0

そう:どのように1つのカメラから奥行き情報を取得するのですか? – ripkars

関連する問題