Reid系列論文學習——無人機場景下基于 Transformer 的輕量化行人重識別

今天介紹的一篇論文是針對無人機場景下的行人重識別,論文題目為:"無人機場景下基于 Transformer 的輕量化行人重識別"。該論文針對無人機場景下行人呈現多角度多尺度的特點、以及傳統CNN網絡在行人重識別任務中受限于感受野和下采樣導致的無法充分提取特征,同時也為了便于算法的部署而提出了一種基于Transformer輕量化Reid網絡(Lightweight Transformer-based Person Re-Identification, LTReID)。

注:該論文并未開源任何資源(比如代碼和數據集),因此論文的真實性并不清楚,本人這里并不負責復現,只是通過該論文為讀者提供一個研究思路。

目錄

國內外ReID研究難題

國內外ReID在無人機領域的研究現狀

Transformer存在的問題

論文對于算法改進的思路

基于Transformer 的輕量化行人重識別關鍵技術

面向Transformer 的掩碼搜索剪枝算法

損失函數設計?

面向無人機場景的空間信息嵌入

參考文獻


國內外ReID研究難題

論文首先介紹了國內外圍繞ReID的研究難題,比如人物遮擋問題的重識別、全局和局部特征提取效果差的問題。大多數研究主要從添加注意力機制、引入無監督學習和修改網絡結構等多個方面提高網絡性能,但這些方法無法避免由于卷積和池化帶來的識別度下降的問題,同時部分算法會導致模型參數較大,推理實踐慢

對上述部分,這里說一下個人觀點供大家參考,首先為什么說卷積和池話帶來識別度下降的問題,這是因為卷積獲得的特征基本都是局部特征,無法像Transformer一樣獲取全局特征(或者可以理解為Transformer就是一個特殊的卷積),雖然網絡的加深,網絡的感受野勢必也會受到影響,池化層也影響到周邊像素的特征提取,因為這些種種問題會導致識別率低。


國內外ReID在無人機領域的研究現狀

然后作者又討論了國內外Reid在無人機領域的研究,例如,作者指出,近些年元學習遷移學習被引入無人機場景下的行人重識別[1],利用元學習提高特征提取能力,利用遷移學習改進所獲得的元知識,用這兩種策略解決無人機場景下人物圖片差異較大的挑戰。還有使用卷積后特征圖的子空間池化來表征輸入的圖像[2],用該方法讓網絡學習到更具判別性緊湊性的特征表示。還有在模型訓練中加入協方差信息提高網絡的魯棒性。但不論怎樣,作者指出這只是將一些經典算法應用到無人機場景中,沒有專門針對無人機場景下的特點對模型進行改進,比如沒有利用最新基于注意力機制的 Transformer 模型對無人機場景下的行人圖像進行全局特征的提取(我覺得這里說法有問題,只能說你可能沒有找到這類論文,而不能說沒有)。


Transformer存在的問題

隨后作者又指出了Transformer存在的一些問題,比如參數量大導致推理和部署困難,因此作者想到了剪枝進行輕量化。通常剪枝分為結構化剪枝(通道剪枝)和非剪枝化剪枝(權重剪枝),非結構化剪枝一般是需要特定的硬件或者算法庫的支持,所以作者選擇了結構化剪枝(也是最為常用的方法)。多數結構化剪枝方法由于剪枝后或者剪枝期間需要進行額外的訓練,并且剪枝流程需要引入額外的超參數進行調整,因此在實際中阻礙了結 構化剪枝方法的應用。(這里作者附上了一個參考文獻,是說Transformer可以不用在訓練中剪枝,而是在推理中進行動態剪枝,這個想法很有意思,后面有時間我會研究下并進行分享[3-4])


論文對于算法改進的思路

針對以上問題,我對作者在論文中的算法改進進行了以下總結:

1.?利用多頭多注意力機制獲取長距關聯,提升網絡的特征提取能力。

2.針對無人機場景下特點(多角度,多尺度),用Circle邊界樣本挖掘損失進行訓練。

3.在transformer網絡中加入邊信息嵌入技術,將空間角度非視覺信息特征嵌入到輸入中進行學習。

4.使用快速的掩碼搜索剪枝[5]進行Transfomer輕量化,可在不進行重訓練情況下的輕量化剪枝。

網絡結構圖如下所示:

圖中的空間角度信息就是作者說的使用邊信息嵌入技術,將空間信息嵌入到輸入中進行訓練學習。

基于Transformer 的輕量化行人重識別關鍵技術

面向Transformer 的掩碼搜索剪枝算法

為了實現在不對模型進行重訓練的情況下進行輕量化,通過費雪信息矩陣對Transformer 網絡中頭部和濾波器進行輕量化剪枝。(這部分也等我后面研究一下這個算法)

首先Transformer 的剪枝問題可以歸納為以下優化方法:

其中L為損失函數,m為掩碼向量,C 為對浮點運算或時延等成本限制,為了有效的優化該方法,對損失函數圍繞 m = 1 進行二階泰勒展開,并且假設模型收斂到局部最優,損失函數優化可以表示如下:

其中, l表示 K 維全 1 向量, H 為損失函數對應掩碼向量的海森矩陣,海森矩陣 H 是二階偏導數矩陣,計算過于復雜,因此 H 需要進一步簡化為對角矩陣形式的費雪信息矩陣,則簡化為:

損失函數設計?

由于無人機多視角多尺度特點,不同行人之間的圖像差別度減少,相同行人不同視角和高度的圖像差距增加,常用的交叉熵和三元組損失函數很難 滿足模型訓練要求。因此采用Circle 損失函數和邊界樣本挖掘損失函數。

L_{c}為 Circle 損失函數?,在 Circle 損失函數中,相較于一般的交叉熵損失函數,從最小化s_{n}^{j}-s_{p}^{j}為優化目標(n表示的類間相似,也就是負樣本,p表示類內)擴展為\alpha _{n}^{j}(s_{n}^{j}-\Delta _{n})-\alpha _{p}^{i}(s_{p}^{i}-\Delta _{p}).

邊界樣本挖掘損失:

?這種就是在尋找最困難的正樣本和最困難的負樣本。

面向無人機場景的空間信息嵌入

由于無人機多視角的特點,提出了 面向無人機場景的空間信息嵌入,將空間角度信息等非視覺信息嵌入到輸入序列中,以學習相同對象不同空間視角的不變特性。作者指出,空間角度信息可以分為兩種:(1)以行人所在地為原點,人臉朝向為 X 軸,設無人機地面投影點和原點的連線 X 軸正方向的順時針夾角為方向角 φ [0, 2π]。以人身為 Z 軸,設無人機和原點連線與 Z 軸 正 方 向 的 順 時 針 夾 角 為 仰 角 θ ∈ [0,π/ 2] 。在兩個方向上分別等間隔取N個區間

論文引用:

胡海峰,倪宗煜,趙海濤,等. 無人機場景下基于 Transformer 的輕量化行人重識別[ J]. 南京郵電大學學報(自然科學版),2024,44 (3):48 62.

參考文獻

[1] XU L L, PENG H F, LU X, et al. Learning to generalize aerial person re-identification using the meta-transfer method[ J]. Concurrency and Computation: Practice and Experience, 2023, 35(12): e7687.

[2] ZHANG S Z, ZHANG Q, YANG Y F, et al. Person reidentification in aerial imagery[ J]. IEEE Transactions on Multimedia, 2021, 23: 281-291.

[3]?HOU L, HUANG Z, SHANG L, et al. DynaBERT: dynamic BERT with adaptive width and depth [ J ]. Advances in Neural Information Processing Systems, 2020, 33: 9782-9793.

[4]?LIU Z J, LI F R, LI G, et al. EBERT: efficient BERT inference with dynamic structured pruning[C]//Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021. 2021: 4814-4823.

[5]?KWON W, KIM S, MAHONEY M W, et al. A fast post-training pruning framework for transformers [ J ]. Advances in Neural Information Processing Systems,2022, 35: 24101-24116.

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

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

相關文章

力扣1895.最大的幻方

力扣1895.最大的幻方 求前綴和暴力枚舉幻方邊長 求行列前綴和 class Solution {public:int largestMagicSquare(vector<vector<int>>& grid) {int n grid.size() , m grid[0].size();vector<vector<int>> rowsum(n,vector<int>(m));for…

關于汽車軟件測試的幾點想法

如果你有過汽車行業的從業經驗&#xff0c;你就應該知道&#xff0c;過去汽車行業只做測試&#xff0c;而不做開發。汽車制造商的主要任務&#xff08;從工程角度看&#xff09;是將來自數百家供應商的數千個零部件組裝在一起。考慮到現代軟件的復雜性和客戶的“挑剔”&#xf…

Rufus 制作啟動盤 | 便攜的工作空間

嘮嘮閑話 最近服務器硬盤故障多&#xff0c;在修復過程中&#xff0c;學習了一些操作&#xff0c;這里做個記錄。本期主要介紹 U盤啟動盤的制作&#xff0c;以及持久化存儲。 U 盤啟動盤 鏡像選擇 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式&#xff0c;即 “形容…

【trition-server】python-backend 源碼閱讀

c++ 的stub 代碼import 了 python的類 sys 和 triton_python_backend_utils.pystub本身是一個進程,與主進程做IPC通信docker 運行一個trition-server (base) zhangbin@ubuntu-server:~$ docker run --shm-size=1g --ulimit memlock=-1 -p 8000:8000 -p 8001:8001 -p 8002:8002…

windwos環境和pyspark環境問題解決-記錄

一&#xff1a; 打不開cmd/cmd閃退問題解決 1.winR打開 regedit 2.在注冊表找到 HKEY_CURRENT_USER\Software\Microsoft\Command Processor路徑 3.在該路徑下找到AutoRun&#xff0c;將數值改為空 可能原因&#xff1a;找到AutoRun 發現值是&#xff1a; if exist & if…

新港海岸NCS8822 低功耗DP轉VGA 分辨率支持1920*1200*60HZ

NCS8822描述&#xff1a; NCS8822是一個低功耗顯示端口到vga轉換器。NCS8822集成了一個與DP1.2兼容的接收器和一個高速三通道視頻DAC。對于DP1.2輸入&#xff0c;NCS8822支持1車道/2車道&#xff0c;也支持車道交換功能。對于VGA輸出NCS8822&#xff0c;在60Hz幀率下對WUXGA&a…

C++ 棧-隊列-優先級隊列

目錄 1 棧 2 隊列 3 deque 介紹 4 優先級隊列 5 反向迭代器 棧也是我們在C語言就模擬實現過的一種數據結構&#xff0c;在C中&#xff0c;棧其實和我們前面模擬實現過的string、vector等容器有一點區別&#xff0c;站起是不是容器&#xff0c;而是一種容器適配器&#xff0c;我…

java必知必會-j2ee規范(上)

文章目錄 一、WEB三大規范二、j2ee相關接口(上)1.javax.servlet.Servlet2.javax.servlet.http.HttpServlet3.javax.servlet.ServletRequest4.javax.servlet.http.HttpServletRequest5.javax.servlet.ServletResponse6.javax.servlet.http.HttpServletResponse7. javax.servlet.…

k8s record 20240705

k8s 安全管理 request 是1g&#xff0c;你得不到要求&#xff0c;我就不創建了&#xff0c;這就是準入控制二次校驗 SA就是serviceAccount。 內部是SA和 token, 外部用戶進來就是 .kube/config文件 namespace下的是role&#xff0c;整個集群是 ClusterRole. 動作就是Binding li…

pytest-rerunfailures:優化測試穩定性的失敗重試工具

筆者在執行自動化測試用例時&#xff0c;會發現有時候用例失敗并非代碼問題&#xff0c;而是由于服務正在發版&#xff0c;導致請求失敗&#xff0c;從而降低了自動化用例的穩定性&#xff0c;最后還要花時間定位到底是自身case的原因還是業務邏輯問題&#xff0c;還是其他原因…

大數據面試題之Presto[Trino](3)

目錄 Presto如何處理數據的聚合操作&#xff1f; Presto支持哪些類型的JOIN操作&#xff1f; 如何在Presto中使用子查詢&#xff1f; 解釋Presto中的窗口函數。 Presto中的Page和Block是什么&#xff1f; 描述Presto如何處理列式存儲數據。 ORC和Parquet格式在Presto中的…

適合家居建材企業的CRM系統盤點(2024版)

當前&#xff0c;CRM市場上&#xff0c;國際巨頭的市場優勢正在逐漸減弱&#xff0c;國內CRM企業奮起追趕&#xff0c;呈現出強勁的崛起勢頭。因此&#xff0c;對于家居建材企業來講&#xff0c;在進行CRM選型時&#xff0c;如何選擇一款合適的系統是關乎企業高效發展的重要課題…

探索C嘎嘎的奇妙世界:第十九關---STL(list的模擬實現)

1. 基本框架 首先&#xff0c;我們先從節點的準備工作入手&#xff0c;請看示例&#xff1a; #pragma once #include<iostream> #include<assert.h> using namespace std; //節點 template<class T> struct ListNode {ListNode<T>* _next;Li…

矩陣鍵盤與密碼鎖

目錄 1.矩陣鍵盤介紹?編輯 2.掃描的概念 3.代碼演示&#xff08;讀取矩陣鍵盤鍵碼&#xff09; 4.矩陣鍵盤密碼鎖 1.矩陣鍵盤介紹 為了減少I/O口的占用&#xff0c;通常將按鍵排列成矩陣形式&#xff0c;采用逐行或逐列的 “掃描”&#xff0c;就可以讀出任何位置按鍵的狀態…

免殺筆記 ----> ShellCode Loader !!!

學了那么久的前置知識&#xff0c;終于到了能上線的地方了&#xff01;&#xff01;&#xff01; 不過這里還沒到免殺的部分&#xff0c;距離bypass一眾的殺毒軟件還有很長的路要走&#xff01;&#xff01; 目錄 1.ShellCode 2.ShellCode Loader的概念 3.可讀可寫可…

字符串函數5-9題(30 天 Pandas 挑戰)

字符串函數 1. 相關知識點1.5 字符串的長度條件判斷1.6 apply映射操作1.7 python大小寫轉換1.8 正則表達式匹配2.9 包含字符串查詢 2. 題目2.5 無效的推文2.6 計算特殊獎金2.7 修復表中的名字2.8 查找擁有有效郵箱的用戶2.9 患某種疾病的患者 1. 相關知識點 1.5 字符串的長度條…

代碼隨想錄算法訓練營第四十四天|188.買賣股票的最佳時機IV、309.最佳買賣股票時機含冷凍期、714.買賣股票的最佳時機含手續費

188.買賣股票的最佳時機IV 題目鏈接&#xff1a;188.買賣股票的最佳時機IV 文檔講解&#xff1a;代碼隨想錄 狀態&#xff1a;不會 思路&#xff1a; 在股票買賣1使用一維dp的基礎上&#xff0c;升級成二維的即可。 定義dp[k1][2]&#xff0c;其中 dp[j][0] 表示第j次交易后持…

虛擬ECU:純電動汽車發展下的新選擇

人類文明的進步是一個不斷自我否定、自我超越的過程。21世紀以來&#xff0c;隨著科技進步和經濟社會發展&#xff0c;能源和交通系統已從獨立于自然環境的孤立系統&#xff0c;轉變為與自然、技術、社會深度耦合的復雜系統。為實現可持續發展和應對氣候變化&#xff0c;世界各…

【居家養老實訓室】:無障礙設施建設與評估

本文圍繞居家養老實訓室中的無障礙設施建設與評估展開討論。首先闡述了無障礙設施對于居家養老的重要性&#xff0c;接著詳細介紹了常見的居家養老無障礙設施類型&#xff0c;包括出入口、通道、臥室、衛生間等區域的設施。然后重點探討了無障礙設施的評估方法和標準&#xff0…

【C++航海王:追尋羅杰的編程之路】關聯式容器的底層結構——AVL樹

目錄 1 -> 底層結構 2 -> AVL樹 2.1 -> AVL樹的概念 2.2 -> AVL樹節點的定義 2.3 -> AVL樹的插入 2.4 -> AVL樹的旋轉 2.5 -> AVL樹的驗證 2.6 -> AVL樹的性能 1 -> 底層結構 在上文中對對map/multimap/set/multiset進行了簡單的介紹&…