Closed StarsTesla closed 1 year ago
My running env is under Ubuntu with display, GPU 3090,and no root mode(cause the UE disallow root mode)
The example seems to be proceeding as expected until this line.
libc++abi: terminating due to uncaught exception of type std::out_of_range: map::at: key not found
This is encouraging because we don't actually call the std::map::at()
function in very many places. The most frequently executed place where we use std::map::at()
is in our Config
system, but we explicitly check if a requested key isn't found, and we print out our own error message in this case. I don't see that error message in your log, so that narrows the problem down even further.
SpearSim.sh
) from the command-line with no additional arguments?getting_started
example?user_config.yaml
file you're using for generate_image_dataset
?SpearSim
yourself?@mikeroberts3000 Yes, I use precompiled binary. I can run the pre-compiled binary follow the markdown, and control it with my keyboard and mouse. Yes or no? after I started it , it shows one window with seems not continue images flash, and then the second windows shows final color. Here below is my user_config.
#
# Copyright(c) 2022 Intel. Licensed under the MIT License <http://opensource.org/licenses/MIT>.
#
SPEAR:
LAUNCH_MODE: "standalone_executable"
STANDALONE_EXECUTABLE: "/home/michael/git/spear/SpearSim/SpearSim.sh"
PAKS_DIR: "/home/michael/git/spear/pak"
CUSTOM_COMMAND_LINE_ARGUMENTS: []
RENDER_OFFSCREEN: False
WINDOW_RESOLUTION_X: 1024
WINDOW_RESOLUTION_Y: 1024
SIMULATION_CONTROLLER:
AGENT: "CameraAgent"
TASK: "NullTask"
CUSTOM_UNREAL_CONSOLE_COMMANDS: []
NAVMESH:
MIN_REGION_AREA: 0.0
CAMERA_AGENT:
CAMERA_ACTOR_NAME: "camera_actor"
SPAWN_MODE: "specify_existing_actor"
SPAWN_ACTOR_NAME: "PlayerStart_0"
ACTION_COMPONENTS: ["set_location", "set_rotation"] # "set_location", "set_rotation"
OBSERVATION_COMPONENTS: ["camera"] # "camera"
STEP_INFO_COMPONENTS: []
CAMERA:
RENDER_PASSES: ["final_color, depth"] # "depth", "final_color", "normal", "segmentation"
IMAGE_HEIGHT: 1024
IMAGE_WIDTH: 1024
FOV: 90.0
VISUALIZER:
ACTOR_NAME: "camera_actor"
SPAWN_CAMERA: False
The pak dir contains only one pak, kujiale_0000.pak
Please use `` to format blocks of code instead of
(I corrected this issue in both of your posts already, but for future reference, this is a better way to format multi-line code blocks.)
Ah, your RENDER_PASSES
is defined as an array with a one string entry "final_color, depth"
. This is incorrect. You want it to be an array with two string entries "final_color"
and "depth"
. So you want to do the following.
RENDER_PASSES: ["final_color", "depth"]
We provide an example definition for RENDER_PASSES
in the README
for generate_image_dataset
. I hope that helps.
@mikeroberts3000 Thanks for that, now the generation is done(After I press Igore the warning). But the depth shows some wired, it gives a kinda textural depth? Maybe something is wrong?
I think you're now experiencing a bug/limitation in the Unreal Engine that we make a note of in our backlog here: https://github.com/isl-org/spear/issues/198
We render depth images in a full-precision floating-point texture format, but this format doesn't seem to work correctly on macOS or Linux in UE 5.2. The easiest workaround is to use Windows.
Another workaround (that would require modifying our code) would be to change the texture format used for depth rendering:
The goal would be to: (1) change the texture format to a format that is better-behaved on macOS and Linux; (2) implement an encoding function in the depth post-processing material (PPM_Depth.uasset
) that encodes floating-point depth into the desired format in a way that doesn't lose much precision; (3) implement a decoding function in CameraSensor.cpp
that recovers floating-point depth from the encoded representation; and (4) invoke the decoding function in CameraSensor::getObservation()
, once the data has been copied from the GPU to the CPU. If you're up for it, I can help to guide you through the process and we could submit a PR together.
Hi, there, I follow the markdown to run the python file, and whatever I run, always fail, here is the one of the error log when running generate_image.py: