coperception 是 V2X-Sim 数据集搭配的开发包,支持多种协同感知方法,可以用于 bev 检测、跟踪和分割任务。
详细说明看这里:官方文档
配置环境和数据集
- 克隆
coperception的代码库,创建python 3.7的虚拟环境,安装代码库的依赖 pip install -e .安装作者提供的coperception包,包的具体内容可以看setup.py文件- 下载数据集(简单测试的话,原数据集可以先不用下载,直接下载作者处理好的数据集即可,我下载的是检测数据集),
ln -s /data/V2X-Sim-det ./tools/det/V2X-Sim-det将作者已经处理好的检测数据链接到工作区,下载我们需要的预训练模型(我用的lowerbound / no_rsu)。
修改 Makefile 文件
作者通过 Makefile 文件组织各任务的各种执行命令,文件开头是我们需要修改的参数,以 det 为例,visualization 用来控制在测试时除了输出 txt 文件外,是否还输出可视化的测试结果,如下图所示。需要什么命令按需修改参数即可。
bugs
我运行 make test_no_rsu 出现的问题:
- 我的是
docker环境,如果爆共享内存的话,将workeres调成0,即--nworker 0。 - 如果出现
Caught TypeError in replica 1 on device 1.这种错误,我这是有4张显卡,但是它只需要一张,在运行的python程序中加入os.environ['CUDA_VISIBLE_DEVICES'] = "0"即可。
一个需要注意的问题是,对于数据集中的每个场景,它涉及到几辆车是不固定的,在 2-5 之间,下两图表明 scene 5 有四辆车,scene8 有五辆车(我测试的是 no_rsu)。