DLR-RM / BlenderProc

A procedural Blender pipeline for photorealistic training image generation
GNU General Public License v3.0
2.72k stars 443 forks source link

examples/advanced/calibration Run Error. #929

Closed Ever-Bright-V closed 11 months ago

Ever-Bright-V commented 1 year ago

Describe the issue

(blenderproc) everbright@everbright-desktop:~/Codes/BlenderProc-main$ blenderproc run examples/advanced/calibration/config.yaml Parsing config 'examples/advanced/calibration/config.yaml' Filling placeholder at setup/blender_install_path: /home_local/everbright/blender/ Successfully finished parsing Warning: Changed install path from /home_local/everbright... to /home/everbright..., there is no /home_local/ on this machine. Using blender in /home/everbright/blender/blender-3.3.0-linux-x64 Warning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases. Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it. Using temporary directory: /dev/shm/blender_proc_ff6cdb7a3233459ab4f91a8a482f2de3 Blender 3.3.0 (hash 0759f671ce1f built 2022-09-07 00:16:43)

Start - Initializing module main.Initializer

Finished - Initializing module main.Initializer (took 0.009 seconds)

Start - Initializing module loader.ObjectLoader

Finished - Initializing module loader.ObjectLoader (took 0.002 seconds)

Start - Initializing module lighting.LightLoader

Finished - Initializing module lighting.LightLoader (took 0.002 seconds)

Start - Initializing module camera.CameraLoader

Finished - Initializing module camera.CameraLoader (took 0.001 seconds)

Start - Initializing module object.CalibrationboardSampler

Finished - Initializing module object.CalibrationboardSampler (took 0.001 seconds)

Start - Initializing module renderer.RgbRenderer

Finished - Initializing module renderer.RgbRenderer (took 0.001 seconds)

Start - Running blender pipeline

Start - Running module InitializerModule

Selecting render devices... Device NVIDIA GeForce GTX 960 (Display) of type OPTIX found and used. Device Intel Xeon CPU E5-2650 v2 @ 2.60GHz of type CPU found and used. Selecting render devices... Device NVIDIA GeForce GTX 960 (Display) of type OPTIX found and used. Device Intel Xeon CPU E5-2650 v2 @ 2.60GHz of type CPU found and used.

Finished - Running module InitializerModule (took 0.017 seconds)

Start - Running module ObjectLoaderModule

Timer 'OBJ_import' took 1.7 ms

Finished - Running module ObjectLoaderModule (took 0.004 seconds)

Start - Running module LightLoader

Finished - Running module LightLoader (took 0.001 seconds)

Start - Running module CameraLoader

Finished - Running module CameraLoader (took 0.001 seconds)

Start - Running module CalibrationboardSampler

Finished - Running module CalibrationboardSampler (took 6.184 seconds)

Start - Running module RgbRenderer

Resolution: 640, 480

Finished - Running module RgbRenderer (took 0.194 seconds)

Finished - Running blender pipeline (took 6.400 seconds)

Error: Python: Traceback (most recent call last): File "/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/run.py", line 31, in pipeline.run() File "/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/python/modules/main/Pipeline.py", line 41, in run module.run() File "/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/python/modules/renderer/RgbRenderer.py", line 63, in run self._configure_renderer(use_denoiser=True, default_denoiser="Intel") File "/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/python/modules/renderer/RendererInterface.py", line 141, in _configure_renderer RendererUtility.set_denoiser(None if not use_denoiser else self.config.get_string("denoiser", default_denoiser)) File "/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/python/renderer/RendererUtility.py", line 62, in set_denoiser raise Exception("No such denoiser: " + denoiser) Exception: No such denoiser: Blender

Error: script failed, file: '/home/everbright/anaconda3/envs/blenderproc/lib/python3.7/site-packages/blenderproc/run.py', exiting. Cleaning temporary directory

Minimal code example

# Args: none
{
  "version": 3,
  "setup": {
    "blender_install_path": "/home_local/<env:USER>/blender/",
    "pip": [
      "h5py"
    ]
  },
  "modules": [
  {
    "module": "main.Initializer",
    "config":{
      "global": {
        "output_dir": "examples/advanced/calibration/output"
      }
    }
  },
  {
    "module": "loader.ObjectLoader",
    "config": {
      "path": "examples/advanced/calibration/chess.obj"
    }
  },
  {
    "module": "lighting.LightLoader",
    "config": {
      "lights": [
      {
        "type": "POINT",
        "location": [0, 0, 0],
        "energy": 1000
      }
      ]
    }
  },
  {
    "module": "camera.CameraLoader",
    "config": {
      "cam_poses": [{
        "location": [0,0,0],
        "rotation_euler": [0,0,0]
      }],
      "intrinsics": {
        "resolution_x": 640,
        "resolution_y": 480,
        "cam_K": [ 550.,   0., 519.5,
                   0., 400., 339.5,
                   0.,   0.,   1. ],
      }
    }
  },
  {
    "module": "object.CalibrationboardSampler",
    "config": {
      "board_name": "Cube",
      "rot_sampler": {
        "provider": "sampler.Uniform3d",
        "max": [-0.7,-0.7,-0.7],
        "min": [0.7,0.7,0.7]
      },
      "corner_coords": [
           [-0.429058, -0.286038, 0.004883],
           [0.429058, -0.286038, 0.004883],
           [0.429058, 0.429058, 0.004883],
           [-0.429058, 0.429058, 0.004883]
      ]
    }
  },
  {
    "module": "renderer.RgbRenderer",
    "config": {
      "output_key": "colors",
      "samples": 1,
      "output_is_temp": False,
      "denoiser": "Blender"
    }
  },
  ]
}

Files required to run the code

No response

Expected behavior

it will generate some chessboard imgs, but the output dir is empty.

BlenderProc version

v2.5.0

cornerfarmer commented 1 year ago

Thanks for letting us know, the denoiser set here in the config has been changed. Replace "Blender" with "INTEL" and it should work.

Nevertheless, I would recommend you to switch to the python api, as the yaml api will soon be deprecated.