全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点

简介: 全新轻量化模型 | 轻量化沙漏网络助力视觉感知涨点

1、简介


人体姿态估计(HPE)是计算机视觉中的一项经典任务,它主要通过识别人的关节的位置来表示人的方向。HPE可以用来理解和分析人类的几何和运动相关信息。Newell等人在Mask3D中提出的堆叠沙漏架构是第一个基于深度学习的HPE方法之一,因为经典方法在此之前主导了HPE文献。

在这项工作中,利用重复的自下而上和自上而下的处理,从不同的尺度上捕获信息,并引入中间监督,在每个阶段迭代细化预测。与当时最先进的方法相比,这导致了准确性的显著提高。

然而,HPE应该是一个实时的应用程序,因为它经常被用作另一个模块的前身。因此,在这种情况下,关注计算效率是至关重要的。在本研究中对堆叠的沙漏网络进行了架构和非架构修改,以获得一个既准确且计算效率高的模型。

在下文中对基线模型进行了简要描述。原始架构由多个堆叠的沙漏单元组成,每个沙漏单元由4个下采样和上采样级别组成。在每一级,通过残差块和最大池化操作实现下采样,而通过残差块以及朴素最近邻插值实现上采样。该过程确保模型捕获局部和全局信息,这对于连贯地了解全身以获得准确的最终姿态估计非常重要。在每个最大池化操作之后,网络分支以预池化分辨率通过另一个残差块应用更多卷积,其结果作为跳过连接添加到沙漏后半部分的相应上采样特征图。模型的输出是每个关节的热图,该热图对每个像素处关节存在的概率进行建模。预测每个沙漏后的中间热图,并对其应用损失。

此外,这些预测被投影到更多的通道,并作为后续沙漏的输入,以及当前沙漏的输入及其特征图输出。

源代码:https://github.com/jameelhassan/PoseEstimation


2、设计选择


2.1 深度可分离的卷积

深度可分离卷积取代传统卷积,减少卷积运算的参数数量。这是通过使用空间卷积单独分割卷积,然后通过点态卷积聚合通道信息来实现的,如图1所示。

image.png

2.2 空洞卷积

公式1中描述的空洞卷积是常规卷积运算的一种变体,其具有指数增加感受野而不损失分辨率或覆盖范围的能力,如池化运算的情况。

image.png

其中k是离散滤波器,是空洞因子,是空洞卷积运算。正则卷积对应于一维卷积。扩展卷积对计算复杂性几乎没有影响。

2.3 Ghost Bottleneck

Ghost 提出的Ghost Bottleneck也通过以不同的方式分割卷积,降低了卷积操作的计算复杂度。为了产生固定数量的通道,Ghost Bottleneck使用常规卷积输出一小部分通道,其余的则通过更简单的线性操作产生,如图2所示。这些通道通过连接和卷积输出所需的通道数量。

image.png

2.4 DiCE Bottleneck

Dimension-wise Convolutions for Effificient Networks(DiCE)单元是由Mehta等人在DiceNet中提出的一个卷积单元,它融合了维向卷积之后和维向融合。卷积操作应用于三个输入维度(宽度、高度和深度)。为了沿着每个维度组合编码的信息,使用了一个有效的融合单元来组合这些表示。因此,直径单元可以有效地沿着空间尺寸和通道尺寸捕获信息。

2.5 Shuffle Bottleneck

shuffle单元首次在Shufflflenet中提出,它使用点卷积和通道Shuffle来提高计算效率和保持准确性。

image.png

2.6  Perceptual Loss

感知损失被用来比较带有微小差异的相似图像。在这里使用它作为两幅图像之间的特征水平均方误差(MSE)损失,它计算一个高级特征图的损失,而不是原始图像空间。

这里的假设是,如果第一个沙漏在高特征水平上“感知”第二个沙漏“感知”的东西,网络的整体性能将会得到改善。总损失,如式2所示,包括感知损失和预测损失中权重较高的原始预测损失。

image.png

2.7 Residual connections

作者还用带有Concat的残差连接替换带有add的残差连接操作,然后进行逐点卷积,以获得所需数量的通道,称为「ResConcat」。还包括从沙漏最窄的特征图(颈部)到下一个沙漏颈部的残差连接,称为「NarrowRes」


3、实验


3.1 Alternative bottlenecks

image.png


4、参考


[1].To Perceive or Not to Perceive: Lightweight Stacked Hourglass Network.

相关文章
|
8月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
272 2
|
8月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
221 1
|
8月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
6月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
405 2
|
6月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
146 8
|
8月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
384 60
|
8月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
401 57
|
8月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
264 57
|
7月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
283 0

热门文章

最新文章