事件相机(Event-based camera)模拟器的环境配置方法,我已经在这篇文章中事件相机(Event-based camera)模拟器ESIM配置及使用指南介绍过了。


这篇文章用来介绍一下该模拟器哪些功能。(具体怎么使用,相信配置好以后看github介绍即可。其github地址在:点击这里


另外,该模拟器生成的事件,统一是以ROSBAG的形式保存的,如何从中读取我写了一个脚本,放在了上面的链接中。




功能一:Simulating events from a video


该功能主要是根据一段高帧率的视频,通过插值的方式,模拟出事件流。该功能的相关介绍已经在事件相机(Event-based camera)模拟器ESIM配置及使用指南中介绍过了。


功能二:平面渲染器(Planar Renderer)


该功能主要是由使用者提供一张图像,模拟一个虚拟相机在平面前的3D运动。


其中,相机轨迹可以txt的方式提供,当然也有默认的轨迹。(下图为默认提供的一些图片)



我们以city.jpg作为样例,运行一下仿真器:(传视频很不方便,因此我只传了一个截图)



一个相机在图像前面运动,上面是仿真出的模拟事件。


 


功能三:全景渲染器(Panoramic Renderer)


该功能主要是提供一张全景图像,模拟一个虚拟相机在全景图像中的旋转运动。


全景图像模拟器默认了一张,也可以用自己的:



运行起来的效果是这样的:



 图像糊了是因为运动的比较快,但是可以看到事件的边缘还是比较清楚的。



功能4:  基于OpenGL的渲染引擎(3D OpenGL Rendering Engine)


可以使用OpenGL进行编码,模拟场景,以及动态物体  (但只能利用OpenGL已经生成的场景,模拟器并不能提供场景,只提供了几个样例)


运行截图大致是这样:



功能5:  基于Unreal Engine的逼真绘制引擎(Photorealistic Rendering Engine based on Unreal Engine) 


这个比较耗时,几分钟的轨迹运动可能得执行几小时 。虚拟场景可以生成或者下载。


生成的链接:https://github.com/unrealcv/unrealcv



当然也可以直接下载:


http://docs.unrealcv.org/en/latest/reference/model_zoo.html



模拟的场景长这样:



鼠标在窗口内滑动,可以改变视角,以及前进后退:(不方便上传视频,我用截图代替)



不得不说这个场景仿真出来的还是挺真实的。


那么实际以这个场景为基础,模拟出的事件数据差不多是这样:



确实有以假乱真的效果。


不过官方称,这个不支持动态物体。(实际Unreal是支持里面添加动态物体的,可能是事件相机仿真器对于Unreal的场景不太支持。只支持上一个OpenGL)


功能6:  多对象二维渲染器 (Multi Objects 2D renderer)


它可以将多个对象在 场景中进行简单运动 (但是需要提供仿射变换参数)



这个仿射变换的参数需要自己写进去。


运行起来长这样:



就是你先提供一个背后的电脑场景,然后再提供一个球的图,程序会帮你自动在上面转起来。


怎么说吧,这个功能感觉很鸡肋,而且看起来傻傻的。




配置


相关的配置,需要在example.conf中修改,具体看github链接里面的说明吧。因为我现在手头也没有这个环境了,这些是我以前做的汇报PPT内容,我把它放到网上了而已。好多具体的细节我想不起来了。





总结


最后放一个关于功能的总结:





合作


如果是公司,或者其他院校,在事件相机方面想寻求合作或者招聘相关的人才,请联系张吉庆博士jqz@mail.dlut.edu.cn。当然私信我也可以,最好是联系他。