位置: IT常识 - 正文

常见经典目标检测算法(经典目标检测算法)

编辑:rootadmin
常见经典目标检测算法 1、目标检测基本概念1.1 什么是目标检测

推荐整理分享常见经典目标检测算法(经典目标检测算法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:常用的目标检测算法有哪些,常见的目标,常用的目标检测算法有哪些,经典目标检测的基本思想,常用目标检测方法,常见目标类型,常见目标类型,常用目标检测方法,内容如对您有帮助,希望把文章链接给更多的朋友!

目标检测(Object Dectection)的任务是找出图像中所有感兴趣的目标(物体),确定他们的类别和位置。

1.2 目标检测要解决的核心问题

除图像分类外,目标检测要解决的核心问题是: 1.目标可能出现在图像的任何位置。 2.目标有各种不同的大小。 3.目标可能有各种不同的形状。

1.3 目标检测算法分类Two stage目标检测算法 先进行区域生成(region proposal,RP)(一个可能包含待检测物体的预选框),再通过卷积神经网络进行样本分类。 任务:特征提取->生成RP->分类/定位回归。 常见Two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN和R-FCN等。One stage 目标检测算法 不用RP,直接在网络中提取特征来预测物体分类和位置。 任务:特征提取->分类/定位回归。 常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv3、SSD和RetinaNet等。 1.4 应用领域人脸检测行人检测车辆检测道路检测障碍物检测等等2、Two stage 目标检测算法2.1 R-CNN2.1.1 R-CNN 创新点使⽤CNN(ConvNet)对 region proposals 计算 feature vectors。从经验驱动特征(SIFT、HOG)到数据驱动特征(CNN feature map),提⾼特征对样本的表⽰能⼒。采⽤⼤样本下(ILSVRC)有监督预训练和⼩样本(PASCAL)微调(fine-tuning)的⽅法解决⼩样本难以训练甚⾄过拟合等问题。

注:ILSVRC其实就是众所周知的ImageNet的挑战赛,数据量极⼤;PASCAL数据集(包含⽬标检测和图像分割等),相对较⼩。

2.1.2 R-CNN 介绍

R-CNN作为R-CNN系列的第⼀代算法,其实没有过多的使⽤“深度学习”思想,⽽是将“深度学习”和传统的“计算机视觉”的知识相结合。⽐如R-CNN pipeline中的第⼆步和第四步其实就属于传统的“计算机视觉”技术。使⽤selective search提取region proposals,使⽤SVM实现分类。

预训练模型。选择一个预训练模型(pre-trained)神经网络(如AlexNet、VGG)。

重新训练全连接层使用需要检测的目标重新训练(re-train)最后全连接层(connected layer)。

常见经典目标检测算法(经典目标检测算法)

提取prosals并计算CNN特征。利用选择性搜索(Slective Search)算法提取所有prosals(大约2000幅images),调整(resize/warp)它们固定大小,以满足CNN输入,然后将feature map保存到本地磁盘。

训练SVM。利用feature map训练SVM来对目标和背景进行分类(每个类一个二进制SVM)。

边界框回归(Bounding boxes Regression)。训练将输出一些校正因子的线性回归分类器。

2.1.3 R-CNN实验结果

R-CNN在VOC 2007测试集上mAP达到58.5%,打败当时所有的⽬标检测算法。

2.2 Fast R-CNN2.2.1 Fast R-CNN有哪些创新点?只对整幅图像进行一次特征提取。⽤RoI pooling层替换最后⼀层的max pooling层,同时引⼊建议框数据,提取相应建议框特征。Fast R-CNN⽹络末尾采⽤并⾏的不同的全连接层,可同时输出分类结果和窗⼝回归结果, 实现了end-to-end的多任务训练【建议框提取除外】,也不需要额外的特征存储空间【RCNN中的特征需要保持到本地,来供SVMBounding-box regression进⾏训练】。采⽤SVD对Fast R-CNN⽹络末尾并⾏的全连接层进⾏分解,减少计算复杂度,加快检测速度。2.2.2 Fast R-CNN 介绍

Fast R-CNN是基于R-CNN和SPPnets进⾏的改进。SPPnets,其创新点在于计算整幅图像的the shared feature map,然后根据object proposal在shared feature map上映射到对应的feature vector(就是不⽤重复计算feature map了)。当然,SPPnets也有缺点:和R-CNN⼀样,训练是多阶段(multiple-stage pipeline)的,速度还是不够"快",特征还要保存到本地磁盘中。

将候选区域直接应⽤于特征图,并使⽤RoI池化将其转化为固定⼤⼩的特征图块。以下是Fast R-CNN的流程图

2.2.3 RoI Pooling 层详解

因为Fast R-CNN使⽤全连接层,所以应⽤RoI Pooling将不同⼤⼩的ROI转换为固定⼤⼩。 RoI Pooling 是Pooling层的⼀种,⽽且是针对RoI的Pooling,其特点是输⼊特征图尺⼨不固定,但是输出特征图尺⼨固定(如7x7)

什么是RoI呢? RoI是Region of Interest的简写,⼀般是指图像上的区域框,但这⾥指的是由Selective Search提取的候选框。提取候选框 往往经过RPN后输出的不⽌⼀个矩形框,所以这⾥我们是对多个RoI进⾏Pooling。RoI Pooling的输入 输⼊有两部分组成:特征图(feature map):指的是上⾯所⽰的特征图,在Fast RCNN中,它位于RoI Pooling 之前,在Faster RCNN中,它是与RPN共享那个特征图,通常我们常常称之 为“share_conv”;RoIs,其表⽰所有RoI的N*5的矩阵。其中N表⽰RoI的数量,第⼀列表⽰图像index,其余四 列表⽰其余的左上⾓和右下⾓坐标。

在Fast RCNN中,指的是Selective Search的输出;在Faster RCNN中指的是RPN的输出,⼀堆矩形候选框,形状为1x5x1x1(4个坐标+索引index),其中值得注意的是:坐标的参考系不是针对feature map这张图的,⽽是针对原图的(神经⽹络最开始的输⼊)。其实关于ROI的坐标理解⼀直很混乱,到底是根据谁的坐标来。其实很好理解,我们已知原图的⼤⼩和由Selective Search算法提取的候选框坐标,那么根据"映射关系"可以得出特征图(featurwe map)的⼤⼩和候选框在feature map上的映射坐标。⾄于如何计算,其实就是⽐值问题,下⾯会介绍。所以这⾥把ROI理解为原图上各个候选框(region proposals),也是可以的。

2.2.4 RoI 的具体操作根据输入image,将ROI映射到feature map 对应位置 注:映射规则比较简单,就是把各个坐标除以“输入图片与feature map的大小的比值”,得到了feature map上的box坐标。 2.将映射后的区域划分为相同大小的sections(sections数量与输出的维度相同) 3.对每个sections进行max pooling操作。

这样我们就可以从不同大小的方框得到固定大小的相应的feature maps。值得⼀提的是,输出的feature maps的大小不取决于ROI和卷积feature maps大小。RoI Pooling 最大的好处就在于极大地提高了处理速度。

2.2.5 ROI Pooling的输出

输出是batch个vector,其中batch的值等于ROI的个数,vector的大小为channelwh;ROI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w*h)的矩形框。 ROI Pooling 示例

2.3 Faster R-CNN2.3.1 Faster R-CNN有哪些创新点?

Fast R-CNN依赖于外部候选区域⽅法,如选择性搜索。但这些算法在CPU上运⾏且速度很慢。在测试中,Fast R-CNN需要2.3秒来进⾏预测,其中2秒⽤于⽣成2000个ROI。Faster R-CNN采用与Fast R-CNN相同的设计,只是它⽤内部深层⽹络代替了候选区域⽅法。新的候选区域⽹络(RPN)在⽣成ROI时效率更⾼,并且以每幅图像10毫秒的速度运行。 候选区域⽹络(RPN)将第⼀个卷积网络的输出特征图作为输⼊。它在特征图上滑动⼀个3×3的卷积核,以使用卷积⽹络(如下所示的ZF网络)构建与类别⽆关的候选区域。其他深度⽹络(如VGG或ResNet)可⽤于更全⾯的特征提取,但这需要以速度为代价。ZF网络最后会输出256个值,它们将馈送到两个独立的全连接层,以预测边界框和两个objectness分数,这两个objectness分数度量了边界框是否包含⽬标。我们其实可以使⽤回归器计算单个objectness分数,但为简洁起⻅,Faster R-CNN使⽤只有两个类别的分类器:即带有⽬标的类别和不带有⽬标的类别。

本文链接地址:https://www.jiuchutong.com/zhishi/300632.html 转载请保留说明!

上一篇:JS数组对象——根据日期进行排序Date.parse(),按照时间进行升序或降序排序localeCompare()(js数组entries)

下一篇:html 导入百度地图 网页中如何导入百度地图(html如何导入excel)

  • 房地产开发企业简易计税方法 可以扣除吗
  • 税后净营业利润和净利润的区别
  • 税收法律关系中最实质的东西是
  • 第二季度是多少钱
  • 公司付其他公司的工资
  • 个税退税是公司退还是个人退
  • 资本公积转增股本个人所得税
  • 想开饮品店
  • 企业预缴的增值税税率
  • 个人购买商铺如何缴税
  • 编制现金流量表的直接法和间接法
  • 货代行业增值税
  • 企业认缴出资怎么做账
  • 个人承担的社保算工资吗
  • 母公司名称的发票可以计入子公司的开办费处理吗?
  • 投资性房地产房租计入什么会计科目
  • 需不需要交企业所得税看报表的哪个地方?
  • 个人所得税期末为负数审计调整
  • 《减免所得税优惠明细表》
  • 旅行社差额征税增值税申报表怎么填
  • 长期待摊费用属于什么科目借贷方向
  • 广告制作费怎么入账
  • 政府补贴专项资金如何入账
  • 可以全额抵扣的发票
  • 一般纳税人企业所得税税率多少
  • 个人独资企业查账征收个人所得税汇算清缴
  • 费用应计入管理费用的有
  • 捐赠计提管理费的账务处理?
  • 缴纳个人所得税会计分录
  • win7更改电脑设置在哪里
  • mac dns 设置
  • WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
  • 同一控制下的控股合并中,合并方个别财务报表
  • 应收账款和应付账款的管理
  • 除甲醛的净化器哪个品牌做得最好
  • 薰衣草 英国
  • grid-column
  • html下划线怎么设置
  • 供电企业接收用户资产
  • 微信公众号php开发教程
  • 小规模纳税人季报需要报什么
  • 计算机视觉算法
  • 手把手怎么写
  • java的注解有哪些
  • phpcms教程
  • phpcms建站教程
  • php注册功能
  • 织梦面包屑导航最后的分隔符大于号去掉方法
  • 地价计入房产原值文件解读
  • sql server基本知识
  • mysql 查询平均值
  • mysql命令大小写
  • 财政补助收入的账务处理
  • sql server获取字段长度
  • 开诊所会计应如何做账
  • 没有发票会怎样
  • 非货币性资产交换和债务重组的区别
  • 以前年度多计提的税金怎么调整
  • 在建工程二级科目待摊支出
  • 职工教育经费如何列支
  • 注册资本金到位证明
  • 二类银行卡是什么卡
  • 存货盘亏的账务处理怎么做
  • 往来账是什么样的
  • mysql8.0免安装
  • centos6yum源
  • Windows Server 2008下利用Diskpart管理磁盘
  • 键盘设施
  • xp系统光盘读不出来
  • Win7如何调整分辨率
  • win7电脑桌面图标间隔太大怎么调
  • win10下载英雄联盟运行没反应
  • mysql删除key
  • django ajax请求
  • shell脚本编写步骤
  • css文本框怎么对齐
  • vuex按需加载
  • nodejs-websocket
  • 暖气费政府补贴
  • 广西定额发票查询入口官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设