开放下载!从RCNN到SSD,这应该是最全的一份目标检测算法盘点

简介: 从简单的图像分类到3D姿势识别,计算机视觉从来不缺乏有趣的问题和挑战。如何快速入门学习图像识别?我们整理了一份图像识别-目标检测入门必读电子手册,由浅入深逐步拆解目标检测常用的模型及方法 ,从RCNN到SSD,这应该是最全的一份目标检测算法盘点了,快来下载吧!

导读:从简单的图像分类到3D姿势识别,计算机视觉从来不缺乏有趣的问题和挑战。通过肉眼我们可以检测出一张宠物照中的猫和狗,可以识别出梵高作品《星夜》中的星星和月亮,那如何通过算法赋予机器“看”的智能,就是我们接下来要讲的。

本文首先会介绍目标检测的概念,然后介绍一种简化了的目标检测问题——定位 + 分类以及它存在的问题,最后由浅入深逐步进入到目标检测常用的模型及方法,如 Faster R-CNN、SSD 等。这个过程中 会涉及很多细节的概念和知识点,具体的技术讲解请下载下方电子书详阅。

戳此处立即下载电子书
_DM19110500042

书中精彩干货集合
1、目标检测常用的模型及方法
1.1R-CNN
学者们在这个方向做了很多研究,比较有名的是 selective search 方法,具体方法这里不做详细说明,感兴趣的读者可以看关于 selective search 的论文。大家只要知道这是一种从图片中选出潜在物体候选框(Regions of Interest,ROI)的方 法即可。有了获取 ROI 的方法,接下来就可以通过分类和合并的方法来获取最终的 目标检测结果。基于这个思路有了下面的 R-CNN 方法。

  • 选出潜在目标候选框(ROI)
  • 训练一个好的特征提取器
  • 训练最终的分类器
  • 为每个类训练一个回归模型,用来微调 ROI 与真实矩形框位置和大小的偏差

1.2Fast R-CNN
针对 R-CNN 的 3 个主要问题,我们思考一下是否有更好的解决方案。首先是速度,2000 个 ROI 的 CNN 特征提取占用了大量的时间,是否可以用更好的方法,比如共享卷积层来同时处理所有 2000 个 ROI ? 
其次是 CNN 的特征不会因 SVM 和回归的调整而更新。 

R-CNN 的操作流程比较复杂,能否有更好的方式使得训练过程成为端到端的? 接下来我们将介绍 Firshick 等人于 2015 年提出的 Fast R-CNN[2],它非常巧 妙地解决了 R-CNN 主要的几个问题。

1.3 Faster R-CNN
Faster R-CNN[3] 作为目标检测的经典方法在现今很多实战项目和比赛中频频出现。其实,Faster R-CNN 就是在 Fast R-CNN 的基础上构建一个小的网络,直接产生 region proposal 来代替通过其他方法(如 selective search)得到 ROI。这 个小型的网络被称为区域预测网络(Region Proposal Network,RPN)。Faster R-CNN 的训练流程其中的 RPN 是关键,其余流程基本和 Fast R-CNN一致。
接下来我们看下 Faster R-CNN 的训练过程:

  • 使用 ImageNet 预训练好的模型训练一个 RPN 网络。
  • 使用 ImageNet 预训练好的模型,以及第(1)步里产生的建议区域训练 Fast R-CNN 网络,得到物体实际类别以及微调的矩形框位置。
  • 使用(2)中的网络初始化 RPN,固定前面卷积层,只有调整 RPN 层的参数。
  • 固定前面的卷积层,只训练并调整 Fast R-CNN 的 FC 层。

1.4YOLO
由于在 R-CNN 的系列算法中都需要首先获取大量 proposal,但 proposal 之 间有很大的重叠,会带来很多重复的工作。YOLO[5] 一改基于 proposal 的预测思路, 将输入图片划分成 S*S 个小格子,在每个小格子中做预测,最终将结果合并。

接下来我们看一下 YOLO 学习的关键步骤:
YOLO 对于网络输入图片的尺寸有要求,首先需要将图片缩放到指定尺寸 (448448),再将图片划分成 SS 的小格。
每个小格里面做这几个预测:该小格是否包含物体、包含物体对应的矩形框 位置以及该小格对应 C 个类别的分数是多少。

1.5 SSD
SSD[4] 同时借鉴了 YOLO 网格的思想和 Faster R-CNN 的 anchor 机制,使 得 SSD 可以快速进行预测的同时又可以相对准确地获取目标的位置。接下来介绍SSD 的一些特点:

  • 使用多尺度特征层进行检测。在 Faster Rcnn 的 RPN 中,anchor 是在主干 网络的最后一个特征层上生成的,而在 SSD 中,anchor 不仅仅在最后一个 特征层上产生,在几个高层特征层处同时也在产生 anchor。
  • SSD 中所有特征层产生的 anchor 都将经过正负样本的筛选后直接进行分类分数以及 bbox 位置的学习。

2、目标检测的产业应用实践
前面具体讲解了目标检测的技术应用,技术如何和产业相结合,发挥出最大的价值,也是我们最为关注的。
在经济稳预期的形势下,国内制造业企业正在加快转型升级的步伐。阿里作为一家有情怀和使命感的科技公司,我们希望通过技术手段来帮助传统企业实现转型升级。

在光伏行业,质检环节长期面临专业度高、招工难、人力不足等问题。工业自动化水平较高的德国曾推出过组件 EL 质检技术,但只针对典型缺陷,仅能做到辅助人工(无法替代人工)。在国内,光伏企业在智能 AI 识别技术领域做了近 10 年的尝试,但多晶电池和组件的自动质检远未达到工业生产水平。

本文将重点介绍阿里推出的单晶、多晶组件 EL 质检功能,目前已在产线运行且精度稳定在 95% 以上。AI检测在工业视觉“降本增效”领域上已经有了非常明显的优势。阿里云未来将与更多的企业联合,书写智能制造新篇章。

_2019_11_28_2_14_06

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 测试技术
低照度增强算法(图像增强+目标检测+代码)
低照度增强算法(图像增强+目标检测+代码)
86 1
|
26天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
2月前
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
112 1
|
26天前
|
机器学习/深度学习 算法 计算机视觉
|
3天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
12 0
|
3天前
|
算法 数据可视化 数据挖掘
R语言社区主题检测算法应用案例
R语言社区主题检测算法应用案例
|
25天前
|
XML 机器学习/深度学习 算法
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
29 1
|
25天前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
18 0
|
27天前
|
机器学习/深度学习 算法
m基于深度学习的64QAM调制解调系统相位检测和补偿算法matlab仿真
MATLAB 2022a仿真实现了基于深度学习的64QAM相位检测和补偿算法,有效应对通信中相位失真问题。通过DNN进行相位检测和补偿,降低解调错误。核心程序生成随机信号,模拟AWGN信道,比较了有无相位补偿的误码率,结果显示补偿能显著提升性能。
25 8

热门文章

最新文章