2012-08-01 29 views
7

私は最近、オブジェクトトラッキング問題の解決に取り組んでいます。私がしなければならないことは、2D平面上で動く可能性がある3Dオブジェクト、すなわちxとyの平行移動とz周りの回転を識別して追跡することです。追跡される物体は事前に知られており、任意の所望の情報をそこから抽出することができる。また、照明条件に大きな変化はなく、背景は比較的静止したままであると仮定しています。トラッキング対象のオブジェクトは通常、単一の色ではないため、色によるトラッキングはオプションではありません。OpenCV:2D平面内を移動する3Dオブジェクトのトラッキング

バックグラウンド減算と動的テンプレートマッチングを使用して複数の2Dオブジェクトをトラッキングするためのプロトタイプを正常に実装しました。私は今、3Dオブジェクトを追跡するように拡張したいと思いますが、今まで私が見つけた/達成したことに失望しました。私は誰かが光を当てることを期待して、私が試みたいくつかの試みを列挙します。

1.)動的Template matching:ユーザーにビデオフレーム内のオブジェクトを選択させ、そのオブジェクトの周りに検索エリアを定義します。オブジェクトは、この領域内で検索されます。 This clipは私に元々考えを与えました。残念ながら、オブジェクトが回転(カメラに戻る)したときに失われるので、これは実際には私のためには機能しませんでした。私はまた、オブジェクトが見つかったときにテンプレートを継続的に更新しようとしましたが、目的のオブジェクトがoccludedになるたびにテンプレートが別の(外部の)オブジェクトになることにつながります。

2.)Lucas-Kanadeオプティカルフロー:私はOpenCVのgoodFeaturesToTrackを使用して追跡するポイントを見つけ出し、calcOpticalFlowPyrLKを使用して複数のフレームでこれらのポイントを追跡しようとしました。しかし、このアルゴリズムのパフォーマンスは少し残念でした。私はそれをOxford Corridorデータセットに適用しましたが、私が最初に検出したポイントはすぐに失われます。

3.)SURF:私はSURFでフィーチャを検出しようとしましたが、ここでの問題は異なる視野角とはかなり異なる3Dオブジェクトにこれを適用することは非常に難しいということでした。私はcv2のSURFに関する文書を見つけることを望んでいました。これはSURF Feature Extractorにキーポイント(たぶんgoodFeaturesToTrackから)を提供する機能を提供するように思われたからです。残念ながら、私はまだこれを行う方法を見つけることができませんでした。 S.O .: OpenCV: Extract SURF Features from user-defined keypoints

背景:私はすべての処理がデスクトップコンピュータで行われています。 OpenCVのPythonラッパーとEclipseのPyDevプラグインをWindows 7で使用しています。

誰かが、すでに述べたテクニックのパフォーマンスを向上させるために追加のテクニックを提案できますか、感謝します。

+2

これについて:http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html – moooeeeep

+0

私は実際にそれを見ていました!どういう偶然だけど、とにかく感謝:) [クールビデオ](http://www.youtube.com/watch?v=1GhNXHCQGsM&feature=related) – casper

答えて

0

追跡したいオブジェクトを見ることなく、いくつかの有用な提案を思いつくのは難しいです。あなたが間違いなく議論に役立つだろう問題を私たちに示すためにいくつかの写真を撮るならば。ここの人々も時には自分の提案やアイデアを実装し、あなたと共有します。

+0

こんにちは、ありがとう!私のソリューションは、提示されたオブジェクトをすべて追跡できる必要があります。コーヒーマグ、チェスのピース、ぬいぐるみ、おもちゃの車、または同様のもの。私はこのオブジェクトが何であるかはわかりませんが、トラッキングアルゴリズムが決定されると、その中から任意の種類のモデルを構築できます。 – casper

関連する問題