Git Product home page Git Product logo

steganerf's Introduction

StegaNeRF: Embedding Invisible Information within Neueral Radiance Fields. ICCV2023

[Paper] [Website]

Method

Quick start

Environment

. ./create_env.sh

Dataset

Please download the datasets from these links:

Training

cd opt && . ./stega_{llff/syn}.sh [scene_name] [embed_img]
  • At the first stage, a photorealistic radiance field will first be reconstructed if it doesn't exist on disk. Then the steganographic training at the second stage ends up with the steganographic NeRF and decoder.
  • Select {llff/syn} according to your data type. For example, use llff for flower scene, syn for lego scene.
  • [embed_img] is the style image inside ./data/watermarks.

Evaluation & Rendering

View the results by tensorboard.

You can also obtain the results and rendering the videos from the saved checkpoints.

Use opt/render_imgs.py for the scenes on LLFF: python render_imgs.py <CHECKPOINT.npz> <Decoder.pt> <data_dir>

Use opt/render_imgs_circle.py to render a spiral for the scenes on NeRF synthetic: python render_imgs_circle.py <CHECKPOINT.npz> <Decoder.pt> <data_dir>

Experiments on NeRF-W

Acknowledgement

We would like to thank ARF and Plenoxel authors for open-sourcing their implementations.

Citation

If you find this repo is helpful, please consider citing:

@inproceedings{li2022steganerf,
        title={StegaNeRF: Embedding Invisible Information within Neural Radiance Fields},
        author={Chenxin Li and Brandon Y. Feng and Zhiwen Fan and Panwang Pan and Zhangyang Wang},
        booktitle={arxiv},
        year={2022}
      }

steganerf's People

Contributors

paulpanwang avatar xggnet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

steganerf's Issues

About rendering

When I run this command for rendering: python render_imgs.py <CHECKPOINT.npz> <Decoder.pt> <data_dir>, and in my terminal the command is: python render_imgs.py ckpt/data-llff-cvpr_logo.png_mask-pow/ckpt.npz ckpt/data-llff-cvpr_logo.png_mask-pow/decoder.pth ../data/llff/fern.

But there comes the error: render_imgs.py: error: unrecognized arguments: ../data/llff/fern

When I delete the last argument, the command turns into: python render_imgs.py ckpt/data-llff-cvpr_logo.png_mask-pow/ckpt.npz ckpt/data-llff-cvpr_logo.png_mask-pow/decoder.pth. However, another problem comes out:

Traceback (most recent call last):
File "render_imgs.py", line 111, in
dset = datasets[args.dataset_type](args.data_dir, split="test_train" if args.train else "test",
File "/root/autodl-tmp/steganerf/opt/util/dataset.py", line 20, in auto_dataset
return NSVFDataset(root, *args, **kwargs)
File "/root/autodl-tmp/steganerf/opt/util/nsvf_dataset.py", line 50, in init
assert path.isdir(root), f"'{root}' is not a directory"
AssertionError: 'ckpt/data-llff-cvpr_logo.png_mask-pow/decoder.pth' is not a directory

I wonder how to fix it? If the directory path is wrong, what the correct one is?

AttributeError: 'NoneType' object has no attribute '__dict__'

When I input command:
bash stega_llff.sh fern cvpr_logo.png 0
微信图片_20230330145739
Specifically, the command in stega_llff.sh goes wrong:
python opt.py -t ckpt_svox2_low ../data/llff/fern --gpuid 0 -c configs/llff_low.json
I want to know why this problem happens, and how to deal with it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.