darknet

YOLOv5来了

老子叫甜甜 提交于 2021-02-20 19:41:03
软硬件环境 ubuntu 18.04 64bit anaconda with 3.7 nvidia gtx 1070Ti cuda 10.1 pytorch 1.5 YOLOv5 前言 YOLOv4 还没有退热, YOLOv5 就已经来了! 6月9日, Ultralytics 公司开源了 YOLOv5 ,离上一次 YOLOv4 发布不到50天,不过这一次的 YOLOv5 是基于 PyTorch 实现的,而不是之前版本的 darknet ! 根据官方给出的数字, YOLOv5 的速度最快可以达到每秒140帧( FPS ),但是权重文件只有 YOLOv4 的1/9,而且准确度更高。本次的发布的 YOLOv5 并不是一个单独的模型,而是一个模型家族,包括了 YOLOv5s 、 YOLOv5m 、 YOLOv5l 、 YOLOv5x ,要求 Python 3.7和 PyTorch 1.5以上版本。 关于 YOLOv5 这个版本,大家可以看看知乎中的讨论,链接放在文末的参考资料中 安装GPU环境 请参考之前的文章 ubuntu安装cuda windows 10安装cuda和cudnn 安装pytorch的GPU版本 来到官网 https://pytorch.org/get-started/locally/,根据自己的环境,进行选择,网站会给出相应的安装命令。我这里的环境是 linux 、

【深度学习】目标检测算法总结(R-CNN、Fast R-CNN、Faster R-CNN、FPN、YOLO、SSD、RetinaNet)

旧巷老猫 提交于 2021-02-11 20:40:40
目标检测是很多计算机视觉任务的基础,不论我们需要实现图像与文字的交互还是需要识别精细类别,它都提供了可靠的信息。本文对目标检测进行了整体回顾,第一部分从RCNN开始介绍基于候选区域的目标检测器,包括Fast R-CNN、Faster R-CNN 和 FPN等。第二部分则重点讨论了包括YOLO、SSD和RetinaNet等在内的单次检测器,它们都是目前最为优秀的方法。 一、基于候选区域的目标检测器 1.1 滑动窗口检测器   自从 AlexNet 获得 ILSVRC 2012 挑战赛冠军后,用 CNN 进行分类成为主流。 一种用于目标检测的暴力方法是从左到右、从上到下滑动窗口,利用分类识别目标 。为了在不同观察距离处检测不同的目标类型,我们使用不同大小和宽高比的窗口。 滑动窗口(从右到左,从上到下)   我们根据滑动窗口从图像中剪切图像块。由于很多分类器只取固定大小的图像,因此这些图像块是经过变形转换的。但是,这不影响分类准确率,因为分类器可以处理变形后的图像。 将图像变形转换成固定大小的图像   变形图像块被输入 CNN 分类器中,提取出 4096 个特征。之后,我们使用 SVM 分类器识别类别 和该 边界框的另一个线性回归器 。 滑动窗口检测器的系统工作流程图   下面是伪代码。我们创建很多窗口来检测不同位置的不同目标。要提升性能,一个显而易见的办法就是减少窗口数量。 for

from: cant read /varmail/ctypes when called

心已入冬 提交于 2021-02-11 15:45:19
问题 I am trying to implement some object detection in a project of mine using darknet.py. from my terminal I am able to run python3 darknet.py and get my results all fine. But when I have tried to include it in my own program I am getting several errors; from: cant read /var/mail/ctypes import im6.q16: not authorized math @error/constitute.c/writeimage/1037 I am not sure how to proceed. I have made sure darknet.py starts with #!/usr/bin/ env python3 as does my program, i am trying to run it with

from: cant read /varmail/ctypes when called

心已入冬 提交于 2021-02-11 15:44:28
问题 I am trying to implement some object detection in a project of mine using darknet.py. from my terminal I am able to run python3 darknet.py and get my results all fine. But when I have tried to include it in my own program I am getting several errors; from: cant read /var/mail/ctypes import im6.q16: not authorized math @error/constitute.c/writeimage/1037 I am not sure how to proceed. I have made sure darknet.py starts with #!/usr/bin/ env python3 as does my program, i am trying to run it with

如何获取高精度CV模型?快来试试百度EasyDL超大规模视觉预训练模型

房东的猫 提交于 2021-02-08 05:46:32
在深度学习领域,有一个名词正在被越来越频繁地得到关注:迁移学习。 它相比效果表现好的监督学习来说,可以减去大量的枯燥标注过程,简单来说就是在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,因其能够大量节约新模型开发的成本,在实际应用中被更广泛地关注。 基于此,百度EasyDL零门槛AI开发平台引入了超大规模视觉预训练模型,结合迁移学习工具,帮助开发者使用少量数据,快速定制高精度AI模型。 高质量数据获取难度高,迁移学习提升模型效果 在训练一个深度学习模型时,通常需要大量的数据,但数据的采集、标注等数据准备过程会耗费大量的人力、金钱和时间成本。 为解决此问题,我们可以使用预训练模型。以预训练模型A作为起点,在此基础上进行重新调优,利用预训练模型及它学习的知识来提高其执行另一项任务B的能力,简单来说就是 在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,这就是迁移学习(Transfer Learning) 。 迁移学习作为一种机器学习方法,广泛应用于各类深度学习任务中。在具体实现迁移学习时,有多种深度网络迁移方法,其中的Fine-tune(微调)是最简单的一种深度网络迁移方法,它主要是将已训练好的模型参数迁移到新的模型来帮助新模型训练。 针对一个具体的模型开发任务,我们通常会选择在公开的大数据集上训练收敛、且效果较好的模型

全面解析YOLO V4网络结构

空扰寡人 提交于 2021-02-08 02:54:42
作者|周威,https://zhuanlan.zhihu.com/p/150127712 本文已获作者授权,不得二次转载。 1.前言 最近用YOLO V4做车辆检测,配合某一目标追踪算法实现 车辆追踪+轨迹提取 等功能,正好就此结合论文和代码来对 YOLO V4 做个解析。先放上个效果图(半成品),如下: 话不多说,现在就开始对YOLO V4进行总结。 YOLO V4的论文:《 YOLOv4: Optimal Speed and Accuracy of Object Detection》 ,相信大家也是经常看到这几个词眼:大神接棒、YOLO V4来了、Tricks 万花筒等等。 没错,通过阅读YOLO V4的原文,我觉得它更像一篇 目标检测模型Tricks文献综述 ,可见作者在目标检测领域的知识(炼丹技术)积累之多。 从本质上,YOLO V4就是 筛选 了 一些 从YOLO V3发布至今,被用在各式各样检测器上,能够 提高检测精度 的 tricks ,并以YOLO V3为 基础 进行改进的目标检测模型。YOLO V4在保证速度的同时,大幅提高模型的检测精度(当然,这是相较于YOLO V3的)。 上图可以看出来,虽然检测精度不如EfficientDet这种变态,但是速度上是遥遥领先的,说明YOLO V4并没有忘记初心(速度和精度的trade off,我YOLO才是佼佼者)!

【从零开始学习YOLOv3】1. YOLOv3的cfg文件解析与总结

守給你的承諾、 提交于 2021-02-07 07:26:07
前言: 与其他框架不同,Darknet构建网络架构不是通过代码直接堆叠,而是通过解析cfg文件进行生成的。cfg文件格式是有一定规则,虽然比较简单,但是有些地方需要对yolov3有一定程度的熟悉,才能正确设置。本文是【从零开始学习YOLOv3】的第一部分,主要讲最基础的cfg文件内容理解、设置以及总结。 下边以 yolov3.cfg 为例进行讲解。 1. Net层 [net] #Testing #batch=1 #subdivisions=1 #在测试的时候,设置batch=1,subdivisions=1 #Training batch= 16 subdivisions= 4 #这里的batch与普遍意义上的batch不是一致的。 #训练的过程中将一次性加载16张图片进内存,然后分4次完成前向传播,每次4张。 #经过16张图片的前向传播以后,进行一次反向传播。 width= 416 height= 416 channels= 3 #设置图片进入网络的宽、高和通道个数。 #由于YOLOv3的下采样一般是32倍,所以宽高必须能被32整除。 #多尺度训练选择为32的倍数最小320*320,最大608*608。 #长和宽越大,对小目标越好,但是占用显存也会高,需要权衡。 momentum= 0.9 #动量参数影响着梯度下降到最优值的速度。 decay= 0.0005 #权重衰减正则项

【从零开始学习YOLOv3】1. YOLOv3的cfg文件解析与总结

徘徊边缘 提交于 2021-02-07 06:52:32
前言: 与其他框架不同,Darknet构建网络架构不是通过代码直接堆叠,而是通过解析cfg文件进行生成的。cfg文件格式是有一定规则,虽然比较简单,但是有些地方需要对yolov3有一定程度的熟悉,才能正确设置。 下边以 yolov3.cfg 为例进行讲解。 作者:pprp 首发:GiantPandaCV公众号 1. Net层 [net] #Testing #batch=1 #subdivisions=1 #在测试的时候,设置batch=1,subdivisions=1 #Training batch=16 subdivisions=4 #这里的batch与普遍意义上的batch不是一致的。 #训练的过程中将一次性加载16张图片进内存,然后分4次完成前向传播,每次4张。 #经过16张图片的前向传播以后,进行一次反向传播。 width=416 height=416 channels=3 #设置图片进入网络的宽、高和通道个数。 #由于YOLOv3的下采样一般是32倍,所以宽高必须能被32整除。 #多尺度训练选择为32的倍数最小320*320,最大608*608。 #长和宽越大,对小目标越好,但是占用显存也会高,需要权衡。 momentum=0.9 #动量参数影响着梯度下降到最优值得速度。 decay=0.0005 #权重衰减正则项,防止过拟合。 angle=0 #数据增强,设置旋转角度。

Understanding darknet's yolo.cfg config files

十年热恋 提交于 2021-02-05 12:55:16
问题 I have searched around the internet but found very little information around this, I don't understand what each variable/value represents in yolo's .cfg files. So I was hoping some of you could help, I don't think I'm the only one having this problem, so if anyone knows 2 or 3 variables please post them so that people who needs such info in the future might find them. The main one that I'd like to know are : batch subdivisions decay momentum channels filters activation 回答1: Here is my current