網頁設計與網站建設實戰(zhàn)大全競價賬戶托管哪家好
一、前言
? ? ? ? 騰訊于2024年11月5日正式開源了最新的MoE模型“混元Large”以及混元3D生成大模型“Hunyuan3D-1.0”,支持企業(yè)及開發(fā)者在精調、部署等不同場景下的使用需求。
GitHub - Tencent/Hunyuan3D-1
二、技術與原理
? ? ? ? Hunyuan3D-1.0 是一款支持文本生成3D(Text-to-3D)和圖像生成3D(Image-to-3D)的統(tǒng)一框架,旨在提升3D生成的速度和質量。該模型采用兩階段方法:
-
多視角擴散模型:在約4秒內高效生成多視角RGB圖像,捕捉3D資產的豐富細節(jié)。
-
前饋重建模型:在約7秒內根據生成的多視角圖像快速重建3D資產,處理多視角生成中的噪聲和不一致性,恢復3D結構。
? ? ? ? 該框架集成了騰訊自研的文本生成圖像模型“Hunyuan-DiT”,支持文本和圖像條件的3D生成。標準版本的參數量是輕量版和其他現有模型的3倍,平衡了生成速度和質量,顯著減少了生成時間,同時保持了生成資產的質量和多樣性。
三、主要特性
-
雙模式支持:同時支持文本和圖像輸入,滿足不同的3D生成需求。
-
高效生成:在NVIDIA A100 GPU上,輕量版模型約10秒生成3D網格,標準版約25秒。
-
開源計劃:提供推理、檢查點、烘焙相關、訓練、ComfyUI、蒸餾版本和TensorRT版本的開源支持,方便開發(fā)者使用和二次開發(fā)。
四、使用方法
-
環(huán)境配置:建議使用Python 3.9和CUDA 11.7以上版本??赏ㄟ^提供的
env_install.sh
腳本進行環(huán)境安裝。 -
模型下載:從Hugging Face下載預訓練模型,包括輕量版、標準版和稀疏視角重建模型。
-
推理:提供了文本生成3D和圖像生成3D的推理腳本,可根據需求進行配置。
-
Gradio界面:提供了基于Gradio的Web界面,方便用戶進行交互式操作。
五、當前瓶頸
? ? ? ? 盡管Hunyuan3D-1.0在生成速度和質量上取得了顯著進展,但仍存在以下挑戰(zhàn):
-
生成質量的提升:在復雜場景或細節(jié)豐富的對象上,生成的3D模型可能存在細節(jié)缺失或不準確的情況,需要進一步優(yōu)化模型以提升生成質量。
-
多樣性與泛化能力:模型在處理多樣化輸入時的泛化能力有待增強,特別是在處理未見過的輸入或復雜場景時,可能無法生成高質量的3D模型。
-
計算資源需求:盡管生成速度有所提升,但在高分辨率或復雜場景下,仍需要大量計算資源,限制了模型的實際應用范圍。
六、教程漢化
1. 開始安裝
首先,克隆倉庫并進入項目目錄:
git clone https://github.com/tencent/Hunyuan3D-1 cd Hunyuan3D-1
2. 環(huán)境配置(適用于Linux)
項目提供了 env_install.sh
腳本來配置環(huán)境,建議使用 Python 3.9 和 CUDA 11.7 以上版本。
安裝步驟:
conda create -n hunyuan3d-1 python=3.9 conda activate hunyuan3d-1 bash env_install.sh
安裝 xformers 或 flash_attn 來加速計算
pip install xformers --index-url https://download.pytorch.org/whl/cu121
pip install flash_attn
先前已經創(chuàng)建好?
如果先前已經創(chuàng)建好環(huán)境,直接激活進入即可
conda activate hunyuan3d-1-py311
先前已經創(chuàng)建好但是忘記了?
conda env list
這個命令將列出系統(tǒng)中所有的 Python 版本和 Conda 虛擬環(huán)境
檢查環(huán)境是否切換成功,pip是否對應虛擬環(huán)境
which pip
3. 下載預訓練模型
預訓練模型可以從 Hugging Face 獲取:https://huggingface.co/spaces/tencent/Hunyuan3D-1
提供以下三種模型:
- Hunyuan3D-1/lite:輕量版模型,用于多視角生成。
- Hunyuan3D-1/std:標準版模型,用于多視角生成。
- Hunyuan3D-1/svrm:稀疏視角重建模型。
下載模型的步驟:
1.首先安裝 Hugging Face CLI 工具:
python3 -m pip install "huggingface_hub[cli]"
2.下載模型文件:
mkdir weights huggingface-cli download tencent/Hunyuan3D-1 --local-dir ./weights mkdir weights/hunyuanDiT huggingface-cli download Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled --local-dir ./weights/hunyuanDiT
4. 推理生成
文本生成3D
支持中英文輸入,可以使用以下命令進行文本生成3D:
python3 main.py \ --text_prompt "a lovely rabbit" \ --save_folder ./outputs/test/ \ --max_faces_num 90000 \ --do_texture_mapping \ --do_render
圖像生成3D
使用以下命令進行圖像生成3D,將 /path/to/your/image
替換為圖像路徑:
python3 main.py \ --image_prompt "/path/to/your/image" \ --save_folder ./outputs/test/ \ --max_faces_num 90000 \ --do_texture_mapping \ --do_render
5. 常用參數配置
參數 | 默認值 | 描述 |
---|---|---|
--text_prompt | None | 文本提示,用于3D生成 |
--image_prompt | None | 圖像路徑,用于3D生成 |
--t2i_seed | 0 | 文本生成圖像的隨機種子 |
--t2i_steps | 25 | 文本生成圖像的采樣步數 |
--gen_seed | 0 | 3D生成的隨機種子 |
--gen_steps | 50 | 3D生成的采樣步數 |
--max_faces_num | 90000 | 3D網格的最大面數限制 |
--save_memory | False | 文生圖將自動移至CPU |
--do_texture_mapping | False | 將頂點陰影更改為紋理陰影 |
--do_render | False | 是否渲染GIF |
6. 預設腳本
項目還提供了以下快捷腳本來幫助用戶快速執(zhí)行不同配置的任務:
bash scripts/text_to_3d_demo.sh # 文本生成3D的示例腳本 bash scripts/text_to_3d_fast_demo.sh # 快速文本生成3D的示例腳本 bash scripts/image_to_3d_demo.sh # 圖像生成3D的示例腳本 bash scripts/image_to_3d_fast_demo.sh # 快速圖像生成3D的示例腳本
注意:運行這些示例腳本通常需要約40GB的顯存。
7. 使用 Gradio 進行交互操作
項目提供了基于 Gradio 的 Web 界面,方便用戶進行交互式操作。
-
標準版(更好的生成效果):
python3 app.py
-
輕量版(更快的生成速度):
python3 app.py --use_lite
運行后,可通過 http://0.0.0.0:8080
訪問Web界面。請將 0.0.0.0
替換為您的服務器IP地址。
8. 攝像機參數
輸出視圖固定為一組攝像機姿勢,默認視角設置如下:
- 方位角 (相對于輸入視角)
- Azimuth? (relative to input view):0度,60度,120度,180度,240度,300度。
七、Gradio界面使用教程
?Text to 3D
1. Text to 3D功能介紹
- Text to 3D:將輸入的文字描述轉換為3D模型。
2. 輸入選項
- Input text:輸入描述3D模型的文字。例如,“一只黑白相間的熊貓在白色背景上居中坐著,呈現出卡通風格和可愛氛圍”。這會生成一個符合描述的3D模型。
3. 參數設置
- T2I seed:用于文字轉圖像的隨機種子。數值的變化會導致生成的圖像略有不同。默認值為
0
,但如果結果不理想,可以嘗試更改此值。 - T2I step:生成文字到圖像時的步數。步數越多,生成的圖像質量可能越高,但生成時間也會更長。默認值是
25
。 - Gen seed:用于圖像到3D模型的隨機種子。默認值為
0
,但如果結果不滿意,可以更改此值。 - Gen step:生成3D模型時的步數,數值越高生成的細節(jié)可能越多,默認是
50
。 - Max number of faces:控制生成3D模型的面數。默認值是
90000
,較高的面數會帶來更精細的模型,但處理速度可能會變慢。
4. 導出選項
- Texture mapping:勾選后,生成的3D模型會包含紋理貼圖,更加逼真。
- Render gif:勾選后,會導出一個
.gif
動態(tài)圖片,展示3D模型的多角度視圖。
5. 輸出格式
- Multi views:多角度視圖預覽。
- Obj:生成
.obj
格式的3D模型文件。 - Glb:生成
.glb
格式的3D模型文件,適合Web應用。 - GIF:導出
.gif
動態(tài)圖片,展示模型的360度視圖。 - rembg image:移除背景圖像。
Image to 3D
1. Image to 3D功能介紹
- Image to 3D:將輸入的圖像轉換為3D模型。您可以上傳一張圖像(例如某個物體的圖片),系統(tǒng)將嘗試生成相應的3D模型。
2. 輸入選項
- Input image:在這里上傳要轉換為3D模型的圖像。
3. 參數設置
- Gen seed:用于生成3D模型的隨機種子。數值的變化會影響生成的模型略有不同。如果對結果不滿意,可以更改這個值(默認是
0
)。 - Gen step:生成3D模型時的步數,數值越高,生成的模型可能更精細,默認是
50
。 - Max number of faces:控制生成3D模型的面數。默認值是
90000
,較高的面數可以帶來更細致的模型,但處理速度可能變慢。
4. 導出選項
- Texture mapping:勾選后,生成的3D模型會包含紋理貼圖,使模型更真實。
- Render gif:勾選后,會導出一個
.gif
文件,以動態(tài)方式展示生成的3D模型。
5. 輸出格式
- rembg image:移除圖像的背景。
- Multi views:展示生成的3D模型的多角度視圖。
- Obj:導出為
.obj
格式的3D模型文件。 - Glb:導出為
.glb
格式的3D模型文件,更適合Web應用。 - GIF:導出
.gif
動態(tài)文件,展示模型的多角度視圖。