YOLOv8-SMOT:一種高效魯棒的實時小目標跟蹤框架:基于切片輔助訓練與自適應關聯

https://arxiv.org/pdf/2507.12087

摘要

從無人機(UAV)視角對小型敏捷多目標(SMOT)——例如鳥類——進行跟蹤是一項極具挑戰性的計算機視覺任務。該任務的難點主要源于三個方面:目標外觀特征極度稀缺、相機與目標自身復合動態所導致的復雜運動糾纏,以及密集群集行為引發的頻繁遮擋與身份模糊問題。本文詳細闡述了我們在MVA 2025“尋找鳥類”小目標多目標跟蹤挑戰賽(SMOT4SB)中奪冠的解決方案,該方案采用基于檢測的跟蹤范式,并在檢測和關聯層面進行了針對性創新。在檢測方面,我們提出了一種名為SliceTrain的系統性訓練增強框架。該框架通過“確定性全覆蓋切片”與“切片級隨機增強”的協同作用,有效解決了高分辨率圖像訓練中小目標學習不足的問題。在跟蹤方面,我們設計了一種完全不依賴外觀信息的魯棒跟蹤器。通過將運動方向維持(EMA)機制和結合邊界框擴展與距離懲罰的自適應相似度度量集成至OC-SORT框架中,我們的跟蹤器能夠穩定處理不規則運動并維持目標身份。本方法在SMOT4SB公開測試集上達到了最先進的性能,SO-HOTA得分為55.205,充分驗證了該框架在解決復雜現實世界SMOT問題中的有效性與先進性。源代碼將發布于https://github.com/Salvatore-Love/YOLOv8-SM0T。

1 引言

隨著無人機(UAV)技術在自主系統領域的普及,其作為空中感知平臺的應用已變得日益廣泛,特別是在生態監測、農業檢查和公共安全等領域[10,13]。盡管無人機為捕捉廣域場景提供了前所未有的靈活性和視角,但也給計算機視覺算法帶來了嚴峻挑戰。在這些應用中,視頻序列中多個小移動目標的持續定位和身份維護,即小目標多目標跟蹤(SMOT),是一項特別關鍵且艱巨的基礎任務。

從無人機視角進行SMOT任務,特別是跟蹤鳥類等敏捷生物時,比傳統的多目標跟蹤(MOT)場景[15,30]要復雜得多。這種復雜性源于三個核心挑戰的相互作用:

外觀信息極度稀缺:目標通常只占據幾十個像素,幾乎不含可區分的紋理或顏色特征。這從根本上使依賴外觀模型進行重識別(Re-ID)的經典跟蹤范式失效,例如DeepSORT[22]。

復雜運動糾纏[25]:跟蹤器不僅要處理目標在三維空間中的自由非線性運動,還要應對由無人機自身復雜平移、旋轉和高度變化引起的劇烈相機運動。這兩種運動模式的疊加導致圖像平面中目標的表觀運動極其復雜且不可預測,使依賴線性運動模型(如卡爾曼濾波器[2])的傳統方法頻繁出現跟蹤失敗。

密集集群動態[18]:鳥類獨特的集群行為導致目標之間頻繁且嚴重的遮擋,個體之間外觀和運動模式高度相似。這僅通過運動信息(不依賴外觀特征)來維持個體身份連續性提出了極端考驗,極易產生大量身份切換(ID Switch)錯誤。

盡管基于檢測跟蹤[2,22]、聯合檢測與跟蹤[21,28]和Transformer[19,26]的范式在一般MOT任務中取得了顯著進展,但它們難以直接解決上述三個挑戰的累積效應。為系統推進這一領域,MVA 2025組織了"尋找鳥類"小目標多目標跟蹤挑戰賽(SMOT4SB)[8],提供了首個為這種極端場景設計的大規模數據集和新的評估指標SO-HOTA[9]。

本文介紹了我們在該挑戰賽中的冠軍解決方案。我們認為,要解決這個問題,必須構建一個能夠協同解決檢測和關聯瓶頸的框架。為此,我們提出了一種高效的基于檢測跟蹤系統,其核心貢獻體現在兩個方面,每個方面都精確針對上述挑戰:

  1. 針對信息稀缺的檢測器優化:為從根本上解決小目標檢測問題,我們提出了一種稱為SliceTrain的系統性訓練數據增強框架。通過"確定性全覆蓋切片"和"切片級隨機增強"的兩階段過程,該框架在不犧牲信息完整性的情況下顯著豐富了訓練樣本的多樣性和信息密度。這使得檢測器(YOLOv8)能夠在有限計算資源下以更大的批量大小高效訓練,從而顯著增強其對微小目標的特征捕獲和定位能力[17]。

  2. 針對復雜動態的魯棒跟蹤器:為解決運動糾纏和集群行為帶來的關聯挑戰,我們設計了一種完全不依賴外觀特征的跟蹤器。我們在OC-SORT[31]框架中深度增強,引入了運動方向維持機制以平滑非線性運動中的噪聲,并設計了一種自適應相似性度量。該度量結合了邊界框擴展和距離懲罰,有效解決了由目標尺寸小和頻繁近距離交叉引起的匹配困難。

我們的方法在SMOT4SB數據集上取得了最先進的性能,在公共測試集上達到55.205的SO-HOTA分數,驗證了我們的框架在解決復雜現實世界SMOT任務方面的先進性和有效性。

2 相關工作

多目標跟蹤(MOT)。MOT領域的主導范式是"基于檢測跟蹤"[2,22],它將檢測和關聯解耦,允許獨立優化每個模塊。SORT[2]和DeepSORT[22]等經典算法使用卡爾曼濾波器進行運動預測,并結合IoU或外觀特征進行數據關聯。近年來,研究人員提出了聯合檢測和跟蹤框架[21,28]和端到端Transformer架構[19]以提高效率和準確性。然而,這些一般MOT方法大多依賴于MOTChallenge系列[15]等數據集,其中主要目標是行人或車輛,通常較大且具有明顯的外觀特征,與SMOT場景有顯著差異。

小目標檢測(SOD)。小目標檢測(SOD)旨在解決目標尺寸小導致的外觀線索有限問題[13]。傳統方法通過多尺度特征融合(如特征金字塔網絡FPN[12])和數據增強[31]來提高性能。在航拍圖像等場景中,目標微小且密集,對檢測器的要求特別嚴格。VisDrone[30]等基準數據集的出現推動了該領域的發展。在數據層面,雖然傳統隨機裁剪可以增加數據多樣性,但其采樣過程是隨機的。對于高分辨率圖像中稀疏的小目標,可能在多次迭代中無法有效采樣它們,導致信息利用不足。像Slicing Aided Hyper Inference (SAHI)[1]等方法主要關注使用切片輔助推理,其訓練階段的切片相對簡單。

相比之下,我們提出的SliceTrain框架專注于構建更優的訓練范式。它不是簡單的隨機裁剪,而是通過系統性的全覆蓋切片確保100%利用原始數據。它不僅用于數據分割,還在切片后應用細粒度增強變換,創建具有高信息密度和多樣性的訓練集。該設計旨在解決傳統方法中數據利用全面性與多樣性之間的固有沖突。

小目標多目標跟蹤(SMOT)。SMOT任務的核心挑戰是如何在外觀特征幾乎無法使用時進行可靠的跨幀關聯[13]。現有的SMOT數據集,如UAVDT[5]和VisDrone[30],主要關注城市環境中運動受限的目標。然而,SMOT4SB數據集是首個系統引入"運動糾纏"[25]挑戰的數據集,其中相機和目標都在三維空間中自由移動。這種復雜的相對運動模式使僅依賴運動預測變得極其困難,對跟蹤器的魯棒性提出了更高要求。這促使我們設計一種不依賴外觀信息的跟蹤算法,而是深度挖掘和利用運動一致性和相似性度量。

3 方法

我們的跟蹤框架按照基于檢測跟蹤范式設計,該范式將檢測和跟蹤匹配過程解耦。這種范式允許我們分別優化檢測器和跟蹤器,以構建接近最優的MOT模型。

3.1 檢測器

我們的檢測模塊基于強大的YOLOv8模型,其性能飛躍主要歸功于我們設計的SliceTrain框架。該框架在訓練前預處理數據,其核心機制分為兩個關鍵步驟:首先,通過高質量微調增強模型對細微細節的感知,然后在原始全尺寸圖像上進行高效推理。
在這里插入圖片描述

圖1: 模型概述。

3.1.1 SliceTrain框架:克服分辨率-多樣性困境

高質量小目標檢測在處理高分辨率圖像時,通常面臨一個核心困境:分辨率-多樣性困境。一方面,高分辨率輸入(例如3840×2160)是捕獲微小目標細節的關鍵。另一方面,巨大的內存開銷將批量大小限制為極小值(例如1或2),導致訓練樣本單調、梯度更新不穩定,模型難以學習泛化特征[17,1]。

為克服這一困境,我們設計了SliceTrain,一個系統性的訓練數據增強框架。它不是簡單的切片操作,而是通過兩個互補的核心步驟構建具有極高信息密度和多樣性的數據流:確定性全覆蓋平鋪和切片級隨機增強。

步驟1:確定性全覆蓋平鋪 該原則旨在將高分辨率圖像無損分解為模型可處理的單元,同時確保信息完整性。我們使用重疊滑動窗口確定性地將每個高分辨率圖像分割為一組"平鋪"(例如,切成1280×1280的平鋪,具有一定的重疊比例)。與隨機裁剪不同,這種確定性網格劃分確保原始圖像的每個像素都被至少一個平鋪覆蓋,實現空間信息的無損利用。重疊設計確保位于切片邊界的對象完全包含在至少一個平鋪中,從根本上防止因分割而導致的目標信息丟失。

步驟2:切片級隨機增強 該原則旨在向模型注入最大數據多樣性。獲得全覆蓋平鋪集后,框架將每個平鋪視為獨立的圖像樣本,并應用一系列強隨機數據增強(例如Mosaic、顏色抖動、隨機幾何變換)。關鍵是增強在切片級別獨立應用。這意味著在構建訓練批次時,模型看到的不僅是來自不同源圖像的平鋪,還有經過不同視覺變換的樣本。

框架效果:構建高密度、高多樣性訓練批次 SliceTrain框架的最終輸出是一個高質量訓練數據流,在信息密度和場景多樣性方面都超越傳統方法。當模型從此數據流中采樣一個批次時,它不再暴露于少數完整、相對稀疏的圖像,而是由來自不同源圖像、不同空間位置并經過不同視覺變換的平鋪組成的高密度樣本集。這種設計將每次梯度更新轉變為信息豐富、多維度的學習事件,從根本上加速模型收斂并增強其對復雜現實場景的泛化能力。

3.1.2 全尺寸推理

盡管模型是在SliceTrain框架上訓練的,但在推理階段,我們直接將其應用于原始、未切片的全尺寸測試圖像。

這種"訓練切片、推理全尺寸"的不對稱策略是我們的檢測器高效且高精度的關鍵。它巧妙地繞過了推理時的切片、預測和拼接的復雜過程,從而避免了額外的計算開銷和圖像拼接引入的潛在錯誤。通過在子圖像上進行高強度微調,我們的模型對小目標變得異常敏感。當它在全尺寸圖像上進行推理時,這種"放大"的感知能力使其能夠準確定位在廣闊背景中容易被忽視的那些微小目標。該方法保留了場景的全局上下文,同時充分利用了細粒度訓練的優勢,最終形成一個既快速又準確的檢測過程。

3.2 跟蹤器

3.2.1 預備知識

我們提出的跟蹤器是Observation-Centric SORT (OC-SORT)框架[31]與ByteTrack[27]的增強,它們在目標太小時通常不可靠,因此實現不依賴外觀特征的匹配。為明確我們的貢獻,我們首先簡要概述OC-SORT的預備概念,它通過優先考慮檢測器觀測而非模型預測的多階段策略改進傳統跟蹤器,特別是在具有挑戰性的場景中。

為簡化說明,我們用TTT表示可能的跟蹤檢測,并根據檢測置信度分數將其分為3種類型:

τhigh={t∣t∈T?and?score(x)≥thresholdtrack?high}τlow={t∣t∈T?and?thresholdhigh>score(x)≥thresholdlow}τdiscard={t∣t∈T?and?score(x)<thresholdlow}\begin{array}{r l}{\tau_{\mathrm{high}}}&{=\{t\mid t\in T\mathrm{~and~}\mathrm{score}(x)\geq\mathrm{threshold}_{\mathrm{track-high}}\}}\\ {\tau_{\mathrm{low}}}&{=\{t\mid t\in T\mathrm{~and~}\mathrm{threshold}_{\mathrm{high}}>\mathrm{score}(x)\geq\mathrm{threshold}_{\mathrm{low}}\}}\\ {\tau_{\mathrm{discard}}}&{=\{t\mid t\in T\mathrm{~and~}\mathrm{score}(x)<\mathrm{threshold}_{\mathrm{low}}\}}\end{array}τhigh?τlow?τdiscard??={ttT?and?score(x)thresholdtrack?high?}={ttT?and?thresholdhigh?>score(x)thresholdlow?}={ttT?and?score(x)<thresholdlow?}?

OC-SORT通過一系列專門的過濾和更新階段改進了標準的基于檢測跟蹤范式:

增強關聯:在主要匹配步驟中,OC-SORT補充了標準IoU成本,為匹配τhigh\tau_{\mathrm{high}}τhigh?使用了基于歷史觀測計算的運動方向得出的觀測中心動量(OCM)。與來自卡爾曼濾波器的嘈雜速度估計相比,這提供了更穩定的關聯線索。

二次匹配:在下一個匹配步驟中,跟蹤器專注于τlow\tau_{\mathrm{low}}τlow?。這些通常是目標被遮擋的軌跡。關聯僅使用IoU作為相似性度量進行。此步驟對于維持軌跡連續性至關重要,因為它通過"拯救"低分但有效的檢測,有效地將軌跡鏈接通過部分或完全遮擋期。此階段后仍未匹配的檢測(除τhigh\tau_{\mathrm{high}}τhigh?外)被丟棄為可能是背景噪聲。

啟發式恢復:作為最后一步,觀測中心恢復(OCR)階段對剩余未匹配的高置信度軌跡進行第二次更簡單的匹配嘗試。它嘗試基于軌跡最后已知觀測將任何剩余未匹配的軌跡和檢測關聯起來,有效地恢復可能已停止或短暫被遮擋的對象。

盡管OC-SORT假設跟蹤目標在時間間隔內具有恒定速度,稱為線性運動假設,但我們發現76.2%的標注鳥類實例的速度與前一幀相比變化不超過±20%,64.2%與前4幀相比也是如此,如圖2所示。更多結果見表1。因此,我們可以認為大多數鳥類運動滿足線性運動假設,OC-SORT是此MOT任務的合理選擇。
在這里插入圖片描述

圖2: 訓練數據集中所有實例的速度分布。實例比例為ttt幀和t?1t-1t?1幀之間的速度與t?1t-1t?1t?2t-2t?2幀之間的平均速度或最后4幀的比值。

在這里插入圖片描述

表1: 訓練數據集上恒定速度假設的分析。該表顯示速度比VV ̄\frac{V}{\overline{V}}VV?落在[0.8,1.2]范圍內的樣本百分比,表示近似勻速運動。參考速度VVV使用NNN個先前幀的窗口計算。

3.2.2 運動方向維持

外觀特征信息的缺乏使小目標跟蹤成為一項挑戰性任務。為緩解此問題,我們需要充分利用運動特征。然而,鳥類運動的特征是缺乏規律性,反映在速度和運動方向上。這意味著對運動建模可能需要大量參數,因為人類也很難預測遠處鳥類下一時刻的運動。這將導致實時性能顯著下降。

作為折衷,我們提出應用指數移動平均(EMA)技術來維持歷史速度方向。我們認為,EMA維持的歷史速度是比簡單使用目標幀前第kkk幀計算更精確的余弦方向成本的更好選擇。EMA產生的額外成本不會成為實時應用的負擔,并且可以避免突然轉向的干擾。通過將瞬時速度表示為vinstv_{\mathrm{ins}}^{t}vinst?,將歷史EMA速度表示為vEMAtv_{\mathrm{EMA}}^{t}vEMAt?,更新過程公式化為:

vEMAt=αvEMAt?1+(1?α)vinst?1v_{\mathrm{EMA}}^{t}=\alpha v_{\mathrm{EMA}}^{t-1}+(1-\alpha)v_{\mathrm{ins}}^{t-1}vEMAt?=αvEMAt?1?+(1?α)vinst?1?

3.2.3 相似性度量自適應

OC-SORT的默認相似性度量是IoU,當兩個邊界框不相交時變得無效,而這種情況在小目標上經常發生。小目標的這一特性使跟蹤過程中的匹配變得困難。但我們提出利用這一特性:考慮到目標較小,重疊和大幅位移的可能性相對某些MOT任務較低。基于此假設,我們擴展邊界框的大小以模擬普通對象匹配任務,然后再計算IoU。邊界框擴展的主要思想如圖3所示,與[24]類似。
在這里插入圖片描述

圖3: 擴展邊界框后對象A和對象B的IoU計算示例。藍色部分是檢測或預測的邊界框,灰色部分是擴展的邊界框。IoU計算基于擴展的邊界框,即灰色邊界框。

此外,考慮到對象在幀之間不會表現出顯著位移,我們將IoU度量與距離作為懲罰項結合,這實際上類似于DIoU[29]。為規范化此度量,可表示為:

Similarity=ExpandedIoU?NormalizedDistance+12\mathrm{Similarity}=\frac{\mathrm{ExpandedIoU}-\mathrm{NormalizedDistance}+1}{2}Similarity=2ExpandedIoU?NormalizedDistance+1?

4 實驗

在本節中,我們使用不同參數的YOLOv8評估我們的跟蹤器。我們比較了幾種檢測器的效果,并進行消融研究以驗證我們的改進在不同場景中的魯棒性和泛化能力。

4.1 數據集和指標

數據集。我們在SMOT4SB[9]數據集上進行了所有實驗,其中大多數對象很小并呈現不規則運動模式。SMOT4SB是由UAV捕獲的視頻組成的數據集,包含128個訓練序列、38個驗證序列和45個測試序列。與普通MOT數據集[16,4]不同,SMOT4SB具有更高的難度,包括:1)目標的不規則運動,2)突然和大幅的相機移動,以及3)小目標的有限外觀信息。

指標。在實驗中,我們選擇官方指標SO-HOTA指標(即SO-HOTA、SO-DetA和SO-AssA)[9],該指標源自HOTA指標(即HOTA、DetA和AssA)[14]。SO-HOTA引入了點距離(Dot Distance, DotD)[23]用于相似性評分,比較精確的點狀對象表示。

4.2 實現細節

檢測器。我們的檢測器YOLOv8-SOD基于YOLOv8[7]的三種不同尺寸(L、M、S)構建。我們采用SliceTrain策略進行微調:原始高分辨率訓練圖像(例如2160×3840)被切成1280×1280的重疊子圖像,重疊比例為20%。該策略使單個Nvidia RTX 3090 GPU上的訓練批量大小從1(全圖像)有效增加到6(切片圖像)。所有模型都在訓練集上訓練,推理直接在原始全尺寸圖像上執行,以確保效率和全局上下文。

跟蹤器。為確定匹配中使用的IoU閾值以及與階段2和3匹配的該閾值減少相關的超參數的最佳值,我們采用了網格搜索方法。此過程確定了0.25的最優IoU閾值和0.08的遞減值。關于與置信度分數相關的跟蹤閾值,我們將其設定為0.25,基于我們在訓練數據集上的檢測結果觀察。我們在訓練數據集上通過交叉驗證將EMA的α\alphaα設為0.8。為簡單起見,我們選擇了2的擴展比例。這一決定源于我們的經驗觀察:當小于邊界框較短維度30%的位移被忽略為相對靜止運動時,大多數目標邊界框的幀間x軸和y軸位移不超過其各自寬度和高度的兩倍。圖4提供了這些邊界框運動的統計說明。
在這里插入圖片描述

圖4: 訓練數據集中邊界框水平(左)或垂直(右)位移與寬度(左)或高度(右)的比率。

4.3 基準評估

我們在公共測試數據集上進行實驗。我們在表2中比較了使用相同跟蹤器的不同檢測器,以證明我們的跟蹤器可以實現令人滿意的性能和實時任務的能力。
在這里插入圖片描述

表2: 在SMOT4SB公共測試數據集上不同檢測器的比較。內存占用和推理速度在單個Nvidia RTX 3090 GPU上測量,分辨率為$2160\times3840$。基線模型[8]以1792×3264的分辨率測試。最佳結果以粗體顯示。

如表2所示,我們的評估展示了YOLOv8檢測器不同規模下模型性能與計算效率之間的明確權衡。最大的模型YOLOv8-L實現了最高的跟蹤精度(SO-HOTA為55.205),但速度最低(5.70 FPS)。相比之下,最小的模型YOLOv8-S將推理速度提高了近三倍,達到17.61 FPS,并顯著減少了內存使用。這種顯著的效率提升僅以SO-HOTA 1.397的微小性能下降為代價,驗證了其適用于需要近實時性能的應用。

此外,通過應用高級量化感知訓練(QAT)方法如GPLQ[11],或實用的訓練后量化(PTQ)技術如QwT[6]和QwT-v2[20],可以進一步增強我們模型的效率。這將使我們的高性能跟蹤框架能夠在低功耗邊緣設備上部署,同時保持實時處理能力。

4.4 消融實驗

為驗證我們提出改進的有效性,我們進行了全面的消融研究。小目標跟蹤的主要挑戰之一是標準交并比(IoU)度量的不可靠性,即使對象在幀之間只有微小位移,它也經常失效。
在這里插入圖片描述

表3: 訓練集上不同IoU計算方法的統計結果。相鄰幀位移不超過較短維度30%的邊界框不包括在內。

為精確量化此問題,我們針對具有挑戰性但常見的跟蹤場景進行了統計分析。我們過濾了訓練集,篩選出幀間位移小于邊界框較短維度30%的地面真實邊界框對,代表相對穩定但對標準IoU來說困難的對象。結果如表3所示,令人震驚。默認IoU度量表現極差,在第10百分位僅得0.048分。相比之下,當使用我們的邊界框擴展和中心距離方法時,第10百分位分數上升到0.621,中位數分數達到0.848。這證明我們的提議度量在標準IoU失效的確切條件下提供了明顯更穩健和一致的相似性信號。

這種強化度量對整體跟蹤性能的直接影響在表4中詳細說明。從基線SO-HOTA 44.200開始,我們逐步添加了我們的貢獻。在集成用于運動穩定性的指數移動平均(EMA)后(SO-HOTA提高到47.916),我們引入了我們完整的增強相似性度量,分兩步進行。首先,添加邊界框擴展將SO-HOTA提升到51.387。其次,添加距離懲罰提供了最大的提升,將最終SO-HOTA提高到55.205。這證實了針對挑戰性低位移條件設計并驗證的穩健相似性信號(如表3所示),直接轉化為卓越的跟蹤精度。
在這里插入圖片描述

表4: 跟蹤器的演進軌跡。所有模型與YOLOv8-L一起在SMOT4SB公共數據集上評估。默認跟蹤器是OC-SORT。最佳結果以粗體顯示。

5 結論

在本文中,我們介紹了YOLOv8-SMOT,這是我們針對MVA 2025 SMOT4SB挑戰賽的冠軍解決方案,用于從UAV跟蹤小而敏捷的目標。我們的基于檢測跟蹤方法具有兩個關鍵創新:用于卓越小目標檢測的SliceTrain框架,以及通過運動方向維持和自適應相似性度量增強的魯棒、無外觀跟蹤器。以55.205的SO-HOTA分數達到最先進的性能,我們的方法展示了強大的性能。然而,我們認識到其對運動啟發式的依賴是一個限制,特別是在極端運動或長時間遮擋的情況下。因此,未來工作可以探索更先進的動態模型或最小特征提取技術。我們希望這項工作為推進具有挑戰性的SMOT領域的研究提供一個強大的基線和有價值的見解。

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

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

相關文章

深入理解QLabel:Qt中的文本與圖像顯示控件

在Qt框架中&#xff0c;QLabel是一個功能強大且靈活的控件&#xff0c;主要用于在用戶界面上顯示文本或圖像。無論是在簡單的信息提示&#xff0c;還是在復雜的圖形界面中&#xff0c;QLabel都能發揮重要作用。本文將詳細介紹QLabel的主要功能、使用方法以及一些高級技巧&#…

hintcon2025 Verilog OJ

#web題目要求我們執行 /readflag give me the flagif ((strcmp(argv[1], "give") | strcmp(argv[2], "me") | strcmp(argv[3], "the") | strcmp(argv[4], "flag")) ! 0) {puts("You are not worthy");return 1; }首先&#…

佳易王鐘表維修養護管理系統:開啟鐘表維修高效管理新篇章?就#軟件操作教程

前言&#xff1a; &#xff08;一&#xff09;試用版獲取方式 資源下載路徑&#xff1a;進入博主頭像主頁第一篇文章末尾&#xff0c;點擊卡片按鈕&#xff1b;或訪問左上角博客主頁&#xff0c;通過右側按鈕獲取詳細資料。 說明&#xff1a;下載文件為壓縮包&#xff0c;使用…

mysql組提交

Binlog Group Commit1. 背景&#xff1a;沒有組提交時的問題&#xff08;MySQL 5.7及更早版本的痛點&#xff09;在早期版本的MySQL中&#xff0c;為了保證二進制日志&#xff08;Binlog&#xff09; 和 存儲引擎&#xff08;如InnoDB&#xff09; 之間的一致性&#xff08;即一…

C#簡單組態軟件開發

C#簡單組態軟件開發 組態軟件(SCADA/HMI)是工業自動化領域的核心軟件&#xff0c;用于監控和控制工業過程。 系統架構設計 一個基本的組態軟件應包含以下模塊&#xff1a; 圖形界面編輯器設備通信模塊實時數據庫運行時引擎報警系統歷史數據存儲 開發環境搭建開發工具&#xff1…

Maya綁定:人物綁定詳細案例(創建骨骼、鏡像骨骼、IK創建、IK打組、IK控制器、FK控制器、烘焙動畫、導出)

目錄 壹 創建骨骼 1 準備一個模型 2 創建骨骼 腿部骨骼 軀體骨骼 嘴巴骨骼 披風骨骼 手臂骨骼 手指骨骼 3 給骨骼命名 4 調整關節的坐標軸 測試 5 鏡像骨骼 貳 控制器 一 腳部控制 IK 1 腳部IK創建 腿部IK 腳掌IK 2 腳部IK打組 動作1&#xff1a;腳掌著地&…

手寫MyBatis第46彈:多插件責任鏈模式的實現原理與執行順序奧秘--MyBatis插件架構深度解析

&#x1f942;(???)您的點贊&#x1f44d;?評論&#x1f4dd;?收藏?是作者創作的最大動力&#x1f91e;&#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;點贊&#x1f44d;收藏??留言&#x1f4dd;歡迎留言討論&#x1f525;&#x1f525;&am…

宜春城區光纖鋪設及接口實地調研

一、研究方向與近期關注 因為課題研究的原因&#xff0c;最近對城市骨干網非常感興趣。前期我討論了5G&#xff0c;WiFi及自組網等無線通信網絡情況&#xff0c;感興趣的朋友可以移步我的博客閱讀&#xff1a; 5G無線通信網絡場景&#xff08;日常、工業&#xff09;及拓撲結…

Tomcat 企業級運維實戰系列(六):綜合項目實戰:Java 前后端分離架構部署

Tomcat 企業級運維實戰系列&#xff08;六&#xff09;&#xff1a;綜合項目實戰&#xff1a;Java 前后端分離架構部署一&#xff1a;概述二&#xff1a;部署1&#xff09;環境準備2&#xff09;部署數據庫3&#xff09;部署后端4&#xff09;部署前端總結&#x1f680; Tomcat…

《Unity Shader入門精要》學習筆記四(高級紋理)

1、立方體紋理解釋&#xff1a;站在一個完全透明的玻璃盒子中心&#xff0c;就可以看到6個面。把這個玻璃盒子的6個面都貼上一張照片。這6張照片合起來&#xff0c;就記錄了周圍360度的環境&#xff0c;比如藍天、地面、建筑、樹木等。在2D紋理中&#xff0c;使用坐標來找顏色&…

局域網中使用Nginx部署https前端和后端

目錄 一.前端部署https 二.后端部署https 一.前端部署https 1.前端正常創建項目即可,打包后,文件夾的格式是dist 2.下載認證的證書 也可以使用其他軟件,這里推薦使用mkcert,下載地址如下: Releases FiloSottile/mkcert GitHub 3.輸入 mkcert -install

K8s卷機制:數據持久化與共享

在 Kubernetes&#xff08;K8s&#xff09;中&#xff0c;卷&#xff08;Volume&#xff09; 是用于解決容器內數據持久化、容器間數據共享以及與外部存儲交互的核心機制。它本質上是一個可供 Pod 中容器訪問的存儲目錄&#xff0c;生命周期獨立于容器&#xff08;容器重啟或銷…

線性回歸原理推導與應用(十一):多重共線性

多重共線性的定義與影響 多重共線性&#xff08;Multicollinearity&#xff09;是指線性回歸模型中的解釋變量之間由于存在精確相關關系或高度相關關系而使模型估計失真或難以估計準確。 根據定義和影響程度&#xff0c;可以將多重共線性分為極端共線性和一般共線性。極端共線…

day082-初識ElasticStack

文章目錄0. 老男孩思想-人性十大需求1. ElasticStack介紹1.1 ELK&#xff08;**Elastic Stack**&#xff09;1.2 logstash和filebeat的區別2. ElasticSearch單點部署2.1 下載ElasticSearch軟件包2.2 安裝軟件并修改配置文件2.3 啟動并測試服務3. ElasticSearch集群部署3.1 安裝…

軟考 系統架構設計師系列知識點之雜項集萃(139)

接前一篇文章:軟考 系統架構設計師系列知識點之雜項集萃(138) 第257題 系統工程利用計算機作為工具,對系統的結構、元素、()和反饋等進行分析,以達到最優()、最優設計、最優管理和最優控制的目的。霍爾(A.D.Hall)于1969年提出了系統方法的三維結構體系,通常稱為霍…

solidity地址、智能合約、交易概念

目錄地址address 的兩種子類型&#xff08;Solidity 0.5.0&#xff09;address分類address 的常用操作和屬性總結交易交易的基本結構&#xff08;由外部發起&#xff09;Gas交易生命周期函數調用與交易常見交易場景總結地址 在 Solidity 中&#xff0c;地址&#xff08;addres…

jwt原理及Java中實現

一、JWT 是什么&#xff1f;解決什么問題&#xff1f; 我們先來一張圖看一下這個過程&#xff1a;JWT&#xff08;JSON Web Token&#xff09;是一種把“認證信息&#xff08;Claims&#xff09; 完整性校驗”打包成 自包含 的字符串的規范。 它主要用于無狀態認證&#xff1a;…

大數據在UI前端的應用深化研究:用戶行為數據的跨平臺關聯分析

大數據在UI前端的應用深化研究&#xff1a;用戶行為數據的跨平臺關聯分析每天&#xff0c;你在手機 App 里點了一個按鈕、在網頁上滑了兩屏、又在小程序里停留了 3 秒&#xff0c;這些看似零散的動作&#xff0c;其實都在被悄悄記錄。過去&#xff0c;這些數據只能各自躺在自己…

C++11基礎——— 右值引用和移動語義

1. C11的發展歷史 C11是C的第?個主要版本&#xff0c;并且是從C98起的最重要更新。它引入了大量更改&#xff0c;標準化了既有實踐&#xff0c;并改進了對C程序員可用的抽象。在它最終由ISO在2011年8月12日采納前&#xff0c;人們曾使用名稱“C0x”&#xff0c;因為它曾被期待…

【一】Django框架版本介紹

【一】Django框架版本介紹 【一】Django框架版本 ● Django 是一個高級的Python Web框架&#xff0c;由荷蘭人Armin Ronacher創建。 ● 隨著版本的迭代和功能的不斷優化&#xff0c;Django在處理異步請求方面也有了顯著的進步。 【1】Django1.x ● 默認不支持異步 ● Django 1.…