【深度学习基础】主流目标检测算法简介

:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
:文章若有幸对你有帮助,可点赞 收藏 ⭐不迷路
:内容若有错误,敬请留言 指正!原创文,转载请注明出处

文章目录

    • Googlenet
    • 目标检测算法
    • CNN
    • R-CNN
    • Fast R-CNN
    • Faster R-CNN
    • SSD
    • YOLO


Googlenet

目标检测算法

【深度学习基础】主流目标检测算法简介_第1张图片

CNN

在2012年的ImageNet的图像识别竞赛中,Krizhevsky 等人通过CNN模型来实现图像的分类,其获得的识别准确率远远超越其他的参赛者,CNN模型由此在学术界获得了跟多的关注度,由此目标识别便有了新的研究方向,这种发展对于目标识别来说是突破性的。

R-CNN

Girshick是第一个将R-CNN成功地将深度学习应用于目标识别的研究,该算法首先利用选择性搜索从图像中提取2000个候选区域,然后将这些候选区域输入到卷积神经网络中提取每个候选区域的特征点,最后利用训练好的分类器进行分类识别。R-CNN减少了人为干扰,然而由于每幅图像都需要选择2000个候选区域,处理时间过长,无法实现实时目标识别。此外,选择搜索算法是固定的,没有学习过程,这可能导致不良候选区域的出现。

Fast R-CNN

在R-CNN的基础上,Girshick不断改进,提出了一种与R-CNN算法相似的快速算法Fast R-CNN,但它与R-CNN不同的是其不向CNN提供候选区域,而是在生成特征图时将将完整的图像通过CNN卷积,候选区域通过之前生成的卷积特征图相应的特征来确定。将选出的感兴趣区域通过融合层的处理得到相应尺寸的图像,然后学习图像,而不是每次向卷积神经网络提供2000个候选区域,FastR-CNN对每个图像只执
行一次卷积运算,以此来提升算法的运行效率。R-CNN与Fast R-CNN都是通过选择性搜索来确定感兴趣区域的,然而选择性搜索的时间消耗成本较大,这在极大程度.上影响了识别网络的性能。

Faster R-CNN

针对R-CNN与Fast R-CNN的这个缺点,邵少仁提出了一种快速目标检测算法Faster R-CNN,与Fast R-CNN不同的是,FasterR-CNN使用单独的网络预测候选区域,然后使用感兴趣区域融合层重构预测的候选区域,最后,对候选区域内的图像进行分类并预测边界框的偏移量。R-CNN、FastR-CNN和FasterR-CNN都使用候选区域来检测图像中物体的输入,网络不会看到完整的图像,但会检测到图像中目标物体较高的区域。

SSD

通过对Fast R-CNN和YOLO各自优缺点的分析,Liu等人采用VGGl6作为预训练网络模型,于2015年发布了SSD算法。在VGGl6预训练网络模型中,通过13个卷积层及3个全连接层保驾护航,使得SSD算法具有了与Fast R-CNN般的性能,与此同时使其的时间成本消耗低于YOLO。SSD算法为了保证多尺度的预测性能,在通过预训练模型之后,再通过了卷积层来进行卷积,以此减小了层的张量。该算法通过比较预测目标类别和所属类别的得分,并利用小卷积滤波器预测一系列边界盒来完成目标识别。

YOLO

reference:
OpenCV中使用YOLO对象检测
一文读懂YOLOv5 与 YOLOv4
You Only Look Once - YOLO
YOLO是一种比SSD还要快的对象检测网络模型,算法作者在其论文中说FPS是Fast R-CNN的100倍,
1.是一种基于深层神经网络的目标识别与定位算法。
2.它最大的特点是运行速度快,可用于实时系统。
3.目标检测的核心就是YOLO。YOLO系列也一直在发展,对于它的学习迫在眉睫。

【深度学习基础】主流目标检测算法简介_第2张图片
OpenCV在3.3.1版本中开始支持Darknet,可能有人会问,Darknet是什么鬼,它是YOLO的作者自己搞出来的深度学习框架,支持C/C++/Python语言,支持YOLOv1、YOLOv2、YOLOv3等网络模型训练与使用。

你可能感兴趣的:(#,Deep,Learning,机器学习,人工智能,计算机视觉,深度学习)