每日文献(十三)——Part one

news/2025/4/22 0:53:28

今天看的是《RefineNet: Iterative Refinement for Accurate Object Localization》。

目录

零、摘要

0.1 原文

0.2 译文

一、介绍

二、RefineNet

A. Fast R-CNN

B. Faster R-CNN

C. RefineNet 训练

D. RefineNet 测试


零、摘要

0.1 原文

We investigate a new strategy for improving localization accuracy of detected vehicles using a deep convolutional neural network. Specifically, we implement an iterative bounding box refinement on top of a state-of-the-art object detector. The bounding box refinement is achieved by iteratively pooling features from previous object location predictions. On KITTI vehicle detection benchmark, we achieve up to 6% improvement in average precision over the baseline results. Furthermore, the proposed refinement framework is computationally light, allowing for object detection at high run-time speeds. Our method runs at ∼0.22 seconds per image on images of size 1242 × 375, making it one of the fastest detectors reported on the KITTI object detection benchmark.

0.2 译文

研究了一种利用深度卷积神经网络提高被检测车辆定位精度的新策略。具体来说,我们在最先进的目标检测器之上实现了迭代边界框细化。边界框的细化是通过迭代地池化以前的目标位置预测的特征来实现的。在KITTI车辆检测基准上,我们的平均精度比基线结果提高了6%。此外,提出的改进框架计算量小,允许在高运行时速度下进行物体检测。我们的方法在尺寸为1242 × 375的图像上以每张图像约0.22秒的速度运行,使其成为KITTI物体检测基准上最快的检测器之一。

一、介绍

在为智能车辆和机器人开发基于视觉的系统时,精确的目标定位是一个重要的挑战。自动驾驶的基本组件,如环绕物体的精确3D定位、环绕代理行为分析、导航和规划,以及其他高级视觉任务[2],都受到初始物体定位质量的影响。本文研究了通过增加一个迭代改进目标盒建议的模块来改进深度卷积神经网络(CNN)目标检测器。所提出的细化模块重量轻,能够实现快速、高质量的目标检测。我们将这种新策略称为RefineNet,并分析了它的行为和收敛性。

近年来,基于深度cnn的技术已成功应用于各种计算机视觉问题,如图像分类[3]、[4]、[5]、物体检测[6]、[7]、[8]、[9]、语义分割[10]、[11]、[12]等,这得益于其学习鲁棒的、分层、通用特征的能力。适用于不同的任务。

基于区域的CNN [6] (R-CNN)被提出用于物体检测,其中使用CNN分类网络对目标提案进行独立分类。这种方法在计算上非常昂贵,因为网络必须对每个提议执行前向传递。Fast R-CNN[7]通过对输入图像执行单次传递并在提案之间共享卷积通道特征来解决这个问题。与R-CNN相比,Fast R-CNN的计算效率提高了一个数量级,而性能变化可以忽略不计。通常,在物体(如车辆)在尺度上出现较大变化的情况下,Fast R-CNN[7]在多个尺度上重复应用。Fast R-CNN的共同问题是它的性能依赖于质量区域提案。为了解决这个问题,Faster R-CNN[8]在CNN框架内实现了一个区域提议网络。这允许端到端的物体检测,通过CNN网络的单次传递,同时提高计算效率。因此,更快的R-CNN是我们的起点基线。尽管取得了成功,但这些方法也有一定的缺点。首先,更快的R-CNN不能很好地处理小物体。目前,这是通过显著上采样输入图像来解决的。加上深度网络的使用,这增加了显著的计算成本,限制了它们在智能车辆中的应用。其次,感兴趣区域(RoI)池化层根据提案框的位置池化特征,而提案框的位置往往定位不佳。这些特征可能不能准确地表示底层对象的特征问题,Faster R-CNN[8]在CNN框架内实现了一个区域提议网络。这允许端到端的物体检测,通过CNN网络的单次传递,同时提高计算效率。因此,更快的R-CNN是我们的起点基线。尽管取得了成功,但这些方法也有一定的缺点。首先,更快的R-CNN不能很好地处理小物体。目前,这是通过显著上采样输入图像来解决的。加上深度网络的使用,这增加了显著的计算成本,限制了它们在智能车辆中的应用。其次,感兴趣区域(RoI)池化层根据提案框的位置池化特征,而提案框的位置往往定位不佳。这些特征可能不能准确地表示底层对象的特征

在这项工作中,我们试图通过提出迭代边界框细化的新策略来解决上述问题(参见图 1),称为RefineNet。这个想法是让RoI池层通过使用前一次迭代的回归边界框,从更接近对象真实值的区域中池特征。我们还对各种参数对速度和精度的影响进行了定量分析,并就某些参数对检测器性能的影响获得了有用的见解。

我们提出了一种新的策略(称为RefineNet),以提高车辆检测和定位精度,而计算成本却略有增加。图中,橙色、黄色和绿色分别代表迭代1、2和3时的边界框。

我们在KITTI物体检测基准[13]上评估了我们的方法,并表明使用较小网络(ZF Net[14])的RefineNet与使用更大网络(VGG16[4])的Faster R-CNN可以达到相当的精度。此外,使用ZF的RefineNet比使用VGG16的faster R-CNN运行速度大约快9倍,使其成为基准测试中最快的检测器之一,而检测性能几乎没有妥协。

二、RefineNet

在本节中,我们将介绍迭代改进边界框位置以提高定位精度的策略。图2给出了RefineNet的总体架构。它是建立在更快的R-CNN[8]目标探测器之上的。在我们进入RefineNet的细节之前,我们简要介绍Fast R-CNN和Faster R-CNN的相关部分。

RefineNet:在物体检测数据集上进行微调的预训练网络用于提取卷积特征映射(C5)。使用这些特性,建议框是用Faster R-CNN框架[8]生成的。接下来,对C5特征和建议框重复此操作,生成一组精细化的检测框D1。这构成了RefineNet中的第一次迭代。连续的迭代i涉及通过使用来自先前迭代Di 1的检测来细化检测框Di,作为构建RoI池特征的建议框。

A. Fast R-CNN

Fast R-CNN[7]在R-CNN[6]的基础上,使用感兴趣区域池化层来逼近特征。假设我是一个空间维度的输入图像H×W。首先,在输入图像上提取卷积特征映射。对于ZF[14]网络,这是对应于conv5层的输出,是一个尺寸为矩阵(C5),尺寸为:矩阵(C5),尺寸为:矩阵(C5),尺寸为:矩阵(C5),尺寸为:矩阵(C5),尺寸为:矩阵(C5);这里16表示输入图像通过conv5层后被缩放的因子。这也适用于AlexNet[3]和VGG16[4]网络架构。从C5开始,通过池化对应空间位置的特征并重新采样到固定大小(ZF网络为6 × 6 × 256),提取每个提案箱对应的特征。边界框回归和类分数通过使用3级联的全连接层映射池特征来建模。

B. Faster R-CNN

Faster R-CNN[8]是建立在区域建议网络(RPN)和Fast R-CNN[7]两个模块之上的。整个系统是一个单通道端到端统一的物体检测网络。RPN层取代了被馈送到Fast R-CNN框架中的提案框输入。

区域建议网络以图像作为输入,输出建议框和对象得分。该过程被建模为从输入图像中提取的卷积特征映射的回归问题(C5用于与Fast RCNN共享计算成本)。为了生成区域建议,在输入特征上应用一个大小为3 × 3空间窗口的小卷积滤波器,然后使用两个1 × 1卷积滤波器在每个空间位置生成建议框和对象得分。在每个空间位置,可以使用锚盒生成多个提案。这些锚框可以在多个尺度和纵横比下设置,并作为回归的参考,即如果将第k个锚框定义为ak = {xk, yk, wk, hk},则回归目标将为{δxk, δyk, δwk, δhk},其中δxk = xk−xg,以此类推。这里的下标g对应于最近的真实值框。该公式允许在不构建特征金字塔的情况下在多个尺度和纵横比下生成提案。

C. RefineNet 训练

训练RefineNet类似于训练Faster R-CNN网络。它遵循4步交替训练。

1)在ImageNet[15]数据集上训练用预训练模型初始化的RPN网络。

2)使用步骤1中生成的建议训练快速R-CNN网络(从随机初始化)。

3)固定卷积层,从步骤2开始微调RPN网络。

4)固定卷积层,从步骤3开始微调Fast R-CNN网络。

为了训练RPN网络,每个锚盒在每个位置被分配一个类标签和回归目标。标签按以下顺序分配。(i)如果锚框与一个大于0.6的不在乎框有交集/联合(IoU)重叠,则忽略锚框。(ii)如果锚盒的IoU重叠度大于0.5,则锚盒被视为前景。(iii)对于所有未分配锚箱的真实值箱,采用IoU最高的锚箱。(iv)将所有IoU与所有小于0.3的真实值盒重叠的锚盒视为背景。

用于训练RefineNet的损失函数来自Faster R-CNN,其中定义了一个多任务损失函数来学习分类和回归(两个兄弟输出层)。

D. RefineNet 测试

测试RefineNet是一个迭代过程。在第一次迭代中,使用Faster R-CNN框架生成检测框Di。我们将已经计算的C5卷积特征映射存储在内存中。接下来,每个连续迭代i使用前一个迭代的C5和检测框Di 1作为Fast R-CNN RoI池化阶段的提案框输入。在每一次迭代中,检测盒与真实值盒的重叠度都更高。因此,在连续迭代中汇集的特征将更好地表示底层对象类及其位置。这允许递归地提高分类分数和定位精度。


https://dhexx.cn/news/show-5497349.html

相关文章

MySQL——存储

一、什么是存储过程 存储过程(Stored Procedure) 是预编译并存储在数据库中的一段SQL代码集合,支持参数传递、流程控制和返回值。通过类似“方法调用”的方式执行,存储过程将复杂业务逻辑封装在数据库层,简化应用开发…

案例:塔能科技驱动河南某市政照明智慧升级

在城市发展的进程中,节能减排与智能化升级始终是备受瞩目的关键议题。市政照明作为城市基础设施的重要组成部分,其能源利用效率与智能化管理水平,直接关乎城市的绿色发展与居民的生活品质。今天,就让我们深入了解塔能科技在河南某…

Kotlin协程之异常处理(launch和async的异常处理机制详解)

一 异常传播机制 先将异常传递给子协程,取消其所有子线程;(取消级联) 而后取消自身; 再将异常传递给父协程,父协程接收到异常后,会取消其下所有子协程之后取消自身,再向上传递&…

STM32F407实现内部FLASH的读写功能

文章目录 前言一、FLASH 简介二、读数据三、写数据四、最终效果五、完整工程 前言 我们通过仿真器下到芯片的程序一般会保存到eflash里面,在我们的STM32F407里面这里的空间挺大的,我所使用的芯片型号是STM32F407ZGT6,FLASH 容量为 1024K 字节…

日常记录-CentOS 9安装java17

文章目录 前言一、手动安装 Oracle JDK 17 或 OpenJDK 17(适合自定义路径)二、使用 CentOS 9 系统包安装 OpenJDK 17(简单稳定)三、使用 SDKMAN(管理多个版本)总结 前言 CentOS 9安装java17 一、手动安装 …

AI agents系列之智能体框架介绍

1. 引言 智能体AI Agents框架通过赋予自主系统动态感知、推理和行动的能力,彻底改变了AI领域。本节将探讨智能体框架的核心概念,并重点介绍为什么开源解决方案对现代AI开发的创新和可扩展性至关重要。 1.1 什么是智能体框架? 智能体框架代…

用Python手搓一个简单的饭店管理系统(上篇)

用Python手搓一个简单的饭店管理系统(上篇) :用Python手搓一个简单的饭店管理系统(上篇) 最终系统效果展示:

Aosp13 文件应用点击apk无反应的处理

最近遇到一个问题,在A13上,打开文件管理应用时,点击apk 无反应或者启动安装进程后安装完成或取消安装进程,再次点击apk 无反应。在此记录该问题。 做一下修改:root/package/ providers/DownloadProvider/下 jenkinsdel…

计算机网络 - 四次挥手相关问题

通过一些问题来讨论 TCP 的四次挥手断开连接 说一下四次挥手的过程?为什么需要四次呢?time-wait干嘛的,close-wait干嘛的,在哪一个阶段?状态CLOSE_WAIT在什么时候转换成下一个状态呢?为什么 TIME-WAIT 状态…

阶段性使用总结-通义灵码

序言 前段时间用通义灵码,参加了下数字中国闽江流域的比赛。https://www.dcic-china.com/competitions/10173 最后成绩一般般,106名,大概有2000多人参加这题目,估计有一堆小号。 按照下面这个思路建模的,迭代了大概15…