画像からの速度計測手法について

(とりあえずツイからはりつけ)

氏がやってらっしゃる速度計測ですが、、、、あまりに計測誤差が大きく算出方法に問題があるので、計算された数値をもってどうのこうのとは言えないですね。目安ぐらいにはなるかもしれませんが。

始点と終点のエッジの角度がかなり違ってるので、補正なしにそのまま使うのはちょっとアレです。ほぼ角度が同じなら、さほど角度がキツくない限り、平均を取るのもそこまで悪くはないと思いますが。 やろうと思えば、三角比と相似を使って、どのくらいのズレなのかは概算できると思います。

https://pbs.twimg.com/media/BM-FnlNCYAEBIr1.png

  • 視点からエッジ端の垂直距離をx
  • 水平距離をr
  • エッジ長をw
  • エッジの垂線に対する角度をθ
  • 写像までの垂直距離をd
  • 写像エッジ長をy

とすれば、y= *3 /(x(x+wcosθ)) で求まります。距離xやrが推測になりますが、概況を得るには充分でしょう。

ただ、この平均値は、あくまで始点終点間の推測のみにある程度妥当なだけであって、他の区間には適用できません。例えばA,B,C,Dが等間隔にあるとき、A,Cでのエッジ長の平均値をAC間に用いるのはある程度妥当であっても、BD 間には用いることはできません。それをやってるのが問題ですね

誤差が大きいのは本人も認めているのですが、どういう点が誤差をもたらしているのかキチンと認識したほうが、いろいろ対処しやすいと思います。

まず、2つ目の点、つまり平均値の適用範囲について:http://t.co/qXWftTkOYt の一つ目の画像で、始点エッジ長1,041と終点1,370の平均値をその範囲21,205に対して使うのは百歩譲るとしても、異なる区間である26,221 に使うのはあかんでしょ、ということ
エッジの角度については、http://t.co/9UNQbhriXI の二枚目:始点1,239でのエッジ角度と終点676の角度は結構違うでしょ。フリップに入ってインに乗り始めてるんだから当然だけど。それを何の補正もせずにそのまま平均を取るセンスはいかがか、ということ。
ちなみに昨日書いた数式を図にするとこんな感じ(手書きだけど):視点が点A、エッジが線分BC、写像面がDE http://t.co/BfcNldpMGP
x, r を設定して、rをwsin(θ), x を wcos(θ)ずつ動かしていけば、どのくらい写像長yが変わっていくか分かります。またθを変えることによって、角度の違いによってどの程度写像長が変わるか分かります。お手元のexcelを動かせます。


例えば、x=20m、r=5m, w=0.3m, θ=70度とした時、始点での写像長y1に対して、エッジ長x10分直線上に進んだ終点での写像長y10は、およそ91.4%、n=1..10の写像長の合計/10はy1の95.4%となるので、
始点終点の単純平均を取っても、さほど大きな差はでませんが、この値が有効なのはあくまでn=1..10 に関してで、n=5...14 に対しては有効ではない、ということ。ざっくり91%(n=5..14)となるべきところを96%としてるわけだから。


彼の測定方法は、まず映像から画像を取り出しパラノマのように同一視点に近いよう合成する。一秒間の始点、終点画像のトゥ距離をpixel で計測し、Lとする。始点終点でのエッジ写像長を計測し、その平均を取りyとする。また、実エッジ長をwとする。
L/y を取ればLが実エッジ何個分が分かり、それにwを掛けることで進行距離を推定する。1秒間での距離なので、これを秒速とする。s=wL/y .
Lに比べかなり小さいyが分母に来るため、yの誤差が大きく結果に影響します。
少なくとも始点終点のエッジの角度が同一、異なる場合にはθ1とθnの分だけ補正しないと、余計に誤差が出てきます。
あと、アイレベルと地表とのずれもあるけど、、、一層面倒になってくるな。
例えば、x=20,r=0,θ=70と60の場合では、9.1%ほどの違いが出ます。あくまで二次元上の話なので、カメラの高さを考慮すると、また違った結果になるとは思いますが。計算ミスしてたらゴメン。
いや、試みとしては面白いと思うんですよ。測定の難しさと画像処理の面倒くささは想像に余りあります。ただ、上記の点が、ちょっとアレかなぁ、、ということで。