0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像处理之目标检测的入门总结

新机器视觉 来源:新机器视觉 2023-09-08 17:08 次阅读

1 背景介绍

目标检测,object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。

d7b4f438-4df9-11ee-a25d-92fbcf53809c.png

目标检测要解决的问题有两个:物体在哪里,物体是什么的整个流程问题。

目标检测问题的难点:物体的尺寸变化范围很大;摆放物体的角度,姿态不定;而且可以出现在图片的任何地方;物体还可以是多个类别。

d7f728da-4df9-11ee-a25d-92fbcf53809c.png

目前主要算法分两类:1) 候选区域/框 + 深度学习分类;2) 基于深度学习的回归方法

目标检测中有很大一部分工作是做图像分类。对于图像分类,不得不提的是2012年ImageNet大规模视觉识别挑战赛(ILSVRC)上,机器学习泰斗 Geoffrey Hinton 教授带领学生Krizhevsky使用卷积神经网络将ILSVRC分类任务的Top-5 error降低到了15.3%,而使用传统方法的第二名 top-5 error高达 26.2%。

此后,卷积神经网络CNN占据了图像分类任务的绝对统治地位。

2 候选区域+深度学习

通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案,如:

2.1 R-CNN(Selective Search + CNN + SVM)

先找出图中目标可能出现的位置,即候选区域(Region Proposal)。

利用图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千甚至几百)的情况下保持较高的召回率(Recall)。

有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作(特征提取+分类)。

2014年,RBG(Ross B. Girshick)使用 Region Proposal + CNN代替传统目标检测使用的滑动窗口+手工设计特征,设计R-CNN框架,使得目标检测取得巨大突破,并开启了基于深度学习目标检测的热潮。

d8381ade-4df9-11ee-a25d-92fbcf53809c.png

R-CNN的简要步骤如下

输入测试图像

利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域Region Proposal

因为取出的区域大小各自不同,所以需要将每个Region Proposal缩放(warp)成统一的227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征

将每个Region Proposal提取到的CNN特征输入到SVM进行分类

R-CNN 存在一个较大的问题:R-CNN虽然不再像传统方法那样穷举,但R-CNN流程的第一步中对原始图片通过Selective Search提取的候选框region proposal多达2000个左右,而这2000个候选框每个框都需要进行CNN提特征+SVM分类,计算量很大,导致R-CNN检测速度很慢,一张图都需要47s。

2.2 SPP-net(ROI Pooling)

d87618ac-4df9-11ee-a25d-92fbcf53809c.png

SPP:Spatial Pyramid Pooling(空间金字塔池化)

SPP-Net是出自2015年发表在IEEE上的论文-《Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Recognition》

2.3 Fast R-CNN(Selective Search + CNN + ROI)

d8be1c24-4df9-11ee-a25d-92fbcf53809c.png

Fast R-CNN就是在R-CNN的基础上采纳了SPP Net方法,对R-CNN作了改进,使得性能进一步提高。

与R-CNN框架图对比,可以发现主要有两处不同:一是最后一个卷积层后加了一个ROI pooling layer,二是损失函数使用了多任务损失函数(multi-task loss),将边框回归Bounding Box Regression 直接加入到CNN网络中训练。

Fast-RCNN 很重要的一个贡献是成功的让人们看到了 Region Proposal + CNN 这一框架实时检测的希望,原来多类检测真的可以在保证准确率的同时提升处理速度,也为后来的Faster R-CNN做下了铺垫。

2.4 Faster R-CNN(RPN + CNN + ROI)

https://arxiv.org/pdf/1506.01497.pdf

d91fd05e-4df9-11ee-a25d-92fbcf53809c.png

Fast R-CNN存在性能瓶颈:选择性搜索,找出所有的候选框,也非常耗时。能不能找出一个更加高效的方法来求出这些候选框呢?

解决方法:加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做。

以上四种算法都基于region proposal的R-CNN系列,是目标检测技术领域主要的一个分支。

3 基于深度学习的回归方法

3.1 YOLO1

YOLO,全称:You Only Look Once

d991b4b2-4df9-11ee-a25d-92fbcf53809c.png

以上介绍的 R-CNN 系列很难满足实时性的要求。YOLO一类的方法慢慢显现出其重要性,这类方法使用回归的思想,利用整张图作为网络的输入,直接在图像的多个位置上回归出这个位置的目标边框,以及目标所属的类别。

YOLO将目标检测任务转换成一个回归问题,大大加快了检测的速度,使得 YOLO 可以每秒处理45 张图像。而且由于每个网络预测目标窗口时使用的是全图信息,使得false positive比例大幅降低(充分的上下文信息)。

d9f61d8a-4df9-11ee-a25d-92fbcf53809c.png

daa07ed8-4df9-11ee-a25d-92fbcf53809c.png

但是YOLO也存在问题:没有了Region Proposal机制,只使用7*7的网格回归会使得目标不能非常精准的定位,这也导致了YOLO的检测精度并不是很高。

3.2 YOLO2

https://arxiv.org/pdf/1612.08242.pdf

dad46ca2-4df9-11ee-a25d-92fbcf53809c.png

YOLOv2 相对v1版本,在继续保持处理速度的基础上,从预测更准确(Better),速度更快(Faster),识别对象更多(Stronger)这三个方面进行了改进。其中识别更多对象也就是扩展到能够检测9000种不同对象,称之为YOLO9000。

YOLO v2 代表着比较先进的物体检测水平,在多种监测数据集中都要快过其他检测系统,并可以在速度与精确度上进行权衡。

3.3 YOLO3

https://pjreddie.com/media/files/papers/YOLOv3.pdf

dbe650ce-4df9-11ee-a25d-92fbcf53809c.png

YOLO v3的模型比之前的模型复杂了不少,可以通过改变模型结构的大小来权衡速度与精度。

速度上,YOLOv3 在实现相同准确度下要显著地比其它检测方法快。

改进之处:

1).多尺度预测 (类FPN)

2).更好的基础分类网络(类ResNet)和分类器 darknet-53,见下图。

3). 分类器-类别预测:

YOLOv3不使用Softmax对每个框进行分类,主要考虑因素有两个:

a. Softmax使得每个框分配一个类别(score最大的一个),而对于Open Images这种数据集,目标可能有重叠的类别标签,因此Softmax不适用于多标签分类。

b. Softmax可被独立的多个logistic分类器替代,且准确率不会下降。

分类损失采用 binary cross-entropy loss

多尺度预测

dc1cf188-4df9-11ee-a25d-92fbcf53809c.png

每种尺度预测3个box, anchor的设计方式仍然使用聚类,得到9个聚类中心,将其按照大小均分给3中尺度.

尺度1: 在基础网络之后添加一些卷积层再输出box信息.

尺度2: 从尺度1中的倒数第二层的卷积层上采样(x2)再与最后一个16x16大小的特征图相加,再次通过多个卷积后输出box信息.相比尺度1变大两倍.

尺度3: 与尺度2类似,使用了32x32大小的特征图.

dd2b1294-4df9-11ee-a25d-92fbcf53809c.png

4 总结

最后总结两类算法的不同:

RCNN, Fast-RCNN,Faster-RCNN是基于深度学习的分类方法。

YOLO系列是基于深度学习的回归方法。

本文是我业余时间学习目标检测的一篇整理文章,希望对目标检测入门者有一定帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    26

    文章

    1228

    浏览量

    55850
  • 算法
    +关注

    关注

    23

    文章

    4459

    浏览量

    90768
  • 目标检测
    +关注

    关注

    0

    文章

    186

    浏览量

    15460
  • 深度学习
    +关注

    关注

    73

    文章

    5240

    浏览量

    119936

原文标题:图像处理之目标检测的入门总结

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于matlab的图像处理--飞机检测

    处理过程中也用到了灰度变化、二值化、滤波、腐蚀、膨胀、开闭运算等图像处理的基本方法,其核心算法是面积检测和角点检测,借助MATLAB强大的
    发表于 09-30 11:46

    机器视觉图像处理角点检测技术

    建模和目标识别等领域中,也称为特征点检测。角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。而实际应用中,大多数所谓的角点检测方法检测的是拥
    发表于 01-22 13:46

    PowerPC小目标检测算法怎么实现?

    目标检测系统的任务是根据探测器获取的图像序列实时地把小目标从噪声中检测出来,它的实现是目标识别
    发表于 08-09 07:07

    红外图像目标检测系统该怎么设计?

    近年来,红外探测系统因其具有隐蔽性,抗干扰性,全天候工作等特点,在现代战争中具有重要的作用,而红外图像中小目标检测将直接影响制导系统的有效作用距离及设备的复杂程度,在红外成像制导和预警系统中发挥着举足轻重的作用。
    发表于 10-15 07:26

    一种基于图像平移的目标检测框架

    1、摘要近年来,在深度卷积神经网络(CNNs)的帮助下,图像和视频监控在智能交通系统(ITS)中取得了长足的进展。作为一种先进的感知方法,智能交通系统对视频监控中每一帧感兴趣的目标进行检测是其广泛
    发表于 08-31 07:43

    基于视频图像的运动目标检测与识别

    运动目标检测是场景监控的核心技术,而目标的阴影在很大程度上影响了目标的形状,干扰了真实目标检测
    发表于 12-22 11:44 49次下载

    模糊神经网络在图像目标检测中的应用

    红外图像中的微弱目标检测与跟踪是数字图像处理领域中的研究热点。针对红外图像中微弱
    发表于 02-23 14:06 18次下载

    基于目标检测的SAR图像匹配算法

    该文提出一种基于目标检测的SAR 图像匹配算法。针对SAR 图像的特点,该算法先检测SAR 图像
    发表于 04-24 08:49 23次下载

    基于PowerPC的小目标检测系统

    目标检测系统的任务是根据探测器获取的图像序列实时地把小目标从噪声中检测出来,它的实现是目标识别
    发表于 03-03 10:11 994次阅读
    基于PowerPC的小<b class='flag-5'>目标</b><b class='flag-5'>检测</b>系统

    一种图像拼接的运动目标检测方法

    ,则利用代数多重网格(AMG)方法对原始图像进行处理,得到重构的多层网格图像,在此基础上利用背景差分法对运动目标进行检测消除干扰。如拼接中出
    发表于 12-08 10:05 2次下载

    机器视觉图像处理目标检测入门总结

    本文首先介绍目标检测的任务,然后介绍主流的目标检测算法或框架,重点为Faster R-CNN,SSD,YOLO三个检测框架。本文内容主要整理
    的头像 发表于 11-27 10:31 3715次阅读

    解析在目标检测中怎么解决小目标的问题?

    的发展中,也出现了一些提高小目标检测性能的解决方案。本文将对这些方法进行分析、整理和总结图像金字塔和多尺度滑动窗口检测 一开始,在深学习
    的头像 发表于 04-26 14:13 5980次阅读
    解析在<b class='flag-5'>目标</b><b class='flag-5'>检测</b>中怎么解决小<b class='flag-5'>目标</b>的问题?

    基于改进YOLOv2的遥感图像目标检测技术

    ,并结合特征金字塔思想,増加了检测尺度,达到了提高检测精度的目的。冋时给岀了一种基于深度学习的遥感图像目标检测算法的通用
    发表于 06-16 15:28 11次下载

    如何区分图像分类和目标检测技术

    目标检测的问题定义是确定目标在给定图像中的位置,如目标定位,以及每个目标属于哪个类别,即
    发表于 07-11 12:50 348次阅读

    目标检测的后处理:NMS vs WBF

    作者:Ching(Chingis)编译:ronghuaiyang来源:AI公园导读对目标检测处理中的NMS和WBF的解释和对比。目前,计算机视觉在许多地方都有重要的应用,例如自动驾驶汽车、监控系统
    的头像 发表于 07-31 23:44 617次阅读
    <b class='flag-5'>目标</b><b class='flag-5'>检测</b>的后<b class='flag-5'>处理</b>:NMS vs WBF