前言
一、模型介紹
二、網絡結構
1.主干網絡(Backbone)
2.頸部網絡(Neck)
3.頭部網絡(Head)
三、算法改進
1.增強的特征提取
2.優化的效率和速度
3.更高的準確性與更少的參數
4.環境適應性強
5.支持廣泛的任務
四、性能表現
五、損失函數
六、YOLO11使用詳解
1.添加模型
2.創建數據集
3.數據標注
4.模型訓練
5.模型預測
總結
1.網絡結構與性能提升
2.算法改進與任務擴展
3.靈活部署與廣泛應用
前言
YOLO11作為這YOLO系列的最新力作,無疑將目標檢測算法推向了一個新的高度。YOLO11在2024年9月30日的YOLOVision活動中正式發布了,這一新版本不僅在性能上有了顯著提升,還在功能多樣性上邁出了重要一步。
一、模型介紹
YOLO11是由Ultralytics團隊于2024年9月30日發布的,它是YOLO(You Only Look Once)系列中的最新成員。YOLO11在之前版本的YOLO基礎上引入了新功能和改進,以進一步提高性能和靈活性。這使得YOLO11成為目標檢測和跟蹤、實例分割、圖像分類和姿態估計等多種計算機視覺任務的理想選擇。
二、網絡結構
YOLO11采用改進的骨干和頸部架構,增強了特征提取能力,提高了物體檢測的精確度和復雜任務的表現。相比較于YOLOv8模型,其將CF2模塊改成C3K2,同時在SPPF模塊后面添加了一個C2PSA模塊,且將YOLOv10的head思想引入到YOLO11的head中,使用深度可分離的方法,減少冗余計算,提高效率。
1.主干網絡(Backbone)
YOLO1增加了一個C2PSA模塊,并且將C2f替換為了C3k2。相比于C2f,當超參數c3k=True時,瓶頸塊替換為 C3k,否則還是C2f,而C3k相比于C3則是可以讓使用者自定義卷積塊大小,更加靈活。C2PSA擴展了C2f,通過引入PSA( Position-Sensitive Attention),旨在通過多頭注意力機制和前饋神經網絡來增強特征提取能力。它可以選擇性地添加殘差結構(shortcut)以優化梯度傳播和網絡訓練效果。同時,使用FFN 可以將輸入特征映射到更高維的空間,捕獲輸入特征的復雜非線性關系,允許模型學習更豐富的特征表示。
2.頸部網絡(Neck)
YOLO11使用PAN結構,并在其中也使用了C3K2模塊。這種結構設計有助于聚合來自不同尺度的特征,并優化特征的傳遞過程。C3K2模塊其實就是C2F模塊轉變出來的,它代碼中有一個設置,就是當c3k這個參數為FALSE的時候,C3K2模塊就是C2F模塊,也就是說它的Bottleneck是普通的Bottleneck;反之當它為true的時候,將Bottleneck模塊替換成C3模塊。
3.頭部網絡(Head)
YOLO11的Head部分和YOLOV8是近似的,YOLO11在head部分的cls分支上使用深度可分離卷積,具體代碼如下:
self.cv2 = nn.ModuleList(nn.Sequential(Conv(x, c2, 3), Conv(c2, c2, 3), nn.Conv2d(c2, 4 * self.reg_max, 1)) for x in ch)self.cv3 = nn.ModuleList(nn.Sequential(nn.Sequential(DWConv(x, x, 3), Conv(x, c3, 1)),nn.Sequential(DWConv(c3, c3, 3), Conv(c3, c3, 1)),nn.Conv2d(c3, self.nc, 1),)for x in ch)
三、算法改進
YOLO11在其前身基礎上引入了幾項重要進步。主要改進包括:
1.增強的特征提取
YOLO11采用改進的骨干和頸部架構,增強了特征提取能力,提高了物體檢測的精確度。
2.優化的效率和速度
精煉的架構設計和優化的訓練流程實現了更快的處理速度,同時保持了準確性和性能之間的平衡。
3.更高的準確性與更少的參數
YOLO11m在COCO數據集上實現了更高的均值平均精度(mAP),同時使用比YOLOv8m少22%的參數,使其在不妥協準確性的情況下更加計算高效。
4.環境適應性強
YOLO11可以在多種環境中部署,包括邊緣設備、云平臺以及支持NVIDIA GPU的系統。
5.支持廣泛的任務
YOLO11支持多種計算機視覺任務,如物體檢測、實例分割、圖像分類、姿態估計和定向物體檢測(OBB)。
四、性能表現
YOLO11引入精煉的架構設計和優化的訓練流程,實現更快的處理速度,同時保持精度和性能之間的最佳平衡。通過模型設計的進步,YOLO11m在COCO數據集上實現了更高的均值平均精度(mAP),同時使用比YOLOv8m少22%的參數,使其在不妥協準確性的情況下更加計算高效。YOLO11可以無縫部署在各種環境中,包括邊緣設備、云平臺以及支持NVIDIA GPU的系統,確保最大靈活性。無論是物體檢測、實例分割、圖像分類、姿態估計,還是定向物體檢測(OBB),YOLO11都旨在應對多樣的計算機視覺挑戰。
五、損失函數
Loss 計算包括 2 個分支:分類和回歸分支,沒有了之前的 objectness 分支。分類分支依然采用 BCE Loss。回歸分支使用了 Distribution Focal Loss(DFL Reg_max默認為16)+ CIoU Loss。3 個Loss采用一定權重比例加權即可。
這里重點介紹一下DFL損失。目前被廣泛使用的bbox表示可以看作是對bbox方框坐標建模了單一的狄拉克分布。但是在復雜場景中,一些檢測對象的邊界并非十分明確。如下圖左面所示,對于滑板左側被水花模糊,引起對左邊界的預測分布是任意而扁平的,對右邊界的預測分布是明確而尖銳的。對于這個問題,有學者提出直接回歸一個任意分布來建模邊界框,使用softmax實現離散的回歸,將狄拉克分布的積分形式推導到一般形式的積分形式來表示邊界框。
六、YOLO11使用詳解
無論是YOLOv8還是YOLO11,Coovally平臺通通可以滿足的你的訓練需求,而且模型訓練對比、實驗結果等參數直觀對比,滿足你的課題研究和商業應用。
1.添加模型
進入Coovally平臺點擊【全部模型】,搜索YOLO11,在這里可以選擇不同的YOLO11版本。下載代碼包或者點擊另存為我的模型。進入【模型集成】頁面,進行安裝。
2.創建數據集
進入【圖像數據】頁面,點擊創建數據集,輸入數據集名稱、描述,選擇任務類型,上傳壓縮包文件。創建數據集時可以按照比例拆分訓練集、驗證集、測試集。
3.數據標注
進入【輔助標注】頁面,點擊創建樣本集,進入樣本集詳情頁,創建好標簽進行數據標注。可以選擇幾組數據進行人工標注,標注完成后發布為數據集啟動微調訓練,剩余樣本集數據即可全部自動化完成。
4.模型訓練
進入數據集詳情頁,輸入任務名稱,選擇模型配置模版,設置實驗E-poch次數,訓練次數等信息,即可開始訓練。
5.模型預測
模型訓練完成后,完成模型轉換與模型部署后,即可上傳圖片進行結果預測。完成后還可以將模型下載與分享。
總結
YOLO11算法提高了檢測精度和效率。在有很多物體的視頻中,YOLO11的檢測效果更好,甚至可以檢測到領帶等細小物品。
1.網絡結構與性能提升
YOLO11通過引入C3K2、C2PSA等模塊,增強了特征提取能力,提高了檢測精度。同時,采用深度可分離卷積等方法優化計算效率,實現了更快的處理速度和更高的性能。這使得YOLO11在多種計算機視覺任務中表現出色,尤其在復雜場景中更具優勢。
2.算法改進與任務擴展
YOLO11在算法層面進行了多項優化,包括增強的特征提取、優化的訓練流程等,進一步提升了模型的準確性和效率。此外,它還支持多種計算機視覺任務,如實例分割、圖像分類等,滿足了更廣泛的應用需求。
3.靈活部署與廣泛應用
YOLO11具有良好的環境適應性,可以在邊緣設備、云平臺等多種環境中部署。其高效的計算性能和廣泛的應用場景,使得YOLO11成為實時目標檢測領域的佼佼者,為科研和商業應用提供了有力支持。
總結來說,YOLOv10不僅是一個新的實時端到端目標檢測器,而且在各個方面都有所提升。如果您有興趣了解更多關于YOLOv10的使用方法等,歡迎關注我們,我們將繼續為大家帶來更多干貨內容!