模型训练完成后除了看ap等定量的指标是否变好外,还需要将结果可视化出来,直接观察模型的输出结果,往往我们的数据会比较多,如果单帧的看的话会比较麻烦,需要频繁的关闭窗口,最好是能直接连续的播放数据和模型的推理结果。有三种方法:
- clear_geomotry()和update_render(),优点:实现简单,缺点:播放过程中无法控制点云(缩放、拖动,暂停)。
- 自己实现多线程,就是在方法1的基础上将数据读取和可视化放在两个子线程中,不断刷新可视化窗口,通过全局变量控制数据是否更新,优点:播放过程可以操作点云,缺点:多线程逻辑复杂。
- 使用open3d提供的回调函数。open3d提供了动态播放和键盘事件的回调函数,我们只需要调用即可实现动态连续的播放数据,好用又方便。
我这里以waymo数据集中的一个场景分别给出open3d连续播放可视化的实现过程,样例数据已经上传网盘。(这里只放出第一种和第三种,第二种太过复杂了,需要设计很多控制变量)