用語集 · ロボティクスと制御

三角測量

別名:Triangulation、triangulate、triangulated、stereo、ステレオ、ステレオ視、三角測量法

2台以上のキャリブレーション済みカメラに点がどこに写っているかから、その点の3次元の位置を求めること。

カメラ1台では奥行きを測れません。レンズから伸びる1本の光線上の点は、どれも同じピクセルに写るからです。別の場所から見る2台目のカメラがあれば、2本目の光線が得られます。2本の光線が交わる場所が、その点です。

実際の光線はぴったり交わることはありません(ピクセルが少しずれているからです)。そこで、両方に最もよく合う点を選びます。キャリブレーションで得た各カメラの射影行列 PiP_i と、点が写ったピクセル (ui,vi)(u_i, v_i) を使うと、各カメラから未知の点 XX についての線形方程式が2つ得られます。

ui (Pi3X)−Pi1X=0,vi (Pi3X)−Pi2X=0u_i \, (P_i^{3} X) - P_i^{1} X = 0, \qquad v_i \, (P_i^{3} X) - P_i^{2} X = 0

ここで PikP_i^{k} は PiP_i の第 kk 行です。すべてのカメラについてこれを積み重ね、最小二乗法で解くと XX が得られます。

奥行きが最もよく測れるのは、カメラどうしの角度が大きく離れているときです。2台のカメラを横に並べるとほぼ同じ光線を見ることになり、1ピクセルの誤差が奥行きの大きな誤差になります。人を撮るなら、60–90°離すのが良い配置です。

このプロジェクトでは

コーチのモーションキャプチャは、約89°離して置いた2台のスマホ(1台は対戦相手が立つ位置、もう1台は打つ側の手足の横)から得た2次元のキーポイントを三角測量します。スマホ1台だった以前の試みでは、すべての手足の奥行きをその長さから推測するしかなく、画像によるチェックはすべて通ったのに、構えで脚を前後逆に置いてしまったことがありました。2つの視点があれば、どちらの足が前にあるかは推測ではなく測定されます。

関連用語

この用語が出てくる記事

← すべての用語