OpenCVを使用して、「中レベル」のAndroidデバイスで適切なパフォーマンスで頭の検出と追跡を実現する方法を探しています。
私が考えたこと(Haarのようなアルゴリズムを使用):
すべてのビデオ フレームのサイズを小さくしてから、グレースケールに変換します。
最初のフレーム:
- Haar カスケードを使用してフェイス バインドを見つけて保存する
- フェイス バウンドの目を見つける (他の Haar テンプレートを使用)
- 口も同じ
次のフレームの場合:
- 顔の古い境界を使用して展開し、頭 (位置が変更されたもの) を見つけます。
- 拡張境界で面を検索します。
- 顔の中に目を見つけます。
- 顔の中に口を見つけます。
ライブ ストリーミング ビデオでのこのサイクルのパフォーマンスが心配です。スケジュール的にいいのか、それとも別のアルゴリズムを使うべきなのか? Haar のようなものは非常に重く見えます。
私のアプリケーションは、フレームごとに、目と口の座標を保存する必要があります。そのため、頭の位置を含む現在のフレームと、目と口の初期位置を含む最初の頭のバウンディング ボックスを横断してこれらの値を取得することはできません。