物体追跡を有効にすると、なぜホームNVRは短時間の出来事を見逃すのですか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ホームNVRでは、トラッキングを有効にしていると、十分な数の検出結果が生成・確認されて有効なトラックが作成される前に対象物が消えてしまい、短時間のイベントを見逃すことがあります。

物体追跡は、重複アラートを減らし、人や車、動物が画面内を移動しても同一対象として追跡し続けるために追加されることが多くあります。ただし、物体検出の代わりになるものではありません。まず検出器が対象物を認識し、次にトラッカーが時間の経過に沿って検出結果を関連付け、軌跡を維持し、イベントやゾーンのルールを満たす必要があります。ドアの前を素早く横切る動きや、車道に短時間だけ現れる場面は、これらのどの段階でも終了してしまう可能性があります。

トラッキングは検出から始まり、検出より前には始まらない

検出器が報告しなかった対象物から、トラッカーが信頼できる軌跡を作ることはできません。関連付けの前には、モーション検出、フレーム選択、デコード、物体推論、信頼度フィルタリングが行われます。

Frigateは、多くのカメラで検出ストリームを毎秒5フレーム程度にすることを推奨していますが、動きの速い対象物にはより高いレートが必要になる場合があると説明しています。5 fpsでは、検出器に200ミリ秒ごとに1枚の候補フレームが送られます。

0.5秒間見えている対象物でも、解析されるフレームには2~3回しか映らないことがあります。ブレ、遮蔽、サイズ不足、または1回の低信頼度の結果によって、その連続した検出が使用可能な1回だけに減る可能性があります。

フレームサンプリングによって最適な映像を取り逃すことがある

録画には毎秒15フレームまたは30フレームが含まれていても、推論はより低いフレームレートの検出ストリームで実行される場合があります。最も鮮明なフレームが、検出器に送られるフレームの間に入ってしまうことがあります。

推論レートを下げると計算負荷を抑えられ、通常の歩行イベントは維持できることが多い一方、走っている人、自転車、小動物、または狭い範囲を通過する車両のような対象では、時間方向のカバー範囲が狭くなります。

実際の映像が何フレーム続くかを確認してください。30 fpsの10フレームの映像は、わずか3分の1秒です。5 fpsの検出器では1~2箇所しか解析されず、そのどちらでも高品質なバウンディングボックスが得られるとは限りません。

トラックの仮判定期間がイベントより長くなることがある

トラッカーは、新しい対象が複数のフレームにわたって維持されるまで、仮状態のままにすることがよくあります。これにより、1フレームだけの検出ノイズ、反射、昆虫、圧縮アーティファクトによるアラートを減らせます。

NVIDIA DeepStreamでは、新しいトラッカーがアクティブになる前に仮判定期間が設けられていることが説明されています。その期間中に対象物が消えると、パイプラインは誤検出の可能性が高いとして、そのトラックを抑制することがあります。

この安全策によって、本物の短時間イベントが隠れてしまうこともあります。仮判定期間を短くすると短時間イベントの再現率は向上しますが、1フレームだけの誤アラートも増えるため、実際のカメラノイズでテストする必要があります。

信頼度しきい値によって、関連付け前に弱いボックスが除外される

動きの速さ、フレーム端からの部分的な侵入、夜間の露出、雨、まぶしさ、小さな対象物のサイズなどにより、人間には見えていても検出器の信頼度が低下することがあります。

ByteTrackは、低信頼度の検出ボックスを破棄すると、対象物の見逃しや軌跡の分断が生じるという問題を前提に設計されています。

短時間のイベントでは、1つのボックスが拒否された後に挽回する時間がほとんどありません。書き出した映像で高いしきい値と低いしきい値を比較し、検出器が対象物を低い信頼度で認識しているのか、それともまったく認識できていないのかを確認してください。

関連付けのルールは急激な動きで失敗することがある

トラッカーは、次に対象物が現れるはずの位置を予測し、その予測を新しい検出結果と照合します。急な方向転換、フレーム間の大きな移動、サイズの急激な変化、または部分的な遮蔽によって、照合範囲から外れることがあります。

Ultralyticsでは、検出結果がトラックを更新するかどうかや、見失ったトラックをどの程度の時間維持するかを制御するトラッキングのしきい値とバッファを設定できます。

バッファを増やすと、トラックが作成された後の一時的な消失には有効ですが、そもそもトラックにならなかったイベントを修正することはできません。関連付けを緩くしすぎると、新しい対象物が古い軌跡に誤って結び付けられ、イベントの対象IDを間違えることもあります。

トラックの初期化と継続性は、再現率と安定性のトレードオフになる

オンライン追跡では、いつ検出結果を新しいトラックにするか、2つの観測結果が同じ対象物に属するか、そしていつ軌跡を終了するかを判断する必要があります。

トラッキングを重視した研究では、弱い初期化によって、後の関連付けが助けになる前に対象物を見失う可能性があるため、トラックを考慮した初期化を独立した設計課題として扱っています。

そのため、長時間の車道トラックに最適化したホームNVRの設定では、玄関先に短時間だけ現れる対象物を拒否することがあります。全体の感度を1つ変更するのではなく、開始、継続、イベント作成を個別に評価してください。

トラッキングによって負荷が増え、必要なフレームが落ちることがある

検出、外観特徴の抽出、動きの推定、関連付け、オーバーレイ、録画、複数のカメラストリームが、CPU、GPU、メモリ帯域幅、デコードリソースを共有します。

トラックの初期化に関する研究では、トラッカーの複雑さは、初期化と再識別をオンライン処理の速度と両立させる必要があるとされています。ホームサーバーのリアルタイム処理予算を超える設定では、遅延が蓄積したり処理がスキップされたりする可能性があります。

トラッキングを有効にする前後で、カメラFPS、推論FPS、検出器の遅延、キューの深さ、フレーム落ちのカウンターを比較してください。パイプラインが時間どおりに処理できるフレーム数を減らしている場合、トラッキング機能によって継続性が向上することはありません。

録画の保持とイベント確認を分ける

追跡イベントをアラートに使用する場合でも、カメラ周辺では連続録画またはモーション録画を維持してください。録画があれば、シーンの見逃しが、キャプチャ、検出、トラッキング、イベントルールのどこで発生したのかを確認できます。

見逃した映像を管理されたテストパイプラインで再生し、モーションボックス、生の検出結果、信頼度、トラックID、ゾーン、最終的なイベント出力を確認してください。一度に変更するしきい値は1つだけにします。

ZimaSpaceのカメライベントを保存前に処理する理由の解説は、分類とフィルタリングの有用性を示しています。ただし、短時間イベントを保持するには、確認済みのトラックだけに全面的に依存しない録画経路も必要です。

よくある質問

短時間のイベントを記録するために、物体追跡を無効にすべきですか?

必ずしもそうする必要はありません。まず、生の検出結果と追跡済みイベントを比較してください。検出範囲を広げたり、トラックの開始条件を調整したりすることで、トラッキングのメリットを失わずに短時間イベントを保持できる場合があります。

トラックバッファを長くすれば、一度だけ現れた対象物を記録できますか?

いいえ。バッファで保持できるのは、すでに存在していて見失ったトラックです。検出器から使用可能な観測結果が十分に提供されなかった場合、確認済みの軌跡を新たに作ることはできません。

カメラの録画FPSを上げると、検出FPSも上がりますか?

自動的には上がりません。録画ストリームと検出ストリームでは、フレームレート、解像度、処理経路が異なる場合があります。設定されている推論レートを直接確認してください。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.