あなたの要件についてもう少し話してもらえますか?つまり、どのような種類の外観のバリエーションを期待するか、環境をどの程度制御できるかです。速度/電力/リソースのフットプリントに関して、どのような制約がありますか?
それらがなければ、あなたが話している3つのパスに一般的な評価を与えることしかできません.
1. Haar は、特にインスタンスの認識において、適切かつ迅速に機能します。
さまざまな視点をカバーするためにあらゆる種類のテンプレートを使用してトレーニングしない限り、Haar は 3D ではうまく機能しないことに注意してください。Haar カスケードの代表的なアプリケーションは、Viola Jones の顔検出システムであり、主に正面の顔を対象としています (他の多くのことについては確かにトレーニングできます)。
OpenCV を使用した Haar トレーニングのチュートリアルについては、こちらを参照してください。
2. NCC を試してみるか、さらに良いことに、Lucas Kanade トラッキング (cvCalcOpticalFlowPyrLK は、粗い から細かい LK のようにピラミッド型であり、通常は 4 レベルのピラミッドが適切に機能します) をテンプレートとして試してください。通常、テンプレートを変更しなくても、最大 10% のスケールまたは 10 度の回転で問題ありません。それを超えて、時間の経過とともに変化する可能性のある、自動的に進化するテンプレートを持つことができます。
オプティカル フロー/トラッキングの簡単なチュートリアルについては、こちらを参照してください。
3. SIFT/SURF は非常にうまく機能します。偽の一致を削除するために、追加の幾何学的検証ステップをお勧めします。
計算にかかる時間が少し気になります。重要なイルミネーション/スケール/面内回転がない場合、SIFT はおそらくやり過ぎです。本当に必要な場合は、Changchang Wu の優れた SIFTGPU 実装を確認してください。注: OpenCV ではなく、サードパーティです。