前言
YOLOv10 是清華大學研究人員在 UltralyticsPython 清華大學的研究人員在 YOLOv10軟件包的基礎上,引入了一種新的實時目標檢測方法,解決了YOLO 以前版本在后處理和模型架構方面的不足。通過消除非最大抑制(NMS)和優化各種模型組件,YOLOv10 在顯著降低計算開銷的同時實現了最先進的性能。并用大量實驗證明,YOLOv10 在多個模型尺度上實現了卓越的精度-延遲權衡。
1.模型獲取
官網連接:
https://github.com/THU-MIG/yolov10
也可以文末公眾號內回復“YOLOv10”,獲取全部代碼、論文以及初始權重文件。
2.YOLOv10亮點
-
無 NMS 設計:利用一致的雙重分配來消除對 NMS 的需求,從而減少推理延遲。
-
整體模型設計:從效率和準確性的角度全面優化各種組件,包括輕量級分類頭、空間通道去耦向下采樣和等級引導塊設計。
-
增強的模型功能:納入大核卷積和部分自注意模塊,在不增加大量計算成本的情況下提高性能。
3.模型結構
YOLOv10與v8結構相比,從結構上看添加了PSA和在C2f結構中添加了CBI結構,去掉了NMS。
4.模型訓練、驗證、推理
需要導入YOLOv10模塊,不是YOLO模塊
from ultralytics import YOLOv10# 加載模型
model = YOLOv10("yolov10n.yaml") # 從頭開始構建新模型
model = YOLOv10("weights/yolov10n.pt") # 加載預訓練模型(建議用于訓練)
if __name__ == '__main__':model.train(data="data_laji.yaml", imgsz=416, batch=32, epochs=10, workers=0) # 訓練模型
from ultralytics import YOLOv10def main():# 加載模型,test就是對測試集進行測試,刪去就是對驗證集進行測試model = YOLOv10(r"runs/detect/train/weights/best.pt")model.val(data="data_APSPC.yaml", split='test', imgsz=416, batch=16, workers=0) #模型驗證
if __name__ == "__main__":main()
from ultralytics import YOLOv10
# 檢測
model = YOLOv10(r"runs/detect/train/weights/best.pt")
results = model('datasets/images/val', save=True)
?
?
👇👇👇免費領取方式
在下方公眾號內回復關鍵詞:YOLOv10
最后:
如果你想要進一步了解更多的相關知識,可以關注下面公眾號聯系~會不定期發布相關設計內容包括但不限于如下內容:信號處理、通信仿真、算法設計、matlab appdesigner,gui設計、simulink仿真......希望能幫到你!