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

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

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

2.jpg

1、目标检测常用的模型及方法

1.1 R-CNN

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

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

1.2 Fast 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.4 YOLO

由于在 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 年的尝试,但多晶电池和组件的自动质检远未达到工业生产水平。

阿里利用 AI 技术,实现了全球第一个可代替人工的多晶电池和组件 EL 质检产品。

3.jpg


电池片本身有很多暗纹,这些暗纹和某些瑕疵在图像特征上比较相似,而且瑕疵本身的大小、长宽比、类间距等也很大,而这些在算法上有着非常大的挑战。

在单晶、多晶电池片质检在线上稳定运行半年后,阿里推出单晶、多晶组件EL质检功能,目前已在产线运行且精度稳定在 95% 以上。组件由 610/612 块电池组成,因此只要有一个地方识别错误,整张组件便识别错误,因此其识别难度远大于电池片。组件 95% 以上的精度意味着单张电池片的识别精度要求远远超过99%。

4.jpg


正泰新能源在应用阿里的 AI 检测之后,在“降本增效”上已经有了非常明显的优势。

阿里云未来将与更多的企业联合,书写智能制造新篇章。

如何下载?


扫描下方二维码,立刻下载。

5.jpg

相关文章
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
1月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
1月前
|
算法 安全
分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
本课题通过Simulink建模与仿真,实现OVP-UVP、OFP-UFP算法及AFD检测算法的反孤岛检测。OVP-UVP基于电压幅值变化,OFP-UFP基于频率变化,而AFD则通过注入频率偏移信号来检测孤岛效应,确保电力系统安全稳定运行。系统使用MATLAB 2013b进行建模与仿真验证。
|
22天前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
30 0
|
1月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
66 0
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法技术
8月更文挑战第11天
|
3月前
|
固态存储 算法 计算机视觉
SSD算法1
8月更文挑战第9天
|
3月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第5天