每日文献(十三)——Part one
今天看的是《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池层通过使用前一次迭代的回归边界框,从更接近对象真实值的区域中池特征。我们还对各种参数对速度和精度的影响进行了定量分析,并就某些参数对检测器性能的影响获得了有用的见解。
我们在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的相关部分。
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池化阶段的提案框输入。在每一次迭代中,检测盒与真实值盒的重叠度都更高。因此,在连续迭代中汇集的特征将更好地表示底层对象类及其位置。这允许递归地提高分类分数和定位精度。
相关文章:
每日文献(十三)——Part one
今天看的是《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 str…...
游戏引擎学习第225天
只能说太难了 回顾当前的进度 我们正在进行一个完整游戏的开发,并在直播中同步推进。上周我们刚刚完成了过场动画系统的初步实现,把开场动画基本拼接完成,整体效果非常流畅。看到动画顺利呈现,令人十分满意,整个系统…...
git提取出指定提交所涉及的所有文件
当需要提取出某次提交所修改过的所有的文件时,可以使用如下命令,该命令来自文心一言 mkdir temp_dir git diff-tree --no-commit-id --name-only -r <commit-hash> | xargs -I {} cp --parents {} temp_dir/--no-commit-id:不显示提交…...
Linux 使用Nginx搭建简易网站模块
网站需求: 一、基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab 二、给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/stud…...
抖音ai无人直播间助手场控软件
获取API权限 若使用DeepSeek官方AI服务,登录其开发者平台申请API Key或Token。 若为第三方AI(如ChatGPT),需通过接口文档获取访问权限。 配置场控软件 打开DeepSeek场控软件,进入设置界面找到“AI助手”或“自动化”…...
深度解析Redis过期字段清理机制:从源码到集群化实践 (二)
本文紧跟 上一篇 深度解析Redis过期字段清理机制:从源码到集群化实践 (一) 可以从redis合集中查看 八、Redis内核机制深度解析 8.1 Lua脚本执行引擎原理 Lua脚本执行流程图技术方案 执行全流程解析: #mermaid-svg-X51Gno…...
TCP标志位抓包
说明 TCP协议的Header信息,URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置,对应的是tcp[13],因为字节数是从[0]开始数的,14字节对应的就是tcp[13],因此在抓这几个标志位的数据包时就要明确范围在tcp[13] 示例1…...
如何实现动态请求地址(baseURL)
需求: 在项目中遇到了需要实时更换请求地址,后续使用修改后的请求地址(IP) 例如:原ip请求为http://192.168.1.1:80/xxx,现在需要你点击或其他操作将其修改为http://192.168.1.2:80/xxx,该如何操作 tips: 修改后需要跳转( 修改了IP之前的不可使用,需要访问修改后的地址来操作 …...
封装一个搜索区域 SearchForm.vue组件
父组件 <template><div><SearchForm:form-items"searchItems":initial-values"initialValues"search"handleSearch"reset"handleReset"><!-- 自定义插槽内容 --><template #custom-slot"{ form }&qu…...
《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS》全文阅读
《ADVANCING MATHEMATICAL REASONING IN LAN- GUAGE MODELS: THE IMPACT OF PROBLEM-SOLVING DATA, DATA SYNTHESIS METHODS, AND TRAINING STAGES》全文阅读 提升语言模型中的数学推理能力:问题求解数据、数据合成方法及训练阶段的影响 \begin{abstract} 数学推…...
Day56 | 99. 恢复二叉搜索树、103. 二叉树的锯齿形层序遍历、109. 有序链表转换二叉搜索树、113. 路径总和 II
99. 恢复二叉搜索树 题目链接:99. 恢复二叉搜索树 - 力扣(LeetCode) 题目难度:中等 代码: class Solution {public void recoverTree(TreeNode root) {List<TreeNode> listnew ArrayList<>();dfs(root,…...
GPT - GPT(Generative Pre-trained Transformer)模型框架
本节代码主要为实现了一个简化版的 GPT(Generative Pre-trained Transformer)模型。GPT 是一种基于 Transformer 架构的语言生成模型,主要用于生成自然语言文本。 1. 模型结构 初始化部分 class GPT(nn.Module):def __init__(self, vocab…...
前端加密的几种方式
前端加密的几种方式 一、对称加密原理常用算法代码示例(AES)适用场景 二、非对称加密原理常用算法代码示例(RSA)适用场景 三、哈希函数原理常用算法代码示例(SHA-256)适用场景 四、Base64 编码原…...
贪心算法:部分背包问题深度解析
简介: 该Java代码基于贪心算法实现了分数背包问题的求解,核心通过单位价值降序排序和分阶段装入策略实现最优解。首先对Product数组执行双重循环冒泡排序,按wm(价值/重量比)从高到低重新排列物品;随后分两阶段装入:循环…...
连接器电镀层的作用与性能
连接器电镀层的作用与性能: 镀金 金具有很高的化学稳定性,只溶于王水,不溶于其它酸,金镀层耐蚀性强,导电性好,易于焊接,耐高温,硬金具有一定的耐磨性。 对钢、铜、银及其合金基体而…...
神经网络如何表示数据
神经网络是如何工作的?这是一个让新手和专家都感到困惑的问题。麻省理工学院计算机科学和人工智能实验室(CSAIL)的一个团队表示,理解这些表示,以及它们如何为神经网络从数据中学习的方式提供信息,对于提高深…...
【双指针】和为 s 的两个数字(easy)
和为 s 的两个数字(easy) 题⽬描述:解法⼀(暴⼒解法,会超时):解法⼆(双指针 - 对撞指针):算法思路:C 算法代码Java 算法代码: 题⽬链接…...
.net core 工作流介绍
WikeFlow2.0介绍 WikeFlow官网:http://www.wikesoft.com WikeFlow学习版演示地址:http://workflow.wikesoft.com WikeFlow学习版源代码下载:WorkFlow: 多数据库支持,同时支持:SQLServer,Mysql࿰…...
nginx自编译重现gzip和chunked的现象
前言 最近做项目,发现一个比较好玩的事,nginx的module gzip模式默认支持1KB压缩,和chunked返回,本来现在的很多框架都很完善了,但是,一些新语言框架或者一些老旧框架会不能完整支持chunked,导致…...
jspm企业采购管理系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
摘要 相比于以前的传统企业采购手工管理方式,智能化的管理方式可以大幅降低企业采购管理的运营人员成本,实现了企业采购管理的标准化、制度化、程序化的管理,有效地防止了物资信息、物资入库、出库等的随意管理,提高了信息的处理…...
iOS应用开发指南
开发一款iOS应用是一个系统化的过程,涵盖从环境搭建、界面设计、编码实现到测试发布的各个环节。以下是一份面向初学者的iOS移动应用开发指南,帮助你从零开始构建自己的App。 一、准备工作:开发环境与工具 必备设备 Mac电脑:iO…...
Go之defer关键字:优雅的资源管理与执行控制
在Go语言中,defer关键字是处理资源释放、错误恢复和代码逻辑清理的利器。它看似简单,却隐藏着许多设计哲学和底层机制。本文将深入剖析defer的执行原理、使用场景和常见陷阱,助你掌握这一关键特性。 一、defer基础:延迟执行的本质…...
现代测试自动化框架教程:Behave接口测试与Airtest移动端UI自动化
前言 我发现每天还是陆陆续续有人在看我之前写的自动化框架搭建的文档;即使很早就有新的框架,更好的选择出来了;所以特别写了这一篇目前大厂也在使用的;日活400w有实际落地的自动化测试架构方案; 随着测试技术…...
优化运营、降低成本、提高服务质量的智慧物流开源了
智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本可通过边缘计算技术…...
使用Lombok的@Slf4j和idea构建:找不到log符号-解决
问题:在使用Lombok的Slf4j构建项目时提示如下内容: MvcConfiguration.java:26:9 java: cannot find symbol symbol: variable log location: class cn.edu.wynu.mrcinerec.mrserver.config.WebMvcConfiguration查了网上的方法都是改配置 但是使用Googl…...
陕化之光(原创)
当城市在和周公化合 陕化的工装已与朝霞发生反应 工人先锋号已然吹响 陕化工人游走在工作的床层 钢铁森林间穿梭的身影 是沉默的催化剂 让冰冷的方程式 绽放出最活跃的分子温度 扳手与阀门对话时 塔林正在记录 关于电流与压力的学习笔记 每一次精确的调控 都是舞台上…...
redis 内存中放哪些数据?
在 Java 开发中,Redis 作为高性能内存数据库,通常用于存储高频访问、低延迟要求、短期有效或需要原子操作的数据。以下是 Redis 内存中常见的数据类型及对应的使用场景,适合面试回答: 1. 缓存数据(高频访问,降低数据库压力) 用户会话(Session):存储用户登录状态、临时…...
【Python爬虫】简单案例介绍1
目录 三、Python爬虫的简单案例 3.1 网页分析 单页 三、Python爬虫的简单案例 本节以科普中国网站为例。 3.1 网页分析 单页 在运用 Python 进行爬虫开发时,一套严谨且有序的流程是确保数据获取高效、准确的关键。首先,深入分析单个页面的页面结构…...
LLM-as-Judge真的更偏好AI输出?
论文标题 Do LLM Evaluators Prefer Themselves for a Reason? 论文地址 https://arxiv.org/pdf/2504.03846 代码地址 https://github.com/wlchen0206/llm-sp 作者背景 弗吉尼亚大学,乔治华盛顿大学 实践建议 在将LLM部署为评估器之前,应严格评…...
【软考-架构】13.3、架构复用-DSSA-ABSD
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 1、软件架构复用2、特定领域软件架构DSSADSSA的三个基本活动参与DSSA的四种角色人员建立DSSA的过程三层次模型 考试真题第一题第二题 3、基于架构的软件开发ABSD的软件开发…...
