画像1枚から奥行を推定して立体的に見せる手法を使ってみる


複数枚の画像から形状を計算する方法は多くありますが、1枚の画像から推定する手法も結構あります。面白そうなのを見かけたので少し試してみます。

3D Photography using Context-aware Layered Depth Inpainting

 

細かいことは必要になったときに論文でも読むとして、実際にどんな感じで推定されるのか使ってみます。

リンクとデモの準備

Link : Github Pages / src

Githubページからデモを開くと3D-Photo-Inpainting.ipynbが表示されます。

ちょうど前回使ったやつですね。

 

「ファイル」→「ドライブに保存」で自分のGoogle Driveに保存します。

実行

 

上から順に実行していきます。

  • Prepare environment
  • Download script and pretrained model
  • Switch off off-screen rendering
  • Please upload .jpg files to /content/3d-photo-inpainting-master/image/
  • Execute the 3D Photo Inpainting

バージョン互換エラーがちらちら見えますが気にせず進めます。

 

jpgを選ぶコードは実行後にファイル選択します。

ちなみにこの参考画像はうまく動きません。

jpgをアップロードというのはjpeg形式のことでなく.jpg拡張子のことです。

これは.JPGなのでダメ。

 

最後まで実行するとファイルが出来上がります。

左端のフォルダアイコンからファイルを探します。

 

4つ動画が出来ていますね。それぞれ以下のような動画です。

  • zoom-in:普通に近づく
  • swing:左右に振りながら近づく
  • circle:円状に回しながら近づく
  • dolly-zoom-in:近づきながらズームアウトする

 

一番わかりやすいCircleを見てみます。

後ろの見切れてる子猫がちょっと不穏な感じですが上手く立体的になっています。

いくつか試していますがどれもラベリングがうまくいってる感じがします。

 

漫画や絵画など絵でも推定可能です。

髪や服の輪郭が難しそうですがドリーイン(右端)とかいい感じですね。

 

今のところ面白いなーって遊んでるだけですが何かに活かせたらいいな。


コメントを残す

メールアドレスが公開されることはありません。