2 つの画像から取得したオプティカル フロー情報を使用して、オブジェクトの実際の実際の速度を見つけるにはどうすればよいですか? 誰でも私を助けることができますか?
2 に答える
コメンテーターがすでに言っているように、あなたの問題についてさらに情報が必要です。基本的に:はい、画像から実際の速度を計算することは可能です
ただし、これはすべて次のことに依存します。
- カメラは固定されていますか、それとも動いていますか
- シーン内の任意の場所を移動するオブジェクトの速度を計算しようとしますか?それとも固定車線を持っていますか?マウントされたカメラで撮影された道路のように、オブジェクト (車) は常に 1 つの車線に沿って移動しますか?
- 後者の場合、現実世界の路上で測定できますか? 遊歩道のポイントをマークするのと同じように (永続的または単純に、現実世界の x メートルの距離がカメラ画像にピクセル単位でどのくらい表示されるかを調べるため)
- 現実世界のシーンでこれらの測定を行うことができない場合は、シーン/地面レベルに対するカメラの角度、カメラからシーンまでの距離、およびカメラのパラメーターに関する情報を提供する必要があります。
シーン上の追跡されたオブジェクトの速度を計算するには、シーン内の距離を実際に計算するために、おそらく後者のすべてが必要になるでしょう。しかし、これははるかに困難です。
車の速度を測定したい固定車線の場合は、現実世界でポイントを測定またはマーキングする方法をお勧めします。
その情報がある場合:
x m = y px
オブジェクトが時間内に移動y px
しt
た場合 (その時間は、計算のリフレッシュ レートによって得られます)、1 秒間に移動するピクセル数を計算できます。メートル/秒 (または任意の他の単位。
また、シーンに 2 つのマークを設定して、オブジェクトが 1 つのマークから別のマークに移動するのに必要なフレーム数 (つまり、時間) を測定することもできます。これにより、より平均化された速度が得られます。これは、小さな時間ステップで計算を行うと、セグメンテーションの問題が原因で、または単に測定されたタイムスパンが短いほど変化がかなり小さいため、ノイズの多い結果が得られる可能性があるためです。
セグメンテーションについては、単純に減算法を試すことができます。次の 2 つまたは 3 つのフレームを互いに減算します。移動するオブジェクト (および変更された画像部分) はゼロ以外の値になりますが、安定した画像部分の色の値は約 0 に減算されます。
多分それはあなたの問題を解決するのに役立ちます...しかしもちろん、これはあなたの設定とあなたの望む目標に依存します...あなたはより多くの情報を提供する必要があります...
この方法は非常に長いですが、要するに:
できることは、カメラからオブジェクトまでの距離を指定する値を設定することです。
次に、最初のフレームをキャプチャしてどこかに保存します。
最後のフレームをキャプチャして、どこかに保存します。
両方のフレームにしきい値を適用します。
最初のフレームの左からすべてのピクセルをトリミングし、2 番目のフレームに対して同じことを行います。
詳細なチュートリアルについては、この記事が少し役立つと思います。
http://morefunscience.blogspot.in/2012/05/calculating-speed-using-webcam.html