安装细节
CenterFusion/src/tools/convert_nuScenes.py内容修改
- 如果你用的是nuscenes数据集中的Mini部分,那就把
convert_nuScenes.py
第27行内容中的其他部分注释掉
convert_nuScenes.py
在56行处,将数量修改为3
nuscenes-devkit下载
将nuscenes-devkit克隆到CenterFusion/src/tools/nuscenes-devkit
#在 CenterFusion/src/tools 文件夹下,先删除原来的空文件夹,否则的话,克隆会报错
rm -rf nuscenes-devkit
#再下载 nuscenes-devkit
git clone https://github.com/nutonomy/nuscenes-devkit.git
DCNv2安装
将DCNv2克隆到CenterFusion/src/lib/model/networks
git clone https://github.com/CharlesShang/DCNv2/
cd DCNv2
./make.sh
我的pytorch是1.2,推荐使用github上的这一款DCNv2——CharlesShang / DCNv2
这一款DCNv2运行时报错——lbin / DCNv2
报错信息如下
test.sh修改
如果你是单显卡的话,将CenterFusion/experiments/test.sh
中的内容修改
export CUDA_VISIBLE_DEVICES=1
修改为
export CUDA_VISIBLE_DEVICES=0
可视化
在运行test.py时加入--debug 4
参数
同时修改CenterFusion/src/lib/utils/debugger.py
文件中第 424 行
将
cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]),
(rect[e[1]][0], rect[e[1]][1]), lc, t,
lineType=cv2.LINE_AA)
修改为
cv2.line(bird_view, (int(rect[e[0]][0]), int(rect[e[0]][1])),
(int(rect[e[1]][0]), int(rect[e[1]][1])), lc, t,
lineType=cv2.LINE_AA)
即,转为整数类型。
在CenterFusion/exp/ddd/centerfusion/debug
中即可找到可视化后的结果。
问题记录
解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found
解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found
【解决错误】ModuleNotFoundError: No module named ‘progress‘
其实这个问题不算是问题,你别从test.sh文件运行test.py就好了,将命令复制出来,直接用终端运行即可。
因为运行pip list
可以发现已经存在progress库了,或者PyCharm里面也能够正常调用progress库。
【解决错误】ModuleNotFoundError: No module named ‘progress‘
ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’ (/home/jjuv/anaconda3/lib/python3.7/site-packages/PIL/init.py)
ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' (/home/jjuv/anaconda3/lib/python3.7/site-packages/PIL/__init__.py)
报错解释:torchvision在运行时要调用PIL模块,调用PIL模块的PILLOW_VERSION函数。但是PILLOW_VERSION在Pillow 7.0.0之后的版本被移除了,Pillow 7.0.0之后的版本使用__version__函数代替PILLOW_VERSION函数。
你可以尝试一下,在终端启动python,然后引入torchvision库import torchvision
也是报错的。
定位到最后一个文件,functional.py
修改里面的内容
将
from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSION
修改为
from PIL import Image, ImageOps, ImageEnhance, __version__
即可。
Python模块问题:ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’
cv2.error: OpenCV(4.5.5) 👎 error: (-5:Bad argument) in function ‘line’
下面的错误
肯定是没有修改CenterFusion/src/lib/utils/debugger.py
文件中第 424 行。
将
cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]),
(rect[e[1]][0], rect[e[1]][1]), lc, t,
lineType=cv2.LINE_AA)
修改为
cv2.line(bird_view, (int(rect[e[0]][0]), int(rect[e[0]][1])),
(int(rect[e[1]][0]), int(rect[e[1]][1])), lc, t,
lineType=cv2.LINE_AA)
即,转为整数类型。
修改完毕就没事了。
参考文章
CenterFusion 项目超详细环境搭建步骤及可视化操作