YOLO出自2016 CVPR You Only Look Once:Unified, Real-Time Object Detection,也是一个非常值得学习的框架,不得不说facebook的技术就是牛啊。
  
  整个训练和检测框架都是端到端,YOLO达到了45帧每秒,Fast YOLO达到了155帧每秒,除了刚开始加载模型有点慢,检测部分确实是非常的快。
  
  整个检测过程分为3个阶段,(1)将图像缩放到448*448(2)通过神经网格进行检测和分类(3)NMS抑制,输出最终结果该模型首先,将输入的图像分为S*S个grid,然后每个grid产生B个预测边界框(包括,x,y,windth,height,confidence)和C类判别属性,最终将输出S*S*(B*5+C)维度的向量。
  
  在VOC上训练中,S=7,B=2,C=20,最终输出7*7*(2*5+20)维度的信息。
  
  YOLO包含24个卷基层,2个全连接层,FastYOLO只包含9个卷基层,因此速度快很多,当然代价就是精度也相应的有损失。
  
  YOLO的损失函数,权衡了边界框的损失和类别判断的损失,使得边界框的损失是类别判断损失的10倍,同时兼顾了大的边界框和小的边界框的IOU偏差,使得同样的损失在大框中表现出很小的影响,小框中则变现出很大的影响。
  
  其中,λcoord =5 ,λnoobj =0.5,1obji 表示是否物体出现在gridcell i中,1objij表示grid cell i中的第j个边界框预测到了正确类别。
  
  训练过程数据:epoch:135batch size:64momentum:0.9decay:0.0005learning rate:前75为0.01,中间30为0.001,最后30为0.0001dropout layer rate:0.5YOLO的优势在于,外围库的依赖少,纯c和CUDA写成,唯一的依赖就是pthreads,不像caffe那样需要一堆的dll。当然,缺点就是,训练的模型文件太大,750多M,2G显存的电脑直接挂掉,tiny-yolo虽然小,但是效果却大打折扣。另一个缺点就是由于其自身结构的设计,使得对聚集,堆叠的物体检测不是很好,当然,fast RCNN,ssd等在这点上也没有变现出不俗的效果。就YOLO v1的速度和识别率来看,还是比SSD差点。当然所有的这些都在YOLO v2中得到了大大的改善。
  
  linux篇:YOLOv1的官方链接为,http://pjreddie.com/darknet/yolov1/,安装步骤:[plain] view plain copygit clonehttps://github.com/pjreddie/darknet.gitcd darknetvim Makefile修改GPU=1 OPENCV=1make -j8wgethttp://pjreddie.com/media/files/yolov1.weights./darknetyolo test cfg/yolov1/yolo.cfg yolov1.weights data/dog.jpg注意这里,yolov1.weights,官网现在给的是753M的,实际上我用这个没有跑出结果,用了小伙伴的780多M的成功跑出了上面的结果,就这一个地方,折腾了一下午,换了不同机器测试过,也是被官网坑了啊。如果不对之处,还请大神斧正。
  
  至此,YOLOv1就安装完毕,又可以愉快的玩耍了。
  
  windows篇:由于原版的官方YOLOv1是只支持linux 和mac的,如果要自己修改,可能需要走好对哦的坑,同时还得具备一定的技术水平,幸好有革命斗士为我们走出了这一步,可以参考下面2个YOLO-windows,https://github.com/frischzenger/yolo-windowshttps://github.com/AlexeyAB/yolo-windows随便下载上面的一个yolo,然后进入yolo-windows-master\build\darknet\下面,用vs2013直接打开darknet.sln,选择,x64版本,只要配置opencv和pthreads就可以,为了方便大家参考,这里贴出本人的环境配置,vc++目录,可执行文件,[plain] view plain copyE:\opencv2_4_12\build\x64\vc12\bin;G:\yolo-windows-master\3rdparty\dll\x64;vc++目录,包含目录,[plain] view plain copyE:\opencv2_4_12\build\include;E:\opencv2_4_12\build\include\opencv;E:\opencv2_4_12\build\include\opencv2;G:\yolo-windows-master\3rdparty\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\ www.furggw.com/ v7.5\include(GPU版本加)
  
  vc++目录,库目录,[plain] view plain copyE:\opencv2_4_12\build\x64\vc12\lib;G:\yolo-windows-master\3rdparty\lib\x64;C:\Program www.hjha178.com Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64(GPU版本加)
  
  链接器,输入,下面为release的输入,debug只将opencv的lib换成相应debug即可。
  
  [plain] view plain copypthreadVC2.lib;opencv_calib3d2412.lib;opencv_contrib2412.lib;opencv_core2412.lib;opencv_features2d2412.lib;opencv_flann2412.lib;opencv_gpu2412.lib;opencv_highgui2412.lib;opencv_imgproc2412.lib;opencv_legacy2412.lib;opencv_ml2412.lib;opencv_objdetect2412.lib;opencv_ts2412.lib;opencv_video2412.lib;cublas.lib(GPU版本加)
  
  curand.lib(GPU版本加)
  
  cudart.lib(GPU版本加)
  
  c/c++,预处理器[plain] view plain copy_CRT_SECURE_NO_WARNINGSOPENCVGPU(GPU版本加)
  
  环境配好,点击生成就可以,debug版本的生成信息,release版本的生成信息,进入,yolo-windows-master\build\darknet\x64\Release\下面,去官网链接,http://pjreddie.com/media/files/ www.furong157.com yolov1.weights,下载好yolov1.weights,然后运行,darknet.cmd,随便输入一张图像,例如,person.jpg,就会出来运行效果。
  
  其中第一个为cpu+debug版本,第二个为cpu+release版本,

YOLO v1之总结篇(linux+windows)的更多相关文章

  1. DNN:windows使用 YOLO V1,V2

    本文有修改,如有疑问,请移步原文. 原文链接:  YOLO v1之总结篇(linux+windows) 此外:  YOLO-V2总结篇   Yolo9000的改进还是非常大的 由于原版的官方YOLOv ...

  2. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  3. linux/Windows系统如何安装PHP-openssl扩展

    今天倒腾了半天公司的OA办公系统,原来现在很多的smtp服务器是需要ssl方式加密的,而支持ssl需要php加载openssl扩展.所以本文我们将和大家一起分享如何在linux/Windows系统下安 ...

  4. Mysql篇--Linux中安装Mysql

    一.前述 由于Windows安装Mysql非常麻烦,所以分享一篇Linux中对MySQL的搭建,废话不多说,来,come on. 二.步骤 2.1 yum安装 yum install mysql-se ...

  5. Object Detection(RCNN, SPPNet, Fast RCNN, Faster RCNN, YOLO v1)

    RCNN -> SPPNet -> Fast-RCNN -> Faster-RCNN -> FPN YOLO v1-v3 Reference RCNN: Rich featur ...

  6. 看完这篇 Linux 权限后,通透了!

    我们在使用 Linux 的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示 . permission denied 反正我大概率见 ...

  7. Linux 与 Linux Windows 文件共享 小知识

    Linux 与 Linux Windows 文件共享   前提说明:windows主机信息:192.168.1.100 帐号:abc 密码:123 共享文件夹:sharelinux主机信息:192.1 ...

  8. mouse scrollings and zooming operations in linux & windows are opposite

    mouse scrollings and zooming operations in linux & windows are opposite. windows中, 鼠标滚动的方向是: 查看页 ...

  9. linux/windows下启用和停止VMware后台服务的脚本

    linux/windows下启用和停止VMware后台服务的脚本 linux/windows下启用和停止VMware后台服务的脚本 linux平台 windows平台 本文由乌合之众 lym瞎编,欢迎 ...

随机推荐

  1. 创龙OMAPL138的SPI FLASH读写

    1. 目前最大的疑问是OMAPL138和DSP6748的DSP部分是完全一样的吗(虽然知道芯片完全是引脚兼容的)?因此现在使用OMAPL138的DSP内核去读写一下外部的SPI FLASH芯片,先看下 ...

  2. 使用SCSS扩展Bootstrap4

    摘要 因为打算写一个小网站,而个人时间又不是那么充裕,所以没有选择前后端分离的架构. 对于非前后端分离应用来说,Bootstrap应该是目前的最佳前端框架之一了. 而Bootstrap4,是Boots ...

  3. 常用常忘的delegate,记一下。

    多线程: 1 new Thread(new ThreadStart(Method1))).Start(); 1 new Thread(new ParameterizedThreadStart(Meth ...

  4. macOS中启动Tomcat提示Cannot find ./catalina.sh

    首先查看Tomcat目录下是否存在catalina.sh,如果文件不存在,文件丢失,最好的方式是重装Tomcat Tomcat官网:http://tomcat.apache.org/ 如果文件存在,那 ...

  5. mfs分布式系统从理论简介到实战部署

    文章前面想说的话:这篇博客写出来真是有点累到了,本来昨天就基本就写好了,放在草稿里面,今天打开就没有了!!唉,就尼玛离我而去了,只有重写,然后中间虚拟机还“爆炸”重启又搞了一会,不容易呀!!希望各位博 ...

  6. 译图智讯VIN码识别助力汽配商转型升级

    汽配猫是上海佳驰经合能源科技有限公司自主开发的汽车配件B2B网上商城及服务平台,该平台依托互联网云技术.利用创新的商业模式及互联网思维,整合汽配产业链优秀资源,为汽车维修保养企业等产业链各方面提供汽配 ...

  7. 关于Eclipse在servlet中连接数据库时出现驱动加载失败的解决

    问题:在队友发来的项目中想将他获取到的数据通过数据库储存,出现驱动加载失败问题 解决:首先百度了下相关情况,大多数都是说下载mysql-connector-java-5.1.39-bin.jar包,然 ...

  8. Linux系统中Oracle11g数据库的安装与验证

    1.查看Linux系统的位数 2.下载Oracle10g数据库软件 https://blog.csdn.net/xiezuoyong/article/details/81197688 (需要注册Ora ...

  9. Google TensorFlow for GPU安装、配置大坑

    Google TensorFlow for GPU安装.配置大坑 从本周一开始(12.05),共4天半的时间,终于折腾好Google TensorFlow for GPU版本,其间跳坑无数,摔得遍体鳞 ...

  10. Amazon Headlines Update on Activity in US West Coast Ports

    According to news reports, freighter cargo may not be offloaded at U.S. West Coast ports from Februa ...