xavier、tx2运行实时物体检测网络YOLOv3的对比测试总结

目录

1、yolo源码下载下载

2、修改yolo网络编译选项

2.1、配置编译选项

2.2、设置GPU架构的计算能力

3、下载配置文件、权重文件

4、运行测试

4.1、YOLOv3 (107层深度学习网络)测试方式

4.2、YOLOv3-tiny(24层深度学习网络)测试方式

5、测试结果对比


1、yolo源码下载下载

从github上clone最新代码

git clone https://github.com/pjreddie/darknet.git

cd darknet

2、修改yolo网络编译选项

我们只需要关注前几行:宏定义及GPU架构。

2.1、配置编译选项

GPU=1 #是否需要用GPU

CUDNN=1 #是否需要用CUDNN,这是NVIDIA做的一些优化,就是一些库文件,优化一些常用的矩阵操作

OPENCV=1 #是否需要用OPENCV,如果不使能程序执行完毕后不会自动弹出照片,且不能使用网络摄像头

OPENMP=1 #CPU的多线程

注意:如果使能CUDA需要制定CUDA路径,不然会报错

/bin/sh: 1: nvcc: not found

make: *** [obj/convolutional_kernels.o] Error 127

解决方法:

# 修改makefile 修改为对应的CUDA 版本

NVCC = /usr/local/cuda-10.0/bin/nvcc

2.2、设置GPU架构的计算能力

 

#Arch 就是GPU的架构版本,没有GPU或者GPU不支持CUDA的就不用配合这里

ARCH=

-gencode arch=compute_53,code=[sm_53,sm_53]            # TX1计算能力是53

-gencode arch=compute_61,code=[sm_61,compute_61]  # Pascal架构 GTX 1080 计算能力6.1

-gencode arch=compute_62,code=[sm_62,compute_62]  # Pascal架构 TX2 计算能力6.2

-gencode arch=compute_72,code=[sm_72,compute_72]  # volta 架构  Xavier 计算能力7.2

 

3、下载配置文件、权重文件

在dartnet目录:

全功能版107层网络结构权重文件:

wget https://pjreddie.com/media/files/yolov3.weights

Tiny版24层网络结构权重文件:

wget https://pjreddie.com/media/files/yolov3-tiny.weights

 

4、运行测试

注意:OpenCV  默认没有使能,识别完成后不自动显示图片,需要手动在当前目录找到。

sudo clean

sudo make -j8     #8核CPU 编译

程序自带的可用于测试的图片:

图片

data/dog.jpg

data/person.jpg

data/horses.jpg

data/scream.jpg

data/giraffe.jpg

data/kite.jpg

 

4.1、YOLOv3 (107层深度学习网络)测试方式

由于默认的cfg/yolov3.cfg中的网络输入的图片大小为618*618,图片尺寸较大,导致TX2加载107层网络的时候内存不够用,特修改其参数:

  1. cfg下的 “yolov3.cfg”,内容如下:

    width=416

    height=416

    以下测试统一使用新的参数进行测试。

(1)图片

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

(2)摄像头实时检测:COCO数据集训练的YOLO

./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights

注意如果TX2板子上有摄像头就需要指定使用USB摄像头,不然报错

       方法:./darknet detector demo cfg/coco.data yolov3_416_416.cfg yolov3.weights -c 1

(3)视频测试:COCO数据集训练的YOLO

./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights test.mp4

4.2、YOLOv3-tiny(24层深度学习网络)测试方式

(1)图片

./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg

(2)摄像头实时检测:COCO数据集训练的YOLO

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights

注意如果TX2板子上有摄像头就需要指定使用USB摄像头,不然报错

       方法:./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights -c 1

(3)视频测试:COCO数据集训练的YOLO

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights test.mp4

5、测试结果对比

YOLOv3实时物体识别深度神经网络测试
    运算位置
深度学习网络及层数说明   GPU CPU  
TX2
双核丹佛2处理器、
核ARM Cortex-A57
8G内存
@2.035GHz
GPU256CUDA
YOLOv3:107层 图片检测时间(秒) 0.76 12.1  
摄像头实时检测帧率 FPS 3.4 0.1 CPU运算6个CPU占用率都接近85%
GPU运算6个CPU占用率都在 10-20%左右,GPU利用率99%
视频测试帧率FPS 3.4 0.1 CPU运算6个CPU占用率都接近85%
GPU运算6个CPU占用率都在 10-30%左右,GPU利用率99%
YOLOv3-Tiny:24层 图片检测时间(秒) 0.46 1.2  
摄像头实时检测帧率FPS 14-16 0.9 CPU运算6个CPU占用率都接近75%
GPU运算6个CPU占用率都在 50%左右,GPU利用率40-99%
视频测试帧率FPS 14-15.6 0.9 CPU运算6个CPU占用率75%-80%
GPU运算6个CPU占用率都在 60%左右,GPU利用率10-99%
Xavier
8ARM64架构,代号Carmel
16G
内存
@2.2656G
GPU512CUDA
YOLOv3:107层 图片检测时间(秒) 0.743、0.842、1.12、1.64 2.9  
摄像头实时检测帧率 FPS 7.4 0.4 CPU运算八个CPU占用率都接近65%
GPU
运算8CPU占用率都在 20%左右,GPU利用率99%
视频测试帧率FPS 7.4 0.4 CPU运算八个CPU占用率都接近65%
GPU
运算8CPU占用率都在 35%左右,GPU利用率 99%
YOLOv3-Tiny:24层 图片检测时间(秒) 0.63 0.36  
摄像头实时检测帧率FPS 22-28 3.4 CPU运算八个CPU占用率都接近60%
GPU
运算8CPU占用率都在25 %左右,GPU利用率 30-70%
视频测试帧率FPS 18-26 3.4 CPU运算八个CPU占用率都接近58%
GPU
运算8CPU占用率都在 60%左右,GPU利用率30-70 %

 

 

你可能感兴趣的:(技术资料,Jetson,Xavier,/,TX2,深度学习)