第 11 回講義水曜日 1 限教室 6215 情報デザイン専攻 画像情報処理論及び演習 I - 画像合成 類推 - Poisson Image Analogy 吉澤信 shin@riken.jp, 非常勤講師 大妻女子大学社会情報学部 1 2 今日の授業内容 www.riken.jp/brict/yoshizawa/lectures/index.html www.riken.jp/brict/yoshizawa/lectures/lec11.pdf 画像合成 類推 Etcetera. 演習 :Poisson Image Analogy Content-Aware Resizing/Retargeting 画像中の特徴的 / 象徴的オブジェクトのサイズや Aspect Ratio を変えずに画像のサイズや Aspect Ratio を変える事. Y.-S.. Wang et al., SIGGRAPH Asia 2008. S. Avidan & A. Shamir, SIGGRAPH, 2007 R. Gal et al., EGSR 06. 復習 : 勾配 :Gradient 勾配 (Gradient): スカラー場の各点で変化が最大の方向 wikipedia. と変化率を大きさに持つベクトル場. 勾配作用素 : ( ( x, y) (, ) x y 勾配ベクトルの表記 :, ) x y ( x, y) ( x, y) (, ) ( I x, I y ). x y 勾配の大きさ : I I 2 x I 2 y www.mathworks.co.jp. Content-Aware Resizing/Retargeting2 Seam Carving: 勾配の強度エネルギーが最小になる曲線群を計算して複製 削除によりサイズ変更. (, ). x y E( I ). L1 x y Content-Aware Resizing3 Seam Carving: ビデオへも拡張 & マスクと組み合わせてオブジェクトの削除も. S. Avidan & A. Shamir, SIGGRAPH, 2007 S. Avidan & A. Shamir, SIGGRAPH, 2007 M. Rubinstein, SIGGRAPH, 2008 1
Content-Aware Resizing/Retargeting4 勾配強度やマスクと他の画像特徴を組み合わせて局所変形 (Warping) をする方法もある. 復習 :2-bands Blending 低周波は滑らかに Alpha を変化 + 高周波は Alpha 定数. Y.-S.. Wang et al., SIGGRAPH Asia 2008. R. Gal et al., EGSR 06. Brown & Lowe, 2003 低周波成分画像 高周波成分画像 イメージモザイキング / パノラマ画像生成 1. 特徴点 対応点抽出. 2. 幾何学的変換の推定. 3. 幾何変換 & 色補正. 4. Blending. 復習 :Pixel Transfer による Inpainting 画像から似ている画素 Texture を持ってくる. - 局所 Window で類似パターンを検索 :Window サイズに依存. - 低周波画像は補間で生成しておくと影等の効果を反映出来る. - 穴 ( マスク ) を埋める順番が重要! 類似検索 p H. Yamauchi et al., CGI 2003. CG-ARTS 協会 数百万のExampleがあると データベースからの類似検索 + 画像合成. 2 Million Flickr Images 2
数百万の Example があると 数百万の Example があると Image2GPS 画像データベースに位置情報が付いている ( 撮影場所 ) と画像検索 類似画像の多さを地図にマップ =GPS. Image2Real 画像データベースからCGの類似画像検索 + 部分合成でより写実的 (Photorealistic) なCGの生成. MIT-CSAIL-TR-2009-034. Hays & Efros, CVPR 2008. カモフラージュ画像合成 復習 :Image Analogy の Texture Synthesis New York Times H.-K. Chu SIGGRAPH 2010. Camouflage Art: S Gardner J. Straalen 3
カモフラージュ画像合成 H.-K. Chu SIGGRAPH 2010. 復習 :Poisson Image Editingの原理 Idea: 良いBlendingはSource 画像の勾配 (Gradient= エッジ ) を可能な限り保持する事が重要. Gradients v g Mask Target h I Source 画像の Gradient( マスク内 ) を Target にコピーしマスク内だけ Target の境界条件で新しい輝度値 I を解く. I div g Target 画像 J. Sun et al. SIGGRAPH 2004. Source 画像 h h ( x, y ) Poisson 方程式を解く! Poisson Image Editing の問題点 Image Harmonization Multi-band Blending の一種 : ヒストグラムマッチングにて全体の色を合成し ソース画像の高周波ノイズを多重解像度解析で Blending. K. Sunkavalli et al. SIGGRAPH 10. Source Mask Target 合成結果 Image Melding S. Darabi et al. SIGGRAPH 12. Patch-band Approach: 勾配と色を小領域毎に最適化し全体の色及び細部を合成 (Screened Poisson 方程式 ). Poisson Image Analogy でリアルな合成 エッジ保存フィルタリング画像に PIE で合成後 Image Analogy で細部を復元. - S. Yoshizawa & H. Yokota, EG 13 poster, - 情報処理学会誌 2015. Poisson Harmonization Melding 4
アプローチ Main Idea: テクスチャー ( 高周波 ) とベースの色合い ( 低周波 + シャープエッジ : 特徴 ) を別々に処理 : 入力 = 低周波 + 特徴 + 差分 : 高周波 Image Analogy+PIE でリアルな合成 エッジ保存フィルタリング画像に PIE で合成後 Image Analogy で細部を復元 :A はエッジ保存フィルタリング画像 A は元画像 B が PIE による合成画像. A A B B? Image Analogy+PIE でリアルな合成 2 PIE vs Image Analogy+PIE ポアソン合成結果ポアソン合成のみ ポアソン合成 + 画像類推 ポアソン合成のみ ポアソン合成 + 画像類推 5
既存法のポアソン合成のみ合成結果 ポアソン合成提案法最終結果 + 画像類推 既存法のポアソン合成結果 提案法最終結果 写実画像 + 非写実画像の合成 写実画像 + 非写実画像の合成 ゴッホ + Death Star 提案法 ゴッホ + Death Star 提案法 ミレー (1814-1875)+ ジャンボジェット 写実画像 + 非写実画像の合成 提案法 北斎 + ビーチレジャー 既存法のポアソン合成結果 提案法最終結果 6
演習 www.riken.jp/brict/yoshizawa/lectures/index.html レポートの内容が出来た人は以下の演習をやってみましょう! EdgePreservingFilter と ArtisticFilter を使ってよりリアルな合成をしてみよう! 1. EdgePreservingFilter で MonaLisa.ppm をフィルタリング : 端末で ~/Desktop/Ex05/EdgePreservingFilter./images/MonoLisa.ppm ML_EP.ppm 1.0 2. display ML_EP.ppm & Image Analogy+PIE でリアルな合成. EdgePreservingFilter と ArtisticFilter を使ってよりリアルな合成をしてみよう! 3. MonaLisa.ppm の代わりに ML_EP.ppm で合成 ( ソース マスクはそのまま ):./PoissonImageEditor./MaskEditor/KeiraMona.ppm./MaskEditor/KeiraMona.p gm ML_EP.ppm KM_PIE_EP.ppm 1.0 0.0 4. display KM_PIE_EP.ppm & 5. Artistic Filter で細部を復元 : A: ML_EP.ppm A :./images/monalisa.ppm B:KM_PIE_EP.ppm ~/Desktop/Ex05/ArtisticFilter ML_EP.ppm./images/MonaLisa.ppm KM_PIE_EP.ppm result.ppm 2.0 1000.0 2 6. display result.ppm & A A B B Source Mask Target 合成結果? 7
補足資料 :Lec08.pdf Smoothing.cxx: ガウス平滑化を実行するプログラム : 引数 3: - Smoothing 入力.ppm 出力.ppm 平滑化度合 (double) - 平滑化度合のパラメータは 0 より大きな実数 2.0~20.0 ぐらいが実用的. EdgePreservingFilter.cxx: エッジ保存平滑化を実行 : 引数 3 - EdgePreservingFilter 入力.ppm 出力.ppm エッジの大きさ (double) - エッジの大きさパラメータは 0 より大きな実数 0.5~2.0 ぐらいが実用的. EdgePreservingFilter, 1.0 入力 Smoothing, 5.0 8