小目标检测的五个方向 + Global Context +Local Context 综述

本文探讨了目标检测中解决小目标问题的四种主要方法:图像缩放、浅层网络、利用上下文信息和超分辨率。详细介绍了每种方法的工作原理及应用案例,如基于注意力的模型、浅层网络在航空图像中的应用、上下文补丁的使用以及生成对抗性网络在小目标超分辨率中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先推荐大家两篇目标检测综述论文,都是2018年11月的。

Recent Advances in Object Detection in the Age of Deep Convolutional Neural Networks
Deep Learning for Generic Object Detection: A Survey

CVPR2019目标检测方法进展综述【另附一个2019的】

继往开来!目标检测二十年技术综述《Object Detection in 20 Years: A Survey》

解决小目标问题的方法有很多,例如:i)图像的缩放;ii)浅网络;iii)上下文信息;iv)超分辨率。补充还有针对小目标的图像增强,这个是最新的一篇论文中有提到。

下面将讨论前四个方向

第一个——也是最琐碎的一个方向——是在检测前对图像进行缩放。但是,由于大图像变得太大,无法装入GPU进行训练,因此单纯的升级并不有效。ao等[2017]首先下采样图像,然后利用强化学习训练基于注意力的模型,动态搜索图像中感兴趣的区域。然后对选定的区域进行高分辨率的研究,并可用于预测较小的目标。这避免了对图像中每个像素进行同等关注分析的需要,节省了一些计算成本。一些论文[Dai等,2016b,2017年,Singh和Davis, 2018年]在目标检测上下文中训练时使用图像金字塔,而[Ren et al., 2017]在测试时使用。

第二个方向是使用浅层网络。小物体更容易被接受场较小的探测器预测。较深的网络具有较大的接受域,容易丢失关于较粗层中较小对象的一些信息。Sommer等[2017b]提出了一种非常浅的网络,只有四个卷积层和三个完全连接的层,用于检测航空图像中的目标。当期望的实例类型很小时,这种类型的检测器非常有用。但是,如果预期的实例具有不同的大小,则效果更好

 

第三个方向是利用围绕小对象实例的上下文。Gidaris和Komodakis [2015], Zhu等[2015b]使用上下文来提高性能,Chen等[2016a]则专门使用上下文来提高小对象的性能。他们使用上下文补丁对R-CNN进行了扩展,与区域建议网络生成的建议补丁并行。Zagoruyko等人[2016]将他们的方法与深度掩模对象建议相结合,使信息通过多条路径流动。

 

最后,正如Li等人[2017c]所提出的,最后一个方向是利用生成对抗性网络选择性地提高小目标的分辨率。
它的生成器学会了将小对象的不佳表示增强为超分辨对象,这些超分辨对象与真实的大对象非常相似,足以欺骗竞争的鉴别器。

引自:Recent Advances in Object Detection in the Age of Deep Convolutional Neural Networks

 

Global Context +Local Context
 

 

 

 

图出自:Deep Learning for Generic Object Detection: A Survey

### MICN 模型概述 MICN(Multi-scale Local and Global Context Modeling for Long-term Series Forecasting)是一种专门设计用于长时间序列预测的深度学习框架[^1]。该模型通过结合多尺度特征提取以及局部和全局上下文建模的能力,显著提升了对于复杂时间序列数据的预测性能。 #### 多尺度特征提取 为了捕捉不同时间粒度下的模式变化,MICN 利用了卷积神经网络 (CNN) 的层次结构来实现多尺度特征提取。具体而言,它采用多个并行的一维卷积层,每层对应不同的感受野大小,从而能够捕获短时波动与长期趋势之间的关系。 ```python import torch.nn as nn class MultiScaleConv(nn.Module): def __init__(self, input_channels=1, output_channels=[8, 16], kernel_sizes=[3, 7]): super(MultiScaleConv, self).__init__() self.convs = nn.ModuleList([ nn.Conv1d(input_channels, out_ch, k_size, padding=k_size//2) for out_ch, k_size in zip(output_channels, kernel_sizes) ]) def forward(self, x): outputs = [conv(x) for conv in self.convs] return torch.cat(outputs, dim=1) ``` 上述代码展示了如何构建一个多尺度一维卷积模块,其中 `kernel_sizes` 参数控制着各个分支的感受野范围。 #### 局部与全局上下文建模 除了关注单一时序片段内的特性外,MICN 还引入了一种机制用来融合更广泛的背景信息——即所谓的 **global context**。这种策略允许当前时刻的状态不仅依赖于最近的历史记录,还可以受到远距离节点的影响。为此,作者采用了自注意力机制(Self-Attention Mechanism),其核心思想在于计算任意两个位置间的重要性权重,并据此调整输入表示形式。 另一方面,在处理局部区域方面,则继续沿用传统的循环单元(如GRU或LSTM),它们擅长描述连续帧间的动态演变过程。 ```python import torch from torch import Tensor from typing import Optional def scaled_dot_product_attention(query: Tensor, key: Tensor, value: Tensor, mask: Optional[Tensor]=None) -> Tuple[Tensor]: d_k = query.size(-1) scores = torch.matmul(query, key.transpose(-2,-1)) / math.sqrt(d_k) if mask is not None: scores += mask * -1e9 attention_weights = F.softmax(scores,dim=-1) weighted_sum = torch.matmul(attention_weights,value) return weighted_sum, attention_weights ``` 此函数实现了标准缩放点乘法注意机制的核心部分,它是构成整个架构中不可或缺的一个组件。 ### 总结 综上所述,MICN 提供了一个强大的解决方案,适用于那些具有高度非线性和跨时段关联性的场景分析需求。通过对多种时空维度上的交互作用进行全面刻画,最终达到了提高预报精度的目的。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值