本项目使用的这位大佬的git项目.,过程中遇到很多问题大佬都及时回复了,在此十分感谢大佬相助。以下是对项目的补充说明:
一、项目环境
- AGX Xavier 版本Jetpack4.4.1
- cuda 10.2.89
- cudnn 8.0.0.180
- tensoort 7.1.3.0
- opencv 4.4.1
- onnx 1.5.0
二、环境配置
1. 安装 yaml-cpp
出现的错误:
解决方法:
sudo apt-get install libboost-all-dev
sudo apt-get install libyaml-cpp-dev
另外因为项目作者的yaml-cpp里静态库是在x86上编译的,版本信息如下
如果直接编译会报错;
所以我们要改一下库的链接地址,静态库地址在/usr/lib/aarch64-linux-gnu
修改是在cmakelist里面修改:
然后就可以啦
2 onnx安装
pip3 install onnx==1.5.0
3 cfg转成onnx
python3 export_onnx.py //记得修改文件路径
如果编译完成以后,执行项目的时候出现以下错误首先考虑是不是onnx倒出命令敲错了
或者参考以下l方法.,yolov4如果是608x608和coco数据集的话,应该是输出应该22743和85,如果输出不对则是生成的onnx文件有问题。
4 编译项目
mkdir build && cd build
cmake ..
make -j
5项目执行:
./Yolov4_trt ../config.yaml ../samples
如果是自己的模型和类别参数,需要修改.yaml文件
不然会出现segmentation core dumped错误:
解决方法:
修改common.hpp里面的这里,改成1<<30
其次检查.yaml内容是否正确配置
另外,如果在这里卡主了,多等一下就可以,或者空一点内存出来
6 检测结果
检测结果在samples文件夹里,终端不会输出。
因为用新的数据重新训练了模型,所以检测出来的车轮是扳手,是正确的,不要怀疑。
在此感谢本项目作者给予的支持,敬礼!