- 1. はじめに
- 2. 必要なツールのインストール
- 3. プロジェクトをclone
- 4. 画像を用意
- 5. XAPI_KEYの修正
- 6. CheckPointsの作成
- 7. execute.bat の実行
- 参考
1. はじめに
画像から手軽に3Dオブジェクトを作成できないかと色々調べていた。
twitterでPIFu
の話題をみて、面白そうなので試してみた。
また、自動化できないかと思い、batを作成してみた。
[実行環境]
- windows10 Pro
2. 必要なツールのインストール
Pyhonインストール
pythonで動くようなので、pythonをインストールする。
pipを最新に。
$ pip install --upgrade pip
必要なpythonモジュールをインストール。
$ pip install numpy $ pip install torch $ pip install scikit-image $ pip install opencv-python $ pip install tqdm $ pip install torchvision
image magic をinstall
画像の大きさなどの整形のために、image magic。
ImageMagickを使う(Windows編) - Qiita
↑を参考に。
Remove BGの登録
画像の背景を削除するのに、image magicでは難しそうだったので使用。
↑で登録。
Background Removal API – remove.bg
↑のAPIを使用できるようにしておく。
mesh labをinstall
データの形式の変更のために、mesh labをinstall。
PyMeshLab — PyMeshLab documentation
3. プロジェクトをclone
git clone -b feature/add_automatic_script git@github.com:yhikishima/PIFu.git
↑にて自分のforkしたプロジェクトをブランチ指定でcloneする。
4. 画像を用意
src
配下に好きな画像を用意。画像は形式を .png
にして配置する。
今回はサンプルの画像を配置してみる。
5. XAPI_KEYの修正
Remove BG
を使用するために XAPI_KEY
を登録しておく。
execute.bat
をエディタで修正- 13行目
set XAPI_KEY=
に2. 必要なツールのインストール
で登録したKeyに変更する。
6. CheckPointsの作成
7. execute.bat の実行
上記のbatファイルの実行。
成功した様子。
results\pifu_demo
を確認してみると、 result_ryota.obj
とresult_ryota.ply
があるのを確認できるかと。
objファイルをMeshLabで確認してみると、3Dオブジェクト自体は作成されている。
自動化のために試行錯誤しましたが、もっと良い方法がありそう。
ここから、
- plyからBlenderで.fbxを作成
- Mixamoでアニメーション作成
- UnityもしくはUnreal Engineでモデルを動かす
上記あたりが自動化できたら良いなと思ってます。
参考
PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization
画像1枚から人物の3Dモデルを生成するPIFuを使ってみた - Qiita
一枚の人物画像から3Dモデルを生成する「PIFu」 - Google スライド
PIFuでリアルアバターつくーる(Windows10、Python3.7) - Qiita