拓冰建站拓冰建站
首页 / 资讯中心 / 正文

零基础手把手搭建YOLOv5目标检测环境:从Anaconda到实时摄像头识别

1. 项目概述为什么从YOLOv5开始如果你对计算机视觉感兴趣想亲手体验一下让机器“看见”并识别物体的魅力那么目标检测绝对是一个绝佳的起点。而在众多目标检测模型中YOLOv5You Only Look Once version 5以其出色的平衡性——速度快、精度高、生态友好——成为了无数新手入门和工业部署的首选。我见过太多朋友包括刚接触编程的同学被“环境配置”这道门槛劝退卡在各种各样的报错里最终热情被消磨殆尽。这太可惜了。所以这篇内容就是为你准备的。它不假设你有任何深度学习或Python基础我们将从零开始一步一步手把手地搭建一个能跑通YOLOv5目标检测的环境。我会把每一步操作背后的逻辑、可能遇到的坑以及我踩过之后总结的“避坑指南”都讲清楚。我们的目标很简单让你在完成所有步骤后能顺利运行YOLOv5的官方示例看到摄像头或图片中的物体被一个个框出来并打上标签。这不仅仅是配置一个环境更是为你打开一扇通往AI视觉世界的大门。相信我当你第一次看到程序准确地识别出你面前的“人”或“键盘”时那种成就感是无与伦比的。2. 环境配置前的核心思路与工具选型在动手敲命令之前我们先花几分钟理清思路。深度学习环境配置之所以让人头疼核心在于“依赖”和“版本”。Python本身、各种功能包库、深度学习框架PyTorch、以及CUDA用于GPU加速之间存在着严格的版本匹配关系。一步错步步错。我们的策略是自上而下锁定版本隔离环境。2.1 为什么选择Anaconda作为环境管理器对于小白来说最怕的就是把系统自带的Python环境搞乱导致其他项目无法运行。Anaconda或者更轻量化的Miniconda的核心价值就在于“环境隔离”。你可以把它想象成在电脑里创建多个独立的“小房间”虚拟环境每个房间里有自己的一套Python和工具包。你在YOLOv5的“房间”里随便折腾安装任何版本都不会影响到其他“房间”或系统本身。项目做完直接把“房间”删除系统依然干净如初。这是保证实验可复现、管理多项目的基础也是专业开发者的标配习惯。2.2 PyTorch与CUDA版本匹配成败的关键YOLOv5是基于PyTorch框架构建的。PyTorch是一个强大的深度学习框架而CUDA是NVIDIA显卡的并行计算平台能让PyTorch的运算速度在GPU上提升数十倍。这里有个关键点你必须根据自己电脑的显卡型号和已安装的显卡驱动来确定可以安装的CUDA版本进而确定PyTorch版本。这个链条是显卡硬件 - 显卡驱动版本 - 支持的最高CUDA版本 - 与之匹配的PyTorch版本。很多人在这一步直接去PyTorch官网复制安装命令结果因为CUDA版本不匹配导致安装失败或无法调用GPU。别担心下面我们会有一个详细的步骤来查清自己的“家底”。2.3 代码仓库为什么是Ultralytics的官方版本YOLOv5的原始作者是Ultralytics公司他们维护的GitHub仓库是最权威、更新最及时、社区最活跃的版本。我们将直接从官方仓库克隆代码。这保证了我们获得的是经过充分测试、文档齐全、并且拥有海量预训练模型可以直接用来检测人、车、动物等常见物体的版本。使用官方源能避免很多因代码修改导致的诡异问题。3. 超详细实操步骤从零到一的完整过程接下来我们进入实战环节。请严格按照顺序操作我会解释每一步在做什么。3.1 第一步检查你的“装备”——显卡与驱动首先确认你的电脑是否有NVIDIA独立显卡并查看其驱动支持的CUDA版本。打开命令行Windows下按WinR输入cmd回车macOS/Linux打开终端。输入以下命令并回车nvidia-smi如果这个命令能运行你会看到一个表格。找到右上角的“CUDA Version”一项。例如显示“CUDA Version: 12.1”这说明你的显卡驱动最高支持CUDA 12.1。记下这个数字比如12.1。如果提示“nvidia-smi不是内部或外部命令”这说明你的系统没有安装NVIDIA显卡驱动或者没有独立显卡。如果是后者那么你只能使用CPU模式运行YOLOv5速度会慢很多但流程依然可以走通。如果是前者你需要去NVIDIA官网下载并安装适合你显卡型号的驱动。注意nvidia-smi显示的CUDA版本是你的驱动支持的最高版本不代表你已经安装了该版本的CUDA Toolkit我们下一步才会安装。你可以安装等于或低于此版本的CUDA。3.2 第二步安装Anaconda/Miniconda访问Anaconda官网或Miniconda镜像站。对于新手我推荐安装Anaconda因为它自带了很多常用的科学计算包和一个图形化管理界面省去不少麻烦。下载对应你操作系统Windows/macOS/Linux的安装包。Windows用户下载.exe文件macOS用户下载.pkg文件。安装过程基本一路“Next”即可但请注意这两个关键点安装路径不要安装在中文或带有空格的路径下例如C:\Software\Anaconda3是好的C:\用户\我的软件\Anaconda是坏的。添加环境变量安装程序通常会询问“Add Anaconda to my PATH environment variable”。一定要勾选上这能让你在任意命令行窗口中使用conda命令。如果安装时忘了后续需要手动添加对新手比较麻烦。安装完成后重新打开命令行窗口输入conda --version如果显示出版本号如conda 24.5.0说明安装成功。3.3 第三步创建专属的虚拟环境我们将创建一个名为yolov5的Python虚拟环境并指定Python版本为3.8。Python 3.8是一个在深度学习领域兼容性极广的版本。在命令行中输入conda create -n yolov5 python3.8回车后conda会解析依赖并提示你将安装一些包输入y确认。等待几分钟环境就创建好了。激活环境Windows:conda activate yolov5macOS/Linux:conda activate yolov5激活后你会发现命令行的提示符前面变成了(yolov5)这表示你已经进入了这个独立的“小房间”。之后所有操作都在这个环境下进行。3.4 第四步安装匹配的PyTorch和Torchvision这是最关键也最容易出错的一步。我们不使用conda自带的PyTorch而是去PyTorch官网获取最准确的安装命令。打开浏览器访问 PyTorch 官网。找到“Get Started”部分的安装配置器。你需要根据你的情况选择PyTorch Build: 选择Stable (稳定版)。Your OS: 选择你的操作系统。Package: 选择Conda因为我们用conda管理环境。Language: 选择Python。Compute Platform: 这里就是选择CUDA版本的地方。如果你有显卡且nvidia-smi显示的CUDA版本 11.7这里可以选择CUDA 11.7或CUDA 11.8。我推荐选择CUDA 11.8因为它被广泛支持且稳定。如果你没有显卡或者想先确保环境能通选择CPU。后续可以再安装GPU版本。选择完毕后官网会生成一行命令例如conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia重要复制这行命令回到你的命令行确保已激活yolov5环境粘贴并运行。这个过程会下载数百MB甚至上GB的文件请保持网络通畅耐心等待。实操心得有时官网的conda命令下载速度很慢或卡住。一个备选方案是使用pip安装。在配置器中选择“Package”为“Pip”会生成pip命令如pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118。pip的源通常更快。你可以先尝试conda如果太慢就conda uninstall pytorch卸载再用pip命令安装。3.5 第五步验证PyTorch和GPU是否可用安装完成后我们需要验证PyTorch安装成功并且能正确识别GPU。在激活的yolov5环境中启动Python交互界面python然后在出现的提示符后依次输入以下代码并回车import torch print(torch.__version__) # 打印PyTorch版本 print(torch.cuda.is_available()) # 检查CUDAGPU是否可用如果第一行输出了版本号如2.1.0第二行输出了True那么恭喜你PyTorch和GPU环境配置完美成功如果第二行是False说明PyTorch是CPU版本或者CUDA驱动匹配有问题。请返回3.4步检查你的选择。输入exit()退出Python交互界面。3.6 第六步克隆YOLOv5官方代码并安装依赖在你喜欢的位置比如D:\Projects\打开命令行或者用cd命令切换过去。确保仍在yolov5环境中。克隆代码仓库git clone https://github.com/ultralytics/yolov5如果提示没有git命令你需要先安装Git。或者你也可以直接在GitHub页面点击“Code” - “Download ZIP”下载后解压到一个英文路径。进入克隆下来的yolov5文件夹cd yolov5安装项目所需的其他依赖包。YOLOv5很贴心地准备了一个requirements.txt文件里面列出了所有必需的库。使用pip一键安装pip install -r requirements.txt这个命令会自动安装OpenCV-Python图像处理、Matplotlib画图、Pandas数据处理等几十个库。等待其完成。4. 运行你的第一个目标检测程序环境全部就绪现在让我们来点激动人心的——真正运行YOLOv5看看它的效果。4.1 使用预训练模型进行图片检测YOLOv5自带了好几个不同大小和速度的预训练模型如yolov5s.pt, yolov5m.pt等。‘s’代表small小速度快但精度稍低‘l’代表large大速度慢但精度高。我们从最小的yolov5s.pt开始它会自动从网上下载。在yolov5目录下执行以下命令python detect.py --source data/images/bus.jpg --weights yolov5s.pt我来解释一下这个命令python detect.py: 运行检测脚本。--source data/images/bus.jpg: 指定检测源。这里用的是YOLOv5自带的示例图片一辆巴士。你也可以换成你自己的图片路径例如--source my_photo.jpg。--weights yolov5s.pt: 指定使用的模型权重文件。第一次运行会自动下载。运行后你会看到命令行里滚动很多信息最后会显示类似“Results saved toruns/detect/exp”的字样。打开yolov5文件夹下的runs/detect/exp目录就能找到处理后的图片bus.jpg。打开它你应该能看到巴士、行人等物体都被彩色框准确地框了出来并打上了“bus”、“person”的标签和置信度分数。4.2 进行实时摄像头检测这更酷让你的电脑摄像头实时识别画面中的物体。python detect.py --source 0 --weights yolov5s.pt这里--source 0通常代表电脑的第一个摄像头默认摄像头。运行后会弹出一个窗口显示摄像头画面。你拿一些物品比如水杯、手机、键盘在镜头前晃动看看它能不能实时识别出来。按键盘上的Esc键可以退出程序。注意事项第一次运行摄像头检测时可能会提示你安装一些与视频编解码相关的包如pycocotools-windows按照提示安装即可。如果摄像头打不开可以尝试将--source 0改为--source 1试试其他摄像头索引。5. 常见问题与排查技巧实录即使步骤再详细每个人的电脑环境千差万别遇到问题很正常。这里我整理了新手最常遇到的几个“坑”及其解决方案。5.1 问题一ImportError: DLL load failed while importing ...或类似的动态链接库错误问题描述在导入PyTorch或其他库如OpenCV时报错找不到某个.dll文件Windows或.so文件Linux/macOS。排查思路这几乎是Windows平台的特有问题根本原因是Visual C Redistributable运行时库缺失或版本不对。解决方案访问微软官网下载并安装最新版本的 Microsoft Visual C Redistributable。通常需要同时安装x86和x64版本。重启电脑再尝试导入。如果问题依旧考虑使用conda重新安装有问题的包conda有时会连带解决运行时依赖。例如conda install opencv -c conda-forge。5.2 问题二运行检测时速度极慢且GPU利用率显示为0%问题描述程序能跑但检测一张图要几十秒任务管理器里GPUNVIDIA显卡使用率几乎为0%。排查思路这明确说明程序正在使用CPU进行计算没有调用GPU。解决方案首先用3.5节的方法确认torch.cuda.is_available()是否为True。如果是False回到PyTorch安装步骤。如果是True检查你的PyTorch版本是否真的是CUDA版本。在Python中执行print(torch.version.cuda)如果有输出如11.8说明安装的是GPU版。确保你的代码没有强制指定设备为CPU。在YOLOv5的detect.py中默认会自动选择可用的设备。你也可以在命令中显式指定python detect.py --source ... --weights ... --device 0其中0代表第一块GPU。5.3 问题三pip install -r requirements.txt安装某些包失败如pycocotools问题描述安装依赖时某个包特别是需要编译的包反复失败报错信息里常有“error: Microsoft Visual C 14.0 or greater is required”。排查思路这些包需要本地编译环境而你的电脑缺少C编译器。解决方案最佳方案安装Visual Studio Build Tools。去微软官网下载“Visual Studio 2022”的生成工具安装时务必勾选“使用C的桌面开发”工作负载。替代方案寻找预编译的wheel文件。对于pycocotools可以尝试安装pycocotools-windows这个替代包pip install pycocotools-windows。对于其他包可以去这个网站根据你的Python版本和系统寻找对应的.whl文件下载后手动安装。5.4 问题四克隆或下载速度慢问题描述git clone或pip install下载速度只有几KB/s甚至超时。解决方案配置国内镜像源。Git克隆加速将GitHub地址替换为国内镜像站地址。例如使用Gitee镜像git clone https://gitee.com/mirrors/YOLOv5.git注意镜像可能有延迟但代码是一样的。Pip加速在pip install命令后加上-i参数指定镜像源。例如pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple常用的国内源还有阿里云、腾讯云等。5.5 问题速查表问题现象可能原因快速检查/解决方案nvidia-smi命令无效无NVIDIA显卡或驱动未安装检查设备管理器/安装显卡驱动torch.cuda.is_available()返回 FalsePyTorch安装的是CPU版本CUDA与驱动不匹配检查PyTorch官网安装命令的选择更新显卡驱动导入PyTorch报DLL错误缺少VC运行库安装最新版 Microsoft Visual C Redistributable安装依赖包失败编译错误缺少C编译环境安装 Visual Studio Build Tools 或寻找预编译包运行检测无任何输出程序卡住模型文件下载失败检查网络可手动下载yolov5s.pt放到项目根目录摄像头检测打不开摄像头索引错误或被占用尝试--source 1关闭其他占用摄像头的软件环境配置是深度学习实践的第一步也是最磨练心性的一步。遵循清晰的步骤理解每一步的目的遇到问题时耐心根据错误信息搜索你一定能跨过这道坎。当你成功运行起第一个检测程序后后续的学习——比如在自己的数据集上训练模型、修改网络结构、部署到其他平台——都将建立在这个稳定可靠的环境之上。这个环境就是你探索AI视觉世界的起点站现在它已经准备就绪了。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门