このCamera triangulationについて
カメラを利用した距離と長さを測定
Androidバージョン6.0以下では、初回インストール後に携帯電話のアプリケーション設定で位置、カメラなどの権限を設定する必要があります。
I.距離測定
1.距離を知りたい地点をタッチします。
2. 1ステップ移動した後、最初の地点と長さを知りたい地点をタッチします。
3. 2点を結ぶ線が見え、その後計算が進み、計算が終わると結果画面に切り替わります。
**計算の誤差は、Essential matrixの推定値とカメラの位置との間の距離での誤差によるものです。 Essential matrixの場合は、何度も繰り返し計算で可能な限り減らすように努めました。カメラの位置による誤差の場合は、次のようなルーチンで発生します。このアプリは、カメラで撮影した2つの画面をエピポーラに合わせてマッチングポイントの位置を計算します。すぐにエピポーラ整列する過程で、カメラの位置がエピポーラ整列された状態で移動して発生すると推定しています。この誤差は、左右に移動すると大きく発生することを経験的に知ることになりました。そのため、最初のシーンと2番目のシーンの間にカメラを前後に動かしてください。
**マッチングはコーナー検出を利用しています。たまにマッチングができない場合がありますが、これはマッチング方法によって発生するもので、歩幅が距離の1/20倍(経験的)より大きい場合マッチングができないことがわかりました。
**歩幅の場合、測定距離の約1/100倍~1/20倍程度が適度な歩幅の大きさです。 1/100倍以下では、2つのシーンの違いを認識する(ピクセルの位置の差が小さい大文で)は容易ではありません。もちろん、サブピクセル単位で計算して克服しようとしましたが、これも2~5倍程度の解像度精度向上程度です。