1. HOME
  2. »
  3. グラフィック
  4. »
  5. 3D Photo Inpaintingの使い方。2D画像が超簡単に3Dに!

3D Photo Inpaintingの使い方。2D画像が超簡単に3Dに!

画像を3Dにする技術が話題となっております。
この技術を使えば、写真やイラストなど、2Dのものが、簡単に3Dになってしまいます。

今回はその技術の使い方を紹介していこうと思います。

目次
  1. 3D Photo Inpaintingについて
  2. ブラウザ上で作る。3D Photo Inpaintingの使い方
  3. ローカルで作る。3D Photo Inpaintingの使い方(Mac)
  4. まとめ

3D Photo Inpaintingについて

まず、3D Photo Inpaintingを使うとどのようなものができるのでしょうか。
以前に描いたイラストで試してみました。

こちらのイラストも動かしてみました。

英語ページですが、詳しくはこちらをご確認ください。
3D Photography using Context-aware Layered Depth Inpainting

3D Photo Inpaintingで3Dに変換するには、大きく分けて、ブラウザ上で行う方法と、ローカルで行う方法があります。

ブラウザで行う場合は簡単な手順で3Dに変換することができ、操作も分かりやすいです。
ローカルで行う場合はちょっとだけ難しいかもしれません。

ブラウザ上で作る。3D Photo Inpaintingの使い方

では、まずは2D画像を、ブラウザ上で3Dに変換する方法を紹介します。

まずは3D-Photo-Inpainting.ipynbにアクセスしましょう。

3d photo inpainting

Googleドライブに「3D-Photo-Inpainting.ipynb」のコピーを保存してから変換する方法にしようと思うので、Googleにログインする必要があります。
右上の「ログイン」から、ログインします。
3d photo inpainting

では、ドライブにコピーしてみましょう。
「ファイル」 → 「ドライブにコピーを保存」 をクリックします。
3d photo inpainting

すると新しいタブが開かれるので、そこで作業を行なっていきます。

では、「Prepare environment」の項目から始めていきましょう。
「Prepare environment」の下にある、▶︎ボタンをクリックします。
もしも▶︎ではなく、[]になっていたら、項目部分全体をクリックすると、▶︎に切り替わります。
3d photo inpainting

動きはじめたら、しばらく待ちます。
3d photo inpainting

続いて、 「Download script and pretrained mobel」の項目の下にある、▶︎ボタンをクリックします。
3d photo inpainting

再び、しばらく待ち、完了してから次へいきましょう。

次は、「Switch off off-screen rendering」の項目の下にある、▶︎ボタンをクリックします。
3d photo inpainting

こちらはすぐに完了するようです。
次にいきましょう。

「Please upload .jpg files to /content/3d-photo-inpainting-master/image/」の項目の下にある、▶︎ボタンをクリックします。
3d photo inpainting

すると画像がアップロードできるようになるので、3D化したい画像を選択します。
▶︎ボタンをクリックしたあと、すぐに画像を選択してください。
3d photo inpainting

最後に、「Execute the 3D Photo Inpainting」の項目の下にある、▶︎ボタンをクリックします。
3d photo inpainting

画面左のメニューのフォルダマークをクリックし、「video」の中を見ると、4つのファイルが作られています。
もしもない場合は、「更新」をクリックします。
3d photo inpainting

作成したファイルは、右クリックからダウンロードすることできます。
3d photo inpainting

実際に作ってみたのがこちらです。
こちらも私が以前描いたイラストです。

ローカルで作る。3D Photo Inpaintingの使い方(Mac)

2D画像を、ローカルで3D画像に変換する方法です。
今回はMacを使用した方法を紹介します。

Anacondaのインストール

Anacondaを使いますので、インストールしていない方はしていきしましょう。
ただ、Anacondaをインストールすると、Macの環境が変わってしまうので注意です。
(私の場合ですが、Anacondaをアンインストールして、.bash_profileに自動的に書き込まれたものを削除すれば、元に戻りました。これは人によって違うかもしれません)

Anaconda
anaconda

上のサイトの右上の「Download」をクリックし、インストーラーをダウンロードし、インストールします。
anaconda

途中、インストール先を選択しますが、私は「自分専用にインストール」を選びました。
anaconda

この方法だと、Anacondaは、ホームディレクトリのoptにインストールされるようです。

パスを通す

次は、パスを通していきます。
私は普段、fish shellを使っているので、ターミナルに以下のコマンドを打ち込みました。

> set -U fish_user_paths $HOME/opt/anaconda3/bin $fish_user_paths

以下のコマンドを入力して、バージョンが表示されれば成功です。

> conda -V
conda 4.8.3

Pythonのインストール

続いて、Pythonをインストールしていきます。
PythonはHomebrewを使ってインストールします。
Homebrewをインストールしていない場合は、こちら(Homebrewの使い方。よく使うコマンド一覧と詳しい解説まとめ)の記事をご覧ください。

> brew install python

以下のコマンドを入力して、Pythonのバージョンが表示されれば、インストール完了です。

> python -V
> Python 3.7.7

3D Photo Inpaintingを使う

では、3D Photo Inpaintingを使っていきますので、適当な名前のディレクトリを作り、cdコマンドでそのディレクトリに移動しておいてください。

> mkdir 3dtest
> cd 3dtest/

続いて、3d-photo-inpaintingをGitHubからcloneします。
もし、gitを使ったことがない場合は、こちら(【Gitの使い方 – その2】GitをMacにインストールする方法!)の記事を見てインストールしましょう。

> git clone https://github.com/vt-vl-lab/3d-photo-inpainting
Cloning into '3d-photo-inpainting'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 224 (delta 6), reused 10 (delta 2), pack-reused 203
Receiving objects: 100% (224/224), 110.86 MiB | 3.99 MiB/s, done.
Resolving deltas: 100% (116/116), done.
Checking out files: 100% (21/21), done.

完了したら、3d-photo-inpaintingに移動します。

> cd 3d-photo-inpainting/

以下のコマンドをターミナルに入力していきます。

> conda create -n 3DP python=3.7 anaconda
Proceed ([y]/n)? y
〜 省略 〜
> conda activate 3DP
> pip install -r requirements.txt
Collecting opencv-python==4.2.0.32
  Using cached opencv_python-4.2.0.32-cp37-cp37m-macosx_10_9_x86_64.whl (47.9 MB)
〜 省略 〜
> conda install pytorch torchvision cudatoolkit -c pytorch
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
〜 省略 〜
Proceed ([y]/n)? y
〜 省略 〜

続いて、download.shを実行していきたいのですが、download.shにはwgetコマンドが書かれています。
wgetを入れていない場合はHomebrewで入れておきましょう。

もしもwgetが入っていない場合、以下のコマンドを入力します。

> brew install wget

wgetが入っている状態で、以下のコマンドを入力します。

> chmod +x download.sh
> ./download.sh
--xxxx-xx-xx xx:xx:xx--  https://filebox.ece.vt.edu/~jbhuang/project/3DPhoto/model/color-model.pth
〜 省略 〜

ここで、変換したい画像ファイルを3d-photo-inpainting/の、image/に入れました。


3d-photo-inpainting/
  image/
    変換したい画像ファイル.jpg

以下のコマンドを入力しますが、もしかすると次のようなエラーが出てしまうかもしれません。

> python main.py --config argument.yml
〜 省略 〜
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

そんなときは、argument.ymlの21行目を編集します。
編集するのはgpu_idsの値です。0となっている部分を消してしまいます。
argument.yml

〜 省略 〜
#gpu_idsの0を削除
#gpu_ids: 0
gpu_ids:
〜 省略 〜

これでもう一度以下のコマンドを実行してみましょう。

> python main.py --config argument.yml
  0%|                                                                                                          Current Source ==>  snipe
initialize
device: cpu
start processing
  processing image/snipe.jpg (1/1)
torch.Size([1, 3, 384, 288])
finished
Start Running 3D_Photo ...
〜 省略 〜

私の環境では、かなり時間がかかり、止まったのではないかと思うほどでしたが、気長に待っていれば進みました。

そして完成したのが、こちらになります。

まとめ

3D Photo Inpaintingを使うことで、写真やイラストを簡単に3Dにすることができます。
変換に時間がかかるのですが、待っている間は、画像がどのように動くんだろう、と楽しみになります。

以上、2D画像を3Dにする技術の紹介でした。

スポンサードリンク

関連コンテンツ

オススメ記事

完全解説!3D美少女キャラモデリング

Blenderでの3D女の子キャラモデリングの全てを完全解説するよ!

Blenderを使って、ちょっとリアルな3D女の子キャラを作る方法です。 これまで、この講座は何回かに渡って書いていましたが、ひとまとめにすることにしました。 Blenderによる3D美少女キ

PhotoShop CS6

Photoshopで曇り空を青空に変える超簡単な方法

噛めば噛む程、味が無くなっていくRでございます。 すでに桜も散ってしまいましたね。。。いや、まだ咲いてる地域もあるのでしょうか。 自分が花見に行った時は運悪く曇り空で、写真を撮ってもあまり綺麗

PhotoShopでFire Brushesを使った炎のテラ簡単な描き方。

ゲーム開発は着実に進行中です。@It_is_Rです。 イラストに炎を入れるとカッコいいですよね。でも、炎を描くのって結構めんどくさいです。 そこで、PhotoShopを使って炎を描くのに、とて

Blender初心者入門。まずはじめに知っておきたい基礎知識と操作方法

初めてBlenderを使う人のための、Blender初心者入門です。 今回はBlenderに関して右も左も上下前後も分からないという方のための、Blender基礎知識と操作方法を書いていきたいと

Medibang Paint

MediBang Paint Proの使い方。4コマ漫画を描く8つの手順。

コンビニは人生において必要不可欠ですね。@It_is_Rです。 さて、最近は本当にMediBang Paint Proが流行っているから凄いなと思っています。 そこで、今回はMediBang

Blender第2回3Dキャラ入門!

【Blender 2.8】女の子キャラクター全身のモデリング【第2回】

動画で学べる、Blenderでのキャラクターの作り方入門講座です。 前回までの動画講座では、下絵を読み込む方法を紹介しました。 では、この下絵を元に、キャラクターを作って

Blenderでのさまざまな選択方法!

【Blender】さまざまな選択方法一覧。覚えるとこんなに便利!

Blenderで3Dモデリング上達一番の近道は、基本操作を覚えることです。 今回はBlenderでの、さまざまな選択方法を学んでいきましょう。 使用しているのはBlender2.8です。 選択

illust

キャラクターの描き方。描き始めから完成まで。

イラストを描く時、途中でめんどくなる@It_is_Rです。 そんなIt is Rが、僭越ながら今回はイラスト描き方を発表させていただきたく思います。 イラストの描き方は百人いれば百通りの描き方

Illustratorでオブジェクトを均等に並べる超簡単な2つの方法。

ロゴなどを制作する上でほぼ必要不可欠となっているIllustratorですが、この機能を完全に使い果たすのは至難の技だと思います。@It_is_Rです。 今回は、オブジェクトを均等に並べる方法を

Blender 第1回 3Dキャラ入門!

【Blender 2.8】日本語化などの初期設定と下絵を読み込む方法【第1回】

Blenderのメイキング動画を作成しておりました。@It_is_Rです。 過去にBlenderで美少女キャラを作るための記事を書いていました。 しかし時は経ち、Blenderのバージョ

コメントをどうぞ!(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です