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

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

3天内不再提示

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

新机器视觉 来源:AI公园 作者:Nabil MADALI 2021-04-26 14:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

本文介绍了一些小目标物体检测的方法和思路。

深度学习目标检测中,特别是人脸检测中,由于分辨率低、图像模糊、信息少、噪声多,小目标和小人脸的检测一直是一个实用和常见的难点问题。然而,在过去几年的发展中,也出现了一些提高小目标检测性能的解决方案。本文将对这些方法进行分析、整理和总结。

图像金字塔和多尺度滑动窗口检测

一开始,在深学习方法成为流行之前,对于不同尺度的目标,通常是从原始图像开始,使用不同的分辨率构建图像金字塔,然后使用分类器对金字塔的每一层进行滑动窗口的目标检测。

在著名的人脸检测器MTCNN中,使用图像金字塔法检测不同分辨率的人脸目标。然而,这种方法通常是缓慢的,虽然构建图像金字塔可以使用卷积核分离加速或简单粗暴地缩放,但仍需要做多个特征提取,后来有人借其想法想出一个特征金字塔网络FPN,在不同层融合特征,只需要一次正向计算,不需要缩放图片。它也被应用于小目标检测,这将在后面的文章中讨论。

简单,粗暴和可靠的数据增强

通过增加训练集中小目标样本的种类和数量,也可以提高小目标检测的性能。有两种简单而粗糙的方法:

针对COCO数据集中含有小目标的图片数量较少的问题,使用过采样策略:

31941d6e-a648-11eb-aece-12bb97331649.jpg

不同采样比的实验。我们观察到,不管检测小目标的比率是多少,过采样都有帮助。这个比例使我们能够在大小物体之间做出权衡。

针对同一张图片中小目标数量少的问题,使用分割mask切出小目标图像,然后使用复制和粘贴方法(当然,再加一些旋转和缩放)。

通过复制粘贴小目标来实现人工增强的例子。正如我们在这些例子中所观察到的,粘贴在同一幅图像上可以获得正确的小目标的周围环境。

在Anchor策略方法中,如果同一幅图中有更多的小目标,则会匹配更多的正样本。

31b10384-a648-11eb-aece-12bb97331649.jpg

与ground truth物体相匹配的不同尺度anchor示意图,小的目标匹配到更少的anchor。为了克服这一问题,我们提出通过复制粘贴小目标来人工增强图像,使训练过程中有更多的anchor与小目标匹配。

特征融合FPN

不同阶段的特征图对应不同的感受野,其所表达的信息抽象程度也不同。

浅层特征图感受野小,更适合检测小目标,深层特征图较大,更适合检测大目标。因此,有人提出将不同阶段的特征映射整合在一起来提高目标检测性能,称之为特征金字塔网络FPN。

31cc7b5a-a648-11eb-aece-12bb97331649.jpg

(a)利用图像金字塔建立特征金字塔。特征的计算是在每个图像的尺度上独立进行的,这是很缓慢的。(b)最近的检测系统选择只使用单一尺度的特征以更快地检测。另一种选择是重用由ConvNet计算出的金字塔特征层次结构,就好像它是一个特征图金字塔。(d)我们提出的特征金字塔网络(FPN)与(b)和一样快,但更准确。在这个图中,特征图用蓝色轮廓线表示,较粗的轮廓线表示语义上较强的特征。

由于可以通过融合不同分辨率的特征图来提高特征的丰富度和信息含量来检测不同大小的目标,自然会有人进一步猜测,如果只检测高分辨率的特征图(浅层特征)来检测小人脸,使用中分辨率特征图(中间特征)来检测大的脸。

31d8be38-a648-11eb-aece-12bb97331649.jpg

SSH的网络结构

合适的训练方法SNIP, SNIPER, SAN

机器学习中有一点很重要,模型预训练的分布应该尽可能接近测试输入的分布。因此,在大分辨率(如常见的224 x 224)下训练的模型不适合检测小分辨率的图像,然后放大并输入到模型中。

如果输入的是小分辨率的图像,则在小分辨率的图像上训练模型,如果没有,则应该先用大分辨率的图片训练模型,然后再用小分辨率的图片进行微调,最坏的情况是直接使用大分辨率的图像来预测小分辨率的图像(通过上采样放大)。

因此,在实际应用中,对输入图像进行放大并进行高速率的图像预训练,然后对小图像进行微调比针对小目标训练分类器效果更好。

3202a8ce-a648-11eb-aece-12bb97331649.jpg

所有的图都报告了ImageNet分类数据集验证集的准确性。我们对48、64、80等分辨率的图像进行上采样,在图(a)中绘制出预训练的ResNet-101分类器的Top-1精度。图(b、c)分别为原始图像分辨率为48,96像素时不同cnn的结果。

更密集的Anchor采样和匹配策略S3FD, FaceBoxes

如前面的数据增强部分所述,将一个小目标复制到图片中的多个位置,可以增加小目标匹配的anchor数量,增加小目标的训练权重,减少网络对大目标的偏置。同样,在逆向思维中,如果数据集已经确定,我们也可以增加负责小目标的anchor的设置策略,使训练过程中对小目标的学习更加充分。

例如,在FaceBoxes中,其中一个贡献是anchor策略。

320c45dc-a648-11eb-aece-12bb97331649.jpg

Anchor变的密集例子。为了清晰起见,我们只对一个感受野中心(即中央黑色网格)密集化锚点,并只给对角锚点上色。

Anchor密集化策略,使不同类型的anchor在图像上具有相同的密度,显著提高小人脸的召回率。

总结

本文较详细地总结了一般目标检测和特殊人脸检测中常见的小目标检测解决方案。

英文原文:https://medium.datadriveninvestor.com/how-to-deal-with-small-objects-in-object-detection-44d28d136cbc

来源:AI公园

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

    关注

    13

    文章

    1154

    浏览量

    48899
  • 分辨率
    +关注

    关注

    2

    文章

    1118

    浏览量

    43246
  • 人脸检测
    +关注

    关注

    0

    文章

    88

    浏览量

    17171

原文标题:在目标检测中如何解决小目标的问题?

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    目标追踪的简易实现:模板匹配

    往往是先在一个静态的图象寻找到某一片像素区域(比如从背景画面框选出人脸或文字),然后再对这片像素区域作分析(比如提取人脸关键点信息等等);而目标追踪则是一段视频流中进行,它根据指
    发表于 10-28 07:21

    水下目标智能识别系统平台全面解析

    水下目标智能识别系统平台全面解析
    的头像 发表于 10-17 17:09 189次阅读
    水下<b class='flag-5'>目标</b>智能识别系统平台全面<b class='flag-5'>解析</b>

    广和通发布端侧目标检测模型FiboDet

    为提升端侧设备视觉感知与决策能力,广和通全自研端侧目标检测模型FiboDet应运而生。该模型基于广和通边缘计算与人工智能领域的深度积累,面向工业、交通、零售等多个行业提供高性能、低功耗、高性价比的视觉
    的头像 发表于 09-26 13:39 1412次阅读

    Keil 项目构建目标 software 时,FCARM 工具报错

    使用工具搜索问题,Keil 项目 构建目标 software 时,FCARM 工具报错,搜索是未指定输出文件名。 根据网上提供的解决办法,魔法棒OUTPUT中点击Create HEX File
    发表于 08-27 10:12

    AIcube1.4目标检测模型导入yolotxt格式数据集后一直显示数据正在解析,为什么?

    AIcube1.4目标检测模型导入yolotxt格式数据集后一直显示数据正在解析 数据有问题,把数据情况说的详细点
    发表于 08-13 07:16

    使用aicube进行目标检测识别数字项目的时候,评估环节卡住了,怎么解决?

    使用aicube进行目标检测识别数字项目的时候,前面一切正常 但是评估环节卡住了,一直显示正在测试,但是完全没有测试结果, 部署完模型后
    发表于 08-13 06:45

    请问AICube所需的目标检测数据集标注可以使用什么工具?

    请问AICube所需的目标检测数据集标注可以使用什么工具? 我使用labelimg进行标注,标注后的数据集改好文件名后导入不进去。一直卡在数据解析界面。 下图所示,数据集文件夹目录,以及xml文件格式
    发表于 08-11 08:07

    气密性检测仪的核心应用范畴及其所针对的检测目标

    工业生产与质量控制领域,气密性检测仪是保障产品品质与性能的关键设备。以下将围绕气密性检测仪的核心应用范畴及其所针对的检测目标展开介绍,以下
    的头像 发表于 06-27 15:03 425次阅读
    气密性<b class='flag-5'>检测</b>仪的核心应用范畴及其所针对的<b class='flag-5'>检测</b><b class='flag-5'>目标</b>

    YOLOv8水果检测示例代码换成640输入图像出现目标框绘制错误的原因 ?

    \",的best.kmodel替换为640输入图像,model_input_size=[640,640],就会出现目标检测目标框位置混乱,目标
    发表于 06-18 06:37

    基于LockAI视觉识别模块:C++目标检测

    检测是计算机视觉领域中的一个关键任务,它不仅需要识别图像存在哪些对象,还需要定位这些对象的位置。具体来说,目标检测算法会输出每个检测到的对
    发表于 06-06 14:43

    基于LockAI视觉识别模块:C++目标检测

    本文档基于瑞芯微RV1106的LockAI凌智视觉识别模块,通过C++语言做的目标检测实验。本文档展示了如何使用lockzhiner_vision_module::PaddleDet类进行目标
    的头像 发表于 06-06 13:56 607次阅读
    基于LockAI视觉识别模块:C++<b class='flag-5'>目标</b><b class='flag-5'>检测</b>

    labview调用yolo目标检测、分割、分类、obb

    labview调用yolo目标检测、分割、分类、obb、pose深度学习,支持CPU和GPU推理,32/64位labview均可使用。 (yolov5~yolov12)
    发表于 03-31 16:28

    轩辕智驾红外目标检测算法汽车领域的应用

    AI 技术蓬勃发展的当下,目标检测算法取得了重大突破,其中红外目标检测算法更是汽车行业掀起
    的头像 发表于 03-27 15:55 740次阅读

    16片ADS54J54多片如何同步,才能保证每个通道采集同一个目标的数据一一对应?

    16片ADS54J54多片如何同步,才能保证每个通道采集同一个目标的数据一一对应
    发表于 01-10 16:27

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    挑战的方法。 2 目标检测模型介绍 目标检测的任务,有着许许多多的模型,如 Picodet、
    发表于 12-19 14:33