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

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

3天内不再提示

如何在超大分辨率的图片中检测目标

新机器视觉 来源:新机器视觉 2023-04-16 09:27 次阅读

本文通过一篇YOLT的文章引出超大分辨率的图片遇到目标检测任务该如何处理?此类问题一般出现在遥感领域和医疗影像中居多,我们先来分析超大图像的目标检测存在哪些问题,然后学习一下YOLT是如何解决这些问题的,最后结合现有技术探讨目前的可行性方案。

1

当超大分辨率图像邂逅目标检测任务

曾经有小伙伴问过我针对超大分辨率的图像如何做目标检测任务?

我们先思考一下超大分辨率数据在哪些场景中会出现,比如卫星地图做建筑物、楼宇的检测:

a10bc8b4-db92-11ed-bfe3-dac502259ad0.jpg

在医疗影像中做病灶体的检测:

a120883a-db92-11ed-bfe3-dac502259ad0.jpg

无人机航拍图中做船舶、车辆、房屋等检测:

a13094f0-db92-11ed-bfe3-dac502259ad0.jpg

是否可以沿用通用框架做该类图片的目标检测呢?

输入如此大分辨率的图片到网络中,最直接的问题就是机器的显存爆掉,无法进行训练任务。

如果你真的有一个非常牛逼的集群直接训练大尺寸图像,最后的预测结果恐怕也不尽如人意,原因出在大尺寸图像中的目标往往只占5-10个像素点,检测网络一旦经过多次下采样后,这些小目标的特征很难被提取到。

卫星地图等数据非常稀有珍贵,不像无人驾驶的开源数据有几十万几百万张的量级,如何高效的利用高质量的训练图片也是关键所在。

所以直接硬上通用模型检测出来的效果可能是这样的,要么伴随着图片的resize,目标被缩放没了;要么基于N×N网格的预测造成密集连续目标的漏检:

a1455318-db92-11ed-bfe3-dac502259ad0.png

此类任务的难点或者优化方向在哪里?

它的核心在于四个方向:

如何处理高分辨的输入

如何提高密集小目标检测

如何解决类别不平衡问题

如何利用少量的训练数据

下面我们通过一篇名为You Only Look Twice的文章来分析上述几个问题,名称有点蹭热度的嫌疑哦,不过谁让YOLO系列那么火,大家都喜欢在它的框架上改改发文章呢!

2

You Only Look Twice

《Rapid Multi-Scale Object Detection In Satellite Imagery》这篇文章描述了大尺寸图像目标检测的常规方法,总的来说就是对超大分辨率的图像进行滑窗裁剪成多个子图,然后对每一个子图进行目标检测,最后将所有子图的结果拼接后进行NMS过滤。

数据端

对超大分辨率图片进行滑窗裁剪,如下图所示,一个16000×16000像素的图片,采用416×416像素的滑窗,最后生成约1500个子图。

a159e09e-db92-11ed-bfe3-dac502259ad0.png

文章指出在滑窗裁剪的时候必须有15%的重叠区域,原因是如果一个目标刚好处于窗口边缘被切分成2块,本身目标所占像素就少又被截断会造成更加难以检测。但是重复部分会带来同一个目标出现多个检测框的问题,目前通过将所有子图的检测结果合并起来采用NMS处理进行过滤。

a1749f92-db92-11ed-bfe3-dac502259ad0.png

在卫星、遥感、航拍等图片中,目标物体往往存在方向信息,如何提高目标检测的旋转不变性呢?在YOLT中通过数据增广的方式旋转图片生成更多形状的物体从而缓解问题。但是小编认为该方法治标不治本,输出结果仍然是规则的矩形框,一旦遇到长条形物体,比如轮船。预测的矩形框会引入很多冗余区域。可以尝试在损失函数中增加旋转角进行学习。

a193513a-db92-11ed-bfe3-dac502259ad0.jpg

网络端

基于YOLOv2的结构做了一些改进,在YOLO系列或者很多检测网络都进行了32倍的下采样,但是在遥感地图等超大分辨率图片中,目标物体所占像素本身就很少,经过32倍下采样后,基本无法有效检测。所以YOLT减少了下采样的比例收缩到16倍并增加网络的层数提供特征提取能力。

文章借助YOLOv2中的PassThrough层,融合深浅特征图的特征目的是提升对小目标的检测效果。当然这一操作完全可以考虑由PAN替代,在FPN上采样融合的特征金字塔之后,又增加了一个下采样融合的特征金字塔。

本文并没有提到类别不平衡问题,但是任何目标检测任务其实都存在前后背景的不平衡,一般会从三种方法进行考虑,其一是做数据的上采样和下采样来平衡不同类别之间的数据量;其二是采用某些数据增广的手段来增多前景目标在一张图像中的占比;其三是通过设计损失函数通过权重控制不同类别的优化力度。

3

如何处理高分辨的输入图像?

较常见的方式就是像上述文章提到的对一张超大分辨率的图片切割成多个子图,但是在这一过程中存在几个问题,比如:

目标位于切割边缘怎么办?

切割的图片大小如何设置?

目标切割的问题在上面已经提过,可以用重叠切割的方法解决目标被截断的问题。

假设数据集的图片尺寸不同的前提下,我们可以从结果端反向思考切割尺寸的问题,一般会设置一个固定的子图尺寸比如416×416,但是原图可能无法刚好切割成整数个子图,所以对最边缘的子图可以采用letterbox的方式缩放到416的尺寸,相比直接resize能够保留物体特征。

4

如何提高密集小目标检测?

在目标检测领域中,小目标检测一直都是其中一个难点。针对该问题,近些年也提出了不少优化的方式:

图像金字塔进行多尺度训练。将原始图像生成多个不同分辨率的图像金字塔,再对每层金字塔用固定输入分辨率的分类器在该层滑动来检测目标。不过此方法需要对图像做多次的特征提取,速度太慢。该方法也有改进版本,如SNIP网络只训练合适尺寸的目标,当真值的尺寸和Anchor接近时才训练检测器,过大过小的均丢弃。

特征金字塔融合浅层和深层信息,如FPN和PAN等。通过各层融合的方式从浅层网络中学习更多的细节特征,从深层网络中学习更多的语义特征。

设计与小目标尺寸匹配的Anchor。不同任务的检测目标尺寸均有差异,可以根据先验知识,采用手工或者聚类的方式离线得到一定个数的Anchor。

采用空洞卷积减少下采样次数,其目的是考虑下采样会丢失图片的部分信息,而空洞卷积能够在不增加参数量的同时具有更大的感受野,提供降低采样次数的一种思路。

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

    关注

    2

    文章

    1078

    浏览量

    40364
  • 分辨率
    +关注

    关注

    2

    文章

    1028

    浏览量

    41853

原文标题:如何在超大分辨率的图片中检测目标?

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

收藏 人收藏

    评论

    相关推荐

    Moritex 5X 高分辨率远心镜头 助力晶圆检测

    5X高分辨率远心镜头工业镜头相当于机器视觉系统中的眼睛,它能将目标成像在图像传感器的光敏面上,对视觉图像成像发挥着重要作用。今天我们来看看Moritex的5X高分辨率远心镜头
    的头像 发表于 07-27 10:00 255次阅读
    Moritex 5X 高<b class='flag-5'>分辨率</b>远心镜头 助力晶圆<b class='flag-5'>检测</b>

    VR显示器分辨率的选择

    一、VR显示器分辨率的重要性 1.1 分辨率与视觉体验 分辨率是指显示器上能够显示的像素点的数量,通常用水平像素数×垂直像素数来表示。在VR显示器中,分辨率直接影响到用户的视觉体验。高
    的头像 发表于 07-08 10:29 865次阅读

    伺服编码器分辨率是什么意思

    伺服编码器分辨率是指编码器能够检测到的最小角度或位置变化。在伺服系统中,编码器用于测量电机轴或负载的位置和速度,以实现精确控制。分辨率越高,编码器能够检测到的最小变化越小,从而实现更精
    的头像 发表于 06-17 11:16 734次阅读

    基于CNN的图像超分辨率示例

    考虑单个低分辨率图像,首先使用双三次插值将其放大到所需的大小,这是执行的唯一预处理。将插值图像表示为Y。我们的目标是从Y中恢复与真实高分辨率图像X尽可能相似的图像F (Y) 。
    的头像 发表于 03-11 11:40 624次阅读
    基于CNN的图像超<b class='flag-5'>分辨率</b>示例

    psoc的规格再驱动lcd屏的时候,是否可以驱动RGB/RGB666的屏?支持的最大分辨率是多少?

    请教一下,psoc的规格再驱动lcd屏的时候,是否可以驱动RGB/RGB666的屏,如果可以的话,那支持的最大分辨率是多少?支持那些接口类型?规格书上的segment 和这个的转换关系是什么?
    发表于 03-06 06:24

    编码器分辨率是什么意思 编码器分辨率和脉冲数的关系

    按照编码器支持的分辨率可以把编码器分成标清编码器、高清编码器、全高清编码器,分辨率越高帧率越高视频就越清楚。 1.编码器的分辨率是什么意思 编码器的分辨率是指编码器以每旋转360度提供
    的头像 发表于 02-21 18:07 3614次阅读
    编码器<b class='flag-5'>分辨率</b>是什么意思 编码器<b class='flag-5'>分辨率</b>和脉冲数的关系

    电容触摸屏的分辨率怎么调

    电容触摸屏的分辨率调整是通过调整触摸屏的控制器的参数来实现的。触摸屏的分辨率是指能够在屏幕上识别的最小触摸点的像素数量。分辨率越高,触摸屏可以更准确地检测和响应用户的操作。 在调整电容
    的头像 发表于 01-23 16:59 1709次阅读

    镜头分辨率简述

    分辨率可以从显示分辨率与图像分辨率两个方向来分类。
    的头像 发表于 01-15 11:12 849次阅读

    浅谈相机的图像分辨率

    谈到显微成像系统,常常会用分辨率来评价成像能力的高低,那分辨率到底指的是什么,又怎样计算呢?其实对于一个特定的显微成像系统,分辨率要从两个方面来考虑,一种是光学系统的分辨率—光学衍射极
    的头像 发表于 01-09 09:54 1488次阅读
    浅谈相机的图像<b class='flag-5'>分辨率</b>

    adc电路的分辨率怎么算

    ADC(模数转换器)电路的分辨率是指其能够将模拟信号转换为数字信号时能够达到的最小分辨单位。分辨率通常用位数表示,例如10位的ADC具有1024个离散的输出级别。 要计算ADC电路的分辨率
    的头像 发表于 01-04 15:23 6191次阅读

    峰峰值分辨率与有效分辨率的区别

    低带宽、高分辨率ADC的分辨率为16位或24位。但是,器件的有效位数受噪声限制,而噪声则取决于输出字速率和所用的增益设置。有些公司规定使用有效分辨率来表示该参数,ADI则规定使用峰峰值分辨率
    发表于 12-15 07:56

    峰值噪声与有效噪声的区别?峰值分辨率与有效分辨率的区别?

    峰值噪声与有效噪声的区别,峰值分辨率与有效分辨率的区别?无失码分辨率又是指的什么?
    发表于 11-27 11:42

    请问AD5522的分辨率如何提高?

    AD5522的输出电压跨度在22.5V左右,对应16bit的DAC的分辨率约22.5V/65536=343uV。 如果我想提高到170uV左右的分辨率,但是又要保持输出电压跨度22.5V不变需要用
    发表于 11-15 08:20

    怎么调整andriod输出分辨率,适配分辨率大的屏?

    求教,怎么调整andriod输出分辨率,适配分辨率大的屏
    发表于 11-06 07:13