赞
踩
博主所做的主要工作:
.pth
-> .engine
,提取出推理部分代码,封装为C++的类,便于其他项目调用;NMS
大幅减小conf_thres
超参数,源于 ByteTrack
跟踪的原理,这一点非常重要;YOLOv8
推理编译为一个动态链接库,以解耦项目;ByteTrack
也编译为一个动态链接库,进一步解耦项目;main.cpp
第 8 行设置自己想要跟踪的类别。
TensorRT 8.0+
OpenCV 3.4.0+
Jetson Nano
上的运行环境如下:Jetpack 4.6.1
,该jetpack
原装环境如下:CUDA | cuDNN | TensorRT | OpenCV |
---|---|---|---|
10.2 | 8.2 | 8.2.1 | 4.1.1 |
关于如何在 Jetson nano
上烧录镜像,网上资料还是很多的,这里就不赘述了,注意下载 Jetpack
镜像时选择 4.6.1 版本,该版本对应的 TensorRT v8 版本
Eigen
库apt install libeigen3-dev
Eigen
库即可提示:无论何种设备,记得确认 CMakeLists.txt
文件中相关库的路径。
目的:得到TensorRT
的序列化文件,后缀 .engine
首先获取 wts
格式的模型文件,链接:yolov8s.wts,提取码:gsqm
然后按以下步骤执行:
cd {TensorRT-YOLOv8-ByteTrack}/tensorrtx-yolov8/
mkdir build
cd build
cp {path/to/yolov8s.wts} .
cmake ..
make
./yolov8 -s yolov8s.wts yolov8s.engine s
cd ../../
mkdir yolo/engine
cp tensorrtx-yolov8/build/yolov8s.engine yolo/engine
mkdir build
cd build
cmake ..
make
./main ../videos/demo.mp4 # 传入自己视频的路径
之后会在 build
目录下的到result.mp4
,为跟踪效果的视频文件
如果想要跟踪的视频实时播放,可解开main.cpp
第 94 行的注释。
主要参考了下面的项目:
感谢阅毕,若有帮助,欢迎点赞收藏
============================= END =============================
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。