用語集 · ロボティクスと制御
三角測量
別名:Triangulation、triangulate、triangulated、stereo、ステレオ、ステレオ視、三角測量法
2台以上のキャリブレーション済みカメラに点がどこに写っているかから、その点の3次元の位置を求めること。
カメラ1台では奥行きを測れません。レンズから伸びる1本の光線上の点は、どれも同じピクセルに写るからです。別の場所から見る2台目のカメラがあれば、2本目の光線が得られます。2本の光線が交わる場所が、その点です。
実際の光線はぴったり交わることはありません(ピクセルが少しずれているからです)。そこで、両方に最もよく合う点を選びます。キャリブレーションで得た各カメラの射影行列 と、点が写ったピクセル を使うと、各カメラから未知の点 についての線形方程式が2つ得られます。
ここで は の第 行です。すべてのカメラについてこれを積み重ね、最小二乗法で解くと が得られます。
奥行きが最もよく測れるのは、カメラどうしの角度が大きく離れているときです。2台のカメラを横に並べるとほぼ同じ光線を見ることになり、1ピクセルの誤差が奥行きの大きな誤差になります。人を撮るなら、60–90°離すのが良い配置です。
このプロジェクトでは
コーチのモーションキャプチャは、約89°離して置いた2台のスマホ(1台は対戦相手が立つ位置、もう1台は打つ側の手足の横)から得た2次元のキーポイントを三角測量します。スマホ1台だった以前の試みでは、すべての手足の奥行きをその長さから推測するしかなく、画像によるチェックはすべて通ったのに、構えで脚を前後逆に置いてしまったことがありました。2つの視点があれば、どちらの足が前にあるかは推測ではなく測定されます。