yolov2

Darknet_yolov2基本原理

一 Darknet:深度学习框架    

深度学习框架提供了一些列的深度学习的组件(对于通用的算法,里面会有实现),当需要使用新的算法的时候就需要用户自己去定义,然后调用深度学习框架的函数接口使用用户自定义的新算法。 Darknet的功能不如主流的tensorflow等框架那么强大,但是也有如下优点:

1.易于安装

2.没有任何依赖项

3.结构明晰,源代码查看、修改方便

4.友好python接口

5.易于移植

Darknet:代码结构 下图是darknet源代码下载解压后文件夹的分布情况:

 1.cfg:cfg文件夹内是一些模型的架构,每个cfg文件类似与caffe的prototxt文件,通过该文件定义的整个模型的架构。

2.data:data文件夹内放置了一些label文件。

3.src:src文件夹内全是最底层的框架定义文件,所有层的定义等最基本的函数全部在该文件夹内,可以理解为该文件夹就是框架的源码。

4.examples:examples文件夹是更为高层的一些函数,如检测函数,识别函数等,这些函数直接调用了底层的函数,我们经常使用的就是example中的函数。

5.include:include文件夹,顾名思义,存放头文件的地方。

6.python:python文件夹里是使用python对模型的调用方法,基本都在darknet.py中。 7.scripts:scripts文件夹中是一些脚本,如下载coco数据集,将voc格式的数据集转换为训练所需格式的脚本等

8.除了license文件,剩下的就是Makefile文件,如下图,在问价开头有一些选项,把你需要使用的选项设为1即可。

二 yolov2 Mac有关环境的配置 

1.安装darknet

a.用如下代码在电脑上配置darknet:

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

由于我的电脑上之前已经配置过darknet,所以可以直接激活

b.用如下代码激活darknet:

cd darknet 

 c.用如下代码在电脑上载预训练的权重文件:

wget https://pjreddie.com/media/files/yolov

2.weights 在此处遇到的问题:

(1)zsh: command not found: wget 或者是zsh: command not found: brew

遇到这两个问题的原因是没有下载相应的安装包。

可以看一下下载权重文件的源代码中需要通过https在作者网站上下载相应的权重文件。

但是由于没有相应的下载工具,这时就需要配置一个wget自动下载文件的自由工具。

(wget:wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。)

c.用如下代码在电脑上载预训练的权重文件:

wget https://pjreddie.com/media/files/yolov

2.weights 解决办法: 需要在HomeBrew官网上下载Homebrew,也就是我电脑上缺少的缺失的软件包的管理器。

然后通过在终端中运行如下代码下载相应的管理器:

/bin/bash -c "$(curl -fsShttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 

d.最后就可以用如下代码运行检测器:

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

 

e.运行前后的图片比较:

 

 

 


版权声明:本文为weixin_42242801原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。