粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

ピンホールカメラモデルについて

コンピュータビジョンでよく使われるカメラの撮像モデル。
いわゆる「ピンホールカメラモデル」について気づいたことをメモ。

ピンホールカメラモデルとは

f:id:ossyaritoori:20151031162211p:plain

平たく言うと距離Zにある物体は焦点距離fのカメラに \frac{f}{Z} の比で映るというもの。
図で言うと Y:y=Z:f ってこと。


もちろんこれは最も簡単なカメラのモデルで,もっと詳細なパラメータを記述しようとするとカメラ行列というやつを参照せねばならない。
気になるならOpenCVのサイトとかを漁って探してみよう。

疑問

何の疑いもなくそういうもんかとして使っていたのだがよく考えるとなんかヘンだ。

高校の時習ったレンズのモデルはこうだ。
f:id:ossyaritoori:20151031162546p:plain

この場合,先ほどの写像の大きさの比は 物体の距離:写像面の距離 = a : b となるはずである。
じゃあ,fを用いて書くとどうなるかというと

写像の大きさの倍率 =  \frac{b}{a} = \frac{f}{a-f}

こんなの中学生の時にやったなぁ。


実際のカメラはピンホールカメラではなくみんなレンズを使っているのでこっちのモデルのほうが正しいのではないだろうか。
どっか参考文献探せばすぐ出てくる気もするが。

ただ,実際の撮像物との距離は焦点距離に対して3ケタ以上大きいことが多く,aはfにくらべて十分大きいと近似すれば
写像の大きさの倍率 ≒  \frac{f}{a}

となってピンホールカメラモデルと一致する。
あーすっきりした。


考察?

なお,これを思ったきっかけは「カメラのズーム時に(見かけの)焦点距離って変わるの?」という疑問。
実際にはカメラのズームはbの距離を伸ばすような事をして拡大率を操作している。

実際のレンズの焦点距離は基本的に固定だもんね。
ただ,見かけの焦点距離は個人的には変化すると思っている。


先ほどの式
写像の大きさの倍率 =  \frac{b}{a} = \frac{f}{a-f}

これの左側の式を見ればレンズと撮像素子の距離bは見かけ上ピンホールカメラモデルの焦点距離の役割を担っていると言える。
ズーム時にはこれを変動させるのだからピンホールカメラモデルを使っているうちは見かけの焦点距離は変化すると言えよう。

なんかズーム機構もモデリングしたくなってくるが例えばNAIST修論によれば3次のSplineでそのズームの変動による影響を定式化しているようである。
http://imd.naist.jp/research/pdf/2012_okada.pdf


うーん。なんかわかったらまた投稿します。