姙R項(xiàng)目環(huán)境搭建(傳統(tǒng)Windows版)和ooosplat直接安裝使用)
ooosplat直接安裝使用OOOSplat 是一款將普通環(huán)繞拍攝視頻或圖片序列一鍵轉(zhuǎn)換為 3D Gaussian Splatting 的本地桌面應(yīng)用。選擇素材、項(xiàng)目目錄和質(zhì)量檔位后應(yīng)用會(huì)自動(dòng)完成畫面準(zhǔn)備、相機(jī)重建、訓(xùn)練與 PLY 發(fā)布并可直接預(yù)覽、調(diào)整和導(dǎo)出結(jié)果github下載ooosplat必要工具下載與介紹傳統(tǒng)的一、 Anaconda3需要登錄一下郵箱 科學(xué)上網(wǎng)一下 安裝會(huì)比較慢 耐心等待一下Anaconda3下載地址初始只有個(gè)base環(huán)境后面會(huì)在這配置相關(guān)的高斯?jié)姙R所需環(huán)境。二、 CUDA 11.8渲染要用到的我求穩(wěn)定下載的11.8版本三、 VS2019和CUDA配套使用的。不知道有沒有安裝其他版本最后成功的我反正只能2019版本成功。我這里勾選了python和**C**的選項(xiàng)。四、 Colmap不同版本下載地址Colmap下載壓縮包4.1 COLMAP 簡(jiǎn)介COLMAP 是一個(gè)功能強(qiáng)大的開源三維重建工具它支持自動(dòng)化的多視角幾何重建包括特征提取、相機(jī)位姿估計(jì)、稀疏點(diǎn)云重建、稠密點(diǎn)云生成等核心功能。無(wú)論是學(xué)術(shù)研究還是工程應(yīng)用COLMAP 都是不可或缺的三維重建利器。 下載學(xué)習(xí)資源4.2 為什么選擇 COLMAP1.易用性COLMAP 提供了 GUI 和 CLI 兩種模式滿足用戶的可視化需求和命令行自動(dòng)化需求。對(duì)于新手來(lái)說(shuō)GUI 模式可以直觀地查看每一步的處理結(jié)果方便快速上手而對(duì)于需要批量處理或集成到自動(dòng)化流程中的用戶CLI 模式則提供了極大的靈活性可以通過(guò)腳本一鍵完成整個(gè)三維重建流程。2.功能強(qiáng)大支持多種相機(jī)模型如針孔模型、魚眼模型等和大規(guī)模圖像數(shù)據(jù)處理。無(wú)論是手機(jī)拍攝的照片、無(wú)人機(jī)航拍的影像還是專業(yè)相機(jī)采集的高分辨率圖像COLMAP 都能有效處理。它還支持分布式計(jì)算可以在多臺(tái)機(jī)器上并行處理大規(guī)模數(shù)據(jù)集大幅縮短重建時(shí)間。3.高性能利用 CUDA 進(jìn)行 GPU 加速需 CUDA 支持能夠顯著提升特征提取、匹配和重建的速度。在 GPU 加速下原本需要數(shù)小時(shí)的重建任務(wù)可以縮短到幾十分鐘甚至更短極大地提高了工作效率。同時(shí)COLMAP 還針對(duì)內(nèi)存使用進(jìn)行了優(yōu)化能夠處理超出顯存容量的數(shù)據(jù)集。4.開源免費(fèi)基于 MIT 開源協(xié)議可自由使用和修改。這意味著你不僅可以免費(fèi)使用 COLMAP 的全部功能還可以根據(jù)自身需求修改源碼、定制功能甚至將其集成到自己的商業(yè)項(xiàng)目中而無(wú)需支付任何授權(quán)費(fèi)用。此外活躍的開源社區(qū)也保證了 COLMAP 的持續(xù)更新和問題修復(fù)。5.生態(tài)完善COLMAP 與眾多主流的三維重建和渲染框架如 OpenMVS、Meshroom 等兼容可以無(wú)縫銜接。在本教程中COLMAP 將作為高斯?jié)姙R3D Gaussian Splatting的前置工具負(fù)責(zé)從輸入圖片中生成稀疏點(diǎn)云和相機(jī)參數(shù)為后續(xù)的高斯訓(xùn)練提供必要的數(shù)據(jù)基礎(chǔ)。4.3.選擇合適的版本滑動(dòng)頁(yè)面到最下方根據(jù)系統(tǒng)選擇對(duì)應(yīng)的版本W(wǎng)indows 用戶下載colmap-x64-windows-cuda.zip。Mac/Linux 用戶可根據(jù)需要自行編譯源碼建議參考官方文檔進(jìn)行編譯。4.4配置環(huán)境變量4.5添加路徑到環(huán)境變量中4.6點(diǎn)擊 新建將剛才復(fù)制的路徑粘貼進(jìn)去不能有中文和空格比如G:\colmap\colmap-x64-windows-cuda4.7 驗(yàn)證是否安裝成功雙擊COLMAP.bat4.8雙擊 COLMAP.bat 后如果成功啟動(dòng)會(huì)彈出 COLMAP 的 GUI 界面。五、 配置環(huán)境沒裝git的先裝一下git5.1 克隆項(xiàng)目把項(xiàng)目文件git下來(lái)我不喜歡放C盤就放G盤了控制臺(tái)輸入cd /d G:\5.2 克隆項(xiàng)目命令輸入git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive這里可能會(huì)有小問題上網(wǎng)查一下基本都能解決clone 如下5.3. 設(shè)置環(huán)境變量指令目的是使用 Microsoft Visual C 構(gòu)建工具通常是 Windows SDK 相關(guān)組件來(lái)到文件路經(jīng) cd /d G:\gaussian-splatting注意后續(xù)操作都基于這個(gè)路徑5.4. 創(chuàng)建高斯?jié)姙R環(huán)境用Conda創(chuàng)建高斯?jié)姙R的環(huán)境。我安裝的conda在命令行輸入時(shí)要輸成 _conda,當(dāng)時(shí)找了半天問題以為我安裝錯(cuò)了。對(duì)了記得把a(bǔ)naconda的文件夾放進(jìn)環(huán)境變量不然沒法用。輸入_conda ,彈出一大堆東西就說(shuō)明可以用了。安裝完anaconda3 會(huì)有 Anaconda Prompt 全部基于這個(gè)環(huán)境5.5這里是切換到我上面克隆項(xiàng)目下的目錄5.6創(chuàng)建虛擬環(huán)境(G:\CondaEvns\GS)這里是路徑_conda env create --file environment.yml --prefixG:\CondaEvns\GS5.7激活環(huán)境六、開始訓(xùn)練6.1創(chuàng)建輸入文件夾在之前clone下來(lái)的項(xiàng)目文件中先隨便創(chuàng)建個(gè)文件夾我這里創(chuàng)建了個(gè) data再在 data 文件夾里創(chuàng)建輸入文件夾命名為 input 。在 input 文件夾中放入要處理的圖片。這里我是自己拍攝的視頻每秒抽幾幀出來(lái)的。PS最開始只有一個(gè) input 文件夾在之后運(yùn)行代碼會(huì)多出如下文件夾與圖片、相機(jī)參數(shù)有關(guān)的。七、Colmap點(diǎn)云初始化7.1 調(diào)用 convert.py 控制臺(tái)輸入PS這里要先打開之前創(chuàng)建的conda環(huán)境轉(zhuǎn)到高斯?jié)姙R的根目錄根據(jù)我的文件目錄輸入python convert.py –s data( 或者python convert.py -s G:\gaussian-splatting\data完成后 input 文件夾多出上面說(shuō)的與圖片、相機(jī)參數(shù)、稀疏3D點(diǎn)有關(guān)的文件夾。正在初始化data中的input圖片進(jìn)行參數(shù)的添加7.2. 高斯訓(xùn)練調(diào)用 train.py ,開始高斯?jié)姙R渲染。輸入在我這里也就是輸入python train.py –s data或者python train.py -s G:\gaussian-splatting\data這里會(huì)顯示7000步和30000步的迭代進(jìn)度相應(yīng)的會(huì)在根目錄那里自動(dòng)創(chuàng)建 output 文件夾7.3. 子模塊安裝補(bǔ)充訓(xùn)練的時(shí)候有幾個(gè)問題產(chǎn)生子模塊沒有安裝這里我也卡了蠻久我首先試了直接 pip install submodules\diff-gaussian-rasterization報(bào)錯(cuò)安裝不了如果不是2019版本我第一次22版本CUDA編譯器NVCC報(bào)告致命錯(cuò)誤不支持當(dāng)前VS版本安裝這個(gè)先輸入conda install -c conda-forge vs2019_win-6419版的開發(fā)工具應(yīng)該是接著再安裝子模塊 依次輸入pip install submodules\diff-gaussian-rasterizationpip install submodules\simple-knnpip install submodules\fused-ssim分別是高斯光柵化、數(shù)據(jù)處理、圖像質(zhì)量評(píng)估的子模塊安裝之后就可以正常訓(xùn)練了大功告成這步折磨了我很久。八、最終模型啟動(dòng)展示九、模型素材網(wǎng)址也可以自行網(wǎng)上找尋https://demuc.de/colmap/datasets/https://www.tanksandtemples.org/download/十、問題的總結(jié)以及流程化步驟10.1注意python的版本推薦3.10及以上否測(cè)也會(huì)出問題10.2子模塊安裝補(bǔ)充問題編譯 3 個(gè) CUDA子模塊 擴(kuò)展包c(diǎn)dG:\gaussian-splatting\submodules\fused-ssim pip install . --no-build-isolation cdG:\gaussian-splatting\submodules\simple-knn pip install . --no-build-isolation cdG:\gaussian-splatting\submodules\diff-gaussian-rasterization pip install . --no-build-isolation 安裝完之后啟動(dòng)訓(xùn)練 cdG:\gaussian-splatting set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data10.4缺少 plyfile 包這個(gè)包用來(lái)讀寫 ply 點(diǎn)云文件在當(dāng)前 GS 環(huán)境執(zhí)行安裝 pip install plyfile 或者用 conda 安裝 conda install plyfile 安裝完成后先驗(yàn)證 python -cimport plyfile;print(plyfile ok)然后再啟動(dòng)訓(xùn)練別忘了設(shè)置 KMP set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data10.5cv2 就是 OpenCV高斯?jié)姙R讀取圖片、處理相機(jī)需要這個(gè)庫(kù)直接安裝就行在 GS 環(huán)境執(zhí)行安裝命令 pip install opencv-python 驗(yàn)證是否安裝成功 python -cimport cv2;print(cv2導(dǎo)入成功)啟動(dòng)訓(xùn)練記得設(shè)置 KMP 環(huán)境變量 set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data10.6 tqdm報(bào)錯(cuò)在 GS 環(huán)境執(zhí)行安裝命令 pip install opencv-python plyfile tqdm 啟動(dòng)訓(xùn)練記得設(shè)置 KMP 環(huán)境變量 set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data十一、 Gaussian Splatting Windows 從零部署完整流程適用環(huán)境Windows 10/11、CUDA11.8、Python3.10、Anaconda項(xiàng)目路徑G:\gaussian-splatting虛擬環(huán)境路徑G:\CondaEvns\GS11.1、前期必備環(huán)境提前裝好NVIDIA 顯卡驅(qū)動(dòng)支持CUDACUDA Toolkit 11.8必須嚴(yán)格11.8Visual Studio Build Tools 2022勾選使用C的桌面開發(fā)COLMAP Windows CUDA版本11.2、創(chuàng)建并配置 Python3.10 虛擬環(huán)境打開Anaconda Prompt依次執(zhí)行# 創(chuàng)建Python3.10專屬環(huán)境 conda create --prefix G:\CondaEvns\GS python3.10 -y # 激活虛擬環(huán)境 conda activate G:\CondaEvns\GS # 校驗(yàn)Python版本必須3.10.x python --version11.3、安裝 GPU 版 PyTorchCUDA11.8conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia -y11.4、修復(fù)Windows致命報(bào)錯(cuò)shm.dll / Win182 / 126解決OpenMP庫(kù)沖突必做否則全程報(bào)錯(cuò)# 備份沖突系統(tǒng)庫(kù) move G:\CondaEvns\GS\Library\bin\libiomp5md.dll G:\CondaEvns\GS\Library\bin\libiomp5md.dll.bak?關(guān)閉當(dāng)前窗口重新打開 Anaconda Prompt再次激活環(huán)境conda activate G:\CondaEvns\GS set KMP_DUPLICATE_LIB_OKTRUE11.5、安裝全部項(xiàng)目依賴包pip install plyfile tqdm opencv-python pillow依賴完整性校驗(yàn)全部不報(bào)錯(cuò)即成功python -c from PIL import Image;print(PIL成功) python -c import cv2;print(cv2成功) python -c import plyfile;print(plyfile成功) python -c import torch;print(torch成功,torch.cuda.is_available())11.6、編譯三個(gè)核心CUDA擴(kuò)展模塊Windows必須手動(dòng)編譯原版yml自動(dòng)編譯會(huì)報(bào)錯(cuò)必須手動(dòng)逐條編譯# 1. 編譯 fused-ssim cd G:\gaussian-splatting\submodules\fused-ssim pip install . --no-build-isolation # 2. 編譯 simple-knn cd G:\gaussian-splatting\submodules\simple-knn pip install . --no-build-isolation # 3. 編譯 diff-gaussian-rasterization核心光柵器 cd G:\gaussian-splatting\submodules\diff-gaussian-rasterization pip install . --no-build-isolation11,7、創(chuàng)建數(shù)據(jù)集文件夾 存放圖片1. 固定目錄結(jié)構(gòu)在G:\gaussian-splatting下新建文件夾最終結(jié)構(gòu)gaussian-splatting/ └── data/ └── images/ # 所有拍攝圖片放入這里2. 執(zhí)行COLMAP稀疏重建生成相機(jī)參數(shù)點(diǎn)云替換為你自己的colmap.exe路徑統(tǒng)一執(zhí)行cd G:\gaussian-splatting python convert.py --colmap_executable G:\colmap\colmap-x64-windows-cuda\bin\colmap.exe -s data執(zhí)行完成后data文件夾會(huì)自動(dòng)生成sparse點(diǎn)云文件代表數(shù)據(jù)集準(zhǔn)備完成。11.8、正式啟動(dòng)高斯訓(xùn)練二選一執(zhí)行方案1默認(rèn)畫質(zhì)高顯存、原圖訓(xùn)練cd G:\gaussian-splatting set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data方案2低顯存專用推薦提速防卡頓縮放圖片0.5倍大幅降低顯存壓力解決訓(xùn)練卡住、速度慢問題cd G:\gaussian-splatting set KMP_DUPLICATE_LIB_OKTRUE python train.py -s data -r 0.511.9、常用關(guān)鍵說(shuō)明訓(xùn)練結(jié)果保存路徑G:\gaussian-splatting\output新開終端必做兩步激活環(huán)境 設(shè)置KMP變量訓(xùn)練卡住不動(dòng)優(yōu)先使用-r 0.5參數(shù)重啟訓(xùn)練Tensorboard not available為正常提示不影響訓(xùn)練11.10、重啟項(xiàng)目通用啟動(dòng)模板日常復(fù)用conda activate G:\CondaEvns\GS set KMP_DUPLICATE_LIB_OKTRUE cd G:\gaussian-splatting python train.py -s data -r 0.5