レンズには歪みがある

 まあ、当たり前のことですが、レンズには歪みがあります

 真ん中は良くても端っこにいくほどその歪みによるズレはどんどん大きくなります。

 もし、フォトグラメトリを調査や研究に使うならできるだけ正確さを求めたいもの。

 というわけで、今回はレンズキャリブレーションについて解説していきます。

 

 キャリブレーションは同じカメラ・レンズなら一回やっておけばOKだと思いますが、本来は熱によるレンズの膨張などもあるそうなので、実際にモデリング用の素材写真を撮影する環境と同じ状況でキャリブレーションする方がいいそうです。

 僕は面倒だし大差ないので、1回しかしていませんが…。

 

 また、内容はほぼ同じですが、こちらの記事も参考にしてください。

 後述するチェスボード撮影の良い例・悪い例が分かりやすく解説されています。

 第1回 Agisoft Metashape(旧PhotoScan)チュートリアル

 

チェスボードの表示・撮影・読み込み

 キャリブレーションはチェスボードという白黒の四角がたくさん並んだ画像を使います。
 metashapeに入っていますので、それを使っていきましょう。
 
 まずは、「ツール」メニューから「レンズ」、「チェスボードを表示」を選択します。
 
 
図1 チェスボードの表示
 
 チェスボードは画面のどこかをクリックすれば消せます。
 
 このままPCの画面を撮影するもよし、画面をスクリーンショットして印刷したものを撮影するもよしですが、液晶だと上手くいかないこともあるので、僕は印刷したものを使いました。
 (印刷して使う場合、印刷の質も関係するので、事前にノズル―パターンのチェックをしておきましょう
 Windowsの方は、キーボードの「Windowsマーク + PrtSc」などでスクリーンショットと保存ができるはずです。
 
 では、このチェスボードを使って次の方向からそれぞれ撮影してください。
 カメラの画面いっぱいにチェスボードが入るようにしましょう。
 ・正面
 ・斜め上
 ・斜め下
 ・斜め左
 ・斜め右(順不同)
 
図2 チェスボードの撮影例
 
 撮影できましたか?
 
 では、次にこれらをmetashapeに読み込みます。
 読み込み方が分からなければ前の記事に戻ってみてください。
 
図3 写真の読み込み後
 

レンズキャリブレーション

 それでは、いよいよキャリブレーションします。
 「ツール」メニューから「レンズ」、「レンズキャリブレーション」を選択してください。
 
図4 レンズキャリブレーションの選択
 
 次に図5のような設定画面が出てくると思います。
 すべてにチェックを入れてOKを押します。
 (すべてチェックすることにはまだ疑問があります。僕の方でも試行錯誤して後ほど書き直すかもしれません
 
図5 設定画面
 
 ちなみにそれぞれの意味はマニュアルによると図6のようになっています。
 
 
図6 マニュアルでの設定値の説明
 
 まあ、僕は英語苦手なんで全くわからんのですが、要するに以下のようになっています。
 f…焦点距離
 c…光学的な中心の座標(主点座標)
 b… ピクセルのせん断係数(スキューの歪み係数)
 k…レンズの放射方向の歪み
 p…レンズの円周(接線)方向の歪み
 …うん、むずかしい。
 とにかく、これでPCさんにこのカメラ・レンズはこれくらい歪みますよとお伝えすることができるようになります。
 
 上では「すべてにチェック」としていますが、このようなご教示をいただきました。
 ぜひ、こちらを参考にされてください。
 
 
 では、metashapeに戻りまして、どれでもいいので写真をダブルクリックして表示してみましょう。
 
図6 キャリブレーション結果
 
 画面全体に青や赤のぴょこぴょこが出ていれば成功です。
 画面中央は歪みが少ないですけど、端っこにいくほど歪みが大きくなっているのがわかりますね。
 

結果の保存

 それでは今回のキャリブレーション結果を保存しましょう。
 保存しておけばモデリングする際に使ったカメラ・レンズごとのキャリブレーション結果をすぐに反映することができます。
 
 「ツール」メニューから「カメラキャリブレーション」を選択してください。
 
図7 カメラキャリブレーションの選択
 
 選択すると次のような設定画面が出ますので、修正値タブの赤丸をクリックして保存しておきましょう。
 
図8 キャリブレーション結果の保存
 
 キャリブレーション結果の読み込みは保存ボタン左のフォルダマークから呼び出せますので、モデリングするときは最初に読み込みましょう。
 

まとめ

 今回はカメラ・レンズキャリブレーションの方法について解説しました。
 まだまだ検証が必要なところもあるので適宜見直していきます。
 metashapeは魚眼レンズや360°カメラにも対応しているのでこれらキャリブレーションが非常に大事になります。
 1度やってしまえばあとは読み込むだけなので、読み込みも忘れずに!