{"id":21311408,"url":"https://github.com/lining808/cv_time_speed","last_synced_at":"2025-06-28T10:39:26.672Z","repository":{"id":248053269,"uuid":"827624883","full_name":"lining808/cv_time_speed","owner":"lining808","description":"测试常用CV模型在单张图像上的识别速度，不包含图像读取时间，但包含图像预处理。可以在以后的应用中根据硬件配置选取合适的模型，达到最佳效果。","archived":false,"fork":false,"pushed_at":"2024-07-12T03:39:13.000Z","size":197,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-22T09:45:09.545Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lining808.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-12T03:29:17.000Z","updated_at":"2024-07-12T03:39:17.000Z","dependencies_parsed_at":"2024-07-12T04:42:24.713Z","dependency_job_id":null,"html_url":"https://github.com/lining808/cv_time_speed","commit_stats":null,"previous_names":["lining808/cv_time_speed"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lining808%2Fcv_time_speed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lining808%2Fcv_time_speed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lining808%2Fcv_time_speed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lining808%2Fcv_time_speed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lining808","download_url":"https://codeload.github.com/lining808/cv_time_speed/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243790948,"owners_count":20348378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T17:18:18.831Z","updated_at":"2025-03-15T20:42:30.451Z","avatar_url":"https://github.com/lining808.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 常用视觉分类、目标检测模型性能测试\r\n\r\n测试常用模型在单张图像上的识别速度，不包含图像读取时间，但包含图像预处理。可以在以后的应用中根据硬件配置选取合适的模型，达到最佳效果。其中推理速度为正常推理的速度，加速CPU使用openvino加速，GPU使用tensorrt加速。\r\n\r\nCPU硬件： Intel i7 11700 16GB\r\n\r\nGPU硬件： Nvidia rtx 3090 24GB\r\n\r\n\r\n## CPU\r\n\r\n目标检测\r\n\r\n其中推理速度单位为秒，mAP准确率在COCO数据集得到。旋转目标检测mAP在DOTAv1数据集得到。\r\n| 模型          | 推理速度  | 加速    | mAP@50-95 |\r\n|-------------|-------|-------|-----------|  \r\n| yolov8n     | 0.128 | 0.024 | 37.3      |\r\n| yolov8s     | 0.323 | 0.053 | 44.9      |\r\n| yolov8m     | 0.648 | 0.108 | 50.2      |\r\n| yolov8l     | 1.252 | 0.236 | 52.9      |\r\n| yolov9n     | 0.177 | 0.029 | 38.3      |\r\n| yolov9s     | 0.372 | 0.05  | 46.8      |\r\n| yolov9m     | 0.886 | 0.115 | 51.4      |\r\n| yolov9l     | 1.239 | 0.148 | 53.0      |\r\n| yolov10n    | 0.172 | 0.043 | 38.5      |\r\n| yolov10s    | 0.365 | 0.075 | 46.3      |\r\n| yolov10m    | 0.818 | 0.138 | 51.1      |\r\n| yolov10l    | 1.374 | 0.242 | 53.2      |\r\n| yolov8n-obb | 0.311 | 0.051 | 78.0      |\r\n| yolov8s-obb | 0.717 | 0.157 | 79.5      |\r\n| yolov8m-obb | 1.635 | 0.279 | 80.5      |\r\n| yolov8l-obb | 3.139 | 1.127 | 80.7      |\r\n\r\n图像分类\r\n\r\n其中推理速度单位为秒，Top-1准确率在ImageNet数据集得到。\r\n| 模型                 | 推理速度  | 加速    | Top-1 |\r\n|--------------------|-------|-------|-------|  \r\n| yolov8n-cls        | 0.017 | 0.005 | 69.0  |\r\n| yolov8s-cls        | 0.037 | 0.007 | 73.8  |\r\n| yolov8m-cls        | 0.076 | 0.011 | 76.8  |\r\n| yolov8l-cls        | 0.146 | 0.029 | 76.8  |\r\n| yolov8x-cls        | 0.25  |       | 79.0  |\r\n| resnet18           | 0.306 |       | 72.1  |\r\n| resnet34           | 0.418 |       | 75.5  |\r\n| resnet50           | 0.903 |       | 77.2  |\r\n| resnet101          | 1.614 |       | 78.3  |\r\n| mobilenet_v3_small | 0.093 |       | 67.4  |\r\n| mobilenet_v3_large | 0.252 |       | 75.2  |\r\n| efficientnet_v2_s  | 0.988 |       | 83.9  |\r\n| efficientnet_v2_m  | 1.684 |       | 85.1  |\r\n| swin_v2_t          | 1.412 |       | 81.6  |\r\n| swin_v2_b          | 4.074 |       | 84.1  |\r\n| convnext_tiny      | 0.766 |       | 82.9  |\r\n| convnext_base      | 2.363 |       | 85.8  |\r\n\r\n## GPU\r\n\r\n目标检测\r\n\r\n| 模型          | 推理速度  | 加速    | mAP@50-95 |\r\n|-------------|-------|-------|-----------|  \r\n| yolov8n     | 0.025 | 0.007 | 37.3      |\r\n| yolov8s     | 0.023 | 0.008 | 44.9      |\r\n| yolov8m     | 0.026 | 0.011 | 50.2      |\r\n| yolov8l     | 0.026 | 0.015 | 52.9      |\r\n| yolov9n     | 0.033 | 0.008 | 38.3      |\r\n| yolov9s     | 0.032 | 0.008 | 46.8      |\r\n| yolov9m     | 0.038 | 0.012 | 51.4      |\r\n| yolov9l     | 0.026 | 0.013 | 53.0      |\r\n| yolov10n    | 0.018 | 0.006 | 38.5      |\r\n| yolov10s    | 0.019 | 0.007 | 46.3      |\r\n| yolov10m    | 0.025 | 0.009 | 51.1      |\r\n| yolov10l    | 0.024 | 0.013 | 53.2      |\r\n| yolov8n-obb | 0.047 | 0.006 | 78.0      |\r\n| yolov8s-obb | 0.03  | 0.008 | 79.5      |\r\n| yolov8m-obb | 0.039 | 0.014 | 80.5      |\r\n| yolov8l-obb | 0.041 | 0.023 | 80.7      |\r\n\r\n图像分类\r\n\r\n| 模型                 | 推理速度  | 加速    | Top-1 |\r\n|--------------------|-------|-------|-------|  \r\n| yolov8n-cls        | 0.012 | 0.021 | 69.0  |\r\n| yolov8s-cls        | 0.012 | 0.02  | 73.8  |\r\n| yolov8m-cls        | 0.013 | 0.027 | 76.8  |\r\n| yolov8l-cls        | 0.014 | 0.029 | 76.8  |\r\n| yolov8x-cls        | 0.016 | 0.03  | 79.0  |\r\n| resnet18           | 0.042 |       | 72.1  |\r\n| resnet34           | 0.046 |       | 75.5  |\r\n| resnet50           | 0.055 |       | 77.2  |\r\n| resnet101          | 0.063 |       | 78.3  |\r\n| mobilenet_v3_small | 0.054 |       | 67.4  |\r\n| mobilenet_v3_large | 0.056 |       | 75.2  |\r\n| efficientnet_v2_s  | 0.074 |       | 83.9  |\r\n| efficientnet_v2_m  | 0.076 |       | 85.1  |\r\n| swin_v2_t          | 0.127 |       | 81.6  |\r\n| swin_v2_b          | 0.145 |       | 84.1  |\r\n| convnext_tiny      | 0.048 |       | 82.9  |\r\n| convnext_base      | 0.068 |       | 85.8  |\r\n\r\n# 结论\r\n\r\n总体来说YOLO不论是分类还是目标检测，基本上做到了速度和精度的均衡。\r\n\r\nopenvino加速可以比CPU推理快6倍左右，但需要CPU是英特尔平台并且有集成显卡。精度有一定程度下降，平均下降2-3%。onnx推理精度几乎保持不变，速度提升约3倍。\r\n\r\ntensorrt加速可以比GPU推理快3倍左右，需要GPU为英伟达平台。精度基本保持不变，下降在1%内。\r\n\r\n图像分类\r\n\r\n|     | 速度          | 均衡          | 精度                |\r\n|-----|-------------|-------------|-------------------|\r\n| CPU | yolov8n-cls | yolov8m-cls | efficientnet_v2_m |\r\n| GPU | yolov8n-cls | yolov8m-cls | convnext_base     |\r\n\r\n目标检测\r\n\r\n|     | 速度       | 均衡       | 精度       |\r\n|-----|----------|----------|----------|\r\n| CPU | yolov8n  | yolov8m  | yolov9l  |\r\n| GPU | yolov10n | yolov10m | yolov10l |\r\n\r\nCPU推理有集显使用openvino，无集显使用onnx。\r\n\r\nGPU推理使用tensorrt\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flining808%2Fcv_time_speed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flining808%2Fcv_time_speed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flining808%2Fcv_time_speed/lists"}