赞
踩
yoloV3是实时目标检测算法yolo的第三个版本,其本身基于darknet构建的神经网络算法.
官网:YOLO: Real-Time Object Detection
1.实例演示
- #获取源码
- git clone https://github.com/pjreddie/darknet
- cd darknet
- make
-
- #获取预训练的参数权重
- wget https://pjreddie.com/media/files/yolov3.weights
-
- #执行
- ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
在darknet文件夹下的predictions.jpg即是检测后的结果,如图:
2. 利用GPU
Darknet在进行图像目标检测时,可以使用GPU进行运算加速,比单独使用CPU要快500倍以上.
前提:具有NVIDIA 显卡、显卡驱动已安装、CUDA已安装、CUDNN已安装
上述的前提的安装过程较为繁琐,请参考阿弎:ubuntu安装tensorflow gpu版本
假设上述前提已准备好,则修改darknet根目录下的Makefile文件:
- GPU=1
- CUDNN=1 #若安装了cudnn设置为1,也可以不设置.安装了cuda其实就可以使用GPU了
#注意makefile中如下的配置 请确认是否与你安装的目录一致
- ifeq ($(GPU), 1)
- COMMON+= -DGPU -I/usr/local/cuda/include/
- CFLAGS+= -DGPU
- ifeq ($(OS),Darwin) #MAC
- LDFLAGS+= -L/usr/local/cuda/lib -lcuda -lcudart -lcublas -lcurand
- else
- LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand
- endif
- endif
-
- ifeq ($(CUDNN), 1)
- COMMON+= -DCUDNN
- ifeq ($(OS),Darwin) #MAC
- CFLAGS+= -DCUDNN -I/usr/local/cuda/include
- LDFLAGS+= -L/usr/local/cuda/lib -lcudnn
- else
- CFLAGS+= -DCUDNN -I/usr/local/cudnn/include
- LDFLAGS+= -L/usr/local/cudnn/lib64 -lcudnn
- endif
- endif

再次使用make重新编译
使用GPU版测试dog.jpg 耗时0.20秒
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg #默认使用第1块GPU
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。