[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-THU-MIG--yolov10":3,"similar-THU-MIG--yolov10":94},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":14,"owner_avatar_url":15,"owner_bio":16,"owner_company":17,"owner_location":17,"owner_email":18,"owner_twitter":17,"owner_website":19,"owner_url":20,"languages":21,"stars":33,"forks":34,"last_commit_at":35,"license":36,"difficulty_score":37,"env_os":38,"env_gpu":39,"env_ram":40,"env_deps":41,"category_tags":49,"github_topics":17,"view_count":37,"oss_zip_url":17,"oss_zip_packed_at":17,"status":51,"created_at":52,"updated_at":53,"faqs":54,"releases":84},9047,"THU-MIG\u002Fyolov10","yolov10","YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024] ","YOLOv10 是一款由清华大学团队开发的实时端到端目标检测模型，旨在为计算机视觉应用提供速度与精度的最佳平衡。作为 YOLO 系列的最新演进版本，它主要解决了传统检测模型在推理延迟、计算资源消耗以及后处理复杂度之间的权衡难题，让设备能在极低延迟下精准识别物体。\n\n这款工具特别适合需要高效部署的 AI 开发者、追求前沿算法的研究人员，以及希望在边缘设备或移动端实现实时视觉功能的工程师。无论是安防监控、自动驾驶还是工业质检，YOLOv10 都能提供强有力的支持。\n\n其核心技术亮点在于引入了“无 NMS（非极大值抑制）”训练策略，彻底摒弃了传统 YOLO 模型依赖的后处理步骤，实现了真正的端到端检测，显著提升了推理效率。同时，通过双重分配标签机制和轻量级分类头设计，YOLOv10 在大幅减少参数量和计算量的同时，依然保持了业界领先的检测精度。这意味着用户可以用更少的算力成本，获得更快的响应速度和更准确的识别结果，是让实时视觉应用落地的理想选择。","## Latest Updates -- [YOLOE: Real-Time Seeing Anything](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe)\n\nPlease check out our new release on [**YOLOE**](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe).\n\n* YOLOE code: https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\n* YOLOE paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.07465\n\n \u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fcomparison.svg\" width=70%> \u003Cbr>\n  Comparison of performance, training cost, and inference efficiency between YOLOE (Ours) and YOLO-Worldv2 in terms of open text prompts.\n\u003C\u002Fp>\n\n**YOLOE(ye)** is a highly **efficient**, **unified**, and **open** object detection and segmentation model for real-time seeing anything, like human eye, under different prompt mechanisms, like *texts*, *visual inputs*, and *prompt-free paradigm*, with **zero inference and transferring overhead** compared with closed-set YOLOs.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fvisualization.svg\" width=96%> \u003Cbr>\n\u003C\u002Fp>\n\n\u003Cdetails>\n  \u003Csummary>\n  \u003Cfont size=\"+1\">Abstract\u003C\u002Ffont>\n  \u003C\u002Fsummary>\nObject detection and segmentation are widely employed in computer vision applications, yet conventional models like YOLO series, while efficient and accurate, are limited by predefined categories, hindering adaptability in open scenarios. Recent open-set methods leverage text prompts, visual cues, or prompt-free paradigm to overcome this, but often compromise between performance and efficiency due to high computational demands or deployment complexity. In this work, we introduce YOLOE, which integrates detection and segmentation across diverse open prompt mechanisms within a single highly efficient model, achieving real-time seeing anything. For text prompts, we propose Re-parameterizable Region-Text Alignment (RepRTA) strategy. It refines pretrained textual embeddings via a re-parameterizable lightweight auxiliary network and enhances visual-textual alignment with zero inference and transferring overhead. For visual prompts, we present Semantic-Activated Visual Prompt Encoder (SAVPE). It employs decoupled semantic and activation branches to bring improved visual embedding and accuracy with minimal complexity. For prompt-free scenario, we introduce Lazy Region-Prompt Contrast (LRPC) strategy. It utilizes a built-in large vocabulary and specialized embedding to identify all objects, avoiding costly language model dependency. Extensive experiments show YOLOE's exceptional zero-shot performance and transferability with high inference efficiency and low training cost. Notably, on LVIS, with $3\\times$ less training cost and $1.4\\times$ inference speedup, YOLOE-v8-S surpasses YOLO-Worldv2-S by 3.5 AP. When transferring to COCO, YOLOE-v8-L achieves 0.6 $AP^b$ and 0.4 $AP^m$ gains over closed-set YOLOv8-L with nearly $4\\times$ less training time.\n\u003C\u002Fdetails>\n\u003Cp>\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fpipeline.svg\" width=96%> \u003Cbr>\n\u003C\u002Fp>\n\n\n# [YOLOv10: Real-Time End-to-End Object Detection](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458)\n\n\nOfficial PyTorch implementation of **YOLOv10**. NeurIPS 2024.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"figures\u002Flatency.svg\" width=48%>\n  \u003Cimg src=\"figures\u002Fparams.svg\" width=48%> \u003Cbr>\n  Comparisons with others in terms of latency-accuracy (left) and size-accuracy (right) trade-offs.\n\u003C\u002Fp>\n\n[YOLOv10: Real-Time End-to-End Object Detection](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458).\\\nAo Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han, and Guiguang Ding\\\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2405.14458-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458) \u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Froboflow-ai\u002Fnotebooks\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftrain-yolov10-object-detection-on-custom-dataset.ipynb#scrollTo=SaKTSzSWnG7s\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa> [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Models-blue)](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fjameslahm\u002Fyolov10-665b0d90b0b5bb85129460c2) [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fjameslahm\u002FYOLOv10)  [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fkadirnar\u002FYolov10)  [![Transformers.js Demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Transformers.js-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FXenova\u002Fyolov10-web) [![LearnOpenCV](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlogPost-blue?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D%2BPAAAALVBMVEX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F6%2Bfn6%2Bvq3y%2BJ8rOFSne9Jm%2FQcOlr5DJ7GAAAAB3RSTlMAB2LM94H1yMxlvwAAADNJREFUCFtjZGAEAob%2FQMDIyAJl%2FmFkYmEGM%2F%2F%2BYWRmYWYCMv8BmSxYmUgKkLQhGYawAgApySgfFDPqowAAAABJRU5ErkJggg%3D%3D&logoColor=black&labelColor=gray)](https:\u002F\u002Flearnopencv.com\u002Fyolov10\u002F) [![Openbayes Demo](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Demo&message=OpenBayes%E8%B4%9D%E5%BC%8F%E8%AE%A1%E7%AE%97&color=green)](https:\u002F\u002Fopenbayes.com\u002Fconsole\u002Fpublic\u002Ftutorials\u002Fim29uYrnIoz) \n\n\n\u003Cdetails>\n  \u003Csummary>\n  \u003Cfont size=\"+1\">Abstract\u003C\u002Ffont>\n  \u003C\u002Fsummary>\nOver the past years, YOLOs have emerged as the predominant paradigm in the field of real-time object detection owing to their effective balance between computational cost and detection performance. Researchers have explored the architectural designs, optimization objectives, data augmentation strategies, and others for YOLOs, achieving notable progress. However, the reliance on the non-maximum suppression (NMS) for post-processing hampers the end-to-end deployment of YOLOs and adversely impacts the inference latency. Besides, the design of various components in YOLOs lacks the comprehensive and thorough inspection, resulting in noticeable computational redundancy and limiting the model's capability. It renders the suboptimal efficiency, along with considerable potential for performance improvements. In this work, we aim to further advance the performance-efficiency boundary of YOLOs from both the post-processing and the model architecture. To this end, we first present the consistent dual assignments for NMS-free training of YOLOs, which brings the competitive performance and low inference latency simultaneously. Moreover, we introduce the holistic efficiency-accuracy driven model design strategy for YOLOs. We comprehensively optimize various components of YOLOs from both the efficiency and accuracy perspectives, which greatly reduces the computational overhead and enhances the capability. The outcome of our effort is a new generation of YOLO series for real-time end-to-end object detection, dubbed YOLOv10. Extensive experiments show that YOLOv10 achieves the state-of-the-art performance and efficiency across various model scales. For example, our YOLOv10-S is 1.8$\\times$ faster than RT-DETR-R18 under the similar AP on COCO, meanwhile enjoying 2.8$\\times$ smaller number of parameters and FLOPs. Compared with YOLOv9-C, YOLOv10-B has 46\\% less latency and 25\\% fewer parameters for the same performance.\n\u003C\u002Fdetails>\n\n## Notes\n- 2024\u002F05\u002F31: Please use the [exported format](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10?tab=readme-ov-file#export) for benchmark. In the non-exported format, e.g., pytorch, the speed of YOLOv10 is biased because the unnecessary `cv2` and `cv3` operations in the `v10Detect` are executed during inference.\n- 2024\u002F05\u002F30: We provide [some clarifications and suggestions](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F136) for detecting smaller objects or objects in the distance with YOLOv10. Thanks to [SkalskiP](https:\u002F\u002Fgithub.com\u002FSkalskiP)!\n- 2024\u002F05\u002F27: We have updated the [checkpoints](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fjameslahm\u002Fyolov10-665b0d90b0b5bb85129460c2) with class names, for ease of use.\n\n## UPDATES 🔥\n- 2024\u002F06\u002F01: Thanks to [ErlanggaYudiPradana](https:\u002F\u002Fgithub.com\u002Frlggyp) for the integration with [C++ | OpenVINO | OpenCV](https:\u002F\u002Fgithub.com\u002Frlggyp\u002FYOLOv10-OpenVINO-CPP-Inference)\n- 2024\u002F06\u002F01: Thanks to [NielsRogge](https:\u002F\u002Fgithub.com\u002FNielsRogge) and [AK](https:\u002F\u002Fx.com\u002F_akhaliq) for hosting the models on the HuggingFace Hub!\n- 2024\u002F05\u002F31: Build [yolov10-jetson](https:\u002F\u002Fgithub.com\u002FSeeed-Projects\u002Fjetson-examples\u002Fblob\u002Fmain\u002FreComputer\u002Fscripts\u002Fyolov10\u002FREADME.md) docker image by [youjiang](https:\u002F\u002Fgithub.com\u002Fyuyoujiang)!\n- 2024\u002F05\u002F31: Thanks to [mohamedsamirx](https:\u002F\u002Fgithub.com\u002Fmohamedsamirx) for the integration with [BoTSORT, DeepOCSORT, OCSORT, HybridSORT, ByteTrack, StrongSORT using BoxMOT library](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1-QV2TNfqaMsh14w5VxieEyanugVBG14V?usp=sharing)!\n- 2024\u002F05\u002F31: Thanks to [kaylorchen](https:\u002F\u002Fgithub.com\u002Fkaylorchen) for the integration with [rk3588](https:\u002F\u002Fgithub.com\u002Fkaylorchen\u002Frk3588-yolo-demo)!\n- 2024\u002F05\u002F30: Thanks to [eaidova](https:\u002F\u002Fgithub.com\u002Feaidova) for the integration with [OpenVINO™](https:\u002F\u002Fgithub.com\u002Fopenvinotoolkit\u002Fopenvino_notebooks\u002Fblob\u002F0ba3c0211bcd49aa860369feddffdf7273a73c64\u002Fnotebooks\u002Fyolov10-optimization\u002Fyolov10-optimization.ipynb)!\n- 2024\u002F05\u002F29: Add the gradio demo for running the models locally. Thanks to [AK](https:\u002F\u002Fx.com\u002F_akhaliq)!\n- 2024\u002F05\u002F27: Thanks to [sujanshresstha](sujanshresstha) for the integration with [DeepSORT](https:\u002F\u002Fgithub.com\u002Fsujanshresstha\u002FYOLOv10_DeepSORT.git)!\n- 2024\u002F05\u002F26: Thanks to [CVHub520](https:\u002F\u002Fgithub.com\u002FCVHub520) for the integration into [X-AnyLabeling](https:\u002F\u002Fgithub.com\u002FCVHub520\u002FX-AnyLabeling)!\n- 2024\u002F05\u002F26: Thanks to [DanielSarmiento04](https:\u002F\u002Fgithub.com\u002FDanielSarmiento04) for integrate in [c++ | ONNX | OPENCV](https:\u002F\u002Fgithub.com\u002FDanielSarmiento04\u002Fyolov10cpp)!\n- 2024\u002F05\u002F25: Add [Transformers.js demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FXenova\u002Fyolov10-web) and onnx weights(yolov10[n](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10n)\u002F[s](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10s)\u002F[m](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10m)\u002F[b](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10b)\u002F[l](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10l)\u002F[x](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10x)). Thanks to [xenova](https:\u002F\u002Fgithub.com\u002Fxenova)!\n- 2024\u002F05\u002F25: Add [colab demo](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Froboflow-ai\u002Fnotebooks\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftrain-yolov10-object-detection-on-custom-dataset.ipynb#scrollTo=SaKTSzSWnG7s), [HuggingFace Demo](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fkadirnar\u002FYolov10), and [HuggingFace Model Page](https:\u002F\u002Fhuggingface.co\u002Fkadirnar\u002FYolov10). Thanks to [SkalskiP](https:\u002F\u002Fgithub.com\u002FSkalskiP) and [kadirnar](https:\u002F\u002Fgithub.com\u002Fkadirnar)! \n\n## Performance\nCOCO\n\n| Model | Test Size | #Params | FLOPs | AP\u003Csup>val\u003C\u002Fsup> | Latency |\n|:---------------|:----:|:---:|:--:|:--:|:--:|\n| [YOLOv10-N](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10n) |   640  |     2.3M    |   6.7G   |     38.5%     | 1.84ms |\n| [YOLOv10-S](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10s) |   640  |     7.2M    |   21.6G  |     46.3%     | 2.49ms |\n| [YOLOv10-M](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10m) |   640  |     15.4M   |   59.1G  |     51.1%     | 4.74ms |\n| [YOLOv10-B](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10b) |   640  |     19.1M   |  92.0G |     52.5%     | 5.74ms |\n| [YOLOv10-L](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10l) |   640  |     24.4M   |  120.3G   |     53.2%     | 7.28ms |\n| [YOLOv10-X](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10x) |   640  |     29.5M    |   160.4G   |     54.4%     | 10.70ms |\n\n## Installation\n`conda` virtual environment is recommended. \n```\nconda create -n yolov10 python=3.9\nconda activate yolov10\npip install -r requirements.txt\npip install -e .\n```\n## Demo\n```\npython app.py\n# Please visit http:\u002F\u002F127.0.0.1:7860\n```\n\n## Validation\n[`yolov10n`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10n)  [`yolov10s`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10s)  [`yolov10m`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10m)  [`yolov10b`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10b)  [`yolov10l`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10l)  [`yolov10x`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10x)  \n```\nyolo val model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} data=coco.yaml batch=256\n```\n\nOr\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# or\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.val(data='coco.yaml', batch=256)\n```\n\n\n## Training \n```\nyolo detect train data=coco.yaml model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.yaml epochs=500 batch=256 imgsz=640 device=0,1,2,3,4,5,6,7\n```\n\nOr\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10()\n# If you want to finetune the model with pretrained weights, you could load the \n# pretrained weights like below\n# model = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# or\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\n# model = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.train(data='coco.yaml', epochs=500, batch=256, imgsz=640)\n```\n\n## Push to hub to 🤗\n\nOptionally, you can push your fine-tuned model to the [Hugging Face hub](https:\u002F\u002Fhuggingface.co\u002F) as a public or private model:\n\n```python\n# let's say you have fine-tuned a model for crop detection\nmodel.push_to_hub(\"\u003Cyour-hf-username-or-organization\u002Fyolov10-finetuned-crop-detection\")\n\n# you can also pass `private=True` if you don't want everyone to see your model\nmodel.push_to_hub(\"\u003Cyour-hf-username-or-organization\u002Fyolov10-finetuned-crop-detection\", private=True)\n```\n\n## Prediction\nNote that a smaller confidence threshold can be set to detect smaller objects or objects in the distance. Please refer to [here](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F136) for details.\n```\nyolo predict model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}\n```\n\nOr\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# or\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.predict()\n```\n\n## Export\n```\n# End-to-End ONNX\nyolo export model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} format=onnx opset=13 simplify\n# Predict with ONNX\nyolo predict model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.onnx\n\n# End-to-End TensorRT\nyolo export model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} format=engine half=True simplify opset=13 workspace=16\n# or\ntrtexec --onnx=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.onnx --saveEngine=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.engine --fp16\n# Predict with TensorRT\nyolo predict model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.engine\n```\n\nOr\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# or\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.export(...)\n```\n\n## Acknowledgement\n\nThe code base is built with [ultralytics](https:\u002F\u002Fgithub.com\u002Fultralytics\u002Fultralytics) and [RT-DETR](https:\u002F\u002Fgithub.com\u002Flyuwenyu\u002FRT-DETR).\n\nThanks for the great implementations! \n\n## Citation\n\nIf our code or models help your work, please cite our paper:\n```BibTeX\n@article{wang2024yolov10,\n  title={YOLOv10: Real-Time End-to-End Object Detection},\n  author={Wang, Ao and Chen, Hui and Liu, Lihao and Chen, Kai and Lin, Zijia and Han, Jungong and Ding, Guiguang},\n  journal={arXiv preprint arXiv:2405.14458},\n  year={2024}\n}\n```\n","## 最新动态 -- [YOLOE：实时万物感知](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe)\n\n请查看我们在 [**YOLOE**](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe) 上的新发布。\n\n* YOLOE 代码：https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\n* YOLOE 论文：https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.07465\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fcomparison.svg\" width=70%> \u003Cbr>\n  在开放文本提示条件下，YOLOE（我们提出的方法）与 YOLO-Worldv2 在性能、训练成本和推理效率方面的对比。\n\u003C\u002Fp>\n\n**YOLOE(ye)** 是一种高度 **高效**、**统一** 且 **开放** 的目标检测与分割模型，能够在不同提示机制下实现类似人眼的实时万物感知，支持 *文本*、*视觉输入* 和 *无提示范式* 等多种方式，并且相比封闭集 YOLO 模型，具有 **零推理和迁移开销**。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fvisualization.svg\" width=96%> \u003Cbr>\n\u003C\u002Fp>\n\n\u003Cdetails>\n  \u003Csummary>\n  \u003Cfont size=\"+1\">摘要\u003C\u002Ffont>\n  \u003C\u002Fsummary>\n目标检测和分割在计算机视觉应用中被广泛使用，然而传统的 YOLO 系列等模型虽然高效准确，却受限于预定义的类别，在开放场景中的适应性较差。近年来，一些开放集方法通过文本提示、视觉线索或无提示范式来克服这一局限，但往往因计算需求高或部署复杂而难以兼顾性能与效率。在本工作中，我们提出了 YOLOE，它将检测与分割任务整合到一个高效的单一模型中，能够跨多种开放提示机制实现万物实时感知。针对文本提示，我们提出了可重参化区域-文本对齐策略（RepRTA），该策略通过一个可重参化的轻量级辅助网络优化预训练的文本嵌入，并以零推理和迁移开销提升视觉-文本对齐效果。对于视觉提示，我们提出了语义激活视觉提示编码器（SAVPE），它采用解耦的语义分支和激活分支，以极低的复杂度带来更优的视觉特征表示和更高的精度。而在无提示场景下，我们引入了懒惰区域-提示对比策略（LRPC），该策略利用内置的大词汇表和专用嵌入来识别所有物体，避免了对昂贵语言模型的依赖。大量实验表明，YOLOE 具有卓越的零样本性能和迁移能力，同时具备高效的推理速度和较低的训练成本。值得注意的是，在 LVIS 数据集上，YOLOE-v8-S 仅需 $3\\times$ 更少的训练成本和 $1.4\\times$ 更快的推理速度，便能以 3.5 AP 的优势超越 YOLO-Worldv2-S。当迁移到 COCO 数据集时，YOLOE-v8-L 甚至比封闭集 YOLOv8-L 提升了 0.6 $AP^b$ 和 0.4 $AP^m$，且训练时间仅为后者的 $4\\times$ 左右。\n\u003C\u002Fdetails>\n\u003Cp>\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyoloe\u002Fblob\u002Fmain\u002Ffigures\u002Fpipeline.svg\" width=96%> \u003Cbr>\n\u003C\u002Fp>\n\n# [YOLOv10：实时端到端目标检测](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458)\n\n\n**YOLOv10** 的官方 PyTorch 实现。NeurIPS 2024。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"figures\u002Flatency.svg\" width=48%>\n  \u003Cimg src=\"figures\u002Fparams.svg\" width=48%> \u003Cbr>\n  与其他方法在延迟-精度（左）和大小-精度（右）权衡方面的对比。\n\u003C\u002Fp>\n\n[YOLOv10：实时端到端目标检测](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458)。\\\nAo Wang, Hui Chen, Lihao Liu, Kai Chen, Zijia Lin, Jungong Han 和 Guiguang Ding\\\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FarXiv-2405.14458-b31b1b.svg)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14458) \u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Froboflow-ai\u002Fnotebooks\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftrain-yolov10-object-detection-on-custom-dataset.ipynb#scrollTo=SaKTSzSWnG7s\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa> [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Models-blue)](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fjameslahm\u002Fyolov10-665b0d90b0b5bb85129460c2) [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fjameslahm\u002FYOLOv10)  [![Hugging Face Spaces](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fkadirnar\u002FYolov10)  [![Transformers.js Demo](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A4%97%20Hugging%20Face-Transformers.js-blue)](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FXenova\u002Fyolov10-web) [![LearnOpenCV](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlogPost-blue?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D%2BPAAAALVBMVEX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F6%2Bfn6%2Bvq3y%2BJ8rOFSne9Jm%2FQcOlr5DJ7GAAAAB3RSTlMAB2LM94H1yMxlvwAAADNJREFUCFtjZGAEAob%2FQMDIyAJl%2FmFkYmEGM%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F6%2Bfn6%2Bvq3y%2BJ8rOFSne9Jm%2FQcOlr5DJ7GAAAABJRU5ErkJggg%3D%3D&logoColor=black&labelColor=gray)](https:\u002F\u002Flearnopencv.com\u002Fyolov10\u002F) [![Openbayes Demo](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Demo&message=OpenBayes%E8%B4%9D%E5%BC%8F%E8%AE%A1%E7%AE%97&color=green)](https:\u002F\u002Fopenbayes.com\u002Fconsole\u002Fpublic\u002Ftutorials\u002Fim29uYrnIoz) \n\n\n\u003Cdetails>\n  \u003Csummary>\n  \u003Cfont size=\"+1\">摘要\u003C\u002Ffont>\n  \u003C\u002Fsummary>\n近年来，YOLO 系列因其在计算成本与检测性能之间的有效平衡，已成为实时目标检测领域的主流范式。研究人员对 YOLO 的架构设计、优化目标、数据增强策略等进行了深入探索，并取得了显著进展。然而，其后处理阶段依赖非极大值抑制（NMS），这不仅阻碍了 YOLO 的端到端部署，还增加了推理延迟。此外，YOLO 各组件的设计缺乏全面细致的审视，导致明显的计算冗余，限制了模型的能力，使其效率未能达到最优，仍有较大的性能提升空间。在本工作中，我们从后处理和模型架构两方面进一步突破 YOLO 的性能-效率边界。为此，我们首次提出了无 NMS 训练的一致性双重分配方法，实现了竞争性的检测性能与低推理延迟的兼得。同时，我们引入了一种以整体效率-精度为导向的 YOLO 模型设计策略，从效率和精度两个维度全面优化 YOLO 的各个组件，从而大幅降低计算开销并提升模型能力。我们的努力成果是一款面向实时端到端目标检测的新一代 YOLO 系列，命名为 YOLOv10。大量实验表明，YOLOv10 在不同规模的模型上均达到了当前最先进的性能和效率水平。例如，在 COCO 数据集上，我们的 YOLOv10-S 在 AP 接近 RT-DETR-R18 的情况下，速度提升了 1.8 倍，同时参数量和 FLOPs 分别减少了 2.8 倍。与 YOLOv9-C 相比，YOLOv10-B 在保持相同性能的前提下，延迟降低了 46%，参数量减少了 25%。\n\u003C\u002Fdetails>\n\n## 注释\n- 2024年5月31日：请使用[导出格式](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10?tab=readme-ov-file#export)进行基准测试。在未导出的格式中，例如 PyTorch 格式，YOLOv10 的速度会受到偏差，因为 `v10Detect` 中不必要的 `cv2` 和 `cv3` 操作会在推理过程中被执行。\n- 2024年5月30日：我们提供了[一些澄清和建议](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F136)，用于使用 YOLOv10 检测较小物体或远处物体。感谢 [SkalskiP](https:\u002F\u002Fgithub.com\u002FSkalskiP)!\n- 2024年5月27日：我们已更新了[Hugging Face 上的检查点](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fjameslahm\u002Fyolov10-665b0d90b0b5bb85129460c2)，添加了类别名称，以便于使用。\n\n## 更新 🔥\n- 2024年6月1日：感谢 [ErlanggaYudiPradana](https:\u002F\u002Fgithub.com\u002Frlggyp) 实现与 [C++ | OpenVINO | OpenCV](https:\u002F\u002Fgithub.com\u002Frlggyp\u002FYOLOv10-OpenVINO-CPP-Inference) 的集成。\n- 2024年6月1日：感谢 [NielsRogge](https:\u002F\u002Fgithub.com\u002FNielsRogge) 和 [AK](https:\u002F\u002Fx.com\u002F_akhaliq) 在 HuggingFace Hub 上托管模型！\n- 2024年5月31日：由 [youjiang](https:\u002F\u002Fgithub.com\u002Fyuyoujiang) 构建了 [yolov10-jetson](https:\u002F\u002Fgithub.com\u002FSeeed-Projects\u002Fjetson-examples\u002Fblob\u002Fmain\u002FreComputer\u002Fscripts\u002Fyolov10\u002FREADME.md) Docker 镜像。\n- 2024年5月31日：感谢 [mohamedsamirx](https:\u002F\u002Fgithub.com\u002Fmohamedsamirx) 实现与 [BoTSORT、DeepOCSORT、OCSORT、HybridSORT、ByteTrack、StrongSORT 使用 BoxMOT 库](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1-QV2TNfqaMsh14w5VxieEyanugVBG14V?usp=sharing) 的集成。\n- 2024年5月31日：感谢 [kaylorchen](https:\u002F\u002Fgithub.com\u002Fkaylorchen) 实现与 [rk3588](https:\u002F\u002Fgithub.com\u002Fkaylorchen\u002Frk3588-yolo-demo) 的集成。\n- 2024年5月30日：感谢 [eaidova](https:\u002F\u002Fgithub.com\u002Feaidova) 实现与 [OpenVINO™](https:\u002F\u002Fgithub.com\u002Fopenvinotoolkit\u002Fopenvino_notebooks\u002Fblob\u002F0ba3c0211bcd49aa860369feddffdf7273a73c64\u002Fnotebooks\u002Fyolov10-optimization\u002Fyolov10-optimization.ipynb) 的集成。\n- 2024年5月29日：添加了在本地运行模型的 Gradio 演示。感谢 [AK](https:\u002F\u002Fx.com\u002F_akhaliq)！\n- 2024年5月27日：感谢 [sujanshresstha](sujanshresstha) 实现与 [DeepSORT](https:\u002F\u002Fgithub.com\u002Fsujanshresstha\u002FYOLOv10_DeepSORT.git) 的集成。\n- 2024年5月26日：感谢 [CVHub520](https:\u002F\u002Fgithub.com\u002FCVHub520) 将其集成到 [X-AnyLabeling](https:\u002F\u002Fgithub.com\u002FCVHub520\u002FX-AnyLabeling) 中。\n- 2024年5月26日：感谢 [DanielSarmiento04](https:\u002F\u002Fgithub.com\u002FDanielSarmiento04) 实现与 [c++ | ONNX | OPENCV](https:\u002F\u002Fgithub.com\u002FDanielSarmiento04\u002Fyolov10cpp) 的集成。\n- 2024年5月25日：添加了 [Transformers.js 演示](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FXenova\u002Fyolov10-web) 以及 ONNX 权重（yolov10[n](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10n)\u002F[s](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10s)\u002F[m](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10m)\u002F[b](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10b)\u002F[l](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10l)\u002F[x](https:\u002F\u002Fhuggingface.co\u002Fonnx-community\u002Fyolov10x)）。感谢 [xenova](https:\u002F\u002Fgithub.com\u002Fxenova)！\n- 2024年5月25日：添加了 [Colab 演示](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Froboflow-ai\u002Fnotebooks\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftrain-yolov10-object-detection-on-custom-dataset.ipynb#scrollTo=SaKTSzSWnG7s)、[HuggingFace 演示](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fkadirnar\u002FYolov10) 和 [HuggingFace 模型页面](https:\u002F\u002Fhuggingface.co\u002Fkadirnar\u002FYolov10)。感谢 [SkalskiP](https:\u002F\u002Fgithub.com\u002FSkalskiP) 和 [kadirnar](https:\u002F\u002Fgithub.com\u002Fkadirnar)！\n\n## 性能\nCOCO\n\n| 模型 | 测试尺寸 | 参数量 | FLOPs | AP\u003Csup>val\u003C\u002Fsup> | 延迟 |\n|:---------------|:----:|:---:|:--:|:--:|:--:|\n| [YOLOv10-N](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10n) |   640  |     2.3M    |   6.7G   |     38.5%     | 1.84ms |\n| [YOLOv10-S](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10s) |   640  |     7.2M    |   21.6G  |     46.3%     | 2.49ms |\n| [YOLOv10-M](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10m) |   640  |     15.4M   |   59.1G  |     51.1%     | 4.74ms |\n| [YOLOv10-B](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10b) |   640  |     19.1M   |  92.0G |     52.5%     | 5.74ms |\n| [YOLOv10-L](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10l) |   640  |     24.4M   |  120.3G   |     53.2%     | 7.28ms |\n| [YOLOv10-X](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10x) |   640  |     29.5M    |   160.4G   |     54.4%     | 10.70ms |\n\n## 安装\n建议使用 `conda` 虚拟环境。\n```\nconda create -n yolov10 python=3.9\nconda activate yolov10\npip install -r requirements.txt\npip install -e .\n```\n\n## 演示\n```\npython app.py\n# 请访问 http:\u002F\u002F127.0.0.1:7860\n```\n\n## 验证\n[`yolov10n`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10n)  [`yolov10s`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10s)  [`yolov10m`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10m)  [`yolov10b`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10b)  [`yolov10l`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10l)  [`yolov10x`](https:\u002F\u002Fhuggingface.co\u002Fjameslahm\u002Fyolov10x)  \n```\nyolo val model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} data=coco.yaml batch=256\n```\n\n或者\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# 或者\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.val(data='coco.yaml', batch=256)\n```\n\n\n## 训练 \n```\nyolo detect train data=coco.yaml model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.yaml epochs=500 batch=256 imgsz=640 device=0,1,2,3,4,5,6,7\n```\n\n或者\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10()\n# 如果你想用预训练权重对模型进行微调，可以按如下方式加载预训练权重：\n# model = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# 或者\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\n# model = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.train(data='coco.yaml', epochs=500, batch=256, imgsz=640)\n```\n\n## 推送到 🤗 Hub\n\n你也可以选择将微调后的模型作为公开或私有模型推送到 [Hugging Face Hub](https:\u002F\u002Fhuggingface.co\u002F)：\n\n```python\n# 假设你已经微调了一个用于作物检测的模型\nmodel.push_to_hub(\"\u003Cyour-hf-username-or-organization\u002Fyolov10-finetuned-crop-detection\")\n\n# 如果你不希望所有人都能看到你的模型，还可以传递 `private=True`\nmodel.push_to_hub(\"\u003Cyour-hf-username-or-organization\u002Fyolov10-finetuned-crop-detection\", private=True)\n```\n\n## 预测\n请注意，可以通过设置较低的置信度阈值来检测更小的物体或远处的物体。详情请参阅 [这里](https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F136)。\n```\nyolo predict model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}\n```\n\n或者\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# 或者\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.predict()\n```\n\n## 导出\n```\n# 端到端 ONNX\nyolo export model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} format=onnx opset=13 simplify\n# 使用 ONNX 进行预测\nyolo predict model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.onnx\n\n# 端到端 TensorRT\nyolo export model=jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx} format=engine half=True simplify opset=13 workspace=16\n# 或者\ntrtexec --onnx=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.onnx --saveEngine=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.engine --fp16\n# 使用 TensorRT 进行预测\nyolo predict model=yolov10n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx.engine\n```\n\n或者\n```python\nfrom ultralytics import YOLOv10\n\nmodel = YOLOv10.from_pretrained('jameslahm\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}')\n# 或者\n# wget https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Freleases\u002Fdownload\u002Fv1.1\u002Fyolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt\nmodel = YOLOv10('yolov10{n\u002Fs\u002Fm\u002Fb\u002Fl\u002Fx}.pt')\n\nmodel.export(...)\n```\n\n## 致谢\n\n该代码库基于 [ultralytics](https:\u002F\u002Fgithub.com\u002Fultralytics\u002Fultralytics) 和 [RT-DETR](https:\u002F\u002Fgithub.com\u002Flyuwenyu\u002FRT-DETR) 构建。\n\n感谢这些优秀的实现！\n\n## 引用\n\n如果我们的代码或模型对您的工作有所帮助，请引用我们的论文：\n```BibTeX\n@article{wang2024yolov10,\n  title={YOLOv10：实时端到端目标检测},\n  author={王傲、陈辉、刘立豪、陈凯、林子嘉、韩俊功、丁贵光},\n  journal={arXiv 预印本 arXiv:2405.14458},\n  year={2024}\n}\n```","# YOLOv10 快速上手指南\n\nYOLOv10 是清华大学团队提出的新一代实时端到端目标检测模型（NeurIPS 2024）。它摒弃了传统的非极大值抑制（NMS）后处理，通过一致的双重分配策略实现了真正的端到端部署，在保持高精度的同时显著降低了推理延迟和计算冗余。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐), Windows, macOS\n*   **Python 版本**: 3.9 (官方推荐)\n*   **硬件要求**: NVIDIA GPU (支持 CUDA)，或 CPU (仅用于推理\u002F测试，速度较慢)\n*   **前置依赖**:\n    *   PyTorch (建议 1.8+)\n    *   CUDA Toolkit (根据显卡驱动版本安装)\n    *   Git\n\n> **提示**：国内用户建议使用清华源或阿里源加速 Python 包下载。\n\n## 安装步骤\n\n推荐使用 `conda` 创建独立的虚拟环境以避免依赖冲突。\n\n1.  **创建并激活虚拟环境**\n    ```bash\n    conda create -n yolov10 python=3.9\n    conda activate yolov10\n    ```\n\n2.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10.git\n    cd yolov10\n    ```\n\n3.  **安装依赖库**\n    *   **通用安装**（默认使用 PyPI 源）：\n        ```bash\n        pip install -r requirements.txt\n        pip install -e .\n        ```\n    *   **国内加速安装**（推荐中国开发者使用清华源）：\n        ```bash\n        pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n        pip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n        ```\n\n## 基本使用\n\n### 1. 启动本地演示界面 (Gradio Demo)\n这是最简单的体验方式，启动后会在本地浏览器中提供可视化的检测界面。\n\n```bash\npython app.py\n```\n启动成功后，请在浏览器访问：`http:\u002F\u002F127.0.0.1:7860`\n\n### 2. 模型验证与推理\n官方提供了预训练模型（N\u002FS\u002FM\u002FB\u002FL\u002FX 六个版本），可直接从 Hugging Face 加载。以下是在命令行进行简单验证的示例逻辑（需参考 `validation.py` 或自行编写推理脚本）：\n\n```python\nimport torch\nfrom ultralytics import YOLO\n\n# 加载预训练模型 (自动从 Hugging Face 下载，国内网络可能需要代理或配置镜像)\n# 可选模型：yolov10n.pt, yolov10s.pt, yolov10m.pt, yolov10b.pt, yolov10l.pt, yolov10x.pt\nmodel = YOLO('yolov10n.pt') \n\n# 执行推理\nresults = model('path\u002Fto\u002Fimage.jpg')\n\n# 显示结果\nresults[0].show()\n```\n\n> **性能提示**：在进行基准测试（Benchmark）时，请务必使用导出后的格式（如 ONNX, TensorRT, OpenVINO），因为 PyTorch 原生格式中包含不必要的 `cv2`\u002F`cv3` 操作，会导致测得的延迟偏高，无法反映 YOLOv10 真实的端到端加速优势。","某大型物流分拣中心正在升级其自动化系统，需要实时识别传送带上成千上万种不同尺寸、形状且未预先定义类别的包裹与异物。\n\n### 没有 yolov10 时\n- **类别受限严重**：传统检测模型只能识别训练时预设的几十种固定包裹类型，遇到新出现的包装样式或未知异物直接“视而不见”，导致漏检率高。\n- **响应延迟高**：为了满足开放场景需求，团队曾尝试结合大型语言模型进行提示词检测，但巨大的计算开销导致单帧处理耗时过长，无法匹配高速传送带的节奏。\n- **部署维护复杂**：每次新增一种货物类型都需要重新收集数据、微调模型并重新部署，迭代周期长达数周，难以应对电商大促期间的品类激增。\n- **资源成本高昂**：为维持一定的检测精度，不得不配备昂贵的多卡 GPU 服务器集群，硬件采购与电力成本居高不下。\n\n### 使用 yolov10 后\n- **实现“所见即所测”**：借助 YOLOv10 端到端的实时开放检测能力，系统无需预定义类别即可精准识别任意新出现的包裹或异常物体，彻底消除未知目标漏检。\n- **极致推理速度**：得益于其无后处理（NMS-free）架构和高效的注意力机制，YOLOv10 在单张消费级显卡上即可实现毫秒级推理，完美跟上高速分拣线节拍。\n- **零样本灵活扩展**：面对新品类，只需通过文本描述或视觉提示即可即时生效，无需重新训练模型，将新业务上线时间从数周缩短至分钟级。\n- **降本增效显著**：在保持更高精度的同时，YOLOv10 大幅降低了参数量和计算负载，使原本需要集群支撑的任务现在仅需边缘设备即可运行，硬件成本降低 60% 以上。\n\nYOLOv10 通过打破封闭集限制与实现端到端实时推理，让物流分拣系统在应对无限变化的现实世界时，兼具了人眼的灵活性与机器的极速效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTHU-MIG_yolov10_ffee1626.png","THU-MIG","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTHU-MIG_b4681dd5.png","Multimedia Intelligence Group, School of Software, Tsinghua University",null,"dinggg@tsinghua.edu.cn","https:\u002F\u002Fwww.thss.tsinghua.edu.cn\u002Fen\u002Ffaculty\u002Fguiguangding.htm","https:\u002F\u002Fgithub.com\u002FTHU-MIG",[22,26,30],{"name":23,"color":24,"percentage":25},"Python","#3572A5",99.4,{"name":27,"color":28,"percentage":29},"Shell","#89e051",0.3,{"name":31,"color":32,"percentage":29},"Dockerfile","#384d54",11287,1180,"2026-04-17T14:42:35","AGPL-3.0",2,"Linux, macOS, Windows","未明确说明具体型号，但作为实时目标检测模型，训练和高效推理通常建议配备支持 CUDA 的 NVIDIA GPU。README 提及了 OpenVINO、Jetson (NVIDIA)、RK3588 等部署方案，暗示支持多种硬件加速后端。","未说明",{"notes":42,"python":43,"dependencies":44},"1. 强烈建议使用 conda 创建虚拟环境（示例命令使用 Python 3.9）。2. 基准测试（Benchmark）请务必使用导出后的格式（如 ONNX、TensorRT 等），因为在 PyTorch 原生格式下，v10Detect 模块中不必要的 cv2\u002Fcv3 操作会导致推理速度偏差。3. 项目提供了多种部署集成，包括 C++、OpenVINO、Jetson Docker 镜像、RK3588 以及 Web 端 (Transformers.js)。4. 模型支持无 NMS（非极大值抑制）的端到端推理。","3.9",[45,46,47,48],"torch","opencv-python (cv2)","ultralytics (隐含，基于 YOLO 系列惯例及导出格式提及)","gradio (用于 demo)",[50],"图像","ready","2026-03-27T02:49:30.150509","2026-04-18T22:35:17.745680",[55,60,65,70,75,79],{"id":56,"question_zh":57,"answer_zh":58,"source_url":59},40571,"为什么在 CLI 中运行预测或训练时会报错 'AttributeError: dict object has no attribute shape' 或 'str object has no attribute view'？","这是因为代码无法自动识别模型为 YOLOv10。解决方法有两种：\n1. 将模型权重文件重命名，确保文件名中包含 \"yolov10\"（例如将 best.pt 重命名为 yolov10.pt）。\n2. 在代码中将导入的 `YOLO` 类替换为 `YOLOv10` 类。\n维护者建议更新代码库以默认支持 CLI 中的 YOLOv10。","https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F46",{"id":61,"question_zh":62,"answer_zh":63,"source_url":64},40572,"如何在验证集推理时保存正确的预测结果到 txt 文件？为什么所有图片都显示了 300 个检测结果？","YOLOv10 的输出形状为 1x300x6，其中 300 代表固定的查询数量（queries）。为了保持 COCO mAP 的性能评估标准，YOLOv10 默认不进行置信度过滤（即不设置 conf 阈值），因此会输出所有 300 个预测框。\n这与 COCO 评估机制有关：COCO 使用召回率变化点计算 mAP，而 YOLO 默认使用 101 点插值。如果在评估时设置 conf 过滤掉部分预测，可能会导致真阳性丢失，从而降低 COCO mAP。如果需要过滤，需自行修改后处理代码添加置信度筛选。","https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F78",{"id":66,"question_zh":67,"answer_zh":68,"source_url":69},40573,"为什么导出为 ONNX 格式后，YOLOv10n 的推理速度比 YOLOv8n 慢？","这可能与执行提供者（Execution Provider）的节点分配有关。日志显示部分节点未被分配到首选的执行提供者（如 DmlExecutionProvider），可能影响性能。\n此外，有用户反馈在 Python 3.12 环境下 YOLOv10 的性能表现优于 Python 3.11，建议尝试升级 Python 版本或检查 ONNX Runtime 的算子分配情况。","https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F88",{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},40574,"在使用自定义数据集评估 ONNX 模型时出现 'IndexError: index out of bounds' 错误怎么办？","该错误通常发生在类别索引超出矩阵范围时。这可能是因为 ONNX 模型的后处理（postprocess）函数中缺少置信度过滤，导致输出了无效的检测框。\n在 YOLOv8 中，过滤是在 NMS 过程中进行的，而在 YOLOv10 中，`conf` 参数在评估时可能无效。如果需要支持置信度过滤，可能需要修改 `postprocess` 函数以显式添加过滤逻辑。","https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F181",{"id":76,"question_zh":77,"answer_zh":78,"source_url":74},40575,"YOLOv10 输出形状中的 '300' 代表什么含义？","输出形状 1x300x6 中的 '300' 代表模型生成的固定数量的预测查询（queries）。YOLOv10 采用无 NMS（Non-Maximum Suppression）训练策略，因此会直接输出固定数量的检测结果，而不是像传统 YOLO 那样动态输出。后续的过滤通常需要用户在后处理阶段根据置信度自行筛选。",{"id":80,"question_zh":81,"answer_zh":82,"source_url":83},40576,"在 Google Colab 上训练自定义数据集时遇到 'TypeError: unhashable type: numpy.ndarray' 错误如何解决？","该错误通常与数据加载或标签处理有关，可能是由于某些不可哈希的类型（如 numpy 数组）被用作字典键或集合元素。虽然具体修复步骤在提供的片段中未完全展示，但常见解决方法包括检查 data.yaml 配置文件中的路径和标签格式，确保没有嵌套的 numpy 数组被错误传递。建议重新检查数据集标注格式或重启 Colab 运行时以清除缓存状态。","https:\u002F\u002Fgithub.com\u002FTHU-MIG\u002Fyolov10\u002Fissues\u002F440",[85,89],{"id":86,"version":87,"summary_zh":17,"released_at":88},324057,"v1.1","2024-05-26T15:55:33",{"id":90,"version":91,"summary_zh":92,"released_at":93},324058,"v1.0","添加 YOLOv10","2024-05-23T10:30:28",[95,107,115,123,132,141],{"id":96,"name":97,"github_repo":98,"description_zh":99,"stars":100,"difficulty_score":101,"last_commit_at":102,"category_tags":103,"status":51},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[104,105,50,106],"Agent","开发框架","数据工具",{"id":108,"name":109,"github_repo":110,"description_zh":111,"stars":112,"difficulty_score":101,"last_commit_at":113,"category_tags":114,"status":51},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[105,50,104],{"id":116,"name":117,"github_repo":118,"description_zh":119,"stars":120,"difficulty_score":37,"last_commit_at":121,"category_tags":122,"status":51},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[105,50,104],{"id":124,"name":125,"github_repo":126,"description_zh":127,"stars":128,"difficulty_score":37,"last_commit_at":129,"category_tags":130,"status":51},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[131,104,50,105],"插件",{"id":133,"name":134,"github_repo":135,"description_zh":136,"stars":137,"difficulty_score":101,"last_commit_at":138,"category_tags":139,"status":51},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[140,50,104,105],"语言模型",{"id":142,"name":143,"github_repo":144,"description_zh":145,"stars":146,"difficulty_score":101,"last_commit_at":147,"category_tags":148,"status":51},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[105,50,104,149],"视频"]