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

    文章

    1095

    浏览量

    42157
  • 分辨率
    +关注

    关注

    2

    文章

    1118

    浏览量

    43246

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADC分辨率与精度的区别是什么

    简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是 用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。 很多卖传感器的JS就是利用这一点
    发表于 12-05 06:24

    镜头分辨率如何匹配工业相机的分辨率

    能被分辨开来的两个物点之间的最小距离,就是镜头的物方分辨率。单位为µm。这只是单纯镜头本身的参数,只反映镜头的解析能力,而和工业相机多少像素无关!它直接反映了,一个理想物点经过镜头成像后,会模糊
    的头像 发表于 11-21 15:43 131次阅读
    镜头<b class='flag-5'>分辨率</b>如何匹配工业相机的<b class='flag-5'>分辨率</b>

    电能质量在线监测装置的暂态记录分辨率如何影响故障类型识别?

    暂态记录分辨率是故障类型识别的 “细节放大镜”—— 核心通过 采样、幅值分辨率、时间分辨率 决定故障波形 “特征细节的完整性”,高分辨率
    的头像 发表于 11-14 16:10 1721次阅读
    电能质量在线监测装置的暂态记录<b class='flag-5'>分辨率</b>如何影响故障类型识别?

    N9H30 可以支持最大分辨率是多少?

    [i]N9H30 可以支持最大分辨率是多少?
    发表于 09-05 06:14

    分辨率 vs 噪声 —— ADC的挑战

    设计者常用高分辨率 ADC 以降低最低可量测单位(LSB),提高检测精度。 比如一个 16 位 ADC 在 5V 范围内, LSB ≈ 76 μV ;理想情况下可以检测到微弱电信号。 问题是: 若
    的头像 发表于 06-23 07:38 1476次阅读
    <b class='flag-5'>分辨率</b> vs 噪声 —— ADC的挑战

    如何计算存储示波器的垂直分辨率

    存储示波器的垂直分辨率是指示波器能够分辨的最小电压变化量,它反映了示波器对信号幅度细节的测量能力,通常用位数(bit)来表示,也可通过相关公式换算为具体的电压值。以下为你详细介绍其计算方法:了解关键
    发表于 05-30 14:03

    FX3板是否兼容2k和4k分辨率的视频数据流?

    数据流的最大帧频是多少? 3. 电路板支持的最大分辨率是多少? 4.如何计算改变分辨率和帧频时的 DMA 缓冲区大小? 请就上述问题向我提供指导。
    发表于 05-23 06:35

    PC电脑USB3.0接口无法识别CX3设备分辨率怎么解决?

    我正在使用CX3065来捕获图像,我发现有些USB3.0接口无法找到分辨率,现在我尝试了几台笔记本电脑,我发现USB3.0接口提供关机充电,它可以识别CX3设备分辨率。 我保存了是或否的USB接口图片。 我猜想改变 CX3 防火
    发表于 05-15 08:26

    AN75779中描述的图像传感器接口支持的最大分辨率和帧速率吗?

    AN75779中描述的图像传感器接口支持的最大分辨率和帧速率吗? 我想通过连接 FX3 和 Semtech GS2971(SDI 解串器)来实现 1920 x1080 @ 30 fps 视频输入的 UVC 流设计,无需 FPGA。 可能吗?
    发表于 05-14 06:30

    CX3上的AR0245传感器的探头控制分辨率错误怎么解决?

    的 cycx3_videostreaming.c 代码如何在CyCx3UvcAppImageSensorSetVideoResolution 中定义正确的分辨率,但在CyCx3UvcAppGetProbeControlData
    发表于 05-12 07:02

    LT8722如何实现高分辨率的脉冲?

    resolution should be 333/2^(24)=0.00002 ns. 如何实现如此高分辨率的脉冲? PWM 是否由模拟比较器产生?芯片中是否有真正的 DAC 来产生比较器电压? What
    发表于 04-28 06:08

    大视野与高分辨率难兼得,FA 镜头有何破局之法?

    在电子制造、工业检测等领域,机器视觉系统里的FA镜头发挥着关键作用。大视野可提高检测效率,高分辨率能保障检测精度,然而传统光学设计和制造工艺却让这两者难以同时实现。依据传统光学原理,镜
    的头像 发表于 01-21 16:49 1139次阅读
    大视野与高<b class='flag-5'>分辨率</b>难兼得,FA 镜头有何破局之法?

    如何提高透镜成像的分辨率

    透镜成像分辨率是指透镜系统能够分辨的最小细节的能力。提高透镜成像分辨率对于许多应用领域,如显微镜、望远镜、相机等,都是至关重要的。以下是一些提高透镜成像分辨率的方法: 1. 减少像差
    的头像 发表于 12-25 16:54 1719次阅读

    如何选择扫描电镜的分辨率

    选择扫描电镜的分辨率需要综合考虑多个因素。首先是研究目的。如果只是需要对样品的大致形貌进行观察,例如查看较大颗粒的分布或者材料表面的宏观缺陷,较低分辨率(如3-10nm)可能就足够了。但如果要观察
    的头像 发表于 12-25 14:29 1197次阅读
    如何选择扫描电镜的<b class='flag-5'>分辨率</b>?

    基于图像光谱超分辨率的苹果糖度检测

    糖度是衡量苹果品质的关键指标。高光谱成像(由于含有丰富的图谱信息在糖度无损检测中有着广泛的应用前景。光谱超分辨率(SSR)可通过建立映射关系从低光谱维度RGB图像获得对应高光谱维度HSI图像,在
    的头像 发表于 12-09 17:08 997次阅读
    基于图像光谱超<b class='flag-5'>分辨率</b>的苹果糖度<b class='flag-5'>检测</b>