【目標檢測】【NeuralPS 2023】Gold-YOLO:通過收集與分發機制實現的高效目標檢測器

Gold-YOLO: Efficient Object Detector via Gather-and-Distribute Mechanism
Gold-YOLO:通過收集與分發機制實現的高效目標檢測器

在這里插入圖片描述

0.論文摘要

在過去的幾年中,YOLO系列模型已成為實時目標檢測領域的領先方法。許多研究通過修改架構、增強數據和設計新的損失函數,將基線提升到了更高的水平。然而,我們發現盡管特征金字塔網絡(FPN)和路徑聚合網絡(PANet)已經緩解了這一問題,但之前的模型仍然存在信息融合問題。因此,本研究提出了一種先進的“收集與分發”機制(GD機制),該機制通過卷積和自注意力操作實現。這種新設計的模型名為Gold-YOLO,它增強了多尺度特征融合能力,并在所有模型規模上實現了延遲與準確性的理想平衡。此外,我們首次在YOLO系列中實現了MAE風格的預訓練,使YOLO系列模型能夠從無監督預訓練中受益。Gold-YOLO-N在COCO val2017數據集上取得了39.9%的AP,在T4 GPU上達到了1030 FPS,比之前具有相似FPS的SOTA模型YOLOv6-3.0-N高出+2.4%。

論文鏈接

1.引言

目標檢測作為一項基本的視覺任務,旨在識別物體的類別并定位其位置。它可以廣泛應用于智能安防、自動駕駛、機器人導航和醫療診斷等多個領域。高性能、低延遲的目標檢測器在邊緣設備上的部署正受到越來越多的關注。

在過去的幾年中,研究人員對基于CNN的檢測網絡進行了廣泛研究,逐步將目標檢測框架從兩階段(如Faster RCNN [42]和Mask RCNN [25])發展到單階段(如YOLO [39]),并從基于錨點的方法(如YOLOv3 [41]和YOLOv4 [2])發展到無錨點的方法(如CenterNet [10]、FCOS [46]和YOLOX [11])。[12, 7, 17]通過NAS研究了目標檢測任務中的最優網絡結構,而[16, 23, 19]則探索了通過蒸餾提升模型性能的另一種途徑。單階段檢測模型,尤其是YOLO系列模型,因其結構簡單且在速度和精度之間取得平衡,在工業界廣受歡迎。

骨干網絡的改進也是視覺領域的重要研究方向。正如綜述[20]所述,[26, 27, 59, 21]在精度和速度之間取得了平衡,而[9, 35, 22, 18]在精度方面表現出色。這些骨干網絡在不同視覺任務中提升了原始模型的性能,涵蓋了從目標檢測等高級任務到圖像恢復等低級任務。通過使用基于Transformer的編碼器-解碼器結構,研究人員構建了一系列類似DETR的目標檢測模型,如DETR[3]和DINO[56]。這些模型能夠捕捉物體之間的長程依賴關系,使得基于Transformer的檢測器在性能上能夠與大多數經典檢測器相媲美甚至超越。盡管基于Transformer的檢測器表現出色,但在速度上仍不及基于CNN的模型。基于CNN的小規模目標檢測模型在速度-精度權衡中仍占據主導地位,如YOLOX[11]和YOLOv6-v8[32, 48, 14]。我們關注的是實時目標檢測模型,特別是面向移動端部署的YOLO系列。主流的實時目標檢測器由三部分組成:骨干網絡、頸部網絡和頭部網絡。骨干網絡架構已被廣泛研究[41, 43, 9, 35],頭部網絡通常較為簡單,由若干卷積層或全連接層組成。YOLO系列中的頸部網絡通常使用特征金字塔網絡(FPN)及其變體來融合多級特征。這些頸部模塊基本遵循圖3所示的架構。然而,當前的信息融合方法存在一個顯著缺陷:當需要跨層(例如第1層和第3層)整合信息時,傳統的FPN結構無法無損地傳遞信息,這阻礙了YOLO系列模型實現更好的信息融合。

為了進一步提高模型的準確性,我們還引入了一種預訓練方法,即在ImageNet 1K數據集上使用MAE方法對骨干網絡進行預訓練,這顯著提升了模型的收斂速度和精度。例如,我們經過預訓練的Gold-YOLO-S模型達到了46.4%的AP,優于之前SOTA的YOLOv6-3.0-S模型的45.0% AP,且速度相近。

2.相關工作

2.1 實時目標檢測器

經過多年的發展,YOLO系列模型在實時目標檢測領域變得非常流行。YOLOv1-v3 [39, 40, 41] 構建了最初的YOLO模型,確定了由backbone-neck-head三部分組成的單階段檢測結構,通過多尺度分支預測不同大小的目標,成為代表性的單階段目標檢測模型。YOLOv4 [2] 優化了之前使用的darknet backbone結構,并提出了一系列改進,如Mish激活函數、PANet和數據增強方法。YOLOv5 [13] 繼承了YOLOv4 [2] 的方案,并改進了數據增強策略,提供了更多模型變體。YOLOX [11] 將Multi positives、Anchor-free和Decoupled Head引入模型結構,為YOLO模型設計設定了新的范式。YOLOv6 [32, 31] 首次將重參數化方法引入YOLO系列模型,提出了EfficientRep Backbone和Rep-PAN Neck。YOLOv7 [48] 著重分析了梯度路徑對模型性能的影響,并提出了E-ELAN結構,在不破壞原始梯度路徑的情況下增強模型能力。YOLOv8 [14] 綜合了之前YOLO模型的優勢,整合了這些技術,達到了當前YOLO家族的SOTA水平。

2.2 基于Transformer的目標檢測

視覺Transformer(ViT)作為一種有競爭力的替代方案,挑戰了廣泛應用于各種圖像識別任務的卷積神經網絡(CNN)。DETR [3] 將Transformer結構應用于目標檢測任務,重構了檢測流程,消除了許多手工設計的部分和NMS組件,從而簡化了模型設計和整體流程。Deformable DETR [61] 結合了可變形卷積的稀疏采樣能力和Transformer的全局關系建模能力,在提高模型速度和精度的同時,加快了收斂速度。DINO [56] 首次引入了對比去噪、混合查詢選擇和前瞻兩次方案。最近的RT-DETR [36] 改進了編碼器-解碼器結構,解決了類似DETR模型速度慢的問題,在精度和速度上均超越了YOLO-L/X。然而,類似DETR結構的局限性使其在小模型領域無法展現出足夠的優勢,而YOLO系列在精度和速度的平衡上仍保持SOTA地位。

2.3 用于目標檢測的多尺度特征

傳統上,不同層次的特征攜帶了關于各種尺寸物體的位置信息。較大的特征包含低維的紋理細節和較小物體的位置,而較小的特征則包含高維信息和較大物體的位置。由[34]提出的特征金字塔網絡(FPN)的原始理念是,這些多樣化的信息可以通過相互輔助來增強網絡性能。FPN通過跨尺度連接和信息交換,提供了一種高效的多尺度特征融合架構設計,從而提升了不同尺寸物體的檢測精度。

基于FPN,路徑聚合網絡(PANet)[49]引入了自底向上的路徑,使不同層級之間的信息融合更加充分。類似地,EfficientDet [44]提出了一種新的可重復模塊(BiFPN),以提高不同層級之間信息融合的效率。M2Det [60]引入了一種高效的MLFPN架構,包含U形結構和特征融合模塊。Ping-Yang Chen [5]通過雙向融合模塊改進了深層和淺層之間的交互。與這些層間工作不同,[37]使用集中特征金字塔(CFP)方法探索了單個特征信息。此外,[53]通過漸進特征金字塔網絡(AFPN)擴展了FPN,以實現非相鄰層之間的交互。針對FPN在檢測大物體時的局限性,[30]提出了一種改進的FPN結構。YOLO-F [6]通過單層特征實現了最先進的性能。SFNet [33]通過語義流對齊不同層級的特征,提升了FPN在模型中的性能。SAFNet [29]引入了自適應特征融合和自增強模塊。[4]提出了一種用于目標檢測的并行FPN結構,具有雙向融合功能。然而,由于網絡中路徑過多且交互方式間接,之前的基于FPN的融合結構在速度、跨層級信息交換和信息丟失方面仍存在缺陷。

然而,由于網絡中路徑數量過多且交互方式間接,之前基于FPN的融合結構在速度、跨層級信息交換和信息丟失方面仍存在缺陷。

3.方法

3.1 預備

YOLO系列的頸部結構,如圖3所示,采用了傳統的FPN(特征金字塔網絡)結構,該結構包含多個分支用于多尺度特征融合。然而,它僅完全融合了相鄰層次的特征,對于其他層次的信息,只能通過“遞歸”方式間接獲取。圖3展示了傳統FPN的信息融合結構:其中現有的第1、2、3層從上到下排列。FPN用于不同層次之間的融合。當第1層從其他兩個層次獲取信息時,存在兩種不同的情況:

在這里插入圖片描述

圖3:(a) 是傳統頸部信息融合結構的示例圖。(b) 和 ? 是AblationCAM [38] 的可視化結果。

  1. 如果層級1希望利用層級2的信息,它可以直接訪問并融合這些信息。

  2. 如果層級1想要使用層級3的信息,層級1應遞歸調用相鄰層的信息融合模塊。具體來說,必須先融合層級2和層級3的信息,然后層級1才能通過結合層級2的信息間接獲取層級3的信息。

這種傳輸模式在計算過程中可能導致信息的顯著丟失。各層之間的信息交互只能交換由中間層選擇的信息,而未選擇的信息在傳輸過程中會被丟棄。這導致某一層級的信息只能充分輔助相鄰層級,而削弱了對其他全局層級的輔助作用。因此,信息融合的整體效果可能會受到限制。

為了避免傳統FPN結構在信息傳遞過程中的損失,我們摒棄了原有的遞歸方法,構建了一種新穎的收集與分發機制(GD)。通過使用統一的模塊來收集和融合來自所有層級的信息,隨后將其分發到不同層級,我們不僅避免了傳統FPN結構中固有的信息損失,還在不顯著增加延遲的情況下增強了頸部的部分信息融合能力。因此,我們的方法能夠更有效地利用骨干網絡提取的特征,并且可以輕松集成到任何現有的骨干-頸部-頭部結構中。

在我們的實現中,收集和分發過程對應三個模塊:特征對齊模塊(FAM)、信息融合模塊(IFM)和信息注入模塊(Inject)。

? 收集過程包含兩個步驟。首先,FAM從各個層級收集并對齊特征。其次,IFM融合對齊后的特征以生成全局信息。

? 在從收集過程中獲得融合的全局信息后,Inject模塊將這些信息分發到每個層級,并通過簡單的注意力操作進行注入,從而提升分支的檢測能力。

為了增強模型檢測不同尺寸物體的能力,我們開發了兩個分支:低階段收集與分發分支(Low-GD)和高階段收集與分發分支(High-GD)。這些分支分別提取并融合大尺寸和小尺寸的特征圖。更多細節將在第4.1節和第4.2節中提供。如圖2所示,頸部的輸入包括由骨干網絡提取的特征圖B2、B3、B4、B5,其中 B i ∈ R N × C B i × R B i B_i ∈ \mathbb{R}^{N×C_{Bi}×R_{Bi}} Bi?RN×CBi?×RBi?。批量大小用 N N N表示,通道數用C表示,維度用 R = H × W R = H × W R=H×W表示。此外, R B 2 R_{B2} RB2? R B 3 R_{B3} RB3? R B 4 R_{B4} RB4? R B 5 R_{B5} RB5?的維度分別為 R R R 1 / 2 R 1/2 R 1/2R 1 / 4 R 1/4 R 1/4R 1 / 8 R 1/8 R 1/8R

在這里插入圖片描述

3.2 低階段集散分支

在該分支中,選擇骨干網絡輸出的B2、B3、B4、B5特征進行融合,以獲得保留小目標信息的高分辨率特征。其結構如圖4(a)所示。

在這里插入圖片描述

圖4:聚集與分發結構。在(a)中,Low-FAM和Low-IFM分別是低階段分支中的低階段特征對齊模塊和低階段信息融合模塊。在(b)中,High-FAM和High-IFM分別是高階段特征對齊模塊和高階段信息融合模塊。

低階段特征對齊模塊

在低階段特征對齊模塊(Low-FAM)中,我們采用平均池化(AvgPool)操作對輸入特征進行下采樣,以實現統一尺寸。通過將特征調整為組內最小特征尺寸( R B 4 = 1 / 4 R R_{B4} = 1/4 R RB4?=1/4R),我們得到 F a l i g n F_{align} Falign?。Low-FAM技術確保了信息的高效聚合,同時最小化了通過Transformer模塊進行后續處理的計算復雜度。

目標對齊尺寸的選擇基于兩個相互矛盾的考慮:(1) 為了保留更多的低層次信息,較大的特征尺寸更為可取;然而,(2) 隨著特征尺寸的增加,后續模塊的計算延遲也會增加。為了控制頸部部分的延遲,有必要保持較小的特征尺寸。

因此,我們選擇 R B 4 R_{B4} RB4?作為特征對齊的目標尺寸,以在速度和準確性之間實現平衡。

低階段信息融合模塊

低階段信息融合模塊(Low-IFM)設計包含多層重參數化卷積塊(RepBlock)和分割操作。具體來說,RepBlock以 F a l i g n F_{align} Falign?(通道數= C B 2 、 C B 3 、 C B 4 、 C B 5 C_{B2}、C_{B3}、C_{B4}、C_{B5} CB2?CB3?CB4?CB5?之和)作為輸入,生成 F f u s e F_{fuse} Ffuse?(通道數= C B 4 + C B 5 C_{B4} + C_{B5} CB4?+CB5?)。中間通道數是一個可調值(例如256),以適應不同模型大小。RepBlock生成的特征隨后在通道維度上被分割為 F i n j _ P 3 F_{inj\_P3} Finj_P3? F i n j _ P 4 F_{inj\_P4} Finj_P4?,然后與不同層次的特征進行融合。

公式如下:

在這里插入圖片描述

信息注入模塊

為了更高效地將全局信息注入到不同層級中,我們借鑒了分割經驗[47],并采用注意力操作來融合信息,如圖5所示。具體而言,我們同時輸入局部信息(即當前層級的特征)和全局注入信息(由IFM生成),分別記為 F l o c a l F_{local} Flocal? F i n j F_{inj} Finj?。我們使用兩個不同的卷積層對 F i n j F_{inj} Finj?進行計算,得到 F g l o b a l _ e m b e d F_{global\_embed} Fglobal_embed? F a c t F_{act} Fact?。而 F g l o b a l _ e m b e d F_{global\_embed} Fglobal_embed?則通過卷積層對 F l o c a l F_{local} Flocal?進行計算。隨后,通過注意力機制計算融合特征 F o u t F_{out} Fout?。由于 F l o c a l F_{local} Flocal? F g l o b a l F_{global} Fglobal?的尺寸不同,我們采用平均池化或雙線性插值對 F g l o b a l _ e m b e d F_{global\_embed} Fglobal_embed? F a c t F_{act} Fact?進行縮放,使其與 F i n j F_{inj} Finj?的尺寸對齊,確保正確匹配。在每次注意力融合的最后,我們添加RepBlock以進一步提取和融合信息。

在這里插入圖片描述

圖5:信息注入模塊與輕量級鄰層融合(LAF)模塊

在低階段, F l o c a l F_{local} Flocal? 等于 B i B_i Bi?,因此公式如下:

在這里插入圖片描述

3.3 高級集散分支

High-GD融合了由Low-GD生成的特征 { P 3 , P 4 , P 5 } \{P3, P4, P5\} {P3,P4,P5},如圖4(b)所示。

在這里插入圖片描述

圖4:聚集與分發結構。在(a)中,Low-FAM和Low-IFM分別是低階段分支中的低階段特征對齊模塊和低階段信息融合模塊。在(b)中,High-FAM和High-IFM分別是高階段特征對齊模塊和高階段信息融合模塊。

高階特征對齊模塊

高階特征對齊模塊(High-FAM)包含avgpool,用于將輸入特征的維度縮減至統一大小。具體而言,當輸入特征的大小為 { R P 3 , R P 4 , R P 5 } \{R_{P3}, R_{P4}, R_{P5}\} {RP3?,RP4?,RP5?}時,avgpool將特征大小縮減至該組特征中的最小尺寸( R P 5 = 1 / 8 R R_{P5} = 1/8 R RP5?=1/8R)。由于Transformer模塊提取的是高層次信息,池化操作在減少Transformer模塊后續步驟計算需求的同時,促進了信息的聚合。

高級信息融合模塊

高階信息融合模塊(High-IFM)包含Transformer塊(下文將詳細解釋)和分割操作,該操作分為三個步驟:(1)從High-FAM中提取的 F a l i g n F_{align} Falign?通過Transformer塊進行融合,得到 F f u s e F_{fuse} Ffuse?。(2)通過Conv1×1操作將 F f u s e F_{fuse} Ffuse?的通道數減少為 s u m ( C P 4 , C P 5 ) sum(C_{P4}, C_{P5}) sum(CP4?,CP5?)。(3) F f u s e F_{fuse} Ffuse?通過分割操作沿通道維度劃分為 F i n j _ N 4 F_{inj\_N4} Finj_N4? F i n j _ N 5 F_{inj\_N5} Finj_N5?,隨后用于與當前層級特征進行融合。

公式如下:

在這里插入圖片描述

公式8中的Transformer融合模塊由多個堆疊的Transformer組成,Transformer塊的數量用L表示。每個Transformer塊包括一個多頭注意力塊、一個前饋網絡(FFN)以及殘差連接。為了配置多頭注意力塊,我們采用與LeViT [15]相同的設置,將鍵K和查詢Q的頭維度分配為D(例如16)通道,V = 2D(例如32)通道。為了加速推理,我們將對速度不友好的操作符——層歸一化(Layer Normalization)替換為每個卷積的批歸一化(Batch Normalization),并將所有GELU激活函數替換為ReLU。這最大限度地減少了Transformer模塊對模型速度的影響。為了構建我們的前饋網絡,我們遵循[28, 55]中提出的方法來構建FFN塊。為了增強Transformer塊的局部連接,我們在兩個1x1卷積層之間引入了一個深度卷積層。我們還將FFN的擴展因子設置為2,旨在平衡速度和計算成本。

信息注入模塊

High-GD中的信息注入模塊與Low-GD中的完全相同。在高級階段,Flocal等于 P i P_i Pi?,因此公式如下:

在這里插入圖片描述

3.4 增強的跨層信息流

我們僅使用全局信息融合結構就實現了優于現有方法的性能。為了進一步提升性能,我們從YOLOv6 [31]中的PAFPN模塊獲得靈感,引入了Inject-LAF模塊。該模塊是對注入模塊的增強,包含一個輕量級的相鄰層融合(LAF)模塊,該模塊被添加到注入模塊的輸入位置。

為了在速度和準確性之間取得平衡,我們設計了兩類LAF模型:LAF低層模型和LAF高層模型,分別用于低層注入(合并相鄰兩層的特征)和高層注入(合并相鄰一層的特征)。其結構如圖5(b)所示。

在這里插入圖片描述

圖5:信息注入模塊與輕量級鄰層融合(LAF)模塊

為確保不同層次的特征圖與目標尺寸對齊,我們實現中的兩個LAF模型僅使用了三種操作符:雙線性插值用于上采樣過小的特征,平均池化用于下采樣過大的特征,以及1x1卷積用于調整與目標通道數不同的特征。

在我們的模型中,LAF模塊與信息注入模塊的結合有效地平衡了精度與速度。通過使用簡化的操作,我們能夠增加不同層級之間的信息流路徑,從而在不顯著增加延遲的情況下提升性能。

3.5 掩碼圖像建模預訓練

近期的方法,如BEiT [1]、MAE [24] 和 SimMIM [51],已經展示了掩碼圖像建模(MIM)在視覺任務中的有效性。然而,這些方法并未專門針對卷積網絡(convnets)進行優化。SparK [45] 和 ConvNeXt-V2 [50] 是探索掩碼圖像建模在卷積網絡中潛力的先驅。

在本研究中,我們采用SparK [45]方法中的MIM預訓練,該方法成功識別并克服了將MAE風格預訓練擴展到卷積網絡(convnets)中的兩個關鍵障礙。這些挑戰包括卷積操作無法處理不規則和隨機掩碼的輸入圖像,以及BERT預訓練的單尺度特性與卷積網絡層次結構之間的不一致性。

為了解決第一個問題,未掩碼的像素被視為3D點云的稀疏體素,并采用稀疏卷積進行編碼。針對后一個問題,開發了一種分層解碼器,用于從多尺度編碼特征中重建圖像。該框架采用UNet風格的架構來解碼多尺度稀疏特征圖,其中所有空間位置都填充了嵌入的掩碼。我們在ImageNet 1K上對多個Gold-YOLO模型的主干網絡進行了預訓練,并取得了顯著的改進。

4.實驗

4.1 實驗設置

數據集。我們在微軟COCO數據集上進行了大量實驗,以驗證所提出的檢測器。在消融研究中,我們在COCO train2017數據集上進行訓練,并在COCO val2017數據集上進行驗證。我們使用標準的COCO AP指標,以單尺度圖像作為輸入,并報告在不同IoU閾值和物體尺度下的標準平均精度(AP)結果。

實現細節。我們遵循了YOLOv6-3.0 [31]的設置,使用了相同的結構(除了頸部)和訓練配置。網絡的主干部分采用了EfficientRep Backbone,而頭部則使用了Efficient Decoupled Head。優化器的學習計劃和其他設置也與YOLOv6相同,即使用帶動量的隨機梯度下降(SGD)和學習率的余弦衰減。采用了預熱、分組權重衰減策略和指數移動平均(EMA)。在訓練中還使用了自蒸餾和錨點輔助訓練(AAT)。我們采用了Mosaic [2, 13]和Mixup [57]等強數據增強方法。

我們在骨干網絡上使用128萬張ImageNet-1K數據集[8]進行了MIM無監督預訓練。根據Spark[45]的實驗設置,我們采用了LAMB優化器[54]和余弦退火學習率策略,掩碼比例為60%,掩碼塊大小為32。對于Gold-YOLO-L模型,我們使用了1024的批量大小,而對于Gold-YOLO-M模型,則使用了1152的批量大小。由于Gold-YOLO-N的小型骨干網絡容量有限,未對其進行MIM預訓練。

我們所有的模型均在8塊NVIDIA A100 GPU上進行訓練,速度性能則在配備TensorRT的NVIDIA Tesla T4 GPU上進行測量。

4.2 比較

我們的重點主要在于評估模型部署后的速度性能。具體來說,我們測量吞吐量(在批大小為1或32時的每秒幀數)和GPU延遲,而不是FLOPs或參數數量。為了將我們的Gold-YOLO與YOLO系列中的其他最先進檢測器進行比較,例如YOLOv5 [13]、YOLOX [11]、PPYOLOE [52]、YOLOv7 [48]、YOLOv8 [14]和YOLOv6-3.0 [31],我們在相同的Tesla T4 GPU上使用TensorRT測試了所有官方模型的FP16精度下的速度性能。

Gold-YOLO-N 展現了顯著的進步,與 YOLOv8-N、YOLOv6-3.0-N 和 YOLOv7-Tiny(輸入尺寸=416)相比,分別提升了 2.6%/2.4%/6.6%,同時在吞吐量和延遲方面提供了相當或更優的性能。與 YOLOX-S 和 PPYOLOE-S 相比,Gold-YOLO-S 的 AP 值顯著提高了 5.9%/3.1%,同時以更快的速度運行,達到 50/27 FPS(批量大小為 32)。

Gold-YOLO-M 在速度相當的情況下,分別比 YOLOv6-3.0-M、YOLOX-M 和 PPYOLOE-M 的 AP 高出 1.1%、4.2% 和 2.1%。此外,它比 YOLOv5-M 和 YOLOv8-M 的 AP 分別高出 5.7% 和 0.9%,同時速度更快。Gold-YOLO-M 在保持相同 AP 的情況下,比 YOLOv7 顯著提升了 98FPS(批量大小為 32)。Gold-YOLO-L 相比 YOLOv8-L 和 YOLOv6-3.0-L 也實現了更高的精度,分別具有 0.4% 和 0.5% 的明顯精度優勢,同時在批量大小為 32 時保持了相似的 FPS。

4.3 消融實驗

4.3.1 GD結構的消融研究

為了驗證我們關于FPN分析的有效性,并評估所提出的收集與分發機制的效果,我們獨立檢查了GD中的每個模塊,重點關注AP、參數數量以及在T4 GPU上的延遲。Low-GD主要針對中小型物體,而High-GD主要檢測大型物體,LAF模塊則增強了兩者的性能。實驗結果如表2所示。

在這里插入圖片描述

4.3.2 LAF消融實驗

在本消融研究中,我們通過實驗比較了LAF框架內不同模塊設計的效果,并評估了模型規模變化對準確性的影響。研究結果支持了現有LAF結構確實是最優的論斷。模型1和模型2的區別在于LAF使用的是加法還是拼接操作,而模型3在模型2的基礎上增加了模型規模。模型4基于模型3,但舍棄了LAF。實驗結果如表3所示。

在這里插入圖片描述

4.3.3 其他模型和任務的消融研究

GD機制是一個通用概念,可以應用于YOLO之外的其他模型。我們已經將GD機制擴展到其他模型中,并取得了顯著的改進。

在實例分割任務中,我們替換了Mask R-CNN中的不同頸部結構,并在COCO實例數據集上進行了訓練和測試。結果如表4所示。

在這里插入圖片描述

在語義分割任務中,我們在PointRend中替換了不同的頸部結構,并在Cityscapes數據集上進行了訓練和測試。結果如表5所示。

在這里插入圖片描述

在目標檢測任務中,我們在EfficientDet中替換了不同的頸部結構,并在COCO數據集上進行了訓練和測試。結果如表6所示。

在這里插入圖片描述

5.結論

在本文中,我們重新審視了傳統的特征金字塔網絡(FPN)架構,并對其在信息傳輸方面的限制進行了深入分析。隨后,我們開發了用于目標檢測任務的Gold-YOLO系列模型,并取得了最先進的成果。在Gold-YOLO中,我們引入了一種創新的收集與分發機制,該機制經過精心設計,旨在提升信息融合與傳輸的效率和效果,避免不必要的損失,從而顯著提高了模型的檢測能力。我們真誠希望我們的工作能夠為解決實際問題提供有價值的參考,并激發該領域研究者的新思路。

6.附錄

A 一項額外實驗

A.1 Gold-YOLO的詳細準確性和速度數據

在本節中,我們報告了Gold-YOLO在有或沒有LAF模塊以及預訓練情況下的測試性能。FPS和延遲是在相同環境下使用TensorRT 7在Tesla T4上以FP16精度測量的。我們模型的準確性和速度性能均在640x640的輸入分辨率下進行評估。結果如表7所示。

在這里插入圖片描述

表7:Gold-YOLO系列模型在COCO 2017驗證集上的測試結果。‘?’表示使用了自蒸餾方法,‘?’表示模型沒有LAF模塊,‘?’表示使用了MIM預訓練方法。

A.2 MIM預訓練消融實驗

我們還比較了Gold-YOLO-S在COCO 2017驗證集上不同MIM預訓練輪次(無自蒸餾)的結果。結果如表8所示。

在這里插入圖片描述

B 綜合延遲與吞吐量基準測試

B.1 使用TensorRT 8在T4 GPU上的模型延遲和吞吐量

與其他YOLO系列檢測器在COCO 2017驗證集上的對比。FPS和延遲是在相同環境下使用TensorRT 8.2在Tesla T4上以FP16精度測量的。結果如表9所示。

在這里插入圖片描述

B.2 使用TensorRT 7在V100 GPU上的模型延遲與吞吐量

與其他YOLO系列檢測器在COCO 2017驗證集上的對比。FPS和延遲是在Tesla V100上使用FP16精度在相同環境下通過TensorRT 7.2測量的。結果如表10所示。

在這里插入圖片描述

C 更廣泛的影響與局限性

更廣泛的影響。YOLO模型可以廣泛應用于醫療健康和智能交通等領域。在醫療健康領域,YOLO系列模型可以提高某些疾病的早期診斷率,降低初診成本,從而挽救更多生命。在智能交通領域,YOLO模型可以輔助車輛自動駕駛,提升交通安全和效率。然而,YOLO模型在軍事應用中也存在風險,例如用于無人機的目標識別和輔助軍事偵察。我們將盡一切努力防止我們的模型被用于軍事目的。

局限性。通常,對結構進行更精細的調整有助于進一步提升模型的性能,但這需要大量的計算資源。此外,由于我們的算法大量使用了注意力操作,可能對某些早期硬件支持不夠友好。

D CAM 可視化

以下是YOLOv5、YOLOv6、YOLOv7、YOLOv8以及我們的Gold-YOLO在頸部區域的CAM可視化結果,如圖6所示。可以看出,我們的模型對目標檢測區域賦予了更高的權重。此外,我們在圖7中對比了Gold-YOLO與YOLOv6在頸部區域的CAM可視化結果。

在這里插入圖片描述

在這里插入圖片描述

圖7:頸部CAM可視化。我們可以觀察到,不同層次的特征對不同大小的物體表現出不同的偏好。在傳統的網格結構FPN中,隨著網絡深度的增加和不同層次之間的信息交互,特征圖對物體位置的敏感性逐漸減弱,并伴隨著信息丟失。我們提出的GD機制分別對高層和低層信息進行全局融合,生成的全局融合特征包含了豐富的大小物體的位置信息。

E.討論

E.1 Gold-YOLO的特征對齊模塊與其他類似工作的區別。

M2Det和RHF-Net都在其對齊模塊中引入了額外的信息融合模塊。在M2Det中,SFAM模塊包含了一個SE塊,而在RHF-Net中,空間金字塔池化塊則通過瓶頸層進行了增強。與M2Det和RHF-Net不同,Gold-YOLO更傾向于模塊之間的功能分離,將特征對齊和特征融合分別劃分到不同的模塊中。具體來說,GoldD-YOLO中的FAM模塊僅專注于特征對齊,這確保了FAM模塊的計算效率。而LAF模塊則以最小的計算成本高效地融合了來自不同層次的特征,將更多的融合和注入功能留給其他模塊。基于GD機制,使用簡單且易于獲取的算子即可實現YOLO模型的SOTA性能,這充分證明了我們所提出方法的有效性。此外,在網絡構建過程中,我們有意選擇了簡單且經過充分驗證的結構。這一選擇旨在避免某些算子因部署設備不支持而可能引發的開發和性能問題,從而確保整個機制的可用性和可移植性。

E.2 簡單計算操作

在網絡構建過程中,我們借鑒并發展了前人的經驗。與僅僅通過增強特定算子或局部結構來提升性能不同,我們的重點在于GD機制相較于傳統FPN結構所帶來的概念性轉變。通過GD機制,YOLO模型能夠使用簡單且易于應用的算子實現SOTA性能。這有力地證明了所提出方法的有效性。

此外,在網絡構建過程中,我們有意選擇了簡單且經過充分驗證的結構。這一選擇旨在避免由于某些操作符不被部署設備支持而可能引發的開發和性能問題。因此,它確保了整個機制的可用性和可移植性。同時,這一決策也為未來的性能提升創造了機會。GD機制是一個通用概念,可以應用于YOLO之外的其他模型。我們已將GD機制擴展到其他模型,并取得了顯著的改進。實驗表明,我們提出的GD機制表現出強大的適應性和泛化能力。該機制在不同任務和模型中始終帶來性能提升。

7.引用文獻

  • [1] Hangbo Bao, Li Dong, Songhao Piao, and Furu Wei. Beit: Bert pre-training of image transformers, 2022.
  • [2] Alexey Bochkovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. Yolov4: Optimal speed and accuracy of object detection. arXiv preprint arXiv:2004.10934, 2020.
  • [3] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-to-end object detection with transformers. In Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part I 16, pages 213–229. Springer, 2020.
  • [4] Ping-Yang Chen, Ming-Ching Chang, Jun-Wei Hsieh, and Yong-Sheng Chen. Parallel residual bi-fusion feature pyramid network for accurate single-shot object detection. IEEE Transactions on Image Processing, 30:9099–9111, 2021.
  • [5] Ping-Yang Chen, Jun-Wei Hsieh, Chien-Yao Wang, and Hong-Yuan Mark Liao. Recursive hybrid fusion pyramid network for real-time small object detection on embedded devices. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, pages 402–403, 2020.
  • [6] Qiang Chen, Yingming Wang, Tong Yang, Xiangyu Zhang, Jian Cheng, and Jian Sun. You only look one-level feature. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 13039–13048, 2021.
  • [7] Yukang Chen, Tong Yang, Xiangyu Zhang, Gaofeng Meng, Xinyu Xiao, and Jian Sun. Detnas: Backbone search for object detection. Advances in Neural Information Processing Systems, 32, 2019.
  • [8] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: A largescale hierarchical image database. In 2009 IEEE Conference on Computer Vision and Pattern Recognition, pages 248–255, 2009.
  • [9] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020.
  • [10] Kaiwen Duan, Song Bai, Lingxi Xie, Honggang Qi, Qingming Huang, and Qi Tian. Centernet: Keypoint triplets for object detection. In Proceedings of the IEEE/CVF international conference on computer vision, pages 6569–6578, 2019.
  • [11] Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun. Yolox: Exceeding yolo series in 2021. arXiv preprint arXiv:2107.08430, 2021.
  • [12] Golnaz Ghiasi, Tsung-Yi Lin, and Quoc V Le. Nas-fpn: Learning scalable feature pyramid architecture for object detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 7036–7045, 2019.
  • [13] Jocher Glenn. Yolov5 release v6.1. https://github.com/ultralytics/yolov5/ releases/tag/v6.1, 2022.
  • [14] Jocher Glenn. Ultralytics yolov8. https://github.com/ultralytics/ultralytics, 2023.
  • [15] Benjamin Graham, Alaaeldin El-Nouby, Hugo Touvron, Pierre Stock, Armand Joulin, Hervé Jégou, and Matthijs Douze. Levit: a vision transformer in convnet’s clothing for faster inference. In Proceedings of the IEEE/CVF international conference on computer vision, pages 1225912269, 2021.
  • [16] Jianyuan Guo, Kai Han, Yunhe Wang, Han Wu, Xinghao Chen, Chunjing Xu, and Chang Xu. Distilling object detectors via decoupled features. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2154–2164, 2021.
  • [17] Jianyuan Guo, Kai Han, Yunhe Wang, Chao Zhang, Zhaohui Yang, Han Wu, Xinghao Chen, and Chang Xu. Hit-detector: Hierarchical trinity architecture search for object detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 11405–11414, 2020.
  • [18] Jianyuan Guo, Kai Han, Han Wu, Yehui Tang, Xinghao Chen, Yunhe Wang, and Chang Xu. Cmt: Convolutional neural networks meet vision transformers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12175–12185, 2022.
  • [19] Jianyuan Guo, Kai Han, Han Wu, Chao Zhang, Xinghao Chen, Chunjing Xu, Chang Xu, and Yunhe Wang. Positive-unlabeled data purification in the wild for object detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2653–2662, 2021.
  • [20] Kai Han, Yunhe Wang, Hanting Chen, Xinghao Chen, Jianyuan Guo, Zhenhua Liu, Yehui Tang, An Xiao, Chunjing Xu, Yixing Xu, et al. A survey on vision transformer. IEEE transactions on pattern analysis and machine intelligence, 45(1):87–110, 2022.
  • [21] Kai Han, Yunhe Wang, Qi Tian, Jianyuan Guo, Chunjing Xu, and Chang Xu. Ghostnet: More features from cheap operations. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 1580–1589, 2020.
  • [22] Kai Han, An Xiao, Enhua Wu, Jianyuan Guo, Chunjing Xu, and Yunhe Wang. Transformer in transformer. Advances in Neural Information Processing Systems, 34:15908–15919, 2021.
  • [23] Zhiwei Hao, Jianyuan Guo, Ding Jia, Kai Han, Yehui Tang, Chao Zhang, Han Hu, and Yunhe Wang. Learning efficient vision transformers via fine-grained manifold distillation. In Advances in Neural Information Processing Systems, 2022.
  • [24] Kaiming He, Xinlei Chen, Saining Xie, Yanghao Li, Piotr Dollár, and Ross Girshick. Masked autoencoders are scalable vision learners, 2021.
  • [25] Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross Girshick. Mask r-cnn. In Proceedings of the IEEE international conference on computer vision, pages 2961–2969, 2017.
  • [26] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016.
  • [27] Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.
  • [28] Zilong Huang, Youcheng Ben, Guozhong Luo, Pei Cheng, Gang Yu, and Bin Fu. Shuffle transformer: Rethinking spatial shuffle for vision transformer. arXiv preprint arXiv:2106.03650, 2021.
  • [29] Zhenchao Jin, Bin Liu, Qi Chu, and Nenghai Yu. Safnet: A semi-anchor-free network with enhanced feature pyramid for object detection. IEEE Transactions on Image Processing, 29:9445–9457, 2020.
  • [30] Zhenchao Jin, Dongdong Yu, Luchuan Song, Zehuan Yuan, and Lequan Yu. You should look at all objects. In European Conference on Computer Vision, pages 332–349. Springer, 2022.
  • [31] Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu. Yolov6 v3. 0: A full-scale reloading. arXiv preprint arXiv:2301.05586, 2023.
  • [32] Chuyi Li, Lulu Li, Hongliang Jiang, Kaiheng Weng, Yifei Geng, Liang Li, Zaidan Ke, Qingyuan Li, Meng Cheng, Weiqiang Nie, et al. Yolov6: A single-stage object detection framework for industrial applications. arXiv preprint arXiv:2209.02976, 2022.
  • [33] Xiangtai Li, Ansheng You, Zhen Zhu, Houlong Zhao, Maoke Yang, Kuiyuan Yang, Shaohua Tan, and Yunhai Tong. Semantic flow for fast and accurate scene parsing. In Computer VisionECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part I 16, pages 775–793. Springer, 2020.
  • [34] Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. Feature pyramid networks for object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2117–2125, 2017.
  • [35] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining Guo. Swin transformer: Hierarchical vision transformer using shifted windows. In Proceedings of the IEEE/CVF international conference on computer vision, pages 10012–10022, 2021.
  • [36] Wenyu Lv, Shangliang Xu, Yian Zhao, Guanzhong Wang, Jinman Wei, Cheng Cui, Yuning Du, Qingqing Dang, and Yi Liu. Detrs beat yolos on real-time object detection. arXiv preprint arXiv:2304.08069, 2023.
  • [37] Y Quan, D Zhang, L Zhang, and J Tang. Centralized feature pyramid for object detection. arxiv 2022. arXiv preprint arXiv:2210.02093, 41.
  • [38] Harish Guruprasad Ramaswamy et al. Ablation-cam: Visual explanations for deep convolutional network via gradient-free localization. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision, pages 983–991, 2020.
  • [39] Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 779–788, 2016.
  • [40] Joseph Redmon and Ali Farhadi. Yolo9000: better, faster, stronger. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 7263–7271, 2017.
  • [41] Joseph Redmon and Ali Farhadi. Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767, 2018.
  • [42] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. Advances in neural information processing systems, 28, 2015.
  • [43] Mingxing Tan and Quoc Le. Efficientnet: Rethinking model scaling for convolutional neural networks. In International conference on machine learning, pages 6105–6114. PMLR, 2019.
  • [44] Mingxing Tan, Ruoming Pang, and Quoc V Le. Efficientdet: Scalable and efficient object detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 10781–10790, 2020.
  • [45] Keyu Tian, Yi Jiang, Qishuai Diao, Chen Lin, Liwei Wang, and Zehuan Yuan. Designing bert for convolutional networks: Sparse and hierarchical masked modeling. arXiv preprint arXiv:2301.03580, 2023.
  • [46] Zhi Tian, Chunhua Shen, Hao Chen, and Tong He. Fcos: Fully convolutional one-stage object detection. In Proceedings of the IEEE/CVF international conference on computer vision, pages 9627–9636, 2019.
  • [47] Qiang Wan, Zilong Huang, Jiachen Lu, Gang Yu, and Li Zhang. Seaformer: Squeeze-enhanced axial transformer for mobile semantic segmentation. arXiv preprint arXiv:2301.13156, 2023.
  • [48] Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao. Yolov7: Trainable bag-offreebies sets new state-of-the-art for real-time object detectors. arXiv preprint arXiv:2207.02696, 2022.
  • [49] Kaixin Wang, Jun Hao Liew, Yingtian Zou, Daquan Zhou, and Jiashi Feng. Panet: Few-shot image semantic segmentation with prototype alignment. In proceedings of the IEEE/CVF international conference on computer vision, pages 9197–9206, 2019.
  • [50] Sanghyun Woo, Shoubhik Debnath, Ronghang Hu, Xinlei Chen, Zhuang Liu, In So Kweon, and Saining Xie. Convnext v2: Co-designing and scaling convnets with masked autoencoders, 2023.
  • [51] Zhenda Xie, Zheng Zhang, Yue Cao, Yutong Lin, Jianmin Bao, Zhuliang Yao, Qi Dai, and Han Hu. Simmim: A simple framework for masked image modeling, 2022.
  • [52] Shangliang Xu, Xinxin Wang, Wenyu Lv, Qinyao Chang, Cheng Cui, Kaipeng Deng, Guanzhong Wang, Qingqing Dang, Shengyu Wei, Yuning Du, et al. Pp-yoloe: An evolved version of yolo. arXiv preprint arXiv:2203.16250, 2022.
  • [53] Guoyu Yang, Jie Lei, Zhikuan Zhu, Siyu Cheng, Zunlei Feng, and Ronghua Liang. Afpn: Asymptotic feature pyramid network for object detection. arXiv preprint arXiv:2306.15988, 2023.
  • [54] Yang You, Jing Li, Sashank Reddi, Jonathan Hseu, Sanjiv Kumar, Srinadh Bhojanapalli, Xiaodan Song, James Demmel, Kurt Keutzer, and Cho-Jui Hsieh. Large batch optimization for deep learning: Training bert in 76 minutes, 2020.
  • [55] Kun Yuan, Shaopeng Guo, Ziwei Liu, Aojun Zhou, Fengwei Yu, and Wei Wu. Incorporating convolution designs into visual transformers. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 579–588, 2021.
  • [56] Hao Zhang, Feng Li, Shilong Liu, Lei Zhang, Hang Su, Jun Zhu, Lionel M Ni, and HeungYeung Shum. Dino: Detr with improved denoising anchor boxes for end-to-end object detection. arXiv preprint arXiv:2203.03605, 2022.
  • [57] Hongyi Zhang, Moustapha Cisse, Yann N Dauphin, and David Lopez-Paz. mixup: Beyond empirical risk minimization. arXiv preprint arXiv:1710.09412, 2017.
  • [58] Wenqiang Zhang, Zilong Huang, Guozhong Luo, Tao Chen, Xinggang Wang, Wenyu Liu, Gang Yu, and Chunhua Shen. Topformer: Token pyramid transformer for mobile semantic segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12083–12093, 2022.
  • [59] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and Jian Sun. Shufflenet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 6848–6856, 2018.
  • [60] Qijie Zhao, Tao Sheng, Yongtao Wang, Zhi Tang, Ying Chen, Ling Cai, and Haibin Ling. M2det: A single-shot object detector based on multi-level feature pyramid network. In Proceedings of the AAAI conference on artificial intelligence, volume 33, pages 9259–9266, 2019.
  • [61] Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, and Jifeng Dai. Deformable detr: Deformable transformers for end-to-end object detection. arXiv preprint arXiv:2010.04159, 2020.

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

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

相關文章

π0源碼解析——一個模型控制7種機械臂:對開源VLA sota之π0源碼的全面分析,含我司的部分落地實踐

前言 ChatGPT出來后的兩年多,也是我瘋狂寫博的兩年多(年初deepseek更引爆了下),比如從創業起步時的15年到后來22年之間 每年2-6篇的,干到了23年30篇、24年65篇、25年前兩月18篇,成了我在大模型和具身的原始技術積累 如今一轉眼…

K8s 1.27.1 實戰系列(六)Pod

一、Pod介紹 1、Pod 的定義與核心設計 Pod 是 Kubernetes 的最小調度單元,由一個或多個容器組成,這些容器共享網絡、存儲、進程命名空間等資源,形成緊密協作的應用單元。Pod 的設計靈感來源于“豌豆莢”模型,容器如同豆子,共享同一環境但保持隔離性。其核心設計目標包括…

企業日常工作中常用的 Linux 操作系統命令整理

Linux 操作系統命令整理 在企業級運維、開發和日常工作中,Linux 命令是繞不開的核心技能。不論是日志排查、進程管理,還是高效運維優化,掌握這些命令都能讓你事半功倍!本篇文章整理了自己在日常工作中積累最常用的 Linux 命令&am…

實現NTLM relay攻擊工具的Python代碼示例

以下是一個實現NTLM relay攻擊工具的Python代碼示例,該工具可以完成自動掃描IP、配置相關協議、獲取hash、自動化設置和執行攻擊步驟等功能。 代碼思路 IP掃描:使用scapy庫進行IP掃描,找出活躍的IP地址。Responder配置:自動配置…

Kotlin和Java區別

哈哈哈,前段時間,面試的時候,突然問到我Kotlin和Java的區別,一下子把我問懵逼了,確實沒遇到問這個的,想了下,說了下Kotlin的編譯時空檢查機制,代碼更簡潔,很多封裝好的AP…

【大模型】大模型分類

大模型(Large Models)通常指參數量巨大、計算能力強大的機器學習模型,尤其在自然語言處理(NLP)、計算機視覺(CV)等領域表現突出。以下是大模型的常見分類方式: 1. 按應用領域分類 …

centos中使用svn整理

centos中使用svn整理 1. 安裝 SVN 客戶端2. 常見 SVN 用法及示例2.1 創建 SVN 倉庫2.2 檢出(Checkout)項目2.3 添加文件到版本控制2.4 提交(Commit)更改2.5 更新(Update)本地工作副本2.6 查看文件狀態2.7 查…

游戲元宇宙崛起:AI代理IP驅動虛擬世界“無限可能”?

在科技飛速發展的當下,游戲元宇宙正以一種前所未有的姿態崛起,它猶如一顆璀璨的新星,吸引著無數人的目光。而AI代理IP,正成為驅動這個虛擬世界展現“無限可能”的關鍵力量。 「快代理|11年專注企業級代理IP云服務 —…

基于Servlet + JSP 的物業管理系統

Javaweb物業管理系統|Java|Servlet | JavaWeb|web網站| 分管理員登錄,用戶登錄。 一、內容 項目源碼 配套文檔 環境部署教程 項目運行教程 二、技術介紹 技術應用: Servlet JavaBean CSS JSP 開發環…

Billing的patient balance的2個例子

Billing的patient balance的2個例子 第一個例子 下面是 0852醫院的00005641的計算: 主保險 Allowable: 78.81 Applied:61.79 CoInsurance:17.02 第二保險 Allowable: 15.76 Applied:15.76 我們在計算時是用主保險的Allowable: 78.81&#xff…

哪些培訓課程適合學習PostgreSQL中級認證知識?

PostgreSQL 中級工程師 PGCP 認證培訓:由重慶思 莊經驗豐富的講師鄭全老師授課。課程內容系統全面,涵蓋了 PostgreSQL 數據庫從基礎到高級的知識,包括數據庫的安裝、建庫、用戶與角色管理等基礎內容,也有性能調優、索引原理與應用…

計算機二級MS之PPT

聲明:跟著大貓和小黑學習隨便記下一些筆記供大家參考,二級考試之前將持續更新,希望大家二級都能輕輕松松過啦,過了二級的大神也可以在評論區留言給點建議,感謝大家!! 文章目錄 考題難點1cm25px…

第5章 使用OSSEC進行監控(網絡安全防御實戰--藍軍武器庫)

網絡安全防御實戰--藍軍武器庫是2020年出版的,已經過去3年時間了,最近利用閑暇時間,抓緊吸收,總的來說,第5章開始進入主機安全(HIDS)領域了,2022年的時候有幸做過終端安全一段時間&a…

Android 低功率藍牙之BluetoothGattCallback回調方法詳解

BluetoothGattCallback 是 Android 中用于處理藍牙低功耗(BLE)設備通信的核心回調類。它負責處理與 BLE 設備的連接、服務發現、數據讀寫等操作的結果。以下是對 BluetoothGattCallback 的詳細解析: 1. onConnectionStateChange 觸發時機&am…

DeepSeek group-limited expert routing和負載均衡

Ref https://github.com/deepseek-ai/DeepSeek-V3/blob/main/inference/model.py GitHub - deepseek-ai/EPLB: Expert Parallelism Load Balancer DeepSeek-V3 Technical Report DeepSeek的路由方法 class Gate(nn.Module):def __init__(self, args: ModelArgs):super().__…

Python的Pandas和matplotlib庫:讓數據可視化賊簡單

在數據爆炸的時代,數據可視化已成為數據分析的關鍵環節。Python 作為強大的編程語言,擁有眾多用于數據可視化的庫,而 pandas 庫在其中扮演著重要角色。它不僅能高效處理和分析數據,還具備強大的數據可視化功能,讓我們輕…

【代碼分享】基于IRM和RRT*的無人機路徑規劃方法詳解與Matlab實現

基于IRM和RRT*的無人機路徑規劃方法詳解與Matlab實現 1. IRM與RRT*的概述及優勢 IRM(Influence Region Map)通過建模障礙物的影響區域,量化環境中的安全風險,為RRT算法提供啟發式引導。RRT(Rapidly-exploring Random…

ubuntu打包 qt 程序,不用每次都用linuxdeployqt打包

用linuxdeployqt打包太麻煩,每次程序編譯都要用linuxdeployqt打包一次,而且每次都要很長時間,通過研究得出一個新的打包方法 1.用用linuxdeployqt得出依賴的庫文件(只要沒有增加新模塊,只要用一次就可以) …

Github 2025-03-06 Go開源項目日報 Top10

根據Github Trendings的統計,今日(2025-03-06統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Go項目10Terraform:基礎設施即代碼的開源工具 創建周期:3626 天開發語言:Go協議類型:OtherStar數量:40393 個Fork數量:9397 次關注人數:…

redis 與 DB 的一致性 7 種策略

為什么要使用 redis 做緩存?封底估算為什么是單行數據的QPS,而不是總的? 什么時候使用DB,Redis,本地緩存 數據的分類一致性的方案1. 先清除Redis,再更新 DB2. 先更新DB,再清除 Redis使用場景: 3. 延遲刪除與延遲雙刪使用場景 4. 監聽 binlog 清除5. 雙寫使用場景: 6. 監聽bin…