日本財団 図書館


4. カメラキャリブレーション
 画像処理に使用する座標系をFig. 5に示す。世界座標系で表される3次元空間中の点はカメラレンズを通して2次元画像平面上の点ヘマッピングされる。世界座標系からカメラ座標系への変換は剛体変換であり、回転R(α, β, γ)の後に並進T(tx、ty、tz)を行えばよい。HALCONではこれらは並進と回転の順序の情報と共にポーズとして記憶される。世界座標系の点を2次元画像平面座標系へ変換するにはさらに6つのパラメータ(f, k, sx, sy, cx, cy)が必要である。fはカメラの焦点距離、sx, syはスケールファクタ(カメラのCCD素子で使用しているセンサー要素の水平、垂直間隔)、(cx, cy)は画像平面上に光学中心を垂直に投影した点(主点)、kはレンズ歪を記述するパラメータである。これらのパラメータはカメラキャリブレーション3, 4)を行うことにより求められる。
 カメラキャリブレーションに使用したキャリブレーションボードをFig. 6に示す。各辺の長さが150mmの四角形の枠内に7 x 7 = 49個の円形マークが描かれている。世界座標系内に置かれた平面キャリブレーションボード上の円形マーク位置が12個のカメラパラメータを使って画像上の位置に投影されるので、画像上で実際に抽出された位置と投影された位置の距離(誤差)を最小にすることでパラメータが決定できる。キャリブレーションは精度を上げる為、Fig. 6に示すように、ポーズを変えた10枚の画像を使って行われた。カメラキャリブレーションはカメラ設置時に一度行っておくだけでよい。実際の運動計測は10枚目の画像(船尾位置に垂直に置かれたキャリブレーションボードの画像)より得られるポーズ(座標軸)を使用して行われることになる。
 実機の場合、全計測範囲を1枚のキャリブレーションボードでキャリブレーションしようとすると1辺の長さが2m程度のボードが必要になり、精度のよいボード製作が困難になる。従って実機の場合は、使用する画像数が増加しても、1辺の長さが0.8m程度のボードを使用し(この程度の大きさならばポストスクリプトで記述したキャリブレーションボードをプリンターで容易に出力可能である)計測範囲すべてをカバーするようにポーズを設定するのが得策であると考えられる。
 
Fig. 5 Coordinate system
 
Fig. 6 Camera calibration
 
5. 3次元運動計測
 画像処理による3次元運動計測にもいろいろな方法5, 6)があるが、本システムでは1台のカメラで行えるPose Estimation法4)を用いることにし、Y軸方向の動的計測精度の確認を行った。Pose Estimation法を用いた回転角の計測を含んだ精度確認結果は紙面の都合で省略するが、文献[6]に詳しく述べられている。
5.1 1台のカメラによる3次元運動計測
 キャリブレーションボードを浮体に取り付け、カメラのフレームレート毎にカメラキャリブレーションを行えば、カメラに対するキャリブレーションボードの角度・位置、すなわち、浮体の3次元運動が1台のカメラで計測できることになる。実際の計測においては、49個もの点を抽出し計算すると処理時間が長くなるので点数を減らす必要がある。理論的には3点でポーズが決定できるが、得られた値のばらつきが大きく不安定であったため、4点を使用した。
5.2 動的計測精度の確認
 計測精度確認のための実験状態をFig. 7に示す。ターゲットはボールネジで駆動される1軸の強制動揺装置に取り付けられている。Fig. 8は船上のCCDカメラにより取られたターゲット画像と運動計測用黒丸抽出の過程を示している。黒丸の抽出においては、強制動揺装置(海洋構造物)に取り付けられているターゲットは常に動いていることに注意しなければならない。従って、抽出は次に示すような手順で行った。
(1)運動中のある瞬間のターゲットの画像が取り込まれる。
(2)4つの黒丸の中央にある形状パターンをマウス操作で(図中破線のように)取り囲む。
(3)囲んだ四角形の中にある形状パターンがパターン外枠を検出することにより自動抽出され(抽出された外枠は図中太い実線で示されている)、形状パターンマッチングに必要なパターンの特徴が登録される7)
(4)新しく取り込まれた画像上で形状パターンマッチングを行い(パターン登録中もターゲットは運動を続けている。従って、ここで取り込まれた画像上のターゲットの位置は(1)で取り込まれた画像上の位置とは異なる。)、ターゲットの中心位置情報を得る。形状パターンマッチングはロバスト性が非常に高く、パターンの一部が隠されていてもマッチング可能である。ターゲットの中心位置がわかると、ターゲット中心に対する4つの黒丸の相対位置は既知なので、黒丸の存在する四角形状の範囲を切り出すことができる。切り出した範囲(四角形)内で動的しきい値処理等の一連の画像処理を施すことにより黒丸の正確な位置をサブピクセル精度で得ることができる。ターゲット上の4点の黒丸位置がわかるとPose Estimation法によりターゲットのカメラに対するポーズが決定できる。
(5)切り出す領域(四角形)の中心を得られた黒丸中心にフレームレート毎に更新し、抽出処理を行うことによってターゲット(ターゲットの取り付けられた海洋構造物)の3次元運動が計測される。
 画像全体から黒丸のように単純でどこにでも存在しそうな形状を抽出するのは非常に困難である。ターゲットが静止状態から運動を開始するのであれば、静止時に黒丸のある範囲をマウスで指定し、抽出を行い、次のステップ(5)に進み計測を行うことは可能であるが、計測開始時にすでにターゲットが運動している場合は不可能である。黒丸の代わりに4種類の形状パターンを配置し、形状パターンマッチングにより得られる4点の位置からポーズを決定することも可能ではあるが、パターンマッチングはかなりの演算時間を必要とするので得策ではない。形状パターンマッチングがパターンの大きさに依存しないようにできれば(カメラとターゲットの距離が接舷する海洋構造物ごとに変化するため画像上のターゲットの大きさは一定ではない)、事前に形状パターンを登録しておき、(2)、(3)の過程を省略することができる。現場でパターンを登録するような作業は行わないほうがよいと考えられるのでさらに改良を続けていきたい。
 なお、切り出した範囲内にある黒丸の中心位置は次のようにして求めた6)
(a)切り出した領域内で平滑化処理を行った画像と、オリジナル画像を用いて動的しきい値処理(オリジナル画像のグレイ値が平滑化画像内のグレイ値にオフセットをプラスしたものよりも小さいオリジナル画像内のすべての点を抽出)を行うと、黒丸が抽出される。
(b)抽出された黒丸部分に膨張処理をかけ、オリジナル画像から膨張させた領域を切り出す。
(c)切り出したほぼ円形の領域画像内でサブピクセル精度の境界検出を行う。
(d)境界を楕円に近似し、楕円中心をターゲットの画像上での位置とする。
 単純なしきい値処理による黒丸中心のピクセル精度による処理では計測精度が低く、サブピクセル精度の処理が不可欠であった。
 
Fig. 7  Experimental set-up for verification of dynamic measurement precision
 
Fig. 8  Image of target and process of image processing
 
 計測された運動振幅の誤差と時間遅れをFig. 9に示す。実験は動揺片振幅を33mmに固定し、動揺周期を変化させて行った。誤差は最大1.5%程度であり、動的な計測精度は運動周期(運動速度)にかかわらず高いことがわる。また、時間遅れは運動周期にかかわらず一定である。この時間遅れは実機の場合波周期が4〜10秒と長いので問題にならないと考えられる。
 
Fig. 9 Dynamic measurement precision


前ページ 目次へ 次ページ





日本財団図書館は、日本財団が運営しています。

  • 日本財団 THE NIPPON FOUNDATION