3D AI 試玩(NVIDIA get3d)


跑去玩了一下最近NVIDIA放出來的3D AI GET3D,可以用來產生有貼圖的模型(obj)檔案,目前出來的狀況非常慘,不確定是不是設定有錯誤就是了,這邊還是記錄一下執行的過程。

簡介

程式網址
https://github.com/nv-tlabs/GET3D
官方訓練模型
https://github.com/nv-tlabs/GET3D/tree/master/pretrained_model

總之先上結果檔案
結果截圖
如果放進blender 3d來看的話點長這樣
結果截圖

下方記錄安裝並使用的過程,由於官方文件中推測要16GVRAM,電腦跑不動所以用colab執行方式。
colab網址 https://colab.research.google.com/


官方colab

可以直接使用官方建好的來執行,這邊是開了新的colab來跑。
進入https://github.com/nv-tlabs/GET3D/tree/master/pretrained_model
裡面有個建好的連結預先輸入好指令,找 We also proivde a Google Colab to try out our code here就可以看到了。

自行建立colab過程記錄

過程大幅參考(日文) https://note.com/npaka/n/n34786fb7131c

左上角 編輯->筆記本設定 將設定改成使用GPU

在筆記本喜歡的地方按[+程式碼],首先確認現在是使用GPU,輸入下方這段並按左方的執行(箭頭)按鈕。

!nvidia-smi

會跑出一個簡單的表格,可以檢查VRAM容量和版本等等,基本上有跑出GPU資料就表示設定沒問題。
接著在colab上安裝必要的東西,在程式碼中輸入以下這段並執行。

!git clone https://github.com/nv-tlabs/GET3D
%cd GET3D 
!mkdir cache; 
!wget https://api.ngc.nvidia.com/v2/models/nvidia/research/stylegan3/versions/1/files/metrics/inception-2015-12-05.pkl
!pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
!pip install ninja xatlas gdown
!pip install git+https://github.com/NVlabs/nvdiffrast/
!pip install meshzoo imageio gputil h5py point-cloud-utils imageio imageio-ffmpeg==0.4.4 pyspng==0.1.0
!pip install urllib3
!pip install scipy
!pip install click
!pip install tqdm
!pip install opencv-python==4.5.4.58

等安裝完成後輸入以下這段並執行。

!export PYTHONPATH=$PWD:$PYTHONPATH
!export CUDA_VISIBLE_DEVICES=0,

下載模型,輸入並執行。

!gdown --folder 1oJ-FmyVYjIwBZKDAQ4N1EEcE9dJjumdW

目前有這四種可以,可以去官方模型的位置查看有沒有變化。

  • shapenet_table.pt : 桌子
  • shapenet_motorbike.pt : 機車
  • shapenet_chair.pt : 椅子
  • shapenet_car.pt : 車

產生模型,輸入並執行就會開始產生,下面這段是產生機車的指令,需要產生其他種類把shapenet_motorbike換成其他種類的就可以了。

!python train_3d.py --outdir=save_inference_results/shapenet_motorbike  --gpus=1 --batch=4 --gamma=40 --data_camera_mode shapenet_motorbike  --dmtet_scale 1.0  --use_shapenet_split 1  --one_3d_generator 1  --fp32 0 --inference_vis 1 --resume_pretrain /content/GET3D/get3d_release/shapenet_motorbike.pt --inference_to_generate_textured_mesh 1

參數作用,可以自己調整來玩看看。

**--outdir** : 輸出資料夾 
**--gpus** : GPU數量  
**--batch** : 批輛大小 
**--gamma** : R1 正則化權重  
**--data_camera_mode** : 使用模型 
**--dmtet_scale** : dmtet 規模 
**--use_shapenet_split** : 学習分割  
**--one_3d_generator** : 空物件切離斜度
**--fp32** : 混合精度  
**--inference_vis** : 推論の実行  
**--resume_pretrain** : pt檔案位置,不換模型就不動  
**--inference_to_generate_textured_mesh** : 生成紋理網格

執行完成後在左方有個資料夾的圖案,點開後到剛才設定的位置下載模型。

Tags : 免費軟體 3D軟體 AI