SLAM Engineer

๐ŸŒˆ Nerf ์‹ค์Šต (Feat. Nerfstudio)


Nerfstudio ๋ฅผ ์ด์šฉํ•ด์„œ ์ง์ ‘ ๋‰ด๋Ÿด ๋ Œ๋”๋ง์„ ํ•ด๋ณด์ž

  • Nerf๋กœ ๋Œ€ํ‘œ๋˜๋Š” ๋‰ด๋Ÿด๋ Œ๋”๋ง์ด ์š”์ƒˆ ์œ ํ–‰์ด๋‹ค (Summaries: ECCV 22, CVPR 22, ICCV 21).
  • ์ตœ๊ทผ nerfstudio ๋ผ๋Š” ์˜คํ”ˆ์†Œ์Šค+ํˆด์ด ๋‚˜์™”๋‹ค.
  • ์ง์ ‘ ํ•ด๋ณด์ž!

๋‰ด๋Ÿด ๋ Œ๋”๋ง์ด๋ž€

  • ๋‰ด๋Ÿด ๋ Œ๋”๋ง์ด๋ž€
    • Advances in Neural Rendering (EUROGRAPHICS 2022) ์—์„œ ์„ค๋ช…ํ•œ ๋ง์„ ์˜ฎ๊ฒจ์˜ค์ž๋ฉด
      • ์‹ค์„ธ๊ณ„ ๊ด€์ธก์œผ๋กœ๋ถ€ํ„ฐ, ์ƒˆ๋กœ์šด ์‹ค๊ฐ๋‚˜๋Š” ์ด๋ฏธ์ง€ (synthesizing a novel photo-realistic view) ๋ฅผ ์ƒ์„ฑํ•ด๋‚ด๋Š” ๊ณผ์ • ๋ฐ
      • ์ด๋ฅผ ์œ„ํ•ด ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์™€ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ฒฐํ•ฉํ•˜๋Š” ์ž‘์—…์ด๋ผ๊ณ  ํ•œ๋‹ค.
  • ์ด๋ก ์€ (๋‚˜๋„ ์ž˜ ๋ชจ๋ฅธ๋‹ค..) ์—ฌ๊ธฐ์„œ๋Š” ๊ทธ๋งŒ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ณ  ..

(๋‘๊ด„์‹) ์š”์•ฝ

  • (Nerf ๊ณ„์—ด ํ•œ์ •) practical ํ•˜๊ฒŒ ์š”์•ฝํ•˜์ž๋ฉด
    1. Input: discrete ํ•œ images ๋“ค์˜ poses ๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉด
    2. Output: ์ž„์˜์˜ coordinate ์—์„œ ๊ทธ scene ์„ ๋ฐ”๋ผ๋ณธ view ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ”๋กœ ์‹ค์ „ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด์ž.

Input

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜ ์ด๋ฏธ์ง€๋“ค์€ Galaxy S22+ ๋กœ ๋Œ€์ถฉ ์ฐ์–ด์˜จ ๋น„๋””์˜ค(mp4) ์—์„œ 3hz๋กœ ์ถ”์ถœํ•œ ์‚ฌ์ง„๋“ค(png) ์ด๋‹ค.
    • ps. ๊ฐ€์„์ด ๋˜๋ฉด ์นด์ด์ŠคํŠธ ์˜† ์œ ์„ฑ๊ตฌ์ฒญ ์•ž์—์„œ๋Š” ๊ตญํ™”์ถ•์ œ๋ฅผ ํ•œ๋‹ค. ์˜ˆ์˜๊ฒŒ ์ž˜ ๊พธ๋ฉฐ๋†“๋Š”๋‹ค.

Output

  • ๋‹จ์ˆœํžˆ ์œ„์˜ (not continuousํ•œ) ์ด๋ฏธ์ง€ ์™ธ์— ์•„๋ฌด๋Ÿฐ ์‚ฌ์ „์ •๋ณด๋„ ์ฃผ์–ด์ง€์ง€ ์•Š์•˜์Œ์—๋„,
  • ์ž„์˜์˜ ๋ทฐํฌ์ธํŠธ์—์„œ ํฌํ† ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑ ํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด,
  • ์šฐ๋ฆฌ๋Š” ์ตœ์ข…์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ smooth and continuous ํ•œ video ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ ์ด video ์˜ trajectory๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ด ๋•Œ โ€œ์ž„์˜โ€์˜ ๋ทฐํฌ์ธํŠธ์—์„œ ๊ทธ ์”ฌ์„ ๋ณธ ์‚ฌ์‹ค์ ์ธ ๋ทฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์œ„์˜ ๋น„๋””์˜ค ์™ธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋˜ ๋‹ค๋ฅธ ๋Š๋‚Œ์˜ ๋น„๋””์˜ค๋ฅผ ๋งŒ๋“ค์–ด๋ณผ ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค.
    • ๊ฟˆ๋Œ์ด๊ฐ€ ๋กœ์ผ“์„ ํƒ€๊ณ  ์ด๋ฅ™ํ•˜๋Š” ๋Š๋‚Œ์„ ์ข€ ๋” ์‚ด๋ ค๋ณด์•˜๋‹ค.

  • ps. ์œ„์˜ novel view ์—์„œ blurry ํ•˜๊ฑฐ๋‚˜ white noise ๊ฐ™์€ ๋ถ€๋ถ„๋“ค์€ ์‹ค์ œ ๊ด€์ธก์น˜๊ฐ€ ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„์ด๋‹ค (์˜ˆ์‹œ: ๊ฟˆ๋Œ์ด ๋’ทํŽธ์„ ๋ณด๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์—†์—ˆ์Œ). ๋”ฐ๋ผ์„œ ๋” ๋งŽ์€ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์—ˆ๋‹ค๋ฉด ๋” ์‚ฌ์‹ค์ ์ธ ๋ทฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

Nerfstudio ์‚ฌ์šฉ๋ฒ•

  • ์ด์ œ ์œ„์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ (์ด๋ก  ๋ชฐ๋ผ๋„) ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž.
  • ๋ง‰ ์ตœ๊ทผ(Oct, 2022)์— ๋‚˜์˜จ Nerfstudio ๋ฅผ ์ด์šฉํ•ด๋ณด์•˜๋‹ค.
    • CLI (ํ„ฐ๋ฏธ๋„์—์„œ ์ปค๋งจ๋“œ ๋ช‡๋ฒˆ ๋งŒ์œผ๋กœ) ๋กœ nerf ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํˆด(+๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)์ด๋‹ค.
    • ์›น์•ฑ์œผ๋กœ ๋ทฐ์–ด๋„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋”ฉ์—†์ด ๋‰ด๋Ÿด๋ Œ๋”๋ง ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ready-to-use product ์—ฌ์„œ ์ข‹์•˜๋‹ค.

๋‹จ๊ณ„ 1: Pose ์–ป๊ธฐ (command: ns-process-data)

  • Nerf ๊ณ„์—ด์˜ ๋‰ด๋Ÿด๋ Œ๋”๋ง์€ image ๋“ค์˜ pose ๊ฐ€ ์ฃผ์–ด์ ธ์žˆ์„ ๋•Œ, novel view ๋ฅผ synthesize ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋จผ์ €, unordered images ๋“ค์˜ pose ๋ฅผ ์–ป์–ด์•ผ ํ•œ๋‹ค. ์ด๋ฏธ์ง€๋“ค์˜ poses ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” colmap ์ด๋ผ๋Š” software ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.
    • ์ด COLMAP ๋ถ€๋ถ„ ์—ญ์‹œ nerfstudio ๋‚ด๋ถ€์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋‹ค. ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์ด๋ถ€๋ถ„์ด ๋งค์šฐ ํŽธํ–ˆ๋‹ค.
    • ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ ์— ๋‚˜์™€์žˆ๋Š”๋Œ€๋กœ ns-process-data ๋ผ๋Š” ์ปค๋งจ๋“œ ํ•œ ์ค„ ๋งŒ์œผ๋กœ๋„ ์ด๋ฏธ์ง€๋“ค์˜ poses ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์–ป์–ด์ง„ ๊ฒฐ๊ณผ๋ฌผ์˜ format ์€ ๋ฐ”๋กœ nerfstudio ์˜ ๋’ท ๋‹จ๊ณ„์— ์“ฐ์ผ ์ˆ˜ ์žˆ๋Š” compatible ํ•œ format ์ด๋ฏ€๋กœ, ns-process-data ๋ฅผ ์ด์šฉํ•ด์„œ colmap์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
        # {PROCESSED_DATA_DIR} (i.e., colmap output directory)
        โ”œโ”€โ”€ colmap
        โ”‚ย ย  โ”œโ”€โ”€ database.db
        โ”‚ย ย  โ””โ”€โ”€ sparse
        โ”‚ย ย      โ””โ”€โ”€ 0
        โ”‚ย ย          โ”œโ”€โ”€ cameras.bin
        โ”‚ย ย          โ”œโ”€โ”€ images.bin
        โ”‚ย ย          โ”œโ”€โ”€ points3D.bin
        โ”‚ย ย          โ””โ”€โ”€ project.ini
        โ”œโ”€โ”€ images
        โ”‚ย ย  โ”œโ”€โ”€ frame_00001.png
        โ”‚ย ย  โ”œโ”€โ”€ frame_00002.png
        โ”‚ย ย  โ”œโ”€โ”€ ...
        โ”œโ”€โ”€ images_2
        โ”‚ย ย  โ”œโ”€โ”€ frame_00001.png
        โ”‚ย ย  โ”œโ”€โ”€ frame_00002.png
        โ”‚ย ย  โ”œโ”€โ”€ ...
        โ”œโ”€โ”€ images_4
        โ”‚ย ย  โ”œโ”€โ”€ frame_00001.png
        โ”‚ย ย  โ”œโ”€โ”€ frame_00002.png
        โ”‚ย ย  โ”œโ”€โ”€ ...
        โ”œโ”€โ”€ images_8
        โ”‚ย ย  โ”œโ”€โ”€ frame_00001.png
        โ”‚ย ย  โ”œโ”€โ”€ frame_00002.png
        โ”‚ย ย  โ”œโ”€โ”€ ...
        โ””โ”€โ”€ transforms.json
      
  • ps. COLMAP software ๋ฅผ ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ..
    • ํฌ๊ฒŒ ์•„๋ž˜ 3 ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
      1. feature extraction
      2. feature matching
      3. bundle adjustment
    • ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด sparse ํ•œ scene structure ์™€ ์œ„ ์ด๋ฏธ์ง€๋“ค์˜ pose (position+orientation) ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

      • ์—ฌ๊ธฐ์„œ ๋นจ๊ฐ• view ๋“ค์ด poses ์ด๊ณ , ๋ถ„ํ™์ƒ‰ lines ๋Š” covisible feature ๋ฅผ ๊ฐ€์ง„ views ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
    • ps. ์œ„์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋ฐ ์—ญ์‹œ ์ฝ”๋”ฉ 1๋„ ํ•˜์ง€ ์•Š์œผ๋‹ˆ ๋น„์ „๊ณต์ž๋ผ๊ณ  ๊ฒ๋จน์„ ํ•„์š”๋Š” ์—†๋‹ค. GUI์—์„œ ํด๋ฆญ ๋ช‡๋ฒˆ์ด๋ฉด ๋๋‚œ๋‹ค.
      • ๊ทธ๋‚˜์ €๋‚˜ nerfstudio ๋‚ด๋ถ€์— colmap data ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ถ€๋ถ„์ด command line ํ•œ์ค„ (ns-process-data) ๋กœ ์ง€์›๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ colmap software gui ๋ฅผ ์ผค ์ผ ์ž์ฒด๊ฐ€ ์—†๊ธฐ๋„ ํ•˜๋‹ค.
    • ps2. ์œ„์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด reconstructed ๋œ scene์ด ๋งค์šฐ sparse ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
      • MVS + meshing ์„ ๊ฑฐ์ณ์„œ ์œ„์˜ map์„ ๋” denser ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒ ์œผ๋‚˜, ๋ณดํ†ต ์—ฌ์ „ํžˆ photo-realistic ํ•จ๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๋‹ค.
        • ๊ทธ๋ž˜์„œ (์ด ํ•œ๊ณ„๋ฅผ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์–ด์„œ) ๋‰ด๋Ÿด ๋ Œ๋”๋ง์ด ๊ฐ๊ด‘๋ฐ›๊ณ  ์žˆ๋Š”๋“ฏํ•˜๋‹ค. ๋ฌผ๋ก  pose๊ฐ€ ์ฃผ์–ด์ ธ์•ผ ํ•˜์ง€๋งŒ ์ด๋Š” ๊ธฐ์กด traditional geometric methods (e.g., colmapโ€™s sparse reconstruction and pose estimation) ๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ž˜ ํ•˜๋Š” ์ผ์ด๋ฏ€๋กœ ์ƒํ˜ธ๋ณด์™„์ ์ด๊ณ  ์‹œ๋„ˆ์ง€๊ฐ€ ์ž˜ ๋งž๋‹ค!

๋‹จ๊ณ„ 2: Nerf model ํ•™์Šต ์‹œํ‚ค๊ธฐ

  • ์—ญ์‹œ ์ปค๋งจ๋“œ๋ผ์ธ ํ•œ์ค„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค
  • ์˜ˆ๋ฅผ ๋“ค์–ด,
      $ ns-train nerfacto --data {PROCESSED_DATA_DIR}
    
    • ์ด๋Š” nerfacto ๋ผ๋Š” ๋ชจ๋ธ(๋ฐฉ๋ฒ•๋ก )์„, ์•ž์„œ ์ƒ์„ฑํ•œ image ์™€ pose ๋ฅผ ์ด์šฉํ•ด์„œ, ํ•™์Šต์‹œ๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
      • nerfacto ๋Š” โ€˜์‚ฌ์‹ค์ƒ์˜ ํ‘œ์ค€โ€™์„ ์˜๋ฏธํ•˜๋Š” ๋””ํŒฉํ† ์™€ nerf ๋ฅผ ๊ฒฐํ•ฉํ•œ ์›Œ๋”ฉ๊ฐ™๋‹ค. mip-nerf ์™€ instant-ngp ์˜ ์žฅ์ ์„ ์„ž์—ˆ๋‹ค๊ณ  ํ•˜๋ฉฐ nerfstudio ์ œ์ž‘ํŒ€์ด ์ œ์•ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ ๋“ฏํ•˜๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ์ž๋™์œผ๋กœ outputs/{PROCESSED_DATA_DIR}/nerfacto/{TIME}์˜ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ๊ธฐ๊ณ  ์•„๋ž˜์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ log ํŒŒ์ผ๋“ค๊ณผ weight ๊ฐ€ ์ €์žฅ๋œ๋‹ค.
      .
      โ”œโ”€โ”€ camera_path.json
      โ”œโ”€โ”€ config.yml
      โ”œโ”€โ”€ nerfstudio_models
      โ”‚ย ย  โ””โ”€โ”€ step-000019788.ckpt # saved when after 19788 iterations
      โ””โ”€โ”€ viewer_log_filename.txt
      
      • config.yml ์—๋Š” ์—ฌ๋Ÿฌ ์„ธํŒ…๋“ค์ด ๋‹ด๊ฒจ์žˆ์œผ๋ฉฐ, command line ์—์„œ ํ•จ๊ป˜ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
        • ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ˆ์ „์— ํ•™์Šต์‹œํ‚ค๋˜ ์›จ์ดํŠธ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด์ฃผ๋ฉด ๋˜๊ฒ ๋‹ค.
          $ ns-train nerfacto --data {PROCESSED_DATA_DIR} --trainer.load_dir {YOUR_WEIGHT_SAVED_DIR}
          
  • ๊ทธ๋Ÿฌ๋ฉด ํ•™์Šต์ด ์‹œ์ž‘๋˜๊ณ , ํ„ฐ๋ฏธ๋„์—์„œ webapp URI๋ฅผ ์•Œ๋ ค์ค€๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด https://viewer.nerf.studio/versions/22-10-07-0/?websocket_port=7007
    • ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•™์Šต๋˜๋Š” ํ’ˆ์งˆ (์ €ํ•ด์ƒ๋„ ํ•œ์ •) ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    • ๊ทธ๋ž˜์„œ ํ•™์Šต์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ์–ด๋Š์ •๋„ ํ’ˆ์งˆ์—๊นŒ์ง€ ๋„๋‹ฌํ–ˆ๋Š”์ง€๋ฅผ ๋Œ€์ถฉ ํŒŒ์•…ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.
      • ์œ„์˜ output ์—์„œ ์†Œ๊ฐœํ•œ ๋น„๋””์˜ค๋“ค์€ 15000 iterations ์ •๋„๋ฅผ ํ•™์Šตํ•œ ์›จ์ดํŠธ์—์„œ ์–ป์€ ๊ฒฐ๊ณผ์ด๋‹ค.
        • 1080ti ๊ธฐ์ค€ + ์œ„์˜ ๊ฟˆ๋Œ์ด ๋ฐ์ดํ„ฐ์…‹ ๊ธฐ์ค€ 10 iteration ์— 1์ดˆ์ •๋„ ์†Œ์š”๋˜์—ˆ๋‹ค.

๋‹จ๊ณ„ 3: trajectory planning ๋ฐ ๋น„๋””์˜ค ์ œ์ž‘

  • ์›น์•ฑ์—์„œ ๋˜ํ•œ trajectory ๋„ planning ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž์„ธํ•œ๊ฑด ์ด ํŠœํ† ๋ฆฌ์–ผ ์˜์ƒ์„ ์ฐธ๊ณ .
    • ๊ทธ๋Ÿฌ๋ฉด synthesize ํ•˜๊ณ  ์‹ถ์€ set of images ๋“ค์˜ trajectory ๊ฐ€ ์…‹์—…๋˜๋Š”๋ฐ, ์ด ์—ญ์‹œ ์ปค๋งจ๋“œ๋ฅผ ๋ฐ”๋กœ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค˜์„œ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์„ ์ผœ๊ณ  ns-render --load-config outputs/3hz_ns/nerfacto/2022-10-10_122640/config.yml --traj filename --camera-path-filename outputs/3hz_ns/nerfacto/2022-10-10_122640/camera_path.json --output-path renders/output.mp4 ์ด๋Ÿฐ์‹์œผ๋กœ ํ•ด์ฃผ๋ฉด ๋น„๋””์˜ค๊ฐ€ ๊ทธ์ € ์Šฅ์Šฅ ์ƒ์„ฑ๋œ๋‹ค.
  • ๊ทธ ๊ฒฐ๊ณผ ์ตœ์ข…์ ์œผ๋กœ ์•ž์„œ ๋ณด์ธ ๋น„๋””์˜ค ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค :)
    • ์ด ๋•Œ ์›น์•ฑ์—์„œ ํ•ด์ƒ๋„ ์—ญ์‹œ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.
      • 1080 x 1920 ์œผ๋กœ ์ œ์ž‘ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฑฐ์˜ 10G ๋จน๊ณ , ์ƒ์„ฑ์†๋„๋Š” 15-20์ดˆ์— ํ•œ์žฅ ์ˆ˜์ค€์ด์—ˆ๋‹ค (1080ti ๊ธฐ์ค€).
      • 600x600 ์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ 6-7G ์ •๋„, ์ƒ์„ฑ์†๋„๋Š” 4-5์ดˆ์— ํ•œ์žฅ ์ˆ˜์ค€์ด์—ˆ๋‹ค.
      • ๋Š๋ฆฌ๊ธด ํ•˜๋‹ค.

๊ฒฐ๋ก 

  • Nerfstudio ๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋”ฉ์—†์ด+์ด๋ก  ๋ชฐ๋ผ๋„ nerf ๋ฅผ ์ฒดํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค!

TODO

  • mip-nerf ์™€ instant-ngp ๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด์ž.