@

YOLOv4是最近开源的一个又快又准确的目标检测器。

首先看一下Github上的版本要求及下载地址:

系统:Windows or Linux

CMake >= 3.12: https://cmake.org/download/

CUDA 10.0: https://developer.nvidia.com/cuda-toolkit-archive

OpenCV >= 2.4: 直接从Opencv官网下载就好

cuDNN >= 7.0 for CUDA 10.0: https://developer.nvidia.com/rdp/cudnn-archive

Visual Studio 2015/2017/2019: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community

YOLO v4源码

YOLOv4仓库github地址: https://github.com/AlexeyAB/darknet.

为了防止下载压缩包解压后会丢失一些文件,建议在码云上clone下来。

CMake安装

进入官网下载最新的版本即可,图中红色标注的位置,下载后一路默认安装点下来就好。(PS:如果下载网络较慢,这里有百度云链接,提取码:ev94)

CUDA安装

CUDA是我当初安装tensorflow2.0时安的

主要是从官网上下载安装文件,

解压缩,如图:



同意并继续,选择精简,进入安装,大概要几分钟的时间。



安装完成后检查是否安装成功。

win+R 进入运行界面,输入cmd进入命令行界面,输入nvcc --version 查看是否安装成功

cuDNN安装

在官网下载前需要注册NVIDIA DEVELPOER 的账号,选择与CUDA10.0对应的版本cuDNN7.6.4,点击library for win10文件,大概有240M左右。如下图所示:



官网的安装教程:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows

其实就是将解压后将下面几个文件复制到CUDA的对应路径下。

  1. Copy ...\cuda\bin\cudnn64_7.6.5.32.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin.
  2. Copy ...\cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include.
  3. Copy ...\cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64.

简便快捷的方法就是把下载好的CUDNN文件 全部复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2中

OpenCV安装

从官网下载,版本要大于2.4

下载好直接解压就可以,并将installpath\opencv\build\路径添加到系统的环境变量中,

CMake编译的时候会自动找到这个文件夹

添加环境变量如下图所示,在此电脑右击属性,弹出下图界面,点击高级系统设置。

点击环境变量,新建环境变量,



新建环境变量,变量名为OpenCV_DIR,变量地址为C:\Program Files\opencv\build

Cmake编译

如果你想用GPU加快检测速度,需要将Makefile文件用记事本打开,更改GPU=1 CUDNN=1 CUDNN_HALF=1 OPENCV=1。如下图所示:



选择Browse Source 为源码所在文件夹,Browse Build 可以选择同一文件夹,点击Configure,弹出如下界面:



第一项选择你所安装的VS版本,第二项平台选择x64 ,点击Finish,点击Configure,没有错误后点击生成。



成功后点击Open Project 打开项目文件。

VS编译

注意:选择release版本,x64,直接生成解决方案。



将D:\github\darknet\Release文件夹下的darknet.exe文件复制



打开到D:\github\darknet\build\darknet\x64文件夹内进行粘贴,如下图所示



将opencv ...\opencv\build\x64\vc14\bin 下的两个opencv_world330.dll和 opencv_ffmpeg330_64.dll dll文件复制到上述文件夹内。如下图所示:



将cuDNN中的cudnn64_7.dll复制到上述文件夹。

图像测试

为了验证是否配置成功,下载推荐的yolov4.weights文件,文件大概有245M,百度云.密码:wg0r

将下载后的文件放在D:\github\darknet\build\darknet\x64文件夹下。

打开cmd命令行,转到上述的文件夹内,如下图所示:

按照GitHub,测试图像和视频复制对应的命令:

Yolo v4 COCO - image: darknet.exe detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights -thresh 0.25

Output coordinates of objects: darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights -ext_output dog.jpg

Yolo v4 COCO - video: darknet.exe detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output test.mp4

测试结果

  1. 自带的dog图像

  2. 羊群

YOLOv4的更多相关文章

  1. 【论文笔记】YOLOv4: Optimal Speed and Accuracy of Object Detection

    论文地址:https://arxiv.org/abs/2004.10934v1 github地址:https://github.com/AlexeyAB/darknet 摘要: 有很多特征可以提高卷积 ...

  2. YOLOV4在linux下训练自己数据集(亲测成功)

    最近推出了yolo-v4我也准备试着跑跑实验看看效果,看看大神的最新操作 这里不做打标签工作和配置cuda工作,需要的可以分别百度搜索   VOC格式数据集制作,cuda和cudnn配置 我们直接利用 ...

  3. YOLOV4源码详解

    一. 整体架构 整体架构和YOLO-V3相同(感谢知乎大神@江大白),创新点如下: 输入端 --> Mosaic数据增强.cmBN.SAT自对抗训练: BackBone --> CSPDa ...

  4. YoloV4当中的Mosaic数据增强方法(附代码详细讲解)码农的后花园

    上一期中讲解了图像分类和目标检测中的数据增强的区别和联系,这期讲解数据增强的进阶版- yolov4中的Mosaic数据增强方法以及CutMix. 前言 Yolov4的mosaic数据增强参考了CutM ...

  5. YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集

    YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...

  6. C#封装YOLOv4算法进行目标检测

    C#封装YOLOv4算法进行目标检测 概述 官网:https://pjreddie.com/darknet/ Darknet:[Github] C#封装代码:[Github] YOLO: 是实现实时物 ...

  7. YOLOv4: Darknet 如何于 Ubuntu 编译,及使用 Python 接口

    本文将介绍 YOLOv4 官方 Darknet 实现,如何于 Ubuntu 18.04 编译,及使用 Python 接口. 主要内容有: 准备基础环境: Nvidia Driver, CUDA, cu ...

  8. 深度剖析目标检测算法YOLOV4

    深度剖析目标检测算法YOLOV4 目录 简述 yolo 的发展历程 介绍 yolov3 算法原理 介绍 yolov4 算法原理(相比于 yolov3,有哪些改进点) YOLOV4 源代码日志解读 yo ...

  9. YOLOv4全文阅读(全文中文翻译)

    YOLOv4全文阅读(全文中文翻译) YOLOv4: Optimal Speed and Accuracy of Object Detection 论文链接: https://arxiv.org/pd ...

随机推荐

  1. RabbitMQ 详解 五种队列-SpiritMark

    上次带大家看了一下RabbitMQ的基本概念,今天我们来详解一下 RabbitMQ的五种队列,也算是一个笔记,如果对您有帮助,可以关注一下,便于下次光顾! 文章目录 1.简单队列 2.work 模式 ...

  2. openstack高可用集群16-ceph介绍和部署

    Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...

  3. 基于Redis的消息队列使用:spring boot2.0整合redis

    一 . 引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

  4. 发送微信通知 java 实现

    /实现类 @Service public class WeChatServiceImpl implements IWeChatService { @Override public WeChatSend ...

  5. 手摸手带你用Hexo撸博客(二)之配置主题

    在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢 ...

  6. [LeetCode]367. Valid Perfect Square判断完全平方数

    方法有很多,我觉得比较容易记住的是两个,一个是二分法,在1-num/2中寻找目标数 另一个是数学方法: public boolean isPerfectSquare(int num) { /* 有很多 ...

  7. [leetcode]64Minimum Path Sum 动态规划

    /** * Given a m x n grid filled with non-negative numbers, * find a path from top left to bottom rig ...

  8. 96. Unique Binary Search Trees1和2

    /* 这道题的关键是:动态表尽量的选取,知道二叉搜索树中左子树的点都比根节点小,右子树的点都比根节点大 所以当i为根节点,左子树有i-1个点,右子树有n-i个点,左右子树就可以开始递归构建,过程和一开 ...

  9. java零基础之--JDK安装篇

    ---恢复内容开始--- 很多零基础学习者在开始学习java中很难理解JDK的安装和配置,以下是基于Windows 7 的安装配置流程(Windows 10类似) 1. 在安装之前我们先了解几个名词: ...

  10. 搭建web攻防环境

    提示:本实验仅用于学习参考,不可用作其他用途! 任务一.基于centos7搭建dvwa web服务靶机 在centos7安装LAMP并启动,访问phpinfo页面 从互联网下载dvwa并解压到/var ...