Hi all, I’m working to evaluate Gazebo 11 for an application in which high-fidelity camera images are a priority. I’m aware of supported camera effects including lens distortion, Gaussian noise, and lens flare, however I’m wondering if there are any effects I’m missing?
Other effects I’m interested in which are supported eg in Webots include: motion blur, variable focus/auto-focusing, controllable zoom, anti-alias filtering, and custom noise masks. If anyone is aware of plugins for these effects, or has some insight on how difficult they’d be to implement for Gazebo, I’d appreciate it. Thank you!
AFAIK simulating real cameras is not really well done. There’s no motion blur (maybe you could simulate it by blending lots of quick images), no way to simulate exposure time effects (except decreasing brightness/alpha, which might yield different results than the physical process), and no way to simulate out-of-focus areas (AFAIK). Zooming could maybe be done if you wrote a custom plugin.
Thanks for the answer, unfortunately that’s what I suspected, but I wanted to check in case I missed any features. Writing custom plugins like the lens flare plugin is doable, but I was really curious whether the HDR plugin written in the citysim project ever went anywhere. I guess not
The bloom plugin was not ported back to Gazebo but you should be able to use it directly in your project by copying those src files and their shaders.
Other effects:
motion blur: not available.
variable focus (depth-of-field?): not available
controllable zoom: You can write a plugin change the camera’s field of fiew
anti-alias filtering: This should be on but I don’t think users can control the level of anti-aliasing.
custom noise mask: not available but should not be too difficult to implement - similar to how bloom effect is added. You just need to change the shaders to add your own noise effect
If you are thinking of implementing motion blur and depth-of-field effects, you can take a look at:
Thanks for the detailed response! I will certainly give the bloom plugin a try in Gazebo to see if I can get it working. If I do end up implementing any other photorealistic effects, I will also try to get them merged back to Gazebo for others to use. It seems like enhanced photorealism is something people desire from simulation, and with the only good alternative being Unreal/Unity, it would be great for Gazebo to have some of these features.