论文阅读:VMamba: Visual State Space Model

论文阅读:VMamba: Visual State Space Model

abstract

卷积神经网络(CNNs)和ViTs是视觉表示学习的两个最受欢迎的基础模型。尽管CNNs在图像分辨率方面表现出显著的可扩展性,具有线性复杂度,但ViTs在拟合能力上超越了它们,尽管它们面临着二次方复杂度的挑战。仔细检查发现,ViTs通过整合全局感受野和动态权重实现了卓越的视觉建模性能。这一观察启发我们提出了一种新的架构,它继承了这些组件,同时提高了计算效率。为此,我们从最近引入的状态空间模型中汲取灵感,提出了视觉状态空间模型(VMamba),它在不牺牲全局感受野的情况下实现了线性复杂度。为了解决遇到的与方向敏感性相关的问题,我们引入了交叉扫描模块(CSM)来遍历空间域,并将任何非因果视觉图像转换为有序的块序列。

3. Method

3.1 Preliminaries

State Space Models

State Space Models (SSMs) 通常被视为线性时不变系统,它们将激励 x ( t ) ∈ R L x(t)\in\mathbb{R}^L x(t)RL映射到响应 y ( t ) ∈ R L y(t)\in\mathbb{R}^L y(t)RL。数学上,这些模型通常被表述为线性常微分方程(ODEs),公式如下:

h ′ ( t ) = A h ( t ) + B x ( t ) y ( t ) = C h ( t ) + D x ( t ) \begin{aligned}h^{\prime}(t)&=Ah(t)+Bx(t)\\y(t)&=Ch(t)+Dx(t)\end{aligned} h(t)y(t)=Ah(t)+Bx(t)=Ch(t)+Dx(t)

其中,参数包括状态大小为 N N N的矩阵 A ∈ C N × N , B , C ∈ C N A\in \mathbb{C}^{N\times N},B, C\in\mathbb{C}^N ACN×N,B,CCN以及跳跃连接 D ∈ C 1 D\in\mathbb{C}^1 D

### 在Gazebo中添加行人模型或模拟行人行为 #### 添加静态行人模型 为了向Gazebo仿真环境中引入行人模型,可以通过编辑`.world`文件来实现。具体来说,在该文件内定义新的模型实例,并将其属性设定为所需的行人外观和位置[^2]。 ```xml <model name='pedestrian'> <static>true</static> <link name='body'> <visual name='appearance'> <!-- 定义行人的视觉表现 --> <geometry> <mesh><uri>file://path_to_pedestrian_mesh.dae</uri></mesh> </geometry> </visual> </link> </model> ``` #### 启用动态行为 为了让行人具备运动能力,需进一步配置动力学参数以及安装必要的物理引擎插件以处理碰撞检测等功能[^1]。这通常涉及修改上述XML结构中的链接部分,加入额外的动力学描述: ```xml <link name="body"> ... <collision name="contact_surface"> <geometry> <box><size>.4 .4 1.75</size></box><!-- 行人体积近似 --> </geometry> </collision> <inertial> <mass>70</mass><!-- 假设成年男性的平均体重 --> <inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/> </inertial> <plugin filename="libgazebo_ros_bumper.so" name="bumper_plugin"/> </link> ``` #### 实现复杂的社会交互模式 对于更高级别的应用需求——比如研究群体间的相互作用规律,则可以借助专门开发的ROS Gazebo扩展组件如`gym_ped_sim`。此工具不仅允许创建多个具有不同个性特征的角色个体,而且能自动记录实验过程中产生的各类事件数据以便后续分析处理[^3]。 ```python from gym import spaces import rospy from gazebo_msgs.msg import ModelState, ModelStates from geometry_msgs.msg import Pose, Twist class PedSimEnv(gym.Env): """自定义环境类""" def __init__(self): super(PedSimEnv).__init__() self.action_space = spaces.Discrete(9) # 动作空间大小 state_msg = ModelState() state_msg.model_name = 'actor' pose = Pose() twist = Twist() pub_modelstate = rospy.Publisher('/gazebo/set_model_state', ModelState, queue_size=1) rate = rospy.Rate(10) while not rospy.is_shutdown(): pub_modelstate.publish(state_msg) rate.sleep() def step(self, action): pass def reset(self): pass ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值