文章目錄
- 一、研究背景與目標
- 模型效果提升
- 數據集優化
- 二、研究問題明細
- 各方向的關聯性與核心邏輯
- 1. 高質量數據集的高效篩選與主動學習應用
- 2. 基于推理結果的數據補充與增強方向優化
- 3. 多類別場景下目標尺度與模型精度的關聯性
- 4. 損失函數與數據增強對精度的量化影響
- 5. 目標類型專用數據增強的有效性驗證
- 6. 目標位置分布對檢測精度的影響
- 7. 網球檢測標簽的細分化探索
- 8. 新型優化器(Muon)在YOLO中的適配與效果
- 9. 邊界框(Box)質量的評價標準與精度影響
- 10. 球類目標的參數簡化方案驗證
- 數據量越多越好?訓練時間和精度的權衡
- 實驗
- 邊緣效應
- 結果指導
- 定義數據集質量指標,
- 標注質量
- 數據本身
- 冗余度(Redundancy)
- 難例比例
- 任務適配
- 覆蓋度(Coverage)
- 基于概率分布的距離指標
- 基于目標屬性的分布相似度指標(目標檢測)
- 1. 目標尺度分布相似度
- 2. 目標位置分布相似度
- 3. 類別分布相似度
- 4. 目標密度適配性(對于密集目標)
- 篩選高質量數據
- 主動學習
- 參考思路:
一、研究背景與目標
模型效果提升
在目標檢測任務中,首先評價一個訓練好的模型在測試集上表現得好不好的指標很簡單,看準確率類(如Acc、Recall、mAP等)和速度類的指標(如FPS)。
但想提升測試集上的表現,打個比方,把模型看做是學生,訓練階段就是在考前刷題,推理階段就是上場考試。訓練集是 “練習題”,驗證集是 “模擬考試”,測試集是 “最終大考”,標簽則是 “標準答案”。想要考得高,可以提高學生的學習能力,用科學的學習和復習方法,這是改進模型本身。還有是練習時用的例題質量足夠高,這是。
有以下思路:
- 增加推理時進入模型前對圖片預處理(如去噪、增強對比度),降低模型面對的任務復雜度。
- 改進模型本身(參數量,深度,結構),提升特征提取能力
- 在訓練時,用更好的優質數據集,讓模型學習更有效的知識。
以上思路比較淺顯,我們希望
- 進一步量化對標檢測任務模型精度的影響因素,用來更好的理解優化我們的訓練流程。
- 知道通用的yolo訓練中什么步驟帶來了最大的提升和最小的時間開銷。找到訓練yolo同時在精度提高跟多,時間開銷更增加更少的影響因素。
數據集優化
這里重點看數據集的改進。對于數據集的改進的首先想到的就是增加數量,力大飛磚,大力出奇跡,題海戰術。一般情況下,數據集越多,測試集精度就越高,但是會增加訓練時的時間成本。而且加入低質量的數據集(如標注錯誤、冗余樣本、極端噪聲數據,甚至 “數據投毒”等),會降低模型的精度。
所以提出一些問題:
- 性價比最大化:能否在訓練YOLO時以最小的投入(數據集內存占用量,訓練時間)獲取最大的回報(測試集上精度)。也就是通過的篩選或者改進出一小批高質量的數據集進行訓練,來在測試集上精度接近(甚至超越)全量數據集訓練的效果。
- 數據質量的量化:如何定義和量化所謂的高質量,量化評價一批數據集質量的各個標準。
- 高質量數據的獲取:這部分高質量數據應該通過什么方法獲得。
- 最小數據量:數據集質量提高到極致后,最少多少數據集量可以擬合出較好的性能?
二、研究問題明細
- 專用數據集:空中目標檢測數據集
- A:遙感多目標數據集
- B:無人機檢測數據集
- 通用數據集:coco數據集
- 目標數據集:網球目標檢測數據集
更具體的研究問題如下:
1:如何通過訓練一個部分的高質量數據集來獲得與全量數據相近的精度,主動學習找到信息量大的標本
2:如何通過分析模型的推理結果來確定后續的補充數據和選擇數據增強的方向
3:多類別下,小目標和大目標的精度差距是相關的嗎?如果減少大目標的類別,能否提高小目標的精度。或者說如果針對每個類別訓練一個單獨的模型會比合在一起的精度更高嗎?
4:損失函數/數據增強是如何影響模型的精度的。
5:針對目標類型設計增強數據,能否有效。
6:目標的位置會影響最終的精度嗎
7:進一步分析球檢測的標簽能否進一步細分。前后半場,擊球,彈起?
8:優化器muon引入yolo的效果實驗
9:如何評價box質量,box的質量會怎么樣影響精度。
10:對于球類運動能否引入一個圓形的目標,減少一個參數量。只需要x,y和r即可。
各方向的關聯性與核心邏輯
所有方向均圍繞“數據-模型-任務特性”的交互關系展開:
- 數據層面(1、2、6、9)聚焦“數據分布、質量、補充策略”對精度的影響;
- 模型層面(4、8)關注“損失函數、優化器”等組件的參數優化;
- 任務特性層面(3、5、7、10)針對多類別、球類檢測等場景的專屬問題,探索定制化方案(如標簽細分、圓形參數化)。
通過量化各方向的實驗結果(如精度提升幅度、時間開銷),可最終形成“最小投入-最大回報”的YOLO訓練優化路徑。
圍繞“在YOLO系列模型訓練中以最小投入(時間、數據量等)獲取最大精度回報”這一核心目標,結合數據分布、模型優化、任務特性等維度,可將研究方向明確為以下10個具體且相互關聯的子方向,每個方向均聚焦于可量化、可實驗驗證的關鍵問題:
1. 高質量數據集的高效篩選與主動學習應用
- 核心目標:通過主動學習策略從全量數據中篩選出“信息量最大”的部分高質量數據,使模型精度接近全量數據訓練效果,減少數據維護成本。
- 關鍵問題:如何定義“信息量大的標本”(如難例、代表性樣本)?通過詞向量嵌入、相似度聚類(如Kmeans)、置信度分析等方法篩選數據的效果差異如何?
2. 基于推理結果的數據補充與增強方向優化
- 核心目標:利用模型推理結果(如邊界框質量、置信度、漏檢/誤檢區域)反向指導數據補充策略(如增加某類樣本)和數據增強方向(如針對薄弱區域設計增強)。
- 關鍵問題:推理結果中的哪些指標(如低置信度區域、密集目標漏檢)可直接關聯數據缺陷?如何將這些指標轉化為具體的數據集擴充或增強方案?
3. 多類別場景下目標尺度與模型精度的關聯性
- 核心目標:探究多類別中“小目標與大目標精度差距”的內在關聯,以及類別拆分對精度的影響。
- 關鍵問題:減少大目標類別是否能提升小目標精度?為每個類別單獨訓練模型是否比聯合訓練精度更高?(本質是分析類別競爭、尺度差異對模型注意力的影響)
4. 損失函數與數據增強對精度的量化影響
- 核心目標:量化不同損失函數(如CIoU、Focal Loss)和數據增強方法(如翻轉、縮放、馬賽克)對模型精度的提升幅度及時間開銷。
- 關鍵問題:哪些損失函數/增強方法在YOLO訓練中性價比最高(提升大且耗時少)?不同數據集(如通用COCO、專用遙感數據)對損失函數/增強的敏感度是否有差異?
5. 目標類型專用數據增強的有效性驗證
- 核心目標:驗證“針對特定目標類型設計增強”的效果(如網球的運動模糊、旋轉增強)。
- 關鍵問題:為球類、空中目標等設計專屬增強(如模擬飛行軌跡、擊球動態)是否比通用增強更能提升精度?
- MMYOLO中的實驗證明了多個數據增強的影響。
6. 目標位置分布對檢測精度的影響
- 核心目標:分析目標在圖像中的位置(如邊緣、中心、密集區域)與檢測精度的關聯。
- 關鍵問題:是否存在“模型對特定位置目標檢測能力較弱”的現象?如何通過數據分布優化(如平衡位置分布)改善這一問題?
7. 網球檢測標簽的細分化探索
- 核心目標:針對網球任務,驗證標簽細分(如前后半場位置、擊球/彈起狀態)對檢測精度或任務擴展性的提升。
- 關鍵問題:細分標簽是否能讓模型學習到更精細的運動特征?細分化帶來的標簽成本增加與精度提升是否平衡?
8. 新型優化器(Muon)在YOLO中的適配與效果
- 核心目標:測試優化器Muon替代YOLO默認優化器(如SGD、Adam)后的訓練效率(收斂速度)和最終精度。
- 關鍵問題:Muon在處理球類、小目標等場景時,是否能減少震蕩、提升收斂穩定性?與原有優化器的時間開銷對比如何?
9. 邊界框(Box)質量的評價標準與精度影響
- 核心目標:定義“邊界框質量”的量化指標(如與真實框的交并比、標注完整性),分析其對模型精度的直接影響。
- 關鍵問題:低質量框(如標注偏移、漏標)對小目標/密集目標檢測的危害是否更大?如何通過清洗低質量框提升模型魯棒性?
10. 球類目標的參數簡化方案驗證
- 核心目標:針對球類(圓形目標),測試用“圓心(x,y)+半徑(r)”替代傳統矩形框(x,y,w,h)的可行性,減少模型參數量。
- 關鍵問題:圓形參數化是否能提升球類檢測的精度(如減少形狀擬合誤差)?對模型推理速度的提升效果如何?
數據量越多越好?訓練時間和精度的權衡
實驗
- 假設 “數據質量分布平均”,排除了數據質量差異對結果的干擾,能單純聚焦 “數據量” 與 “精度” 的關系。
- 固定訓練超參數,所有實驗組(不同數據量)采用相同的訓練輪次、學習率調度(如余弦退火)、優化器(如Adam)、batch size,僅改變數據量。 符合實驗設計的單一變量原則。
- 多次實驗取均值:如果時間允許,同一數據量下重復訓練3次(避免隨機種子影響),取精度均值繪制曲線,減少偶然誤差。
逐步添加數據,并測試記錄測試集上分數。繪制曲線。
- 針對“全量數據”:指不區分目標類型,單純增加整體數據集的規模時,模型精度的變化趨勢。
- 針對“小目標(像素少)、密集目標(數量多、相互遮擋)”:專門針對“小目標”或“密集目標”樣本增加數據量時,模型在這類目標上的精度變化趨勢。
明確添加數據的“添加方式”:若隨機添加,可能因偶然引入大量冗余樣本(如重復場景),導致曲線低估 “有效數據” 的邊際效益;若按規則添加,需明確規則并保持一致性
- 添加策略:采用“分層隨機抽樣”,確保每次新增數據的場景分布(如光照、角度、背景)與初始數據集一致,避免因新增數據分布偏移影響曲線真實性。
- 數據量梯度:設置合理的梯度間隔(如按初始數據量的20%、40%、60%、80%、100%、120%遞增),避免梯度太粗(如僅3個點)導致曲線形態失真,或太細(如20個點)增加實驗成本。
效率指標:同步記錄“每單位數據量的精度提升”(ΔAP/新增數據量)和“每單位精度提升的時間成本”(Δ訓練時間/ΔAP),直接量化“權衡關系”
邊緣效應
用曲線量化“數據量增加”與“模型性能提升”之間的關系。
邊緣效應:隨著數據量不斷增加,模型性能的提升幅度會逐漸減弱(甚至趨于停滯)的規律。
- 初期:數據量較少時,新增數據(尤其是代表性樣本)能顯著提升模型性能(曲線陡峭上升)。
- 中期:數據量達到一定規模后,新增數據的邊際收益開始下降(曲線變平緩)。
- 后期:數據量極大時,新增數據幾乎不再提升性能(曲線趨于水平)。
曲線形態:通常是一條“先快速上升,后逐漸平緩”的曲線,橫軸為“數據量”,縱軸為“模型精度(如mAP)”。
結果指導
對全量數據曲線:明確“數據量與精度的性價比臨界點”,指導實際訓練中“投入多少數據最劃算”。個人認為圖像拐點處。
對小目標/密集目標曲線:判斷“此類目標是否受數據量限制”(如曲線始終陡峭,說明需優先擴充;若快速平緩,需轉向模型優化,如改進小目標檢測頭)。
定義數據集質量指標,
評價一批數據集質量的指標類別:
- 標注質量:人工復審等
- 數據本身特性(如多樣性、代表性)
- 與任務適配性(如對模型薄弱環節的覆蓋度)
標注質量
都是人標記的,而且就是復審也是人標記的,一張圖人人標記的都不一樣,不好客觀量化。
數據本身
這個評價標準是類似于“絕對指標”,就是不是和別的數據集相比較計算得出的,意義不大。
但我定義難例,還是通過訓練模型是否能檢測出來定義的,等效于相對的是訓練用的訓練集。
冗余度(Redundancy)
-
定義:數據集中高度相似樣本的占比(冗余樣本會增加訓練時間,對精度提升無意義)。
-
定義冗余樣本:
-
視覺內容高度相似:兩張圖像的場景、目標、背景幾乎一致(如連續幀中僅輕微位移的圖像,或同一角度重復拍攝的圖片)。 不好量化,人眼看比較主觀。
-
特征分布高度重疊:通過用成熟的圖像嵌入模型將樣本轉化為高維特征向量(向量維度反映圖像的核心特征,如顏色、紋理、目標布局)。如果兩個樣本的特征向量的余弦相似度超過設定閾值任務其一為冗余。但要兩兩比較,n2n^2n2復雜度,可以簡化計算,隨機抽取10%樣本計算冗余度。
-
對模型貢獻趨同:用預訓練模型推理,兩樣本的預測損失(如分類損失+邊界框損失)差異極小(如損失差<1%),說明模型從兩者中學習到的信息一致。
-
但要考慮的是人認為是冗余,但有可能對模型來說是有益的。
有害冗余:完全重復的場景(如同一圖片復制多次),對模型無新貢獻,必須刪除。
無害重復:看似相似但包含細微差異(如網球的不同旋轉角度),可能幫助模型學習細節特征,不應判定為冗余。
-
冗余度的量化方法:
冗余度=冗余樣本對數量總樣本對數量\text{冗余度} = \frac{\text{冗余樣本對數量}}{\text{總樣本對數量}}冗余度=總樣本對數量冗余樣本對數量?
總樣本對數量=N×(N?1)/2,N為樣本總數總樣本對數量 = N×(N-1)/2,N為樣本總數總樣本對數量=N×(N?1)/2,N為樣本總數
難例比例
- 定義:數據集中包含“模型難識別樣本”的比例(如小目標、遮擋目標、罕見角度目標),此類樣本對提升模型泛化能力至關重要。
- 定義難例:設定損失閾值(如取損失前20%的樣本為“難例”),
難例比例 = 難例樣本數 / 總樣本數
(需結合任務調整,并非越高越好,通常10%~30%為宜)。 - 量化方法: 用預訓練模型(如YOLOv5)對數據集進行推理,計算每個樣本的預測損失(如邊界框損失+分類損失)。
任務適配
與任務適配性指標:反映數據與“測試集/任務需求”的匹配度
覆蓋度(Coverage)
- 定義:數據集覆蓋測試集所有場景/目標類型的程度(如不同光照、角度、背景下的目標),避免關鍵場景缺失。
- 量化方法:
- 用圖像嵌入模型(如谷歌MediaPipe)將所有樣本(訓練集+測試集)轉化為高緯特征向量,通過K-means聚類將測試集分為N類(如N=20,覆蓋所有典型場景)。
- 計算訓練集中覆蓋測試集聚類中心的比例:
覆蓋度 = 訓練集包含的測試集聚類中心數 / 測試集總聚類中心數
(取值0~1,越接近1越好)。
基于概率分布的距離指標
基于概率分布的距離指標是衡量兩個概率分布(如訓練集與測試集的特征分布)相似度的核心工具,其核心邏輯是通過量化 “分布形狀差異” 或 “信息損失” 來判斷相似程度。以下是三種通用型指標的詳細解析,包括定義、計算邏輯、優缺點及適用場景:
指標 | 對稱性 | 取值范圍 | 核心優勢 | 局限性 | 最佳適用場景 |
---|---|---|---|---|---|
KL散度 | 非對稱 | [0,+∞)[0, +\infty)[0,+∞) | 精準衡量P對Q的信息損失 | 不適合對稱對比,極端值易發散 | 類別占比、目標尺度等離散特征的單向評估 |
JS散度 | 對稱 | [0,1][0, 1][0,1] | 對稱且易設定閾值,適合雙向對比 | 不考慮特征值的實際距離 | 位置分布、場景屬性等離散特征的對稱對比 |
Wasserstein距離 | 對稱 | [0,+∞)[0, +\infty)[0,+∞) | 考慮特征值距離,適合連續特征 | 計算復雜度高(尤其高維特征) | 目標尺寸、坐標、遮擋率等連續特征 |
基于目標屬性的分布相似度指標(目標檢測)
個人認為,在數據集的標注沒問題時,與測試集越相似的訓練集越好。比如最后參加高考,平常練習的是難度、題型的分布都很相似的往年高考真題。
針對目標檢測任務的核心特征(如尺度、位置、類別、形態),來量化兩個數據集的相似度。
1. 目標尺度分布相似度
- 特征定義:目標的寬高、面積、邊長比(如寬高比)等連續或離散化特征。
- 量化方法:
- 離散化:將尺度分為小/中/大(如32×32為界),計算各區間占比的KL散度或JS散度。
- 連續化:對目標面積的概率密度函數(如高斯分布擬合)計算Wasserstein距離,距離越小說明尺度分布越一致。
2. 目標位置分布相似度
- 特征定義:目標中心在圖像中的坐標(x,y)、所屬區域(如邊緣/中心)。
- 量化方法:
- 網格劃分法:將圖像分為N×N網格(如3×3、5×5甚至更大),統計目標在各網格的占比,計算JS散度(見前文)。
- 坐標分布:對目標中心坐標(x,y)的二維分布計算2-Wasserstein距離,或用二維直方圖的KL散度。
3. 類別分布相似度
- 特征定義:各類別目標的樣本數量占比(如COCO中“人”“車”的占比)。
- 量化方法:
- 計算類別占比向量的KL散度(如訓練集“貓:30%、狗:70%”與測試集“貓:25%、狗:75%”的差異)。
- 簡單匹配率:∑min?(Pi,Qi)\sum \min(P_i, Q_i)∑min(Pi?,Qi?)(P、Q為訓練/測試集類別占比),值越接近1越相似。
4. 目標密度適配性(對于密集目標)
- 定義:訓練集中密集目標樣本與測試集密集場景的匹配程度(針對密集目標檢測任務)。
- 量化方法:
- 定義“密集樣本”為單張圖目標數>10個,計算訓練集與測試集的密集樣本占比:
密集占比差 = |訓練集密集占比 - 測試集密集占比|
(差值<5%為適配,否則需補充分集樣本)。
- 定義“密集樣本”為單張圖目標數>10個,計算訓練集與測試集的密集樣本占比:
篩選高質量數據
主動學習
方向是主動學習。實驗主要是區分為兩部分
-
數據驅動:通過模型對圖片進行詞向量嵌入,構造詞向量的數據集。對向量相似度進行對比,將相似度高的數據進行篩選。使用
- 谷歌MediaPipe圖像嵌入器(輕量、實時,適合大規模數據集),地址:mediapipe。
- CLIP模型(跨模態特征,對場景語義更敏感);
- ResNet等CNN模型的中間層輸出(保留圖像細節特征)。
-
結果驅動:通過對結果的box大小和區域以及置信度的分析,增加類似的數據集。
參考思路:
-
1.1: 對現有數據集進行Kmeans聚類,對選取聚類個數,聚類中心結果進行實驗,數據的數量,大小和位置分布
-
1.2:選取和驗證集的數據最相似的N個數據加入網絡訓練數據,觀察收斂曲線,增加數據的數量,大小和位置分布
-
1.3:先隨機選擇K個數據,再刪除和這些數據相似度大于一定值的數據,觀察收斂曲線,數據的數量,大小和位置分布
-
1.4:訓練數據集結果中,根據置信度對數據進行刪除,刪除按照某個線性函數,高多刪低的保留,觀察收斂曲線,數據的數量,大小和位置分布
-
1.5:根據某個規則重新挑選數據,保證訓練和測試數據集的標簽的分布和位置盡量的相似
-
1.6:對于驗證集的偽標簽,是否全加入訓練是最好的,如果需要挑選,要挑選什么樣的數據。