來自中國清華大學的研究人員推出了YOLOv10,這是一種具有卓越進步的創新模型,展示了在計算機視覺領域的重要突破。這次發布體現了讓AI既易于使用又功能強大的承諾,標志著重大進展和改進。
YOLO(You Only Look Once)系列一直是實時目標檢測的基準,成功平衡了計算成本和檢測性能。盡管在架構設計和優化策略方面取得了進展,但對非最大值抑制(NMS)的依賴阻礙了端到端部署,影響了推理延遲。YOLOv10通過消除NMS并優化模型架構推進了效率和性能的邊界。
在這些進展的背景下,OpenSistemas在AI領域脫穎而出,特別是在訓練、測試和部署如YOLOv10這樣的模型方面。憑借對前沿技術的深刻理解和專長,OpenSistemas能夠充分利用YOLOv10的功能,提升目標檢測任務的精度和效率。這種合作象征著創新與實際應用的融合,推動了AI技術的可能性。
YOLOv10 的特別之處
YOLOv10的主要顯著進步是消除了非最大值抑制(NMS)。NMS是許多目標檢測模型中用于消除檢測到同一對象的冗余邊界框的后處理步驟。它通過保留得分最高的邊界框并移除其他重疊顯著的框來工作。盡管有效,但NMS增加了計算復雜性并增加了推理延遲,這會減慢實時應用的速度。
YOLOv10通過采用一致的雙分配方法進行無NMS訓練,改變了模型處理重疊檢測的方式。通過將這一過程集成到模型的架構和訓練策略中,YOLOv10減少了后處理的需要,大大縮短了推理時間。這種延遲的減少對于速度和效率至關重要的實時應用,如自動駕駛、監控和實時視頻分析至關重要。消除NMS不僅簡化了部署過程,還通過提高模型的效率和響應能力來提升其性能。
預訓練模型
自從Ultralytics發布YOLOv5以來,我們已經習慣了每次YOLO發布時提供各種模型尺寸:nano、small、medium、large和xlarge。YOLOv10也不例外,清華大學的研究人員也提供了一系列預訓練模型,可以用于各種目標檢測任務。
所有這些模型在延遲和平均精度(AP)方面表現出優于之前YOLO版本的性能,如下圖所示:
(圖:各YOLO模型在延遲(左)和參數數量(右)方面的性能比較)
你可以在下表中查看實際性能:
(表:可用的YOLOv10預訓練模型,來源:Ultralytics網站)
使用
我們將嘗試使用原始的倉庫:
git clone https://github.com/THU-MIG/yolov10 cd yolov10 pip install -e . # Choose the size of your model I will use the XLarge version wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10n/s/m/b/l/x.pt
然后,使用方法類似于YOLOv8:
from ultralytics import YOLOv10 # Note the "v10" in the end # Load a model model = YOLOv10('yolov10x.pt') # load an official model # Predict with the model model.predict(0) # predict on your webcam
CLI
yolo predict model=yolov10x.pt source=0 # predict with official model on webcam
Ultralytics框架的預測源也可用:
(圖:可用于預測的源,來源:Ultralytics文檔)
結果
(圖:YOLOv10的目標檢測示例。推理分辨率為384x640)
YOLOv8 vs YOLOv10: 推理延遲
比較YOLOv8和YOLOv10時,最顯著的改進之一是推理延遲的減少。推理延遲,即模型處理圖像并進行預測所需的時間,對于自動駕駛、視頻監控和交互式AI系統等實時應用至關重要。
YOLOv8盡管高效且強大,但依賴于非最大值抑制(NMS)來過濾冗余邊界框。這個額外步驟雖然有效地提高了檢測準確性,但增加了計算開銷并延長了整體推理時間。
而YOLOv10通過一致的雙分配方法進行無NMS訓練,消除了對NMS的需求。通過將這一過程集成到模型架構中,YOLOv10顯著減少了推理過程中所需的計算步驟。這使得處理時間更快,延遲更低,使YOLOv10更適合高速實時應用。
在同一個視頻上,我使用NVIDIA GeForce RTX 4060 Laptop GPU, 7940MiB,得到的日志顯示差異非常大:
(圖:YOLOv10在384x640分辨率下的推理延遲)
(圖:YOLOv8在384x640分辨率下的推理延遲)
導出模型
如果你想了解導出模型的好處,可以查看這篇詳細介紹速度改進的文章。類似于其他任務,如檢測、分割和姿勢估計,你可以使用Ultralytics框架導出YOLOv10模型。此過程包括將模型轉換為ONNX、CoreML、TensorFlow Lite等格式,確保與各種平臺和設備的兼容性。
這種多功能性允許在不同環境中更廣泛的集成,從移動應用到邊緣設備。與前輩一樣,YOLOv10框架支持模型導出,便于在各種平臺上無縫部署。
Python
from ultralytics import YOLOv10 # Load a model model = YOLOv10('yolov10x.pt') # load an official model model = YOLOv10('path/to/best.pt') # load a custom trained model # Export the model model.export(format='onnx')
CLI
yolo export model=yolov10x.pt format=onnx # export official model yolo export model=path/to/best.pt format=onnx # export custom trained model
結論
清華大學研究人員推出的YOLOv10,作為首個無NMS目標檢測模型,代表了計算機視覺領域的重大進步。與YOLOv8相比,YOLOv10顯著減少了推理延遲,使其更適合高速實時應用,如自動駕駛、視頻監控和交互式AI系統。這種推理過程中計算步驟的減少突顯了YOLOv10的效率和響應能力。
此外,YOLOv10采用了新的無NMS訓練方法,對其各部分進行了微調以提高性能,并在速度和準確性之間達到了很好的平衡。這些升級使得模型的部署更容易,性能更強,速度更快,響應更迅速。
-
AI
+關注
關注
87文章
30887瀏覽量
269070 -
目標檢測
+關注
關注
0文章
209瀏覽量
15611 -
計算機視覺
+關注
關注
8文章
1698瀏覽量
45993
原文標題:YOLOv10:無NMS實時目標檢測的先鋒
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論