Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

GeoCalib: Learning Single-image Calibration wit...

GeoCalib: Learning Single-image Calibration with Geometric Optimization

GO株式会社での社内勉強会(コンピュータビジョン輪講)の発表資料です

Kazuyuki Miyazawa

November 27, 2024
Tweet

More Decks by Kazuyuki Miyazawa

Other Decks in Technology

Transcript

  1. AI 2 自己紹介 宮澤 一之 GO 株式会社 AI 技術開発部 グループマネージャー

    @kzykmyzw 経歴 April 2019 - March 2020 AI研究開発エンジニア@DeNA April 2010 - March 2019 主任研究員@三菱電機 March 2010 博士@東北大学 Data-Centric AI コミュニティを 運営し定期的に勉強会を開催中
  2. AI 3 項目 01|透視投影モデル 02|カメラキャリブレーション 03|GeoCalib 01, 02の参考資料 • ディジタル画像処理編集委員会,

    ディジタル画像処理[改訂第二版](図を引用) • 徐, 辻, 3次元ビジョン • 延原, 高橋, SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~ • R. Hartley, A. Zisserman, Multiple View Geometry in Computer Vision
  3. AI 4 透視投影モデル X Z x O 1 𝑥 =

    𝑋 𝑍 Y Z y O 1 𝑦 = 𝑌 𝑍 ' 𝒙~ 𝑰|𝟎 - 𝑿 𝑠 𝑥 𝑦 1 = 1 1 0 0 0 1 0 0 0 1 3 0 0 0 𝑋 𝑌 𝑍 1 画像平面 1
  4. AI 6 ワールド座標 → カメラ座標 𝑋 𝑌 𝑍 = 𝑹

    𝑋! 𝑌! 𝑍! + 𝒕 - 𝑿~ 𝑹 𝒕 𝟎" 1 - 𝑿# f
  5. AI 8 正規化画像座標 → 画像座標 (単位 mm*) (単位 pixel) *

    cmやmでも構わない u v x y cu cv θ (cu , cv ):光軸と画像面の交点(画像中心) θ:u 軸と v 軸のなす角度 δu :横方向の画素の物理的な間隔 δv :縦方向の画素の物理的な間隔 θ = 90°(撮像素子に歪みはない) δu = δv (画素は正方形) とみなす f
  6. AI 9 正規化画像座標 → 画像座標 (単位 mm*) (単位 pixel) *

    cmやmでも構わない 𝑥 = 𝛿 𝑢 − 𝑐$ 𝑓 𝑦 = 𝛿 𝑣 − 𝑐% 𝑓 𝑢 = 𝑓 𝛿 𝑥 + 𝑐$ 𝑣 = 𝑓 𝛿 𝑦 + 𝑐% 𝑢 𝑣 1 = ⁄ 𝑓 𝛿 0 𝑐$ 0 ⁄ 𝑓 𝛿 𝑐% 0 0 1 𝑥 𝑦 1 ' 𝒎~𝑨' 𝒙 f / δ を改めて f(単位は pixel)と表記することも多い f
  7. AI 10 ワールド座標 → 画像座標 (単位 mm*) (単位 pixel) *

    cmやmでも構わない ' 𝒎~𝑨' 𝒙 - 𝑿~ 𝑹 𝒕 𝟎" 1 - 𝑿# ' 𝒙~ 𝑰|𝟎 - 𝑿 ' 𝒎~𝑨 𝑰|𝟎 𝑹 𝒕 𝟎" 1 - 𝑿# ~𝑨 𝑹|𝒕 - 𝑿# 𝑷 透視投影行列 (3 x 4 の行列) ワールド座標 カメラ座標 正規化画像座標 画像座標 f
  8. AI 11 (幾何学的)カメラキャリブレーション (単位 mm*) (単位 pixel) * cmやmでも構わない '

    𝒎~𝑨 𝑰|𝟎 𝑹 𝒕 𝟎" 1 - 𝑿# ~𝑨 𝑹|𝒕 - 𝑿# 内部キャリブレーション:内部パラメータ A の推定 外部キャリブレーション:外部パラメータ R, t の推定 ' 𝒎~𝑨' 𝒙 - 𝑿~ 𝑹 𝒕 𝟎" 1 - 𝑿# ' 𝒙~ 𝑰|𝟎 - 𝑿 ワールド座標 カメラ座標 正規化画像座標 画像座標 f
  9. AI 12 レンズ歪み(OpenCV で利用されているモデル) 樽型歪み (barrel distortion) 糸巻き型歪み (pincushion distortion)

    𝑥!"#$%&$'! = 𝑥 1 + 𝑘( 𝑟) + 𝑘) 𝑟* + 𝑘+ 𝑟, + 2𝑝( 𝑥𝑦 + 𝑝) 𝑟) + 2𝑥) 𝑦!"#$%&$'! = 𝑦 1 + 𝑘( 𝑟) + 𝑘) 𝑟* + 𝑘+ 𝑟, + 𝑝( 𝑟) + 2𝑦) + 2𝑝) 𝑥𝑦 𝑢 𝑣 1 = ⁄ 𝑓 𝛿 0 𝑐$ 0 ⁄ 𝑓 𝛿 𝑐% 0 0 1 𝑥&'()*+),& 𝑦&'()*+),& 1 半径方向の歪み (radial distortion) 円周方向の歪み (tangential distortion) レンズ 撮像素子 𝑟) = 𝑥) + 𝑦) 歪み係数:k1 , k2 , k3 , p1 , p2 (内部パラメータに含まれる) 参考:OpenCVのカメラ歪みシミュレータを作ってみた
  10. AI 15 Zhang の手法 http://vigir.missouri.edu/Images/Caltech-Toolbox/htmls/example.html • 2000 年に Zhengyou Zhang

    が提案した 最も有名なキャリブレーション手法 • 既知の平面パターン(格子間隔が既知の チェッカーボードなど)を複数の方向か ら撮影した画像を用いる • 平面パターン上に座標系を定義し、撮影 画像において格子のコーナーを検出する ことでコーナーについて 3D-2D 対応が 得られる • 得られた対応関係からホモグラフィ行列 を求め、これを分解することで内部・外 部パラメータを求める • 最低限必要な画像は 3 枚だが、実際には 数十枚の画像を用いることが多い Z. Zhang, "A flexible new technique for camera calibration," PAMI, 2000.
  11. AI 18 8 点法 𝒎 𝒎! • ある点 P を2つの視点からカメラで観測したとき、それぞ

    れのカメラの中心 C、C’ と P を通る平面をエピポーラ平面、 エピポーラ平面が画像と交わる線をエピポーラ線と呼ぶ • 点 P を2つのカメラに投影した点 m と m’ との関係は基礎 行列 F を使ったエピポーラ方程式で表される • 基礎行列 F にはカメラの内部パラメータ、外部パラメータ の情報が含まれており、特異値分解などによってそれらを 取り出すことができる* • 基礎行列 F は m と m’ のペアが最低 8 組あれば求めること ができ、画像間で 8 点(以上)の対応点を見つけて F を推 定するアルゴリズムは 8 点法と呼ばれる ' 𝒎-"𝑭 ' 𝒎 = 0 H. C. Longuet-Higgins, "A computer algorithm for reconstructing a scene from two projections," Nature, 1981. * F の自由度の都合により全てのパラメータを求めることはできず、また、 視点間の動きによってはパラメータを推定できないことがある(臨界運動)
  12. AI 20 消失点に基づく手法 • 互いに直交する 3 つの消失点がわかれば、カ メラの内部パラメータを推定することができる • 画像から抽出した線分を

    3 つの支配的な方向 に分類し、それらの交点として消失点を求めて カメラキャリブレーションを行う • 人工物を構成する平面は、1 つの直交座標系の いずれかの平面に並行であるというマンハッタ ンワールド仮説に基づくため、仮説から大きく 外れるシーンでは使えない マンハッタンの航空写真 B. Caprile and V. Torre, “Using vanishing points for camera calibration,” IJCV, 1990. J. Kosecka and W. Zhang, “Video compass,” ECCV, 2002.
  13. AI 22 Perspective Fields Up-vector up Latitude φp P p

    p = Π(P) n 重力方向 • カメラの視点に関する情報を画像の画素ごとに表現するカメラのパラメータ化手法 • 各画素に対応する 3 次元点における上向きベクトル(重力方向の逆)と、その点への視線 が水平面となす角度(緯度)を保持 • 透視投影以外のカメラモデルにも対応し、クロップなどの画像編集にもロバスト L. Jin et al., “Perspective fields for single image camera calibration,” CVPR, 2023. https://www.youtube.com/watch?v=uOmTwvKreM4 -tg
  14. AI 23 Perspective Fields • SegFormer ベースのモデルで画像から Perspective Fields を予測

    • 真値は 360° パノラマ画像から生成 • 回帰ではなく、上向きベクトルと緯度を離散 化してクロスエントロピーロスで学習 • Perspective Fields から一般的なカメ ラパラメータへの変換は CNN で行う • 推定した Perspective Fields を CNN に入力し、ロール、ピッチ、FoV、画 像中心の座標を予測 • パラメータごとの L1 ロスの合計で学習 L. Jin et al., “Perspective fields for single image camera calibration,” CVPR, 2023.
  15. AI 25 アーキテクチャ • カメラキャリブレーションのための視覚的な手がかりとして Perspective Fields を予測し、 その結果から最適化問題を解くことでカメラパラメータを推定 •

    全体を black-box 化して DNN に全てを学習させるのではなく、すでに十分に理解されて いるカメラ幾何に関する知識を最適化プロセスとして導入 • カメラパラメータの一部が既知である場合は、それを最適化プロセスにおける事前情報と して使うことで残りの未知パラメータの推定精度を改善
  16. AI 26 Perspective Field と信頼度の予測 • SegNeXt を使って画像から Perspective Fields(上向きベクトルと緯度)を予測

    • 加えて、予測した Perspective Fields がどれだけ信頼できるかを画素ごとに出力 ! 𝐮 # 𝜑 𝜎𝐮 𝜎"
  17. AI 27 Perspective Field からのカメラパラメータの推定 • 予測した Perspective Fields になるべく近いものを生成するカメラパラメータ

    θ を求める • カメラパラメータ θ はカメラ座標系における重力方向ベクトル g と焦点距離 f、歪み係数 k • 非線形最小二乗法(Levenberg–Marquardt 法)により次式の目的関数を最小化する ! 𝐮 # 𝜑 𝜎𝐮 𝜎" θ が生成する Perspective Fields と DNN が予測した Perspective Fields の二乗誤差に信頼度をかけたもの
  18. AI と をスタック 28 LM 法による最適化 目的関数 上向きベクトルは、上方向に沿った投影関数の方向微分と同じ向きを持つ ( )

    LM 法による最適化では、各ステップでの更新 δ を次式を解くことで求める 半径方向歪みモデル σu と σφ を対角方向にスタック
  19. AI 29 学習 ! 𝐮 # 𝜑 𝜎𝐮 𝜎" 𝜎𝐮

    ! 𝐮 − 𝐮 ' 𝜽 # 𝜎" # 𝜑 − 𝜑 ' 𝜽 # ) 𝜽 − ' 𝜽 # • カメラパラメータと Perspective Fields の誤差の重み付き和をロスとして DNN を学習 • LM 法は最適化の反復プロセスを unroll するか、陰函数微分を使うことで backprop 可能 • 信頼度は LM 法による最適化が正しい解に収束するのを促すよう陰に学習される
  20. AI 31 学習データセット HDRMAPS Poly Haven Laval Indoor HDR Dataset

    OpenPano パノラマ画像 2,900 枚 Train 37,015 枚 Val 2,100 枚 Test 2,128 枚 • 既存の公開されているパノラマ画像から選定した 2.9k 枚のパノラマ画像で新たなデータ セット OpenPano を構築 • パノラマ画像から様々なカメラパラメータで投影することで 42k の学習/評価画像を生成 水平線(緯度 0°)
  21. AI 32 性能比較結果 ~レンズ歪みなし~ 学習ベース手法 直線/消失点ベース手法 * OpenPano で学習 •

    学習したデータセット (OpenPano) とは異なるデータセットで他手法との性能を比較 • 重力方向は Roll と Pitch、内部パラメータは FoV の誤差で評価 • 一般的に古典的手法は高精度だがロバスト性が低く、学習ベース手法はその逆という特性 を持つが、GeoCalib は双方の長所を取り入れることができている
  22. AI 33 性能比較結果 ~レンズ歪みあり~ GeoCalibで推定した歪み係数による歪み補正の結果 • レンズ歪みを含むデータセットで FoV および歪み係数の推定精度を他手法と比較 •

    GeoCalib は歪みのないピンホールカメラモデルのみで学習した場合でも他手法を上回り、 さらに歪みを含む画像で学習することで性能が向上
  23. AI 34 Ablation Study • Perspective Fields の提案論文で使われた PerspectiveNet+ParamNet に対し、本論文

    での改善を 1 つずつ加えながら性能の変化を調査 • 特に不確実性の学習によるゲインが大きく、画像中でカメラ視点に関する情報を多く持つ 領域にフォーカスし、それ以外の領域(テクスチャのない領域など)を無視することが効 果的であることを示唆
  24. AI 37 まとめと所感 • Perspective Fields は、画素ごとに 3 次元空間における上向きベクトル(重力方向の逆) と、視線が水平面となす角度(緯度)を保持するカメラのパラメータ化手法

    • 従来は DNN で black-box 化されていた Perspective Fields からのカメラパラメータ推定 にカメラ幾何の知識に基づく最適化を導入することで性能を改善 • DNN を使いつつ、すでにモデルベースで十分であることがわかっている箇所に適切にモデ ルを組み入れることで DNN のキャパシティの無駄遣いを防いで性能を上げるというアプ ローチは納得性もあり面白い • 学習ベースとモデルベースの組み合わせという観点で見れば特にカメラ幾何に関連した分 野では成功例が数多くある (e.g., MVSNet, DROID-SLAM)