290 likes | 659 Views
「写真からの3次元形状復元」 ①精度向上 ②自動化 ③利便性向上. M1 三村 純一. はじめに. 写真からの3次元形状復元. 真解. 鏡. 鏡像解. 3次元形状復元. ワイヤーフレーム化 ⇒. 写真撮影 ⇒. カメラ. 鏡像関係. ②. ①. 5. 5. 7. 7. 1. 3. 3. 1. 6. 6. 8. 8. 2. 4. 4. 2. カメラ. 鏡. 同じ写真が出来る。. 問題 : 現在、鏡像判定は手動で行っている。 解決策: 自動判別できる方法を導入する。. カメラモデル
E N D
「写真からの3次元形状復元」①精度向上 ②自動化 ③利便性向上「写真からの3次元形状復元」①精度向上 ②自動化 ③利便性向上 M1 三村 純一
はじめに • 写真からの3次元形状復元 真解 鏡 鏡像解 3次元形状復元 ワイヤーフレーム化 ⇒ 写真撮影 ⇒
カメラ • 鏡像関係 ② ① 5 5 7 7 1 3 3 1 6 6 8 8 2 4 4 2 カメラ 鏡 同じ写真が出来る。 問題 :現在、鏡像判定は手動で行っている。 解決策:自動判別できる方法を導入する。
カメラモデル 因子分解法を用いるために、カメラモデルを近似している。 透視射影モデル ⇒ Paraperspectiveモデル 問題 : 近似モデルによる誤差により、復元精度が悪くなる。 解決策: 透視射影での因子分解法を考える。 近似! 本来モデル
カメラ運動の動画 いろいろ試してみたが・・・。 ①画像全体にアフィン変換 ②2つの変換画像を混合 ③物体を平面毎に分解し、それぞれアフィン変換 問題 :自然な動画とは、いえない・・・ 解決策:物体の平面を三角パッチでさらに分割。 次に画質を上げる。 問題 :三角パッチの部分が手動操作となる。 解決策:写真ごとの自動三角網を可能にする。 動画 さらに!
3次元形状のCG(テクスチャマッピング) 問題 :ワイヤーフレームだと視覚的に分かりにくい。 解決策:テクスチャマッピングを行い、CGで表現する。 • アプリケーション作成 問題 :今までの研究を他の人に教えるのは、困難である。 解決策:一連の流れをGUIで構築して、分かりやすくする。
問題点の整理 解決策! 今回 • 精度向上 カメラ運動の動画 ⇒ 3角パッチ化、画質の向上 カメラモデル ⇒ 透視射影の因子分解法 • 自動化 鏡像判定 ⇒ 〃 3角パッチの抽出 ⇒ 自動3角網生成 • 利便性向上 3次元形状のCG ⇒ surface (matlab関数) アプリケーション作成 ⇒ guide (matlab gui作成ツール) 1 2 2’ 次回 3 4
カメラ運動の動画 • 従来までの方法 最も良かった動画・・・平面毎の切り出し。 動画 大体は分かるが、微妙・・・
画質の向上! 3角パッチ切り出し! 低 粗 120×160 1倍 4角形 3面 240×320 4倍 3角形 6面 480×640 16倍 動画 高 密 次へ・・・ 考えられる方法は、2種類!
三角パッチで切り出した画像6枚 480×640を使用! 動画 完成!結構良い! アフィン変換で変換に使う行列が、 一般逆行列から逆行列になったため。 なぜ? ? ・・・・ ただし、自動三角網という課題が残る。
問題点の整理 解決策! 今回 • 精度向上 カメラ運動の動画 ⇒ 3角パッチ化、画質の向上 カメラモデル ⇒ 透視射影の因子分解法 • 自動化 鏡像判定 ⇒ 〃 3角パッチの抽出 ⇒ 自動3角網生成 • 利便性向上 3次元形状のCG ⇒ surface (matlab関数) アプリケーション作成 ⇒ guide (matlab gui作成ツール) 1 2 2’ 次回 3 4
透視射影の因子分解法 解が落ち着くまで続ける!! • 本来の因子分解法 [特徴点位置,カメラ位置,カメラ向き]=function(写真座標) 近似モデルで撮影された写真 ≒ 本来のモデルで撮影された写真 上記の条件下で、再び写真を撮影する。 このとき、近似モデルでの撮影を行う。
近似モデルでの撮影 画像面 基準面 特徴点面 << S特徴点 X近似 カメラ X特徴点 λ基準点 λ特徴点 << X基準点 S基準点 L λ基準点 λ特徴点 基準面までの深さ 焦点距離 特徴点面までの深さ 近似モデルでの写真 ⇒ X近似-X基準点の相対座標 = λ特徴点 ( X特徴点-X基準点) λ基準点
鏡像解の判定 ここで、解が落ち着いた時、本来のモデルで撮影される写真と元写真との相関を調べる。 (相関の評価には、2つの写真における特徴点座標の差を2乗したものを考える) 判定方法 相関が大きい方の解 ⇒ 真解 相関の小さい方の解 ⇒ 鏡像解 鏡像解の自動判定が可能となる。
因子分解法の精度検証 • 実験1(誤差なし検証) コンピュータ上に仮想的な物体を配置し、仮想的なカメラで撮影。 仮想的な物体 仮想的なカメラ 精度の評価については、復元解から再撮影した写真と元写真との 相関を考える。
検証結果(真解の場合) 1 2 3 4 5 6 7 8 9 10 試行回数
検証結果(鏡像解の場合) 1 2 3 4 5 6 7 8 9 10 試行回数
検証結果 図. 試行回数と2解の関係
実験2(誤差あり検証) 実写真を用いての実験。特徴点抽出、隠れ点処理などの誤差が含まれる問題。 因子分解法 3次元形状復元 写真8枚 近似モデルでの 写真撮影 繰り返す!! 精度の評価については、実験1と同様。
検証結果(特徴点の位置) 真解 鏡像解 2 3 試行回数 1 見た目では、ほとんど差が分からない・・・
検証結果 鏡像判別・精度向上が確認できる 図. 試行回数と2解の関係
問題点の整理 解決策! 今回 • 精度向上 カメラ運動の動画 ⇒ 3角パッチ化、画質の向上 カメラモデル ⇒ 透視射影の因子分解法 • 自動化 鏡像判定 ⇒ 〃 3角パッチの抽出 ⇒ 自動3角網生成 • 利便性向上 3次元形状のCG ⇒ surface (matlab関数) アプリケーション作成 ⇒ guide (matlab gui作成ツール) 1 2 2’ 次回 3 4
3次元形状CG • 3次元形状の表面に、質感を与える画像を貼り付ける。(テクスチャマッピング) 関数:surface 例:ピエロの顔 + = 凸凹な顔 顔画像 凸凹な表面
テクスチャマッピングされた復元形状 サイド3 サイド4 トップ サイド2 サイド1 ただし、撮影してない部分は復元不可能。
問題点の整理 解決策! 今回 • 精度向上 カメラ運動の動画 ⇒ 3角パッチ化、画質の向上 カメラモデル ⇒ 透視射影の因子分解法 • 自動化 鏡像判定 ⇒ 〃 3角パッチの抽出 ⇒ 自動3角網生成 • 利便性向上 3次元形状のCG ⇒ surface (matlab関数) アプリケーション作成 ⇒ guide (matlab gui作成ツール) 1 2 2’ 次回 3 4
アプリケーションの作成 • Windows版matlabを用いて、GUIを作成する。 GUI作成ツールの起動 >>guide いろいろなオブジェクトを 配置できる⇒
現在、編集可能な画像 他の画像一覧 • プロトタイプ版 特徴点座標 一覧 座標編集 画面へ 各シミュレーションの実行画面へ
シミュレーション画面 • 編集画面 • 3Dシミュレーション • カメラ運動の動画(ワイヤーフレーム) • 〃 (実画像) • 特徴点の座標を容易に抽出可能。 • 直入力による指定も可能。 他にも便利機能があれば、今後追加・・・・
今後の課題 • 自動三角網についての理解、説明。 • アプリケーションの完成。 • 大西トラッキングの手伝い。 • その他(精度向上・安定性向上・・・etc) ⇒ 射影変換・アフィン変換 ⇒ 自動三角網・その他 ⇒ 分かるところは・・・ ⇒ SVM・最良近似 ~おわり~