YOLO---多个版本的简单认识
YOLO---多个版本的简单认识
YOLOv3 有好几个经典版本了:
一、YOLOv3 (Darknet)官网 @ https://github.com/pjreddie/darknet
二、YOLOv3(darknet优化了)@ https://github.com/AlexeyAB/darknet
三、YOLOv3 with OpenCV官网 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3
四、其他github上有tensorflow、caffe、keras、pytorch等版本,略。
引用:
windows版本:请参考 https://github.com/AlexeyAB/darknet
linux版本:请参考 https://pjreddie.com/darknet/yolo
简介
一、YOLOv3 (Darknet)官网 @ https://github.com/pjreddie/darknet
一开始github上最热的开源项目,在linux系统下做的,现在各个大神改版也有在windows下使用了。
下载并备齐:darknet、选配yolov3.weights + yolov3.cfg、...
依赖环境:C++、OpenCV、python、...
编译情况:下载源文件,需要make进行编译后,才能使用
支持:linux系统(最先支持) + windows + CPU + GPU(可适用于英伟达)
(1)源码的常用执行命令:
u@u1604:~/darknet$
()测试一张图片---detect
./darknet detect cfg/yolov3.cfg weights/yolov3.weights data/person.jpg
./darknet detector test cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights data/person.jpg ()测试本地视频---demo
./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights wp_video/person002.mp4 ()测试usb视频---
./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights ()测试rstp视频---
./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0 -thresh 0.25 ./darknet detector demo ./cfg/coco.data ./cfg/yolov3.cfg weights/yolov3.weights rtsp://admin:admin12345@192.168.?.??/H.264/ch1/sub/av_stream -i 0 -----------to test many pics------------------------
./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i #CPU enter
Enter Image Path: ./darknet detect cfg/yolov3.cfg weights/yolov3.weights -i #GPU enter
Enter Image Path:
(2)自写python接口文件,执行:
python2 xx.py
python3 xx.py
二、YOLOv3(darknet优化了)@ https://github.com/AlexeyAB/darknet
一开始github在windows系统下做的,现在各个大神改版也有在linux下使用了。
下载并备齐:darknet、选配yolov3.weights + yolov3.cfg、...
依赖环境:C++、OpenCV、python、...
编译情况:下载源文件,需要make进行编译后,才能使用
支持:windows系统(最先支持) + linux + CPU + GPU(可适用于英伟达)
基本使用命令同《一、YOLOv3 (Darknet)官网》,但部分有少许差别
. AlexeyAB改进项
提供window支持
相较于原版pjreddie版本darknet提升了训练速度
添加了二值化网络,XNOR(bit) ,速度快,准确率稍低https://github.com/AlexeyAB/darknet/blob/master/cfg/yolov3-tiny_xnor.cfg
提升7%通过将卷积层和BN层合并为一个(*_*)不太懂。
多GPU训练提升
修补了[reorg]层
添加了mAP, IOU,Precision-Recall计算
darknet detector map...
可以在训练过程中画loss图像
添加了根据自己数据集的anchor生成
提升视频检测,网络摄像头,opencv相关问题
提出了一个INT8的网络,提升了检测速度,但是准确率稍有下降
https://github.com/AlexeyAB/yolo2_light
@ https://www.cnblogs.com/pprp/p/10204480.html#alexeyab%E6%94%B9%E8%BF%9B%E9%A1%B9
三、YOLOv3 with OpenCV官网 @ https://github.com/JackKoLing/opencv_deeplearning_practice/tree/master/pracice3_opencv_yolov3
下载并备齐:yolov3.weights权重文件、yolov3.cfg网络构建文件、coco.names、xxx.jpg、xxx.mp4文件、object_detection_yolo.cpp、object_detection_yolo.py等文件;
依赖环境:C++的编译环境(如G++/VScode)、OpenCV3.4.2+(记住安装目录)
编译情况:下载源文件,无需复杂的编译,直接修改进行应用
支持:windows + linux + CPU + GPU(只适用于英特尔)
(1)在OpenCV中使用YOLOv3, 可以在windows下+ ubuntu下使用。
(2)windows下,之前做,object_detection_yolo.cpp是在Visual Studio(VS)下编译的。
(3)ubuntu下,这次,object_detection_yolo.cpp是g++编译的。
(3)OpenCV的DNN,GPU仅使用英特尔的GPU进行测试,因此如果没有英特尔GPU,代码会将您切换回CPU。
使用:
(1)object_detection_yolo.cpp,执行:
编译,g++ `pkg-config opencv --cflags` object_detection_yolo.cpp -o object_detection_yolo `pkg-config opencv --libs` -std=c++11
测试,a single image:
./object_detection_yolo --image=./data/1.jpg
a video file:
./object_detection_yolo --video=./data/run.mp4
(2)object_detection_yolo.py,执行:
a single image:
python3 object_detection_yolo.py --image=bird.jpg
a video file:
python3 object_detection_yolo.py --video=run.mp4
最后,三者的区别,还没太细细研究。pjreddie/darknet、AlexeyAB/darknet 、YOLOv3 with OpenCV三者的计算效率和准确率,还未做对比。这几天,本来想对比一下运行时间,但没太注意时间函数的放置位置,测试的时间貌似没有可比性。整个工程的运行时间,可能对工程最具时间说服价值,太耗时,以后有机会有需要在细细研究。
从运行的直观观测上,GPU > CPU,C++ > Python,耗时的具体数值暂不做研究。附上:这几天的测试时间,作对比可能不具有太大的价值;网上网友分享的资源。
测试环境:ubuntu16.04 + Intel® Core™ i7-8700K CPU @ 3.70GHz × 12 + NVIDIA GTX 2080 TI








YOLO---多个版本的简单认识的更多相关文章
- GlideDemo【Glide3.7.0版本的简单使用以及圆角功能】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo主要记录Glide3.7.0版本的简单运用和实现圆角方案. 效果图 代码分析 Glide的centerCrop()和fit ...
- JavaSwing 版本的简单扫雷游戏
JavaSwing 版本的简单扫雷游戏 一.扫雷游戏的基本规则 1.扫雷游戏分为初级.中级.高级和自定义四个级别. 单击游戏模式可以选择"初级"."中级".&q ...
- 比之前那个版本更简单的C语言实现的比较大小
之前那个是输入一堆数据,找最大那个,这次是更简单的版本,求两个数的最大值. #include "stdafx.h" #include <stdio.h> int Get ...
- GlideNewDemo【Glide4.7.1版本的简单使用以及圆角功能】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录下Glide4.7.1版本的使用和实现圆角方案. 注意:关于详细使用请仔细阅读<官方指南>. 效果图 使用步骤 ...
- webpack 4.0 版本的简单使用
webpack 4.0 学习指南 最近前端又要变天了,vue作者推出了vue-cli 3版本,并且里面使用了webpack 4. 但是webpack 3 和webpack 4 二者的使用方式完全不一样 ...
- kubernetes版本apiversion简单说明
在使用yaml文件部署Deployment项目时,出现过 error: error validating "xx-Deployment.yaml": error validatin ...
- 【ADO.NET】2、各种版本的 简单登录验证
一.简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回i ...
- python版本的简单贪吃蛇
先看看效果,白色的条是蛇(简单勿怪,有研究的同学请告知做的美观点),做了一个笑脸是糖果,背景弄了一个图, 代码也是从其他人那边弄来的,改了一部分直接可以在window上直接运行 代码如下: #codi ...
- SecureCRT Win免安装版本,简单好用
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. 这个简单好用,程序员必备. 下载地址:SecureCRT. ...
随机推荐
- 为什么每次登录要手动 source /etc/profile ...
由于执行顺序如下,故追个查看以下文件,看看是不是 JAVA_HOME, PATH 等环境变量在后面的文件中被重写覆盖了. 1. /etc/profile2. /etc/environment3. ~/ ...
- OpenGL学习笔记 之二 (色彩相关)
参考: http://www.cnblogs.com/FredCong/archive/2012/10/13/2722893.html 使用RGB #include <glut.h> #i ...
- 【VS开发】【数据库开发】libevent windows下基于VS2010的编译
libevent是一个常用的网络库,下面就看看在windows下面编译测试的过程吧. 一 环境 系统:win8.1编译器:VS2013官方下载地址:http://libevent.org/版本:2.0 ...
- 微信H5支付开发全过程(除内置微信以外的浏览器)
前言:网上都是~ 呵呵 自己搞 只要花时间 多问客服总会有的 只说程序不说准备工作 自己ID 或者秘钥都准备好了 写的有点儿乱 可以把所有的方法 放在一个文件中调用 public function ...
- 在airflow的BashOperator中执行docker容器中的脚本容易忽略的问题
dag模板 from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow. ...
- S2. Android 常用控件
[概述] Button(普通按钮):点击事件处理 Toast(消息提示) Menu(菜单): Menu + Fragment 实现菜单切换 [Button] 在 MainActivity 对应的布局文 ...
- java Files 和 Path对文件操作
1.拷贝文件 /** * 拷贝文件,生成新的文件名 * @param pathUpload * @return */ private String converUploadFileName(Strin ...
- Word 查找替换高级玩法系列之 -- 把论文中的缩写词快速变成目录下边的注释表
1. 前言 问题:Word写论文如何把文中的缩写快速转换成注释表? 原来样子: 想要的样子: 2. 步骤 使用查找替换高级用法,替换缩写顺序 选中所有文字 打开查找替换对话框,输入以下表达式: 替换后 ...
- Word 查找替换高级玩法系列之 -- 将换行符替换成回车符
我们从网上Copy过来的很多Word文档,里面使用的都是换行符,也就是我们常说的软回车,它显示为一个向下的箭头.这些符号不仅碍眼,而且会影响我们后期的排版,尤其是对段落的排版,因为Word里面的段落只 ...
- CSP-S初赛
初赛都过了好几天了,现在才想起来写点关于初赛的博客也真是...... 我是福建人,是在福建的赛点参加的CSP-S组的初赛,能力其实很弱,估分只能60多一点点.真是害怕一不小心这篇博客就变成了我的退役博 ...