MobileSal:极其高效的RGB-D显著性物体检测模型
摘要
问题一:什么叫做MobileSal?
MobileSal 是指一种用于移动设备上的显著性检测(Saliency Detection)方法,通常是针对在资源受限的环境(如智能手机)上运行的视觉模型。
问题二:什么叫做隐式恢复技术?
在图像去噪、图像修复或图像超分辨率等任务中,隐式恢复技术指的是利用模型(如深度神经网络)自动学习从损坏或低分辨率图像中恢复细节的过程。与传统的显式恢复方法不同,隐式恢复往往通过学习到的特征和模式来推断缺失的信息,而无需明确地计算每个恢复步骤。
问题三:什么叫做紧凑金字塔细化(CPR)操作?
紧凑金字塔细化(Compact Pyramid Refinement, CPR) 操作通常是指在图像处理、计算机视觉或深度学习中,用于多尺度特征提取和细化的技术。它结合了金字塔结构和细化操作,以提高模型在不同尺度下的性能,尤其是在目标检测、图像分割等任务中。
金字塔结构:金字塔结构是一种多尺度处理方式,通常包括空间金字塔或图像金字塔。它通过对图像进行不同层次的缩放或多尺度处理,使得模型能够在不同分辨率下提取特征。金字塔结构的关键优势在于能够捕捉到大范围的上下文信息以及细节信息。
细化:细化操作指的是在图像或特征的多尺度表示中,通过某些方法增强或优化重要的信息,以提升细节和结构的准确性。细化通常用于后处理阶段,目的是提升模型的精度和准确性,修正模糊或不清晰的部分。
紧凑:意味着该方法在金字塔结构的基础上进行优化,使得不同尺度之间的特征信息更加紧密和有效,避免冗余。
一 介绍
问题1:什么叫做深度信息?
深度信息(Depth Information):是指图像中每个像素到观察者(或摄像头)之间的距离。深度图像通常通过深度摄像头(如Kinect、LiDAR等)采集,能够提供关于场景中物体相对位置和空间关系的信息。
问题二:什么叫做MobileNets网络和ShuffleNets?
MobileNets:MobileNets 是由 Google 提出的一个轻量级卷积神经网络架构,专门优化了在移动设备上的计算效率。MobileNets 的关键创新是使用 深度可分离卷积(Depthwise Separable Convolutions)来替代标准的卷积操作,从而减少计算量和参数量。
关键特点:
-
深度可分离卷积:标准卷积操作是对输入特征图与卷积核进行全局运算,而深度可分离卷积将卷积操作分为两步:
- 深度卷积(Depthwise Convolution):每个输入通道独立进行卷积,计算量大大减少。
- 逐点卷积(Pointwise Convolution):使用 1×11 \times 11×1 卷积对深度卷积后的输出进行合并,这样可以将信息从各个通道融合到一起。
-
宽度乘子(Width Multiplier):MobileNets 引入了一个宽度乘子 α\alphaα,用来控制网络的宽度。通过调整这个乘子,可以在精度和计算效率之间进行平衡。
-
分辨率乘子(Resolution Multiplier):MobileNets 还使用了分辨率乘子 β\betaβ,可以改变输入图像的分辨率,进一步减少计算量。
ShuffleNet:ShuffleNet 是由华为提出的另一种高效神经网络架构,旨在通过更巧妙的设计进一步提高计算效率。ShuffleNet 的一个关键特点是引入了 通道洗牌(Channel Shuffle) 操作。
关键特点:
-
组卷积(Group Convolutions):与标准卷积不同,组卷积将输入特征图分成若干组,并在每组内部进行卷积,从而减少了卷积操作的计算量。组卷积通过限制每次卷积操作的输入通道数来减少计算量。
-
通道洗牌(Channel Shuffle):在组卷积之后,通道洗牌操作打乱(shuffle)不同组之间的通道,使得各组之间的特征能够融合。这一操作显著提高了组卷积的表现,同时保持了计算量较低。
-
减少计算量:ShuffleNet 通过组卷积和通道洗牌,显著减少了计算量,同时保证了特征信息能够充分流动。

二 相关工作
2.1 显著性物体检测
2.2 RGB-D显著性物体检测
2.3 高效的骨干网络

问题一:什么叫做MobileNetV2?
MobileNetV2 是一种轻量级的卷积神经网络(CNN)架构,主要用于移动端和嵌入式设备上的计算机视觉任务。它的设计旨在提高效率和降低计算开销,同时尽量保持较高的准确率。MobileNetV2 相比于 MobileNetV1 引入了一些新颖的技术来优化网络结构,尤其是以下几个关键创新:
-
倒残差结构(Inverted Residuals):这是 MobileNetV2 的一个核心创新。它通过使用“倒残差块”,将传统的卷积结构反转,使得通道数在卷积操作中先扩展再压缩,从而提高了计算效率。
-
深度可分离卷积(Depthwise Separable Convolution):类似于 MobileNetV1,MobileNetV2 也使用深度可分离卷积,减少了计算量。深度可分离卷积通过将标准卷积拆分为两步:深度卷积(对每个输入通道单独卷积)和逐点卷积(1x1卷积)来减少计算量和参数量。
-
线性瓶颈(Linear Bottlenecks):该结构通过在网络末端使用线性激活函数,而不是传统的ReLU激活函数,来防止信息丢失,改善了模型的表达能力。
MobileNetV2 以其高效的计算和较小的模型大小,成为了许多移动设备、嵌入式设备和资源受限的环境中的常用模型。
三 方法

3.1 概述
问题一: 什么叫做RGB信息流和深度信息流?
在你的模型中,你分别使用 RGB 信息流和深度信息流进行特征提取。也就是说,你的模型会分别处理两种不同的数据源:一种是图像的 RGB(红绿蓝)颜色信息,另一种是深度图(即每个像素的深度值)。
- RGB 信息流:这部分处理传统的颜色图像,提取颜色和纹理等特征。
- 深度信息流:这部分则处理深度图像,深度图通常用于表示物体的距离或深度信息,它可以帮助模型理解物体的空间结构和几何形状。
问题二:什么叫做倒置残差块?
倒置残差块(Inverted Residual Block)是一种在神经网络架构中常见的模块,特别是在轻量级卷积神经网络(如 MobileNetV2)中广泛使用。它的核心思想是通过特定的结构设计来提高计算效率,减少模型的参数量,同时保持较高的表现。
倒置残差块的设计大致可以分为以下几个关键步骤:
-
深度可分卷积(Depthwise Separable Convolution):
- 与常规卷积不同,深度可分卷积将卷积操作分为两步:首先对每个输入通道独立进行卷积,然后将结果进行逐点卷积(1x1卷积)。这种方式显著减少了计算量。
-
倒置结构:
- 在倒置残差块中,首先用一个 扩展卷积(通常是 1x1 卷积)来增加通道数,从而“扩展”特征空间。然后是深度可分卷积,用来对每个通道独立处理特征。最后,再通过一个 1x1 卷积将通道数压缩回原来的规模。
- 这个扩展和压缩的过程就像“倒置”了传统卷积块的结构。通常,传统卷积是先压缩再扩展,而倒置残差块则是先扩展再压缩。
-
残差连接:
- 重要的一点是,倒置残差块通过残差连接(skip connection)将输入和输出进行相加,这样可以更好地进行信息流的传递,避免梯度消失或爆炸的情况,帮助更深的网络训练。
3.2 RGB特征和深度特征的跨模态融合
3.3 隐式深度恢复
问题一:什么叫做SSIM 指标?
![]()
这是一个关于隐式深度恢复(IDR)损失函数的公式。其中,表示 IDR 的损失值,它通过 1 减去预测深度图和真实深度图之间的结构相似性(SSIM)来计算。在深度学习处理深度图相关任务时,通常希望预测的深度图与真实深度图尽可能相似。这里采用 1 减去 SSIM 的方式,是因为 SSIM 值越接近 1 表示两张图越相似,那么 1 减去 SSIM 得到的损失值就越小,意味着预测图和真实图越接近,符合损失函数越小模型性能越好的目标设定。
3.4 紧凑金字塔细化

CPR 模块将多层次的深层特征有效地融合起来。“D-Conv” 代表着深度可分离卷积。
四 实验
4.1 实验环境及设置
骨干网络:MobileNetV2
数据集:NJU2K (1985)、DUTLF-D (1200)、NLPR (1000)、STERE (1000)、 SSD (80)和 SIP(927)
训练数据集:NJU2K (1500)、NLPR (700)
测试数据集:NJU2K(485)、NLPR (300) 除了DUTLE-D数据集,其他数据集直接用于测试
在 DUTLF-D [51] 数据集上,我们按照 [51], [80],使用其中的 800 张图片用作训练,400 张图片用做测试。
评估指标:F-measure Fβ,平均绝对误差(MAE)
4.2 与著名方法的比较
量化比较 定性比较 CPU推断时间
4.3 消融研究
不同的RGB-D融合策略 为 RGB-D 融合节省了时间 深度信息恢复质量 IDR 损失函数的选择
损失函数中的 λ 常数 深度信息和 CMF 模块 CMF 模块中的初始 RGB-D 融合操作 CMF 模块的混合策略 紧凑金字塔细化 混合损失函数
4.4 IDR在其他任务中的应用
五 总结
相关文章:
MobileSal:极其高效的RGB-D显著性物体检测模型
摘要 问题一:什么叫做MobileSal? MobileSal 是指一种用于移动设备上的显著性检测(Saliency Detection)方法,通常是针对在资源受限的环境(如智能手机)上运行的视觉模型。 问题二:什…...
【个人总结】1. 开发基础 工作三年的嵌入式常见知识点梳理及开发技术要点(欢迎指正、补充)
【个人总结】1. 开发基础 工作三年的嵌入式常见知识点梳理及开发技术要点(欢迎指正、补充) 工作快三年以来 分别进行了嵌入式MCU及外设开发、RTOS、传感器、文件系统及USB、Linux、GUI、通讯协议、毫米波雷达、少量的DSP和物联网开发。 特此总结&#x…...
硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库
文章目录 一、引言二、安装Ollama部署DeepSeekR1三、安装Docker四、安装使用RAGFlow4.1 系统架构4.2 部署流程4.3 使用RAGFlow4.4 在RAGFlow中新增模型4.5 创建知识库4.6 创建私人助理使用RGA 一、引言 本地部署DeepSeek R1 Ollama RAGFlow构建个人知识库,通过将…...
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
1.打开MySQL的官网,选择下载(Download) MySQL[这里是图片001]https://www.mysql.com/cn/ 2.往下划点击MySQL Community(GPL)Downloads 3.要下载MySQL的jar包的选择Connector/J 4.进入后,根据自己的需求选择相应的版本 5.下载完成后,进行解压…...
idea 2019.3常用插件
idea 2019.3常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2019.3常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl;”,键入一个字符,然后在Ace Jump…...
对CSS了解哪些?
CSS(Cascading Style Sheets,层叠样式表)是用来描述HTML文档外观和布局的语言。以下是对CSS的常见了解范围: 1. CSS 基础 选择器:如通用选择器 (*)、类型选择器、类选择器 (.class)、ID选择器 (#id)、后代选择器、伪类…...
TikTok账户安全指南:如何取消两步验证?
TikTok账户安全指南:如何取消两步验证? 在这个数字化的时代,保护我们的在线账户安全变得尤为重要。TikTok,作为全球流行的社交媒体平台,其账户安全更是不容忽视。两步验证作为一种增强账户安全性的措施,虽…...
从零到一:构建现代 React 应用的完整指南
1. create-react-app (CRA) 简介: create-react-app 是官方推荐的 React 项目脚手架工具,提供了一个开箱即用的开发环境,帮助开发者快速启动 React 应用。它会自动配置 Webpack、Babel、ESLint 等工具,让你专注于开发而不需要手动配置工具链。 特点: 零配置:CRA 自动配…...
【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
机器学习数学基础:28.卡方检验
卡方检验教程 一、引言 在统计学的广阔领域中,卡方检验(Chi - Square Test)宛如一把锐利的手术刀,能够精准剖析数据背后隐藏的关系与模式。它主要用于两大核心任务:一是深入分析两个及两个以上分类变量之间错综复杂的…...
【工具插件类教学】实现运行时2D物体交互的利器Runtime2DTransformInteractor
目录 编辑 1. 插件核心功能 1.1 基础变换操作 1.2 高级特性 2. 安装与配置 2.1 导入插件 2.2 配置控制器参数 2.3 为物体添加交互功能 3. 使用示例 3.1 基础操作演示 3.2 多选与批量操作 3.3 自定义光标与外观 4. 高级配置技巧 4.1 动态调整包围框控件尺寸 4.…...
回调处理器
文章目录 什么是回调处理器回调处理器的工作流程回调处理器的使用自定义链组件中的回调 内置回调处理器自定义回调处理器 在编程领域中,回调是一个非常重要的概念。简而言之,回调是一种特殊的函数或方法,它可以被传递给另一个函数作为参数&am…...
Redis-03高级篇中-多级缓存:
说明: 分布式缓存和多级缓存的视频,与springcloud高级篇redis的一模一样。这里就不在重复学习了,如果后面用到关于redis的配置,直接到springcloud模块安装的redis中学习即可。 多级缓存 0.学习目标 1.什么是多级缓存 传统的缓…...
Spring Boot ShardingJDBC分库分表(草稿)
ShardingJDBC分库分表 1.Maven 引用 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version></dependency><dependency><…...
Jenkins 环境搭建---基于 Docker
前期准备 提前安装jdk、maven、nodeJs(如果需要的话) 创建 jenkins 环境目录,用来当做挂载卷 /data/jenkins/ 一:拉取 Jenkins 镜像 docker pull jenkins/jenkins:lts 二:设置 Jenkins挂载目录 mkdir -p ~/jen…...
如何在自定义组件中使用v-model实现双向绑定
在 Vue 2 中,v-model 是双向数据绑定的语法糖,它默认将 value 作为 prop 传入组件,并通过监听 input 事件来更新父组件的数据。若要在自定义组件中实现 v-model 的双向绑定,需遵循以下步骤: 1. 基本实现:va…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_pool_t 类型
ngx_pool_t 定义在 src/core/ngx_core.h typedef struct ngx_pool_s ngx_pool_t; ngx_pool_s 定义在 src/core/ngx_palloc.h struct ngx_pool_s {ngx_pool_data_t d;size_t max;ngx_pool_t *current;ngx_chain_t *chain;ng…...
如何在 ubuntu 上使用 Clash 与 docker 开启代理拉起
如何在 ubuntu 上使用 Clash https://github.com/doreamon-design/clash/releases上面是clash 的地址 clash_2.0.24_linux_386.tar.gz 下载 386 的 如果你的电脑是inter tar -xzvf clash_2.0.24_linux_386.tar.gz 启动 ./clash 然后会在电脑上生成一个config的文件 /home/xxx/…...
linux tcpdump抓包
参数说明: -i 指定网卡 -w 指定保存文件 -s0 完整抓包 -G 指定间隔时长(秒) -C 指定每个文件大小(M) 用法1: 指定端口输出到指定文件 tcpdump -i em3 -w 182910.pcap 用法2: 指定端口每10分钟输出到不同文件 tcpdump -i em3 -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap 用法3: 指…...
PLSQL连接Oracle 19c报错ORA-28040
PLSQL连接Oracle 19c报错ORA-28040 原因解析解决办法原因解析 使用PLSQL Developer连接19c数据库报错: ORA-28040: No matching authentication protocol报错信息解析: [oracle@ora19c ~]$ oerr ora 2804028040, 0000, "No matching authentication protocol" /…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
