Yolo-Darknet的安装和使用

1. Yolo-Darknet介绍

YOLO是基于深度学习方法的端到端实时目标检测系统,目前有三个版本,Yolo-v1,Yolo-9000,Yolo-v2。Darknet是Yolo的实现,但Darknet不仅包含Yolo的实现,还包括其它内容。

2. Darknet安装

安装过程如下:

# 代码下载
git clone https://github.com/pjreddie/darknet.git

# 修改Makefile
cd darknet
sed -i '1s/GPU=0/GPU=1/' Makefile
sed -i '2s/CUDNN=0/CUDNN=1/' Makefile
sed -i '3s/OPENCV=0/OPENCV=1/' Makefile

# 安装
make

# 下载预训练的模型
wget https://pjreddie.com/media/files/yolo.weights
wget https://pjreddie.com/media/files/tiny-yolo-voc.weights
wget http://pjreddie.com/media/files/yolov1.weights
wget http://pjreddie.com/media/files/tiny-yolo.weights
wget http://pjreddie.com/media/files/tiny-coco.weights
wget http://pjreddie.com/media/files/yolo-coco.weights

3. Yolo-v2用法

  • 使用预训练的模型进行目标检测
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
  • 输入图像名称进行检测
$ ./darknet detect cfg/yolo.cfg yolo.weights
# 输入 data/horses.jpg
# 执行结果如下:
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   608 x 608 x   3   ->   608 x 608 x  32
    1 max          2 x 2 / 2   608 x 608 x  32   ->   304 x 304 x  32
    2 conv     64  3 x 3 / 1   304 x 304 x  32   ->   304 x 304 x  64
    3 max          2 x 2 / 2   304 x 304 x  64   ->   152 x 152 x  64
    4 conv    128  3 x 3 / 1   152 x 152 x  64   ->   152 x 152 x 128
    5 conv     64  1 x 1 / 1   152 x 152 x 128   ->   152 x 152 x  64
    6 conv    128  3 x 3 / 1   152 x 152 x  64   ->   152 x 152 x 128
    7 max          2 x 2 / 2   152 x 152 x 128   ->    76 x  76 x 128
    8 conv    256  3 x 3 / 1    76 x  76 x 128   ->    76 x  76 x 256
    9 conv    128  1 x 1 / 1    76 x  76 x 256   ->    76 x  76 x 128
   10 conv    256  3 x 3 / 1    76 x  76 x 128   ->    76 x  76 x 256
   11 max          2 x 2 / 2    76 x  76 x 256   ->    38 x  38 x 256
   12 conv    512  3 x 3 / 1    38 x  38 x 256   ->    38 x  38 x 512
   13 conv    256  1 x 1 / 1    38 x  38 x 512   ->    38 x  38 x 256
   14 conv    512  3 x 3 / 1    38 x  38 x 256   ->    38 x  38 x 512
   15 conv    256  1 x 1 / 1    38 x  38 x 512   ->    38 x  38 x 256
   16 conv    512  3 x 3 / 1    38 x  38 x 256   ->    38 x  38 x 512
   17 max          2 x 2 / 2    38 x  38 x 512   ->    19 x  19 x 512
   18 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024
   19 conv    512  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 512
   20 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024
   21 conv    512  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 512
   22 conv   1024  3 x 3 / 1    19 x  19 x 512   ->    19 x  19 x1024
   23 conv   1024  3 x 3 / 1    19 x  19 x1024   ->    19 x  19 x1024
   24 conv   1024  3 x 3 / 1    19 x  19 x1024   ->    19 x  19 x1024
   25 route  16
   26 conv     64  1 x 1 / 1    38 x  38 x 512   ->    38 x  38 x  64
   27 reorg              / 2    38 x  38 x  64   ->    19 x  19 x 256
   28 route  27 24
   29 conv   1024  3 x 3 / 1    19 x  19 x1280   ->    19 x  19 x1024
   30 conv    425  1 x 1 / 1    19 x  19 x1024   ->    19 x  19 x 425
   31 detection
mask_scale: Using default '1.000000'
Loading weights from yolo.weights...Done!
Enter Image Path: data/horses.jpg
data/horses.jpg: Predicted in 0.030211 seconds.
horse: 46%
horse: 59%
horse: 91%

(predictions:31): Gtk-WARNING **: cannot open display:
  • 设置检测阈值
$ ./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg -thresh 0.1
  • 检测视频
$ ./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights <video file>

参考资料

  1. https://pjreddie.com/darknet/install/
  2. https://pjreddie.com/darknet/yolo/
  3. https://pjreddie.com/darknet/yolov1/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子昭的博客

Tensorflow可视化编程安装Tensoflow1.0将加法运算以图形化方式展示实现简单的线性回归为程序添加作用域模型的保存与恢复(保存会话资源)

安装Tensoflow1.0 Linux/ubuntu: python2.7: pip install https://storage.googleapis.c...

37480
来自专栏深度学习之tensorflow实战篇

python 聚类分析实战案例:K-means算法(原理源码)

K-means算法: ? 关于步骤:参考之前的博客 关于代码与数据:暂时整理代码如下:后期会附上github地址,上传原始数据与代码完整版, ?...

1K50
来自专栏人人都是极客

5.训练模型之利用训练的模型识别物体

接下来我们开始训练,这里要做三件事: 将训练数据上传到训练服务器,开始训练。 将训练过程可视化。 导出训练结果导出为可用作推导的模型文件。 配置 Pipelin...

43740
来自专栏Small Code

【TensorFlow】TensorFlow 的卷积神经网络 CNN - TensorBoard版

前面 写了一篇用 TensorFlow 实现 CNN 的文章,没有实现 TensorBoard,这篇来加上 TensorBoard 的实现,代码可以从 这里 下...

45660
来自专栏CreateAMind

深度学习暑期课程第(五六)七课:循环神经网络(Recurrent Neural Networks)

13630
来自专栏数据小魔方

时间管理的工具——甘特图(Gantt chart)

今天跟大家分享一种用作时间管理的工具——甘特图(Gantt Chart)。 ▽▼▽ 这种图表的制作理念非常简单,就是通过设定项目开始时间和持续时间,利用堆积条形...

77070
来自专栏一个爱瞎折腾的程序猿

通过脚本下载GO被墙或常用的相关包

11510
来自专栏北京马哥教育

实战Google深度学习框架:TensorFlow计算加速

作者:才云科技Caicloud,郑泽宇,顾思宇 要将深度学习应用到实际问题中,一个非常大的问题在于训练深度学习模型需要的计算量太大。比如Inception-v3...

34170
来自专栏WD学习记录

21个项目玩转深度学习 学习笔记(2)

事实上,必须先读入数据后才能进行计算,假设读入用时0.1s,计算用时0.9秒,那么没过1s,GPU都会有0.1s无事可做,大大降低了运算的效率。

36210
来自专栏CreateAMind

openAi HER 算法运行流程学习

12930

扫码关注云+社区

领取腾讯云代金券