Instant-ngp linux訓(xùn)練數(shù)據(jù)集

本教程使用的環(huán)境及版本

  • 操作系統(tǒng):Ubuntu 18.04.5(無(wú)GUI)
  • GPU:RTX 3090
  • cuda:11.3
  • cmake:3.24
  • GCC:7.5
  • G++:7.5
  • python:3.9
  • OptiX:7.5
  • COLMAP

Instant-ngp linux環(huán)境部署

參考地址:http://www.reibang.com/p/02c3d3cce99b

Instant-ngp官方文檔地址

https://github.com/NVlabs/instant-ngp/blob/master/docs/nerf_dataset_tips.md

目的

  • linux 完成自有數(shù)據(jù)集訓(xùn)練及模型導(dǎo)出

問(wèn)題說(shuō)明

  • 非GUI環(huán)境下,執(zhí)行以下命令后,訓(xùn)練不會(huì)停止薛耻,需要手動(dòng)取消坚洽。
./build/testbed --no-gui --scene data/nerf/fox
  • 非GUI環(huán)境下愕乎,繼續(xù)后續(xù)步驟斗这。生成 obj 或 ply 格式文件導(dǎo)出事扭,用于后續(xù)使用

自有圖片數(shù)據(jù)集訓(xùn)練思路

  • 拿到圖片斤寇,跑colmap先做稀疏重建桶癣,拿到相機(jī)信息和一些圖片的位姿信息,得到一個(gè)transform.json文件
  • 使用transform.json進(jìn)行訓(xùn)練

安裝python運(yùn)行環(huán)境

  • 使用cond安裝虛擬環(huán)境娘锁,并安裝相關(guān)依賴
conda create -n ngp python=3.9
conda activate ngp
pip install -r requirements.txt

COLMAP稀疏重建生成transform.json

  • 1.創(chuàng)建自己的數(shù)據(jù)集文件夾:toy_truck
  • 2.把拍攝好的圖片放入數(shù)據(jù)集文件夾中
  • 3.上傳自己的數(shù)據(jù)集到 instant-ngp/data/ 目錄下
    目錄結(jié)構(gòu)如下:
??instant-ngp/ # this is root
├── ??data/
│   ├── ??toy_truck/
│   │   ├── ??toy_truck_001.jpg
│   │   ├── ??toy_truck_002.jpg
│   │   │...
│   │...
│...
  • 4.在instant-ngp目錄中執(zhí)行以下命令生成transform.json
# --images <image/path> 替換為自己的數(shù)據(jù)集目錄
python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images data/toy_truck
  • 5.以上命令執(zhí)行完成后會(huì)在instant-ngp目錄中生成transform.json文件
  • 6.將transform.json 和 數(shù)據(jù)集 toy_truck 文件夾按照以下目錄結(jié)構(gòu)存放
??instant-ngp/ # this is root
├── ??data/
│   ├── ??toy_truck/
│   │   ├── ??transforms.json/
│   │   ├── ??data/
│   │   │   ├── ??toy_truck/
│   │   │   │   ├── ??toy_truck_001.jpg
│   │   │   │   ├── ??toy_truck_002.jpg
│   │   │   │   │...
│   │   │   │...
│   │   │...
│   │...
│...

導(dǎo)出模型文件(obj牙寞、ply)

  • 1.在 instant-ngp 目錄下創(chuàng)建用于保存導(dǎo)出文件的目錄 saved
mkdir saved
  • 2.執(zhí)行以下命令,生成導(dǎo)出文件
python ./scripts/run.py --mode nerf --scene ./data/toy_truck --save_snapshot saved/toy_truck.msgpack --save_mesh saved/toy_truck.ply --gui --train

腳本 scripts/run.py 中有一個(gè) save_mesh 參數(shù)莫秆,它支持 OBJ 和 PLY 格式间雀。
注意:非GUI模式需要?jiǎng)h除 --gui 參數(shù)

  • 3.執(zhí)行成功后會(huì)在 saved 目錄中生成 toy_truck.msgpack 和 toy_truck.ply
    toy_truck.msgpack 文件可用戶導(dǎo)出圖片和視頻

導(dǎo)出圖片

–scene 場(chǎng)景的路徑
–mode 模式,選nerf即可
–load_snapshot 保存的訓(xùn)練好的模型
–screenshot_transforms 需要渲染的角度镊屎,數(shù)據(jù)結(jié)構(gòu)和nerf的json格式一樣
–screenshot_frames 渲染哪一幀惹挟,如果想全部渲染就不要這個(gè)參數(shù),會(huì)默認(rèn)渲染全部
–screenshot_dir 渲染好的圖片存儲(chǔ)的位置
–width 圖片寬度
–height 圖片高度

python scripts/run.py --scene data/toy_truck/ --mode nerf --load_snapshot saved/toy_truck.msgpack --screenshot_transforms data/toy_truck/transforms.json --screenshot_dir data/toy_truck/screenshot --width 2048 --height 2048 --n_steps 0

導(dǎo)出視頻

python scripts/rendervideo.py --scene data/toy_truck/ --n_seconds 10 --fps 60 --render_name toy_truck_video --width 1920 --height 1080 --msgpack_path /root/code/instant-ngp/saved/toy_truck.msgpack --transform_path /root/code/instant-ngp/data/toy_truck/transforms.json

視頻數(shù)據(jù)集訓(xùn)練方式(一)

  • 安裝ffmpeg(數(shù)據(jù)集為視頻時(shí)需要安裝)
sudo apt update
sudo apt install ffmpeg
  • 測(cè)試ffmpeg
ffmpeg -version
  • 使用ffmpeg將視頻處理為圖片
####安裝ffmpeg(數(shù)據(jù)集為視頻時(shí)需要安裝)
  • 安裝ffmpeg
sudo apt update
sudo apt install ffmpeg
  • 測(cè)試ffmpeg

生成清晰無(wú)壓縮的圖片方式:

ffmpeg -i  test.mp4 -r 10 -f image2 %05d.jpg

-i : 指定輸入文件
-r : 幀數(shù) 10
-f : 指定格式化的格式為image2
image2后面跟著的是文件名
%5d:以為5位數(shù)按正序編號(hào)

視頻數(shù)據(jù)集訓(xùn)練方式(二)框架腳本

  • 上傳視頻到data目錄
  • 執(zhí)行以下腳本生成transform.json
python scripts/colmap2nerf.py --video_in data/model1/model1.MOV --video_fps 2 --run_colmap --aabb_scale 16

colmap2nerf.py實(shí)現(xiàn)的效果是自動(dòng)將視頻分割成圖片缝驳,然后調(diào)用colmap稀疏重建生成transform.json文件连锯,最后執(zhí)行即可

文獻(xiàn)參考

https://github.com/NVlabs/instant-ngp/blob/master/docs/nerf_dataset_tips.md
https://github.com/bycloudai/instant-ngp-Windows
https://github.com/NVlabs/instant-ngp/discussions/412
https://blog.csdn.net/YuhsiHu/article/details/124891710
https://asea.fun/articles/74

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市用狱,隨后出現(xiàn)的幾起案子运怖,更是在濱河造成了極大的恐慌,老刑警劉巖夏伊,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摇展,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡溺忧,警方通過(guò)查閱死者的電腦和手機(jī)咏连,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)砸狞,“玉大人捻勉,你說(shuō)我怎么就攤上這事〉渡” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵报账,是天一觀的道長(zhǎng)研底。 經(jīng)常有香客問(wèn)我埠偿,道長(zhǎng),這世上最難降的妖魔是什么榜晦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任冠蒋,我火速辦了婚禮,結(jié)果婚禮上乾胶,老公的妹妹穿的比我還像新娘抖剿。我一直安慰自己,他們只是感情好识窿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布斩郎。 她就那樣靜靜地躺著,像睡著了一般喻频。 火紅的嫁衣襯著肌膚如雪缩宜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天甥温,我揣著相機(jī)與錄音锻煌,去河邊找鬼。 笑死姻蚓,一個(gè)胖子當(dāng)著我的面吹牛宋梧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狰挡,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼捂龄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了圆兵?” 一聲冷哼從身側(cè)響起跺讯,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎殉农,沒(méi)想到半個(gè)月后刀脏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡超凳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年愈污,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轮傍。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡暂雹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出创夜,到底是詐尸還是另有隱情杭跪,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站涧尿,受9級(jí)特大地震影響系奉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜姑廉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一缺亮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桥言,春花似錦萌踱、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至倦西,卻和暖如春能真,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扰柠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工粉铐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卤档。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓蝙泼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親劝枣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汤踏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容