新闻详情

新闻详情

首页 / 资讯中心 / 详情

手把手教你部署YOLO系列目标检测模型(含代码,使用Github官方代码版本)

发布时间:2026/10/1 7:28:21来源:尧图网络
手把手教你部署YOLO系列目标检测模型(含代码,使用Github官方代码版本)
手把手教你部署YOLO系列目标检测模型含代码使用Github官方代码版本1 前言2 项目获取和部署2.1 项目获取2.2 部署项目3 使用官方权重进行检测3.1 单图片检测3.2 视频检测4 制作自己的数据集训练模型1 前言YOLOYou Only Look Once系列是目前目标检测领域最具影响力的算法之一。它由 Joseph Redmon 等人于 2016 年首次提出核心思想是将目标检测任务转化为单次回归问题直接在整张图像上预测目标的类别与边界框从而实现了检测速度与精度的出色平衡。经过多年迭代YOLO 已从最初的 YOLOv1 演进到 YOLOv5、YOLOv8 乃至 YOLOv9、YOLOv10 等众多版本在工业界和学术界都得到了广泛应用覆盖自动驾驶、安防监控、工业质检、医学影像等众多场景。Ultralytics 是 YOLO 系列最活跃的官方维护团队之一其开源的 Ultralytics YOLO 项目GitHub 仓库 ultralytics/ultralytics提供了统一的模型训练、验证与推理接口支持 YOLOv5、YOLOv8 及后续版本并内置了丰富的预训练权重、数据集工具与可视化能力。该项目以简洁的 Python API 和命令行工具著称让开发者无需深入底层实现即可快速完成目标检测任务的部署与落地。大部分教程都是直接安装ultralytics的库运行yolo这样缺少一些可定制性例如想要修改、改进模型比较困难本文是直接现在官方项目源码运行具有更大的灵活性。本教程将手把手带你基于 Ultralytics 官方 GitHub 项目完成 YOLO 系列目标检测模型的获取、部署与推理全程提供可运行的代码示例帮助你从零开始跑通整个流程。2 项目获取和部署2.1 项目获取Ultralytics在Github上有官方项目大家可以自行搜索下载。由于官方代码下载之后还需要下载对应权重文件加上有时候Git连不上所以我帮大家下载好了项目源码和权重文件YOLOv8、YOLO11、YOLO12供大家免费下载下载位置在2.2 部署项目上述链接下载下来之后是一个压缩包解压出来之后内容如下第一个文件夹就是Ultralytics的官方项目一会儿我们要用Pycharm打开这个项目。第二个文件夹是官方提供的权重我下载了一些提供给各位使用。如果需要更多权重可以查看官方项目中的“readme.md”文档。接下来我们使用Pycharm用VSCode也行不影响以项目形式打开“ultralytics-main”这个文件夹。打开之后可以考虑建立一个新的环境专门用于运行这个YOLO项目。如果不知道怎么样安装环境可以参考我之前的博文手把手教你安装Pytorch环境。假设你现在新建了一个名为“yolo”的anaconda环境那么请你激活他让后使用“pip install ”命令将Pytorch环境安装好然后将下列库全部安装好。matplotlib3.3.0numpy1.24.4# pinned by Snyk to avoid a vulnerabilityopencv-python4.6.0 pillow7.1.2 pyyaml5.3.1 requests2.23.0 scipy1.4.1 tqdm4.64.0为了方便你可以将上面的内容复制到一个txt文档中例如叫做reqs.txt然后使用命令“pip install -r reqs.txt的路径/reqs.txt”一次性将所需的库全部装好。在运行过程中如果还提示缺少什么库那就装什么库即可。最后不要忘了在Pycharm中将项目的解释器设置为刚才部署好环境的那个解释器在本例中就是“yolo”环境中的解释器。3 使用官方权重进行检测好经过上述步骤项目就部署好了接下来我们尝试使用官方的模型进行预测。3.1 单图片检测首先将“weights”文件夹直接拷贝到项目根目录然后建立一个名为“detect.py”的脚本然后编写测试脚本。fromultralyticsimportYOLOif__name____main__:# 从官方文件中加载模型modelYOLO(modelrweights/yolov8n.pt)#模型路径model.predict(sourcerultralytics/assets,#图片路径imgsz416,conf0.5,saveTrue,showTrue,modeexp,show_labelsTrue)这里你先只需要了解两个参数如上面代码的注释所示。一个是你要加载的模型路径上述代码加载了“weights”文件夹中的“yolov8n.pt”也就是官方YOLOv8n模型用于检测需要检测的图片放在文件夹“ultralytics/assets”中这里面有官方提供的两张图片你可以把他换成你自己想检测的图片文件夹。直接运行上述脚本检测好的图像会一闪而过结果存储在根目录的“runs/detect”文件夹中每次检测结果会在这个文件夹建立一个由“mode”参数指定的文件夹例如本例结果就存放在“runs/detect/exp”文件夹中。同一个“mode”参数运行多次会自动以“1、2、3…”顺序编号。3.2 视频检测视频检测实际上核心原理和图像检测一模一样只不过逻辑复杂一点点。首先我们从视频流可以是视频文件或者摄像头读取一帧图像然后送给YOLO检测最后显示出来。代码如下 YOLO 视频目标检测 —— 实时显示版OpenCV 用法: python detect_video_show.py --source input.mp4 --model yolov8n.pt 按键: q 退出, s 保存当前帧截图 importargparseimporttimefrompathlibimportPathimportcv2fromultralyticsimportYOLOdefmain():parserargparse.ArgumentParser(descriptionYOLO 视频目标检测实时显示)parser.add_argument(--source,default0,help输入视频路径或 0 表示摄像头)parser.add_argument(--model,defaultweights/yolov8n.pt,help模型权重路径)parser.add_argument(--conf,typefloat,default0.25,help置信度阈值)parser.add_argument(--iou,typefloat,default0.7,helpNMS IoU 阈值)parser.add_argument(--device,defaultcpu,help推理设备: cpu / 0)parser.add_argument(--save,actionstore_true,help是否保存输出视频)parser.add_argument(--output,defaultruns/detect/video_show,help输出目录)parser.add_argument(--imgsz,typeint,default640,help推理分辨率)argsparser.parse_args()# 打开视频源支持摄像头 0srcint(args.source)ifargs.source.isdigit()elseargs.sourceifisinstance(src,str)andnotPath(src).exists():raiseFileNotFoundError(f视频文件不存在:{src})capcv2.VideoCapture(src)ifnotcap.isOpened():raiseRuntimeError(f无法打开视频源:{args.source})# 视频信息fpscap.get(cv2.CAP_PROP_FPS)or25wint(cap.get(cv2.CAP_PROP_FRAME_WIDTH))hint(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))print(f视频信息:{w}x{h}{fps:.2f}FPS)# 输出视频写入器writerNoneout_dirPath(args.output)ifargs.save:out_dir.mkdir(parentsTrue,exist_okTrue)out_pathout_dir/f{Path(args.source).stem}_out.mp4fourcccv2.VideoWriter_fourcc(*mp4v)writercv2.VideoWriter(str(out_path),fourcc,fps,(w,h))print(f输出视频将保存至:{out_path})# 加载模型modelYOLO(args.model)prev_ttime.time()whileTrue:ret,framecap.read()ifnotret:print(视频结束或读取失败)break# 推理传入单帧verboseFalse 关闭逐帧日志resultsmodel.predict(sourceframe,confargs.conf,iouargs.iou,deviceargs.device,imgszargs.imgsz,verboseFalse,)# 画框result.plot() 返回 BGR 图可直接交给 OpenCVannotatedresults[0].plot()# 计算并显示 FPSnowtime.time()fps_now1.0/max(now-prev_t,1e-6)prev_tnow cv2.putText(annotated,fFPS:{fps_now:.1f},(10,30),cv2.FONT_HERSHEY_SIMPLEX,1.0,(0,255,0),2,)# 显示cv2.imshow(YOLO Video Detection (press q to quit),annotated)# 保存ifwriterisnotNone:writer.write(annotated)# 按键处理keycv2.waitKey(1)0xFFifkeyord(q):print(用户退出)breakelifkeyord(s):shotout_dir/fshot_{int(time.time())}.jpgout_dir.mkdir(parentsTrue,exist_okTrue)cv2.imwrite(str(shot),annotated)print(f已保存截图:{shot})cap.release()ifwriterisnotNone:writer.release()cv2.destroyAllWindows()print(完成)if__name____main__:main()附检测结果。nano版本检测性能还是有限FPS是在老古董5代低压i7上跑出来的。4 制作自己的数据集训练模型下一篇博文更新喜欢可以点个关注。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

反过度设计月度总结:消灭一万行无用代码 2026/10/1 15:49:18

反过度设计月度总结:消灭一万行无用代码

反过度设计月度总结:消灭一万行无用代码在整个九月的“反过度设计(Anti-Overengineering)”专栏中,我们向软件工程中泛滥的形式主义与虚荣设计发起了持续的猛烈进攻:从批判空 Service 转发层、到拔掉多级缓存、再到淘汰…

阅读更多 →
九月极端数据库性能优化案例大集结:从物理存储到执行计划的调优终局 2026/10/1 15:49:18

九月极端数据库性能优化案例大集结:从物理存储到执行计划的调优终局

九月极端数据库性能优化案例大集结:从物理存储到执行计划的调优终局在高并发、海量数据存储架构中,数据库往往是整个系统吞吐的最底层瓶颈。许多在开发测试阶段表现平稳的系统,在面对千万甚至亿级真实数据冲击时,会暴露出各种隐蔽…

阅读更多 →
基于 eBPF 的全栈分布式可观测性中枢:从用户态 Python/PyTorch 到网卡硬件微架构全链路透视 2026/10/1 15:49:18

基于 eBPF 的全栈分布式可观测性中枢:从用户态 Python/PyTorch 到网卡硬件微架构全链路透视

基于 eBPF 的全栈分布式可观测性中枢:从用户态 Python/PyTorch 到网卡硬件微架构全链路透视在支撑数万张 GPU 超算集群的万亿大模型预训练与超大规模在线推理(LLM Serving,如每天数百亿次 API 请求并发)工程中,分布式系…

阅读更多 →
【9月终章】企业级精益算力与云成本工程(FinOps)落地全景白皮书 2026/10/1 15:49:17

【9月终章】企业级精益算力与云成本工程(FinOps)落地全景白皮书

【9月终章】企业级精益算力与云成本工程(FinOps)落地全景白皮书在 2026 年 9 月的精益成本治理战役中,YueJoy 团队在全平台算力与云基础设施开销上取得了一场兼具技术深度与商业奇迹的巨大胜利。 在业务数据吞吐量增长 5 倍的前提下&#xff…

阅读更多 →
ege19.01图形库配置详解:DEV-C++与VsCode从零跑通 2026/10/1 15:49:11

ege19.01图形库配置详解:DEV-C++与VsCode从零跑通

如果你正在学 C 语言,八成听过 DEV-C 这个上古神器;如果你被课程设计逼着要写个带界面的程序,大概率也已经搜到了 ege 这个图形库。我帮不少同学配过 ege19.01 的环境,发现一半以上的人卡在同一个地方:库文件不会选、链…

阅读更多 →
现代大数据基础设施全景演进白皮书:流批一体湖仓、Flink 实时数仓与云原生架构终极指南 2026/10/1 15:49:04

现代大数据基础设施全景演进白皮书:流批一体湖仓、Flink 实时数仓与云原生架构终极指南

现代大数据基础设施全景演进白皮书:流批一体湖仓、Flink 实时数仓与云原生架构终极指南在过去二十年间,企业大数据基础设施经历了自分布式计算概念诞生以来最波澜壮阔的三代技术范式大革命: 第一代(2006~2015 / 离线 Hadoop 时代&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉