Enhanced Feature Extraction for Ship Detection from Multi-Resolution and Multi-Scene SAR Images

本文提出一种新型的分裂卷积块(SCB)和空间注意力块(SAB),用于增强合成孔径雷达(SAR)图像中小目标的特征提取和空间信息保留,通过多尺度锚点设计解决检测精度问题。

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

于2019年11月18日发表于remote sensing上
Abstract:提出传统方法的缺点:在这里插入图片描述
然后是deep learning algorithms的缺点
在这里插入图片描述
本文的目的:In order to enhance the feature extraction ability of the network,
方法:

  1. 对SAR图像进行多级解析优化,处理杂波和旁瓣,增强对SAR图像特征的分辨能力

  2. propose a novel split convolution block (SCB)) to enhance the feature representation of small targets,即将SAR图像分割成小的子图像。为什么采用这个操作,Introduction中提到 Due to the overall priority in visual information processing, it is easy to lose the details of the small targets。SCB的作用: SCB divides the SAR images into smaller sub-images as input to the network, and then
    在这里插入图片描述

  3. a spatial attention block (SAB) is embedded in the feature pyramid network (FPN) to reduce the loss of spatial information, during the dimensionality reduction process
    这就是说,这篇文章有个特点是,它并非单纯在使用deep learning?
    在Introduction中作者有这样一句话:
    To enhance the performance of CNNs, researchers have mainly investigated three important factors of the network: depth [27], width [28–30] and cardinality [31]. 这是对现有CNN网络发展的一个总结,至于是否全面,需要自己的脑子想咯
    主要看2.3节

2.2. Background on RetinaNet

介绍了FPN网络和Focal loss,并介绍了RetinaNet的网络结构。

2.3. The Improvements on RetinaNet
Multi-Scale Anchor Design

文章中提出了为什么要使用anchor

  1. 将定位问题转换为回归问题
  2. 可以解决同一区域内多个物体造成的检测漏检率高的问题。
    Anchorconvertstheobjectdetection problem into the regression problem between each proposal and its assigned object box [45]. By this way, the problem of high detection miss rate caused by multiple objects in the same area can be solved
    为什么要重新设计anchor
    The SAR ship detection dataset used in this paper is of multi-resolution, and different types of ships have different sizes, so that the ship in the chips has various sizes. In addition, the SAR images are affected by the imaging mode, and the geometric deformation caused by the incidence angle will also result in the change of the ship shape in chips. Here, we use the multi-layer feature maps for ship detection,andweneedtodesignthemultipleanchorsizesfortheSARshipdetectiondataset.
    如何设计anchor:统计了边界框大小在数据集中的分布,并考虑了边界框的综合大小和纵横比
    We count the distribution of the bounding box size in the dataset and take into account the comprehensive size and the aspect ratio of the bounding box.
    设计anchor的原则,本文也达到了这个要求
    These anchors can cover most bounding boxes in the dataset, and will not result in a huge model with too many anchors.
Split Convolution Block (SCB)

目的:提高对小目标的特征提取
方法:将原始图片分为许多大小相同的子图像来作为图像的输入。并且为了避免在切片边缘目标带来的目标特征的不连续性,仍旧使用了一个正常卷积模块,保留完整的SAR图像作为输入。于此同时,保持对输入图像整体特征的关注。

文章中说到,
在这里插入图片描述
!!!!!天,我第一次在文章中看到这种表述
具体做法
In this paper,we cut the input image into four sub-images of the same size, namely, the cutting positions are the middle of the distance and azimuth dimensions.
具体模块
在这里插入图片描述
这里的layer1_1和1_2是如何设置的???这个模块的实现方法非常简单,但是它涵盖的思想值得学习。文中也提到了两篇相关的文章,但是没有找到其获取方法,正在联系作者,希望有答复把。

Spatial Attention Block (SAB)

这个模块之前见过,就不多看了

Results and Discussions

直接看实验结果,基准模型是RetinaNet.最近看到的RetinaNet的相关文献还是比较多的,开学之前有时间可以把它们放在一起比较一下吧。不过这里给自己留一个突然想起的思考点:Retinanet实际在网络上近似于FPN,只是在损失函数方面做了改进。那么这个近似,哪里有不同。这个点值得注意。其次,这里的前馈网络中使用的都是resnet,那么是不是应该做一个实验,如果将前馈网络中替换为VGG,Inception等网络有什么结果。

这篇文章值得一读,相比于其它在网络结构上的改进,这里的思想很值得学习

### 如何运行 Multi-Scale and Detail-Enhanced Segment Anything Model 进行显著对象检测 为了成功运行用于显著性目标检测的多尺度和细节增强的Segment Anything模型,需遵循特定的环境配置与代码执行流程。该过程涉及安装依赖库、下载预训练权重以及编写或调用测试脚本。 #### 安装必要的软件包 首先,在本地环境中设置Python虚拟环境并激活它。接着,通过`requirements.txt`文件来安装所需的第三方库: ```bash pip install -r requirements.txt ``` 此命令会自动解析并安装所有必需的Python包[^1]。 #### 下载预训练模型参数 访问官方GitHub仓库页面获取最新的预训练模型权重文件。通常这些权重会被托管于Google Drive或其他云存储服务上。按照README文档中的指示完成下载,并将其放置到指定目录下以便后续加载使用[^2]。 #### 准备输入图像数据集 创建一个新的文件夹用来存放待处理图片集合。确保每张图片都符合预期格式(如JPEG),并且尺寸适合网络输入需求。如果有必要的话,可以先对原始素材做一些简单的预处理操作,比如裁剪、缩放等。 #### 编写推理脚本 基于给定的例子或者模板,开发一段能够读取单幅或多帧静态画面作为输入,并输出相应分割掩码结果的小程序。这里给出一个简化版的PyTorch风格伪代码片段供参考: ```python import torch from model import MSDetailEnhanceSAM # 假设这是自定义类名 def main(image_path, checkpoint_path='path/to/checkpoint.pth'): device = 'cuda' if torch.cuda.is_available() else 'cpu' # 初始化模型实例并将之移动至GPU/CPU设备端 sam_model = MSDetailEnhanceSAM().to(device) # 加载已保存的最佳性能状态字典 sam_model.load_state_dict(torch.load(checkpoint_path,map_location=device)) sam_model.eval() with torch.no_grad(): img_tensor = preprocess_image(image_path).unsqueeze(0).to(device) pred_mask = sam_model(img_tensor)[0].squeeze() visualize_result(pred_mask.cpu().numpy()) if __name__ == '__main__': from argparse import ArgumentParser parser = ArgumentParser(description="Run inference using SAM.") parser.add_argument('img', type=str, help='Path to input image') args = parser.parse_args() main(args.img) ``` 上述代码展示了如何加载预训练好的MSDetailEnhanceSAM架构,并针对单一路径下的图片执行预测任务。注意实际应用时可能还需要额外考虑批量处理逻辑以及其他优化措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值