Jetson AGX Xavier测试YOLOv4

上一篇:Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测

下一篇:Jetson AGX Xavier 实现TensorRT加速YOLOv4

一、前言

        前段时间,使用YOLOv5算法设计了一款目标跟踪小车,我大概对YOLOv5算法有了粗浅的了解。看到网上说YOLOv4表现效果也很好而且得到原作者的认可,于是我在Xavier中也测试了一波实现效果。这里记录以下我的实现步骤。

二、安装准备

1、克隆YOLOv4工程

git clone https://github.com/AlexeyAB/darknet.git yolov4

2、修改 yolov4工程内的Makefile文件,修改至如图所示,如果不需要使用工程中的python脚本检测图片或者视频,那么LIBSO项可以不用改。ARCH=72,指的是Xavier的GPU算力的十倍。

Jetson AGX Xavier测试YOLOv4_第1张图片

3、编译工程

make -j8

       编译成功,终端会出现一大堆代码啥的,只要没有error就是编译成功。此时工程中的文件如下。

4、下载权重文件yolov4.weights,yolov4-tiny.weights ,放入yolov4文件夹中。

Jetson AGX Xavier测试YOLOv4_第2张图片

三、测试算法

 1、c++版本

       ①图片检测,在yolov4文件夹中开启终端。

#完整指令
./darknet detector test cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg 
./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg 
#简写指令
./darknet detect cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg 
./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg 

        ②测试USB摄像头实时检测。

./darknet detector demo cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights  -c 0
./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights  -c 0

Jetson AGX Xavier测试YOLOv4_第3张图片

2、python版本

       python的环境,本文采用我为yolov5创建的环境“yolov5env”,可以查看我的主页文章。

          ①测试图片

python darknet_images.py --weight yolov4-tiny.weights

        ②USB摄像头实时检测

python darknet_video.py --weights yolov4-tiny.weights  #默认调用USB摄像头

Jetson AGX Xavier测试YOLOv4_第4张图片

       通过测试,在Xavier中,yolov4实时检测大概在5~10FPS左右。本文测试背景较为复杂,检测精度还行,但是检测速度还有待提高。    

四、总结    

      目前,YOLOv4有许多python版本的工程,我通过测试,感觉效果会略优于原工程,不知道为什么。当然,与前面YOLOv5的文章相同,为了追求更高的检测速度,同样可以采用TensorRT对其进行加速。翻过一座上又是一座山,咱们下座山峰见。

五、参考文章

GitHub - AlexeyAB/darknet: YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )

你可能感兴趣的:(Jetson,AGX,Xavier系列,深度学习,人工智能,python)