事件相机(Event-based camera)模拟器功能介绍
事件相机(Event-based camera)模拟器的环境配置方法,我已经在这篇文章中事件相机(Event-based camera)模拟器ESIM配置及使用指南介绍过了。
这篇文章用来介绍一下该模拟器哪些功能。(具体怎么使用,相信配置好以后看github介绍即可。其github地址在:点击这里
另外,该模拟器生成的事件,统一是以ROSBAG的形式保存的,如何从中读取我写了一个脚本,放在了上面的链接中。
目录
功能一:Simulating events from a video
功能4: 基于OpenGL的渲染引擎(3D OpenGL Rendering Engine)
功能5: 基于Unreal Engine的逼真绘制引擎(Photorealistic Rendering Engine based on Unreal Engine)
功能6: 多对象二维渲染器 (Multi Objects 2D renderer)
功能一: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内容,我把它放到网上了而已。好多具体的细节我想不起来了。
总结
最后放一个关于功能的总结:
合作
如果是公司,或者其他院校,在事件相机方面想寻求合作或者招聘相关的人才,请联系张吉庆博士[email protected]。当然私信我也可以,最好是联系他。