カメラキャリブレカメラキャリブレ...

43
カメラキャリブレション カメラキャリブレ ション 呉海元@和歌山大学 呉海元@和歌山大学 2010621

Transcript of カメラキャリブレカメラキャリブレ...

Page 1: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

カメラキャリブレーションカメラキャリブレ ション

呉海元@和歌山大学呉海元@和歌山大学2010年6月21日

Page 2: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

カメラキャリブレーション(校正)実世界のカメラとカメラモデルとの対応付け

2

Page 3: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

カメラキャリブレーション項目ラキャリ ション項目 幾何学的キャリブレーション

外部パラメ タ: 6- 外部パラメータ: 6世界座標系におけるレンズの中心座標(t)、レンズ光軸の方向(R)レンズ光軸の方向(R)

- 内部パラメータ: 5像 像 ズ焦点距離、画像中心、画像(画素)サイズ、

歪収差係数 カメラの外部変数(extrinsic parameters): 6個

3(world coordinate system)

Page 4: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

カメラキャリブレーション手順ラキャリ シ 手順

1 幾何学的・光学的特性が既知の対象物を撮影1. 幾何学的 光学的特性が既知の対象物を撮影

2. 対象物固有の特徴(特徴点の世界座標など)とその画像特徴(その特徴点の画像座標)を対応付け~ エピポーラ幾何、知識、ヒューリスティクス

3 カメラモデルに基づき モデルパラメ タを推定3. カメラモデルに基づき、モデルパラメータを推定~ 射影幾何、線形代数、数値解析、統計

4

Page 5: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

キャリブレーションデータと安定性

ワールド座標と画像座標の対応点安定性

標 像 標

• 3次元位置既知の特徴点

• 透視投影行列P• 透視投影行列P

既知の形状の特徴既知の形状の特徴

• 平面上の特徴点、円、矩形など

ホモグラフィH レンズ歪みk• ホモグラフィH、レンズ歪みk,

画像座標同士の対応付け画像座標同士の対応付け• 3次元位置未知の特徴点、軌跡など

基礎行列F E 簡便さ• 基礎行列F,E 簡便さ

Page 6: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Single Camera CalibrationSingle Camera CalibrationExtrinsic Parameters Intrinsic Parameters

f : focal lengthk : scale of the pixel

coordinate axis

Extrinsic Parameters t s c a a ete sR : rotation matrixt : translation vector

u ,v : image principal point0 0

Camera Coordinate System

Tsai’s Method

World Coordinate SystemWorld Coordinate System

Image Coordinate SystemProjective Camera Matrix

Page 7: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Example Calibration PatternExample Calibration Pattern

非平面パターン

Calibration Pattern:平面パターン

Calibration Pattern: Object with features of known size/geometry

Page 8: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Harris or Canny Corner DetectorHarris or Canny Corner Detector

手動か自動か入力画像からキャリブレーションパターンの特徴点を探し出すの特徴点を探し出す

Page 9: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

カメラの内部パラメータカメラの内部パラメ タ

xoZX

sfx

ZXfx

yx ss , size pixelx Zs

yoYfy

Z

Yfy

X O yx oo ,center image

yy Zs

yZ

fy

X yxg

21, distortion lens kk

fZfl thf l flength focal

Calibration = Determine the intrinsic parameters of a camera

Page 10: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

キャリブレーション(内部パラメータ)キャリブレ ション(内部パラメ タ)

幾何変換のパラメータ推定幾何変換 ラ タ推定透視投影 内部パラメータ

00

XofkU

01000000

ZY

ofkofk

SVU

yy

xx

image

image

画像上の点や3次元空間中の点の座標を与えて、

1

0100S

画像上の点や3次元空間中の点の座標を与えて、パラメータを求める、最適化問題として定式化される

Page 11: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

キャリブレ ション(外部パラメ タ)キャリブレーション(外部パラメータ)

ド座標系 座標系 ワールド座標系とカメラ座標系の下

tx, ty, tz と r1,1…r3,3 はカメラ外部パラメータx y z 1,1 3,3

外部パラメータ

Page 12: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

キャリブレーション(全パラメータ)キャリ ション(全 ラ タ)ワールド座標系と画像座標系の下で

ldX

)43( world

world

image

image

ZYX

VU

P

1

worldg Z

S

Page 13: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

透視投影モデルのキャリブレーション透視投影モデルのキャリブレ ション

行列P

worldimage

XU 行列P

自由度11rank 3

)43(

world

worldimage

image

ZY

SVU

Prank 3

1worldS

画像上の点 三次元空間中の点 対応点1個画像上の点 三次元空間中の点 対応点1個拘束2PXx

6点以上の対応付けから求められる

PXx 対応点 から求められる

Page 14: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Pの推定の線形解法推定 線 解法(6 points algorithm)

• 6点以上の対応点からPを推定• 6点以上の対応点からPを推定

• 線形最適化

Page 15: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ
Page 16: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

n (n≧6)個の対応点から2nの方程式

は2n×12行列行列で書くと

を す を求を最小にするPを求める

ただしp=0を除く→ とする(11自由度)ただしp 0を除く→ とする(11自由度)

最小二乗最小二乗

Page 17: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

通常の最小二乗法で微分=0とすると通常の最小二乗法で微分=0とすると

明らかな解p=0しか求まらない

ラグランジェの未定乗数法を使う

固有方程式ラグランジェ乗数

pがWの固有ベクトルのとき成立pはWの最小固有値に のとき成立

対応する固有ベクトル

Page 18: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

6 points algorithm の利点 欠点6 points algorithm の利点、欠点

利点• 計算コストが小さい

• 数値計算的に安定

欠点欠点

• 最小化の目的関数が、幾何学的にな意味を持たない

非線形解法

• 幾何学的に意味を持つ数値を最小化する• 幾何学的に意味を持つ数値を最小化する

Page 19: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

非線形解法非線形解法

( )T•幾何学的に意味のある誤差を最小化画像上の観測点と投影点の誤差を最小化

T TT

( )

T

•画像上の観測点と投影点の誤差を最小化

• 非線形最適化• ニュートン法、マーカート法など

• 精度は高いが、計算コストが高い、局所解が存在する高い、局所解が存在する

• 線形解を初期値にする

Page 20: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

透視投影行列の分解透視投影行列の分解

Pを内部パラメータK、回転R、並進tに分解

P= = 画像座標の傾き

M=KR K:上三角行列

部分を とするとPの3×3の部分をMとするとM=KRK→上三角行列、R→正規直交行列

分解 と 分解 きるよって、QR分解でKとRに分解できる

また、Kが求まれば、

Page 21: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

透視投影行列Pの推定まとめ透視投影行列Pの推定まとめ

が が3次元座標が既知の点が必要

ワールド座標に対するカメラの位置 姿勢がワ ルド座標に対するカメラの位置、姿勢が求まる

カメ 台数を増やし も 同じ ド座標カメラの台数を増やしても、同じワールド座標に対するPを求めればよい

Page 22: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

出席チェック出席チェック

単眼カメラの幾何学的キャリブレーションについて、

1) 透視投影行列Pの自由度?ランク?何点以上あれば求めることが可能ですか?れば求めることが可能ですか?

2) 紹介した透視投影行列Pを求める方法(線形、非線形)の利点 欠点をそれぞれ述べなさい非線形)の利点、欠点をそれぞれ述べなさい

Page 23: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Two-view geometryTwo view geometry複数カメラ間のキャリブレーション

3D reconstructionEpipolar geometryEpipolar geometryE-matrix comp.F-matrix comp.H-matrix compH matrix comp.Structure comp.

Page 24: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

基礎行列Fのキャリブレーション

ピボラ平面

基礎行列Fのキャリブレ ション

エピボラ平面

左カメラの画像点 右カメラの画像点

from Hartley& Zissermanbaseline

画像間の対応点集合から基礎行列Fを推定

x x’エピポーラ方程式

x xx’TFx=0

Page 25: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Fの推定:線形解法推定 線形解法

x’TFx=00

ただし P行列と同様に最小固有値に対応する固有ベクトルとして推定

Page 26: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

非線形解法非線形解法

線 幾線形解法の目的関数は幾何学的に無意味

非線形解法非線形解法

目的関数

• エピポーララインと対応点の距離

• ステレオ復元後の再投影誤差

ニュートン法、マーカート法など

線形解を初期値とする線形解を初期値とする

Page 27: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

基礎行列の分解礎行列 分解

内部パラメータKが既知の場合

• 基礎行列Fから基本行列Eに変換

エピポールe、e’はどんな点にも対応するので

O O’

の最小値と対応する固有ベクトル

→eは

エピポールeは並進tと同じ方向(スケールは不定)

Page 28: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

基礎行列の分解基礎行列 分解

よりまた

の最小化によってRを求められる

Page 29: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

エピポールを用いた平行化epipolar pencilエピポーラペンシール

from Hartley& Zisserman

H

エピポーラ線が平行になる変換

Page 30: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

基礎行列から平行ステレオへ変換基礎行列から平行ステレオへ変換

corner

視差(disparity)視差(disparity)

姿勢や、Bの長さが分からなくても、形状を復元できる、 長 、エピポールさえ分かれば、形状復元ができる

Page 31: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

基礎行列Fの推定まとめ基礎行列Fの推定まとめ

基礎 像 応 だ 未知 点• 基礎行列は画像間の対応付けだけ(未知の点)

• 基礎行列からカメラ間の相対位置、姿勢の復元や、平行ステレオへの変換が可能

• 未校正の2枚の画像から、カメラの姿勢の復元未校正の2枚の画像から、カメラの姿勢の復元とシーンの形状復元が可能(ただしスケール不定)定)

• 自較正、uncalibrated stereo などと呼ばれる

Page 32: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

内部パラメ タのキャリブレ ション内部パラメータのキャリブレーション

ゴ ズ Tsaiのアルゴリズム

• 3次元座標既知の点から、レンズ歪みを含む内3次元座標既知の点から、レンズ歪みを含む内部パラメータを推定

• 初期からソースコードが公開されていたため 多• 初期からソ スコ ドが公開されていたため、多くの人たちが利用

Page 33: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Tsaiのモデル

ワールド座標カメラ座標 投影面座標焦点距離

座標ラ座標 投影面座標

並進回転 並進

Page 34: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Tsaiのモデル

スケール因子(縦横比)

歪み座標 画像座標

スケ ル因子(縦横比)

画像中心

歪み係数サンプリング間隔サンプリング間隔

(CCDの幅)

Page 35: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

回転R 並進T 6パラメ タTsaiのモデル回転R•並進T 6パラメータ

焦点距離f 1パラメータ

ひずみ係数k 1パラメータ

画像中心 1パラメータスケール因子 1パラメータスケ ル因子 1パラメ タサンプリング間隔 2パラメータ

12パラメータの非線形最適化

Page 36: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

例例

入力画像キャリブレーション後

歪みを補正

Page 37: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Tsaiの方法まとめTsaiの方法まとめ

• 3次元位置既知の点から内部パラメ タを推定• 3次元位置既知の点から内部パラメータを推定

• 高次元(12パラメータ)の非線形最適化

• あまり安定ではないが、ソースが公開されていたためよく使われた

• 最近は ZhangらのEasyCalibがよく使われる最近は、ZhangらのEasyCalibがよく使われる

• 平面上の座標既知の格子点(平面の状態は未知)

• 数枚の平面から 歪みを含む内部 外部パラメータを推定• 数枚の平面から、歪みを含む内部、外部パラメータを推定

• 安定、精度はTsaiよりはいい

• OpenCVに含まれる• OpenCVに含まれる

Page 38: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

EasyCalibEasyCalib State-of-the-art calibration

Z. Zhang: Flexible Camera Calibration By Vi i Pl F U k O i t tiViewing a Plane From Unknown Orientations (1999)• Solves correspondence problem• Works with planar calibration padp p• Works well in practice

Page 39: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

格子点が直線になるように歪み補正Homographyの推定

Page 40: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Calibration Software: OpenCVCalibration Software: OpenCV

Page 41: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

Calibration Software: MatlabCalibration Software: Matlab

Page 42: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

内部パラメータのキャリブレーションまとめ内部パラメータのキャリブレーションまとめ

昔 ゴ ズ が く使われ• 昔はTsaiのアルゴリズムがよく使われた

• ソースが公開

• 不安定、3次元位置既知の点が必要

• 最近はEasyCalibがよく使われるy• 安定

• 使い勝手がいい使 勝手

• 平面上の格子点• 平面の位置は未知でいい

• 格子点は自動検出しやすい

• 格子点検出も含めてソースが公開されている(OpenCV)

Page 43: カメラキャリブレカメラキャリブレ ションーションweb.wakayama-u.ac.jp/~wuhy/CV/CV2010/CV10.pdf透視投影モデルのキャリブレ透視投影モデルのキャリブレ

出席チェック出席チェック

複数カメラの幾何学的キャリブレーションについて、

• 透視投影行列Pを求める場合と基礎行列Fを求める場合の利点、欠点を述べなさいめる場合の利点、欠点を述べなさい