ssd 订阅
固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。其芯片的工作温度范围很宽,商规产品(0~70℃)工规产品(-40~85℃)。虽然成本较高,但也正在逐渐普及到DIY市场。由于固态硬盘技术与传统硬盘技术不同,所以产生了不少新兴的存储器厂商。厂商只需购买NAND存储器,再配合适当的控制芯片,就可以制造固态硬盘了。新一代的固态硬盘普遍采用SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2 NVME/SATA协议。 [1] 展开全文
固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。其芯片的工作温度范围很宽,商规产品(0~70℃)工规产品(-40~85℃)。虽然成本较高,但也正在逐渐普及到DIY市场。由于固态硬盘技术与传统硬盘技术不同,所以产生了不少新兴的存储器厂商。厂商只需购买NAND存储器,再配合适当的控制芯片,就可以制造固态硬盘了。新一代的固态硬盘普遍采用SATA-2接口、SATA-3接口、SAS接口、MSATA接口、PCI-E接口、NGFF接口、CFast接口、SFF-8639接口和M.2 NVME/SATA协议。 [1]
信息
英文缩写
SSD
应用领域
军事、车载、工控、电力、医疗等
外文名
Solid State Disk或Solid State Drive [2]
中文名
固态硬盘/固态驱动器
组    成
由控制单元与存储单元组成
固态硬盘分类
分类方式: 固态硬盘的存储介质分为两种,一种是采用闪存(FLASH芯片)作为存储介质,另外一种是采用DRAM作为存储介质。 基于闪存类:基于闪存的固态硬盘(IDEFLASH DISK、Serial ATA Flash Disk):采用FLASH芯片作为存储介质,这也是通常所说的SSD。它的外观可以被制作成多种模样,例如:笔记本硬盘、微硬盘、存储卡、U盘等样式。这种SSD固态硬盘最大的优点就是可以移动,而且数据保护不受电源控制,能适应于各种环境,适合于个人用户使用。 [1]  一般它擦写次数普遍为3000次左右,以常用的64G为例,在SSD的平衡写入机理下,可擦写的总数据量为64G X 3000 = 192000G,假如你是个变态视频王每天喜欢下载视频看完就删每天下载100G的话,可用天数为192000 / 100 = 1920,也就是 1920 / 366 = 5.25 年。如果你只是普通用户每天写入的数据远低于10G,就拿10G来算,可以不间断用52.5年,再如果你用的是128G的SSD的话,可以不间断用104年!这什么概念?它像普通硬盘HDD一样,理论上可以无限读写,基于DRAM类:基于DRAM的固态硬盘:采用DRAM作为存储介质,应用范围较窄。它仿效传统硬盘的设计,可被绝大部分操作系统的文件系统工具进行卷设置和管理,并提供工业标准的PCI和FC接口用于连接主机或者服务器。应用方式可分为SSD硬盘和SSD硬盘阵列两种。它是一种高性能的存储器,而且使用寿命很长,美中不足的是需要独立电源来保护数据安全。DRAM固态硬盘属于比较非主流的设备。 [1] 
收起全文
精华内容
参与话题
问答
  • ssd yolo faster rcnn 对比

    2019-01-23 16:21:56
    目标检测算法的介绍 In recent years, Convolutional Neural Network (CNN) has been widely applied in computer vision tasks and has achieved significant improvement in image object detection....
  • deepling detection必读论文frcnn ssd yolo 等等 Deep neural networks for object detection Faster R-CNN Towards real-time object detection with region proposal networks faster-r-cnn-towards-real-time-...
  • ssd --> caffe 作者: 刘伟 yolo --> darknet 作者: Joseph Redmon faster rcnn --> matlab 作者: 何凯明 任少卿 Ross Girshick

    ssd  --> caffe     作者: 刘伟

    yolo --> darknet   作者: Joseph Redmon

    faster rcnn --> matlab 作者: 何凯明 任少卿 Ross Girshick

    展开全文
  • yolo

    千次阅读 2019-10-24 16:06:07
    目标检测:一类基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN,Faster R-CNN),它们是two-stage的,需要先使用启发式方法(selective search)...另一类是YoloSSD这类one-stage算法,其仅仅使用一个CNN...

    目标检测:一类基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN,Faster R-CNN),它们是two-stage的,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region Proposal上做分类与回归。另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个CNN网络直接预测不同目标的类别与位置。第一类方法是准确度高一些,但是速度慢,但是第二类算法是速度快,但是准确性要低一些。

    参考yoloV1

    Yolo算法的特点:You Only Look Once说的是只需要一次CNN运算Unified指的是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。

    滑动窗口与CNN

    滑动窗口的目标检测算法思路非常简单,它将检测问题转化为了图像分类问题。原理就是采用不同大小和比例(宽高比)的窗口在整张图片上以一定的步长进行滑动,然后对这些窗口对应的区域做图像分类,实现对整张图片的检测。致命的缺点,就是你并不知道要检测的目标大小是什么规模,所以你要设置不同大小和比例的窗口去滑动,而且还要选取合适的步长。

    这样会产生很多的子区域,并且都要经过分类器去做预测,这需要很大的计算量,所以你的分类器不能太复杂,因为要保证速度。解决思路之一就是减少要分类的子区域,这就是R-CNN的一个改进策略,其采用了selective search方法来找到最有可能包含目标的子区域(Region Proposal),其实可以看成采用启发式方法过滤掉很多子区域,这会提升效率

    如果你使用的是CNN分类器,那么滑动窗口是非常耗时的,结合卷积运算的特点,我们可以使用CNN实现更高效的滑动窗口方法。这里要介绍的是一种全卷积的方法,简单来说就是网络中用卷积层代替了全连接层,输入图片大小是16x16,经过一系列卷积操作提取了2x2的特征图,但是这个2x2的图上每个元素都是和原图是一一对应的,如图上蓝色的格子对应蓝色的区域,这不就是相当于在原图上做大小为14x14的窗口滑动,且步长为2,共产生4个字区域。最终输出的通道数为4,可以看成4个类别的预测概率值,这样一次CNN计算就可以实现窗口滑动的所有子区域的分类预测

    使用卷积运算,将16*16*3的图像,得到2*2*4的特征图(包含信息一样),实现滑动窗口的所有子区域的分类预测。

    上面尽管可以减少滑动窗口的计算量,但是只是针对一个固定大小与步长的窗口,这是远远不够的。Yolo算法很好的解决了这个问题,它不再是窗口滑动了,而是直接将原始图片分割成互不重合的小方块,然后通过卷积最后生产这样大小的特征图,基于上面的分析,可以认为特征图的每个元素也是对应原始图片的一个小方块,然后用每个元素来可以预测那些中心点在该小方格内的目标

    YOLOv1

    YOLO算法采用一个单独的CNN模型实现end-to-end的目标检测,整个系统如下图所示:首先将输入图片resize到448x448,然后送入CNN网络,最后处理网络预测结果得到检测的目标

    1. Resize image  2、Run convolutional network 3、Non-max suppression

    YOLO的CNN网络将输入的图片分割成,其中前4个表征边界框的大小与位置,而最后一个值是置信度。

    输入图片被划分为7*7个单元格,每个单元格独立做检测。

    YOLO解决的问题是怎么定位目标、怎么对目标进行分类?

    对于每一个单元格其还要给出预测出边界框 类别 置信度 表征的是该边界框中目标属于各个类别的可能性大小以及边界框匹配目标的好坏。后面会说,一般会根据类别置信度来过滤网络的预测框

    每个单元格需要预测大小的张量。在下面的网络结构中我们会详细讲述每个单元格的预测值的分布位置。

    个网络预测值的依据是什么,或者它根据什么来预测。CNN之后得到图像的特征信息,怎么根据特征信息去定位、分类?

    网络设计

    YOLO采用卷积网络来提取特征,然后使用全连接层(fully connected layer)得到预测值。

    全连接层(fully connected layer):卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图。

    因为用到了所有的局部特征,所以叫全连接。

    BatchNormalization layer:批量归一化

    https://blog.csdn.net/myarrow/article/details/51848285

    网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层,如图8所示。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数:。但是最后一层却采用线性激活函数。除了上面这个结构,文章还提出了一个轻量级版本Fast Yolo,其仅使用9个卷积层,并且卷积层中使用更少的卷积核

     

    可以看到网络的最后输出为边界框的预测结果,这样提取每个部分是非常方便的,这方面的训练集预测时的计算。Yolov1输出7*7*30的张量,7*7位图像所分的格子数30为 20个类别的概率,box1、box2的置信度,boundingbox(x,y,w,h)。

    Faster R-CNN那种two-stage复杂的网络结构而言,YOLOv1结构相对简单,基本思想:预测框的位置,大小和物体分类都通过CNN暴力预测、输出7*7*30的张量,代表能预测2个框的5个参数和20个种类。S*S(B*5+C)。深度只有30,意味着每个单元格只能预测两个框(而且只认识20类物体),这对于密集型目标检测和小物体都不能很好适用。

    每个小格子怎么判断出该物体呢?换句话说该小格子的特征,怎么能代表整个物体的特征?

    YOLO的做法不是把每个单独的网格作为输入feed到模型,在inference的过程中,网络只是物体中心点位置的划分之用,并不是对图片进行切分,不会让网格脱离整个的关系。(中心点为目标定位,而每个小格子会预测两个boudingbox,得到物体的边界框,这就是目标定位问题

    将原始图像分割成互不重合的小方块,然后通过卷积最后生产这样大小的特征图。特征图的每个元素也是对应原始图片的一个小方块,然后利用每个元素来预测那些中心点在该小方格内的目标。根据什么特征来预测那个元素是中心点的?预测完中心点后wh即boundingbox怎么预测?

    每个cell本身并不知道判断哪个是中心点,而是反过来,根据学习到的特征判断输入网络中图片得到的特征图中哪个元素是 中心点,再根据元素位置找出图像中cell。

    边界框怎么预测?物体怎么类别

    网络训练

    训练之前,先在ImageNet上进行了预训练,其预训练的分类模型采用图8中前20个卷积层,然后添加一个average-pool层和全连接层。预训练之后,在预训练得到的20层卷积层之上加上随机初始化的4个卷积层和2个全连接层。由于检测任务一般需要更高清的图片,所以将网络的输入从224x224增加到了448x448。

    卷积层:采用各种卷积核对输入图片进行卷积处理。(平移不变性)

    池化层(average-pool):降采用。(空间不变性)

    全连接层:一个神经元在作用于整个slice,即filter的尺寸恰好为一个slice的尺寸。

    训练损失函数的分析,Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。但是对不同的部分采用了不同的权重值。首先区分定位误差和分类误差。对于定位误差,即边界框坐标预测误差,采用较大的权重。

    yolo是端到端训练,对于预测框的位置、size、种类、置信度(score)等信息的预测都通过一个损失函数来训练。

     

    S表示网格数,这里是7*7。B表示每个单元格预测框的个数,这里是2;

    第一行总方误差(sum-squared error)来当作位置预测的损失函数,第二行用根号总方误差来当作宽度和高度的损失函数第三行和第四行对置信度confidence也用SSE作为损失函数第五行用SSE作类别概率的损失函数。最后将几个损失函数加到一起,当作YOLOv1的损失函数。

    由于每个单元格预测多个边界框。但是其对应类别只有一个。那么在训练时,如果该单元格内确实存在目标,那么只选择与ground truth的IOU最大的那个边界框来负责预测该目标,而其它边界框认为不存在目标。这样设置的一个结果将会使一个单元格对应的边界框更加专业化,其可以分别适用不同大小,不同高宽比的目标,从而提升模型性能

    如果一个单元格内存在多个目标怎么办,其实这时候Yolo算法就只能选择其中一个来训练,这也是Yolo算法的缺点之一

    要注意的一点时,对于不存在对应目标的边界框,其误差项就是只有置信度,左标项误差是没法计算的。而只有当一个单元格内确实存在目标时,才计算分类误差项,否则该项也是无法计算的。

    卷积神经网络相关概念

    激活函数

    根据一些列的输入值,神经元之间连接的权值以及激励规则,刺激神经元。leaky ReLU,相比普通RelU,leaky并不会让负数直接为0,而是乘以一个很小的系数(恒定),保留负数输出,但衰减负数输出;公式如下:

    损失函数

    在训练阶段,用于评估输出结果和实际值的差异。然后用损失函数的值更新每个神经元之间的权重值。卷积神经网络的训练目的就是最小化损失函数值。

    总结

    YOLO优点是采用一个CNN网络来实现检测,是单管道策略,其训练与预测都是end-to-end,所以yolo算法比较简单且速度快。第二点yolo是对整个图片做卷积,所以其在检测目标有更大的视野,它不容易对背景误判。全连接层起到attention的作用。另外,YOLO的泛化能力强,在做迁移时,模型鲁棒性高。

    YOLO缺点:YOLO各个单元格仅仅预测两个边界框,而且属于一个类别。对于小物体,YOLO表现会不如人意。SSD在这方面做了个改进,采用多尺度单元格。Faster R-CNN,采用anchor boxes。YOLO对于物体在宽高比方面泛化率低,无法定位不寻常比例的物体,其定位不准确也是很大的问题。

     

    图解YOLOv3

    图片尺寸:input_shape = [height,width]

    Resize 为256*256并除以255进行归一化;

    标签预处理:boxes转换 为(x,y,w,h,class)格式得到true_box,x,y,w,h除以图像的input_shape进行归一化;

    标签计算:将boxes resize到13*13得到box_output的x,y中心正好落在output的某个grid cell

    Box_output中的每个元素box与所有anchors计算IOU,找到IOU最大值对应的anchor。

    对每张图偏的每个box

     

    展开全文
  • YOLO

    千次阅读 2019-10-15 12:41:34
    YOLO YOLO算法整体来说就是把输入的图片划分为S*S格子,这里是3*3个格子。当被检测的目标的中点落入这个格子时,这个格子负责检测这个目标,如图中的人。我们把这个图片输入到网络中,最后输出的尺寸也是S*S*n(n...

     

    YOLO

    YOLO算法整体来说就是把输入的图片划分为S*S格子,这里是3*3个格子。当被检测的目标的中点落入这个格子时,这个格子负责检测这个目标,如图中的人。我们把这个图片输入到网络中,最后输出的尺寸也是S*S*n(n是通道数),这个输出的S*S与原输入图片S*S相对应(都是3*3)。假如我们网络一共能检测20个类别的目标,那么输出的通道数n=2*(4+1)+20=30。这里的2指的是每个格子有两个标定框(论文指出的),4代表标定框的坐标信息, 1代表标定框的置信度, 20是检测目标的类别数。所以网络最后输出结果的尺寸是S*S*n=3*3*30。

     

    关于标定框

    上面说网络的输出是S x S x (5*B+C) 的一个 tensor(S尺寸,B标定框个数,C检测类别数,5标定框的信息)。

    5分为4+1。4代表标定框的位置信息。坐标的重点x,y,坐标的高宽h,w。如下图,我们和假设图片的左上角是(0,0)

    右下角为(1,1)我们就可以求得标定框的位置信息了。

     这里的1表示每个标定框的置信度以及标定框的准确度信息。公式表示如下,

    左边代表包含这个标定框的格子里是否有目标有1没有0,右边达标标定框的准确程度, 右边的部分是把两个标定框(一个是groundtruth一个是预测的标定框)进行一个IOU操作,即两个标定框的交集比并集,数值越大,即标定框重合越多,越准确。

    同时,我们可以计算出各个边界框类别置信度(class-specific confidence scores):

    边界框类别置信度表征的是该边界框中目标属于各个类别的可能性大小以及边界框匹配目标的好坏。后面会说,一般会根据类别置信度来过滤网络的预测框。

    网络结构

     Yolo采用卷积网络来提取特征,然后使用全连接层来得到预测值。网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数。但是最后一层却采用线性激活函数。
     

    网络训练

    1首先我们现在imageNet上预训练20个卷积

    2在预训练模型的基础上+全局平均池化层,之后随机初始化的4个卷积层和2个全连接层。

    3由于检测任务一般需要更高清的图片,所以将网络的输入从224x224增加到了448x448。

    网络结果如下:

    损失函数分析 

    下面是训练损失函数的分析,Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。但是对不同的部分采用了不同的权重值。首先区分定位误差和分类误差。对于定位误差,即边界框坐标预测误差,采用较大的权重λcoord=5λcoord=5。然后其区分不包含目标的边界框与含有目标的边界框的置信度,对于前者,采用较小的权重值λnoobj=0.5λnoobj=0.5。其它权重值均设为1。然后采用均方误差,其同等对待大小不同的边界框,但是实际上较小的边界框的坐标误差应该要比较大的边界框要更敏感。为了保证这一点,将网络的边界框的宽与高预测改为对其平方根的预测,即预测值变为
    另外一点时,由于每个单元格预测多个边界框。但是其对应类别只有一个。那么在训练时,如果该单元格内确实存在目标,那么只选择与ground truth的IOU最大的那个边界框来负责预测该目标,而其它边界框认为不存在目标。这样设置的一个结果将会使一个单元格对应的边界框更加专业化,其可以分别适用不同大小,不同高宽比的目标,从而提升模型性能。大家可能会想如果一个单元格内存在多个目标怎么办,其实这时候Yolo算法就只能选择其中一个来训练,这也是Yolo算法的缺点之一。要注意的一点时,对于不存在对应目标的边界框,其误差项就是只有置信度,左标项误差是没法计算的。而只有当一个单元格内确实存在目标时,才计算分类误差项,否则该项也是无法计算的。
    综上讨论,最终的损失函数计算如下:

    其中第一项是边界框中心坐标的误差项,1objij1ijobj指的是第ii个单元格存在目标,且该单元格中的第jj个边界框负责预测该目标。第二项是边界框的高与宽的误差项。第三项是包含目标的边界框的置信度误差项。第四项是不包含目标的边界框的置信度误差项。而最后一项是包含目标的单元格的分类误差项,1obji1iobj指的是第ii个单元格存在目标。
     

    YOLO缺点

    YOLO 对相互靠的很近的物体,还有很小的群体检测效果不好,这是因为一个网格中只预测了两个框,并且只属于一类。

    同一类物体出现的新的不常见的长宽比和其他情况时,泛化能力偏弱。

    由于损失函数的问题,定位误差是影响检测效果的主要原因。尤其是大小物体的处理上,还有待加强。


    YOLOv2

    YOLOv2:代表着目前业界最先进物体检测的水平,它的速度要快过其他检测系统(FasterR-CNN,ResNet,SSD),使用者可以在它的速度与精确度之间进行权衡。

    YOLO9000:这一网络结构可以实时地检测超过 9000 种物体分类,这归功于它使用了 WordTree,通过 WordTree 来混合检测数据集与识别数据集之中的数据。

    YOLOv1虽然检测速度很快,但是在检测精度上却不如R-CNN系检测方法,YOLOv1在物体定位方面(localization)不够准确,并且召回率(recall)较低。下面是YOLOv2改进的各部分。

    1Batch Normalization(提升2.4)

    Batch Normalization可以提升模型收敛速度,而且可以起到一定正则化效果,降低模型的过拟合。在YOLOv2中,每个卷积层后面都添加了Batch Normalization层,并且不再使用droput。

    2High Resolution Classifier

    YOLOv1在采用224×224分类模型预训练后,将分辨率增加至=448×448,并使用这个高分辨率在检测数据集上finetune。但是直接切换分辨率,检测模型可能难以快速适应高分辨率。所以YOLOv2增加了在ImageNet数据集上使用448×448=来finetune分类网络这一中间过程(10 epochs),这可以使得模型在检测数据集上finetune之前已经适用高分辨率输入。使用高分辨率分类器后,YOLOv2的mAP提升了约4%。

    3Convolutional With Anchor Boxes

    我们在YOLO算法中是使用长宽比来表示物体的标定框的大小,但是检测图像中的目标有很多不同的长宽比,因此YOLO算法在精确的定位上是比较困难的。

    YOLO借鉴了Faster-R-CNN网络中的先验框的策略(RPN部分),这个策略可以使模型更容易学习。

    YOLOv2移除了YOLOv1中的全连接层而采用了卷积和anchor boxes来预测边界框。

    YOLOv2中把输入的尺寸调整到416*416的大小,这是为了适应高分辨率。同时416可以整除32,网络正好是32倍下采样率。

    416/32=13,即我们输出的尺寸是13*13,这样特征图恰好只有一个中心位置。对于一些大物体,它们中心点往往落入图片中心位置,此时使用特征图的一个中心点去预测这些物体的边界框相对容易些。

    YOLOv2使用了anchor boxes之后,每个位置的各个anchor box都单独预测一套分类概率值。

     图为Ng网课截图。其中编号2表示使用YOLOv2来检测汽车的输出y。

    4Dimension Clusters

    在Faster R-CNN和SSD中,先验框的维度(长和宽)都是手动设定的,带有一定的主观性。如果选取的先验框维度比较合适,那么模型更容易学习,从而做出更好的预测。因此,YOLOv2采用k-means聚类方法对训练集中的边界框做了聚类分析。

    5New Network: Darknet-19

    YOLOv2采用了一个新的基础模型(特征提取器),称为Darknet-19,包括19个卷积层和5个maxpooling层,

    与VGG网络有着类似的结构,使用大量的3*3和1*1卷积在增加网络深度的同时,把计算量调小。

    6Direct location prediction

    用 Anchor Box 的方法,会让 model 变得不稳定,尤其是在最开始的几次迭代的时候。大多数不稳定因素产生自预测 Box 的(x,y)位置的时候。按照之前 YOLO的方法,网络不会预测偏移量,而是根据 YOLO 中的网格单元的位置来预测坐标,这就让 Ground Truth 的值介于 0 到 1 之间。而为了让网络的结果能落在这一范围内,网络使用一个 Logistic Activation 来对于网络预测结果进行限制,让结果介于 0 到 1 之间。 网络在每一个网格单元中预测出 5 个 Bounding Boxes,每个 Bounding Boxes 有五个坐标值 tx,ty,tw,th,t0,他们的关系见下图(Figure3)。假设一个网格单元对于图片左上角的偏移量是 cx、cy,Bounding Boxes Prior 的宽度和高度是 pw、ph,那么预测的结果见下图右面的公式: 

    因为使用了限制让数值变得参数化,也让网络更容易学习、更稳定。Dimension clusters和Direct location prediction,使 YOLO 比其他使用 Anchor Box 的版本提高了近5%。

    7Fine-Grained Features

    YOLO 修改后的特征图大小为 13*13,这个尺寸对检测图片中尺寸大物体来说足够了,同时使用这种细粒度的特征对定位小物体的位置可能也有好处。Faster-RCNN、SSD 都使用不同尺寸的特征图来取得不同范围的分辨率,而 YOLO 采取了不同的方法,YOLO 加上了一个 Passthrough Layer 来取得之前的某个 26*26 分辨率的层的特征。这个 Passthrough layer 能够把高分辨率特征与低分辨率特征联系在一起,联系起来的方法是把相邻的特征堆积在不同的 Channel 之中,这一方法类似与 Resnet 的 Identity Mapping,从而把 26*26*512 变成 13*13*2048。YOLO 中的检测器位于扩展后(expanded )的特征图的上方,所以他能取得细粒度的特征信息,这提升了 YOLO 1% 的性能。

    8Multi-Scale Training

    区别于之前的补全图片的尺寸的方法,YOLOv2 每迭代几次都会改变网络参数。每 10 个 Batch,网络会随机地选择一个新的图片尺寸,由于使用了下采样参数是  32,所以不同的尺寸大小也选择为 32 的倍数 {320,352…..608},最小 320*320,最大 608*608,网络会自动改变尺寸,并继续训练的过程。


    这一政策让网络在不同的输入尺寸上都能达到一个很好的预测效果,同一网络能在不同分辨率上进行检测。当输入图片尺寸比较小的时候跑的比较快,输入图片尺寸比较大的时候精度高,所以你可以在 YOLOv2 的速度和精度上进行权衡。

     

     

     

     

     

     

     

     

    展开全文
  • SSD+YOLO

    千次阅读 2017-03-30 20:50:30
    SSD的主要思想: 1.全卷积网络 2.anchor设计 3.多尺度特征融合#anchor设计: ssd一共使用了6个不同尺度的特征,每个尺度产生6个不同形状的anchor 1.低维度的特征图尺度大,点比较密集,使用的anchor较小,适合...

    SSD的主要思想:

    1.全卷积网络
    2.anchor设计
    3.多尺度特征融合

    #anchor设计:
    ssd一共使用了6个不同尺度的特征,每个尺度产生6个不同形状的anchor
    1.低维度的特征图尺度大,点比较密集,使用的anchor较小,适合检测小目标
    2.高维度的特征图尺度小,点比较稀疏,使用的anchor较大,适合检测大目标
    这里写图片描述

    每个anchor的位置计算:
    1.首先计算每个网格中心点,映射到原图上的位置
    2.然后根据anchor的w h,计算anchor的形状
    3.最后anchor归一化到[0,1]之间

    anchor的使用:
    对于每个特征图,分别计算坐标的回归和目标分类
    比如,对于fc7层的特征图(1,1024,19,19)
    1.首先,经过(1024 24 3 3)的卷积,pred_box的输出为(1 24 19 19),每个点预测6个box的坐标,经过flatten展平成一维的向量( 1 8664 )
    2.其实,经过(1024 126 3 3)的卷积,pred_cof的输出位(1 12619 19),每个点预测21类的概率,经过flatten展平成一维的向量(1 45486)
    3.最后,各个层的输出concate到一块,组成一维向量,计算loss的时候再解析出来

    loss解析
    1.首先是anchor与gt_box的预匹配,过程和RPN类似
    对于每个gt_box,查找与其最匹配的anchor,标记为正样本
    对于剩下的anchor,计算与每个gt_box的IOU,如果大于阈值,标记为正样本
    对于剩下的anchor,计算与每个gt_box的IOU,如果小于阈值,标记为负样本
    最后,设置正负样本比例1:3,如果负样本太多,取前k个,标准是:
    计算此anchor 21类中最大的conf(一般是背景对应的那一类),然后按照从高到低取前k个
    2.正负样本得到之后,坐标回归和分类:
    正样本计算corrd回归的loss,同样,gt按照anchor编码
    正负样本计算classfication的loss

    输出解析
    1.首先,根据pred_box和anchor恢复出box
    2.其次,对每一类,筛选出conf大于阈值对应的前k个框,进行NMS
    3.最后,得到所有输出box的个数,如果大于要输出的数目top_k,则根据conf截取

    评估
    目标是根据box和anchor,设置正确、错误样本
    1.检测出的image_id,但是gt中没有,整个图像的box标记为false
    2.检测出的label_id,但是gt中没有,整个label的box标记为false
    3.检测出的每一个box,计算与gt的IOU,大于阈值,标记为true,小于阈值,标记为false

    另外,SSD的data augment对小目标检测很重要,因为随机crop出来的patch,小目标有可能变成了大物体,但是SSD和YOLO还是不太适合小目标检测

    YOLO的主要思想:

    1.全卷积网络
    2.多尺度特征
    3.anchor设计

    全卷积网络
    类似于RPN,是在某个特征图上,每个点都输出:box coord,obj conf,class conf

    多尺度特征
    前一级的特征,通过隔点采样,增加channel数目,变成和下一级特征图大小相同

    anchor设计:
    yolo的anchor,是用所有的gt,归一化之后,聚类而成,相对于SSD更加合理
    注意,anchor的大小要映射到检测所在的特征图上

    Loss分析
    首先,对于每个网格点,根据anchor恢复出每个pred_box
    其次,每个pred_box和此图像所有gt_box计算IOU,得到最大值
    如果IOU大于阈值,则认为有可能是目标
    如果IOU小于阈值,则认为不是目标,计算no obj的梯度
    然后,对于每个gt_box,计算其在特征图上的cell位置,
    用此cell的每个anchor,与gt_box计算IOU,得到最匹配的anchor
    此anchor认为是目标,计算coord的梯度、obj的梯度和分类的softmax

    输出
    首先,根据anchor恢复出每个cell的每个box,和每个box对应每一类的conf
    如果conf大于阈值(0.5),则保留,小于阈值,清零
    其次,对于每一类的box,做NMS,输出

    评估
    首先,同样要恢复出所有box和conf,但此处的conf阈值一般设为0.1
    其次,对于每一类的box,做NMS
    最后,与gt比较,判断检测正误:
    对于每一个gt,在所有输出的box中查找与其最匹配的box
    如果IOU大于阈值,此box标记为true,否则标记为false
    其余的box标记为false

    展开全文
  • YOLO V1-V4

    千次阅读 2019-08-22 22:31:10
    YOLO v1-v3 理论部分推荐博客 yolo-v1 yolo-v2 yolo-v3 yolov3代码理解推荐博客 从零开始用 PyTorch 实现 YOLO (v3) 是什么体验
  • SSD MTCNN YOLO基本对比

    千次阅读 2019-07-11 12:23:34
    SSD与MTCNN的区别 1)生成训练数据的方式不同 MTCNN需要将训练样本事先生成好,同时生成label(分类label和回归label),然后输入到网络中训练,而SSD直接输入原图,实际的训练数据由数据层和priorbox层共同完成,...
  • yolo系列之yolo v3【深度解析】

    万次阅读 多人点赞 2018-09-12 16:24:48
    yolo_v3是我最近一段时间主攻的算法,写下博客,以作分享交流。 看过yolov3论文的应该都知道,这篇论文写得很随意,很多亮点都被作者都是草草描述。很多骚年入手yolo算法都是从v3才开始,这是不可能掌握yolo精髓的...
  • tensorflow 实现SSD+YOLO

    2018-09-30 16:07:52
    目标检测:SSDYOLO的实现,附训练好的模型,python (注:程序里选用了GPU,若用CPU则选择在选项中更改一下) SSD: paper:https://arxiv.org/pdf/1512.02325.pdf code:...
  • SSD/YOLO 开源代码

    千次阅读 2017-09-03 22:21:13
    1.caffe ssd model train. https://github.com/weiliu89/caffe/tree/ssd 2. yolo train https://pjreddie.com/darknet/yolo/ http://www.jianshu.com/p/4b186a34a4e2
  • SSD 检测原理

    千次阅读 2018-11-26 20:53:06
    SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法,速度比Faster RCNN更快,mAP优于YOLO v1。 SSD方法基于前馈卷积网络,其产生固定大小的边界框集合和框中对象类别的分数...
  • SSD总结报告

    千次阅读 2018-12-07 17:00:02
    目录 SSD算法原理、框架流程、流程图 SSD网络结构 解释SSD里的atrous ...与YOLO、Faster R-CNN等的对比 基于SSD的改进算法 SSD算法原理、框架流程、流程图 SSD算法主要的贡献之处: 作者认为...
  • RCNN,SSDYOLO的优缺点比较及反思

    千次阅读 2020-01-17 15:36:49
    RCNN,SSDYOLO的优缺点比较及反思1. RCNNFast-RCNNFaster-RCNNFaster-RCNN 系列的反思2. YOLOYOLO V1YOLO V2YOLO V3YOLO系列的反思3. SSD 1. RCNN rcnn对于原有的目标检测算法提升50% 在VGG-16网络模型下,voc...
  • 本项目使用TensorFlow复现了常用基于深度学习的经典目标检测算法,项目完整性良好,均可在Linux和Windows下训练,并进行二次开发。除此之外,本项目还复现了两个行为识别算法C3D和VTN(Video Transformer Network)。...
  • 【计算机视觉】SSDYOLO的区别

    千次阅读 2019-03-16 17:23:42
    从0到1 实现YOLO v3 (Part one) yolo-v3和SSD的一些对比
  • SSDYOLO对小目标检测的思考

    千次阅读 2019-09-20 11:16:04
    所谓的小目标,要看是...ssd对小目标检测不太适用,但R-FCN速度和鲁棒存在问题。 小目标分为很多种,背景单一还是比较好做的。有一篇小人脸检测用的是 fullyconvolutionalnetwork(FCN) + ResNet ,此篇论文检测小...
  • 8.YOLO_v3训练过程 (写在每篇深度学习文章系列的前面,该系列的文章是我2019年做毕设时的步骤总结,是能实现的,不和其他很多博客一样瞎糊弄人浪费时间。写下这些文章一方面为了方便后来者,一方面也为了自己以后的...
  • YOLOSSD再到YOLO9000(一)

    千次阅读 2018-03-14 12:36:18
    YOLO 摘要 YOLO之前的物体检测方法主要是通过region proposal产生大量的可能包含待检测物体的 potential bounding box,再用分类器去判断每个 bounding box里是否包含有物体,以及物体所属类别的 probability...
  • 转载SSDyolo代码解析(tensorflow版)

    万次阅读 2017-06-25 19:02:30
    SSD关键源码解析 yolo源码解析 yolov2和9000论文解析 yolo论文解析
  • 睿智的目标检测11——Keras搭建yolo3目标检测平台

    万次阅读 多人点赞 2019-11-27 17:33:51
    睿智的目标检测11——Keras搭建yolo3目标检测平台学习前言yolo3实现思路一、预测部分1、主题网络darknet53介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分计算loss所需参数1、y_pre2、y...
  • YOLOSSD再到YOLO9000(三)

    千次阅读 2018-03-14 17:01:24
    前篇介绍了基于回归方法的深度学习目标检测方法(YOLOSSD),本篇将介绍YOLO的升级版YOLOv2,其主要有两个大方面的改进:(1) 使用一系列的方法对YOLO进行了改进,在保持原有速度的同时提升精度得到YOLOv2;...
  • YOLOSSD再到YOLO9000(二)

    千次阅读 2018-03-14 14:55:08
    SSD 摘要 基于“Proposal + Classification” 的 Object Detection 的方法,R-CNN 系列(R-CNN、SPPnet、Fast R-CNN 以及 Faster R-CNN),取得了非常好的结果,但是在速度方面离实时效果还比较远在提高 mAP 的...
  • Table of Contents 深度学习相关的目标检测方法也可以大致分为两派 发展历程 基于区域提名的R-CNN家族对比总括 R-CNN(2014) ...Yolo:you only look ...SSD: Single Shot MultiBox Detector YoloV2, Yolo9000 ...
  • 最近做一些关于Faster R-CNN、SSDYOLO模型选择和优化的项目,之前只了解Faster R-CNN系列目标检测方法,于是抽空梳理一下这几个检测模型。先上两张简单的精确度和运算量的对比图,有个粗略的了解,虽然图中缺了...
  • 4.训练自己模型的SSD完整详细步骤 (写在每篇深度学习文章系列的前面,该系列的文章是我2019年做毕设时的步骤总结,是能实现的,不和其他很多博客一样瞎糊弄人浪费时间。写下这些文章一方面为了方便后来者,一方面也...
  • 一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLOSSD   前言 之前我所在的公司七月在线开设的深度学习等一系列课程经常会讲目标检测,包括R-CNN、Fast R-CNN、Faster R-CNN,但一直没有比较好的...
  • 这是一个大佬学习笔记的链接记录 RCNN-将CNN引入目标检测的开山之作 SPPNet-引入空间金字塔池化改进RCNN Fast R-CNN Faster R-CNN 图解YOLO SSD YOLO2

空空如也

1 2 3 4 5 ... 20
收藏数 33,815
精华内容 13,526
关键字:

ssd