目的:
- 方便算法调试
- 用于给客户展示算法的性能
- 能够用于实时系统
细节:
- 最后选用了ros的rviz
- 可视化工具可以通过ssh方式控制算法的启动关闭,各种参数
- 可以显示各个传感器的状态:是否有数据,数据是否正常
- 可以显示不同可视化元素:各种匹配,点云,车道线等
- 采用rviz的插件机制开发自定义的UI
- 开发自定义的view controller,实现第一视角的显示
- 显示算法的状态:匹配数,耗时,不确定度等
- 可以录制传感器数据和实时运行的结果数据供离线debug
讨论:
- rviz应该是最适合3d视觉算法的可视化工具,还没有发现太多的弱点。现在我工作的时候基本一直开着一个rviz,随时很快捷的就可以把想要debug的数据在上面现实出来。
- rviz的ui功能,其实就是继承了一个qt也非常好用,省去qt的各种和操作系统有关的配置,之关注逻辑的编写。
- 另外rviz的插件功能几乎可以实现大多数可能的功能,如果懂一些Ogre3D的话,基本可以把rviz改为一个完全自己的软件。我曾经想既然3d渲染的底层都要改,还不如完全重写。但后面发现还是在rviz的基础上开发软件要方便得多。