vision mamba

Mamba 成功的關鍵在于采用了 Selective Scan Space State Sequential Model(S6 模型)。是用于解決自然語言處理(NLP)任務。與 transformer中注意力機制不同,Mamba的S6 將 1D 向量中的每個元素(例如文本序列)與在此之前掃描過的信息進行交互,從而有效地將二次復雜度降低到線性。

然而,由于視覺信號(如圖像)不像文本序列那樣具有天然的有序性,因此無法在視覺信號上簡單地對 S6 中的數據掃描方法進行直接應用。為此研究者設計了 Cross-Scan 掃描機制。Cross-Scan 模塊(CSM)采用四向掃描策略,即從特征圖的四個角同時掃描(見上圖)。該策略確保特征中的每個元素都以不同方向從所有其他位置整合信息,從而形成全局感受野,又不增加線性計算復雜度。

圖片

在 CSM 的基礎上,作者設計了 2D-selective-scan(SS2D)模塊。如上圖所示,SS2D 包含了三個步驟:

  • scan expand 將一個 2D 特征沿 4 個不同方向(左上、右下、左下、右上)展平為 1D 向量。

  • S6 block 獨立地將上步得到的 4 個 1D 向量送入 S6 操作。

  • scan merge 將得到的 4 個 1D 向量融合為一個 2D 特征輸出。

圖片

上圖為本文提出的 VMamba 結構圖。VMamba 的整體框架與主流的視覺模型類似,如上圖?(b)所示。經過Layer Normalization后,輸入被分成兩個分支。在第一個分支中,輸入經過一個線性層,然后是一個激活函數。在第二個分支中,輸入通過線性層、深度可分離卷積和激活函數進行處理,然后輸入到2D選擇性掃描(SS2D)模塊中進行進一步的特征提取。隨后,使用Layer Normalization對特征進行歸一化,然后使用第一個分支的輸出執行逐元素的生成,以合并兩條路徑。最后,使用線性層混合特征,并將此結果與殘差連接相結合,形成VSS塊的輸出。本文默認采用SiLU作為激活函數。

????????其主要區別在于基本模塊(VSS block)中采用的算子不同。VSS block 采用了上述介紹的 2D-selective-scan 操作,即 SS2D。SS2D 保證了 VMamba 在線性復雜度的代價下實現全局感受野。

SS2D由三個部分組成:掃描expanding操作、S6塊操作和掃描merging操作。如圖2(a)所示,掃描expanding操作沿著四個不同的方向(左上到右下、左下到右上、右下到左上、右上到左下)將輸入圖像展開成序列。然后通過S6塊對這些序列進行特征提取,確保各個方向的信息被徹底掃描,從而捕獲不同的特征。隨后,如圖2(b)所示,掃描merging操作將來自四個方向的序列相加并合并,將輸出圖像恢復為與輸入相同的大小。源自Mamba[16]的S6塊在S4[17]之上引入了一種選擇機制,通過根據輸入調整SSM的參數。這使模型能夠區分并保留相關信息,同時過濾掉不相關的信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37515.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37515.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37515.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

現代信息檢索筆記(二)——布爾檢索

目錄 信息檢索概述 IR vs數據庫: 結構化vs 非結構化數據 結構化數據 非結構化數據 半結構化數據 傳統信息檢索VS現代信息檢索 布爾檢索 倒排索引 一個例子 建立詞項(可以是字、詞、短語、一句話)-文檔的關聯矩陣。 關聯向量 檢索效果的評價 …

如何在Sklearn Pipeline中運行CatBoost

介紹 CatBoost的一大特點是可以很好的處理類別特征(Categorical Features)。當我們將其結合到Sklearn的Pipeline中時,會發生如下報錯: _catboost.CatBoostError: data is numpy array of floating point numerical type, it mea…

python-期末代碼復習

import numpy as np import pandas as pd import matplotlib.pyplot as plt import warningswarnings.filterwarnings(actionignore) plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False你提供的這兩行代碼是Python編程語言中用于設置matplotlib庫…

大淘客api實現多多進寶的商品查詢PHP版

大家好,我是網創有方,今天教大家如何使用大淘客的api實現拼多多商品詳情信息查詢。這里用到的多多進寶,如果沒有多多進寶的,先去多多進寶注冊個賬號吧! 第一步:進入大淘客官方創建應用,并且下載…

【PyQt5】一文向您詳細介紹 QLineEdit() 的作用

【PyQt5】一文向您詳細介紹 QLineEdit() 的作用 下滑即可查看博客內容 🌈 歡迎蒞臨我的個人主頁 👈這里是我靜心耕耘深度學習領域、真誠分享知識與智慧的小天地!🎇 🎓 博主簡介:985高校的普通本碩&…

2239. 找到最接近 0 的數字

給你一個長度為 n 的整數數組 nums ,請你返回 nums 中最 接近 0 的數字。如果有多個答案,請你返回它們中的 最大值 。 示例 1: 輸入:nums [-4,-2,1,4,8] 輸出:1 解釋: -4 到 0 的距離為 |-4| 4 。 -2 到…

開發一個微信小程序需要用到哪些技術?

開發一個微信小程序需要用到以下幾種技術: 1. 基礎技術 HTML: 用于定義小程序的頁面結構。CSS: 用于頁面的樣式設計。JavaScript: 用于實現頁面的交互功能。 2. 微信小程序專用技術 WXML(WeiXin Markup Language): 類似于HTML&#xff0c…

計量校準溫度儀表的常見分類有哪些?

溫度儀表在計量校準中,可以說是比較常見的儀器,而溫度儀器因為用于校準的場景很多,應用的場合不同,也是有著很多不同的分類,今天就簡單為大家介紹一些溫度儀表的細分分類。 溫度儀表根據測溫的方式不同,可以…

2024華為OD機試真題- 電腦病毒感染-(C++/Python)-C卷D卷-200分

2024華為OD機試題庫-(C卷+D卷)-(JAVA、Python、C++) 題目描述 一個局域網內有很多臺電腦,分別標注為 0 ~ N-1 的數字。相連接的電腦距離不一樣,所以感染時間不一樣,感染時間用 t 表示。 其中網絡內一臺電腦被病毒感染,求其感染網絡內所有的電腦最少需要多長時間。如果…

Laravel Activity Log操作日志擴展包

Laravel Activity Log操作日志擴展包 簡介 Laravel Action Logs操作日志記錄Laravel Activity Log 很多數據管理員都想記錄他們用戶的所有活躍記錄。這個包可以很方便的記錄你的用戶何時何地的創建、更新實體的記錄。外加,現在這個包還可以記錄多個版本的實體間數…

【基礎篇】第3章 索引與文檔操作

在Elasticsearch的世界里,索引是存儲數據的地方,文檔則是索引中的基本單位,包含具體的數據信息。本章將深入探討索引和文檔操作的基礎,從創建到管理,為高效數據處理奠定基礎。 3.1 索引概念與創建 3.1.1 索引、類型與…

PyTorch之nn.Module與nn.functional用法區別

文章目錄 1. nn.Module2. nn.functional2.1 基本用法2.2 常用函數 3. nn.Module 與 nn.functional3.1 主要區別3.2 具體樣例:nn.ReLU() 與 F.relu() 參考資料 1. nn.Module 在PyTorch中,nn.Module 類扮演著核心角色,它是構建任何自定義神經網…

【Spring Boot 源碼學習】初識 ConfigurableEnvironment

《Spring Boot 源碼學習系列》 初識 ConfigurableEnvironment 一、引言二、主要內容2.1 Environment2.1.1 配置文件(profiles)2.1.2 屬性(properties) 2.2 ConfigurablePropertyResolver2.2.1 屬性類型轉換配置2.2.2 占位符配置2.…

wxss和css有什么區別?

WXSS(WeiXin Style Sheets)和CSS(Cascading Style Sheets)在功能和應用上有很多相似之處,但針對微信小程序的特殊需求,WXSS對CSS進行了一些擴展和修改。以下是WXSS和CSS之間的主要區別: 尺寸單…

Mybatis實現流程

一&#xff0c;UserDAO 接口定義 首先&#xff0c;定義 UserDAO接口&#xff0c;包含 getList()方法,定義類型為List<User>&#xff1a; package dao;import model.User; import java.util.List;public interface UserDAO {List<User> getList(); }二&#xff0c…

Python--進程基礎

創建進程 os.fork() 該方法只能在linux和mac os中使用&#xff0c;因為其主要基于系統的fork來實現。window中沒有這個方法。 通過os.fork()方法會創建一個子進程&#xff0c;子進程的程序集為該語句下方的所有語句。 import os??print("主進程的PID為:" , os.g…

Python pdfkit wkhtmltopdf html轉換pdf 黑體字體亂碼

wkhtmltopdf 黑體在html轉換pdf時&#xff0c;黑體亂碼&#xff0c;分析可能wkhtmltopdf對黑體字體不太兼容&#xff1b; 1.html內容如下 <html> <head> <meta http-equiv"content-type" content"text/html;charsetutf-8"> </head&…

DreamView數據流

DreamView數據流 查看DV中界面啟動dag&#xff0c;/apollo/modules/dreamview_plus/conf/hmi_modes/pnc.pb.txt可以看到點擊界面的planning按鈕&#xff0c;后臺其實啟動的是/apollo/modules/planning/planning_component/dag/planning.dag和/apollo/modules/external_command…

語音識別應用Python示例

語音識別是將語音信號轉換為文本的技術&#xff0c;是人工智能領域的重要研究方向之一。下面是一個基于Python的簡單語音識別應用的代碼示例。 首先&#xff0c;需要安裝Python的語音識別庫SpeechRecognition。可以使用以下命令進行安裝&#xff1a; pip install SpeechRecog…

版本號比較

版本號比較&#xff1a; 注意&#xff1a; 不可以直接使用字符串比較的方法進行版本號比較。例如 2.29.1 > 2.3.0 是 false 的 版本號比較可以參考以下代碼&#xff1a; function compareVersion(v1, v2) {v1 v1.split(.)v2 v2.split(.)const len Math.max(v1.length, …