YOLO系列入门:1、YOLO V11环境搭建

YOLO了解

yolo检测原理

  • yolo是目标检测模型,目标检测包含物体分类、位置预测两个内容。目前yolo的开发公司官网为:https://docs.ultralytics.com/zh
  • 截止到目前2024年10月,最新的是yolo11
  • 关于YOLO的介绍可以参考这篇文章:https://zhuanlan.zhihu.com/p/94986199
  • 总结一下文章内容:
    • YOLO是region-free的方法,在此之前的R-CNN是region-based方法,yolo优点是更快,不需要分两步。
    • yolo在检测时,将一个图片分为多个grid,然后每个grid预测B个边界框,要求边界框中心点位于改grid内,同时预测边界框的长和宽。对于一个物体位于多个grid的情况,通过计算置信度,由于实际物体位于中心的grid交并比肯定最大,因此可以删除其余包含

  • 关于yolo不同版本的综区别述介绍可以参考:https://blog.csdn.net/daydayup858/article/details/130018935
    • YOLO原本是在论文中提出的一个网络模型,由论文作者开发出了YOLO V1/2/3,而后由其他人和公司开发出了后来的YOLO V5、V10等版本。目前主流的是由 ultralytics 公司维护的YOLO,官网为:https://docs.ultralytics.com/zh

yolo环境搭建

  • 我们根据官网指导,搭建最新版的yolo v11开发环境。
  • 由于我们之前使用Conda安装了Pytorch和CUDA,因此我们这里依然选用Conda进行YOLO的安装。当然也可以通过docker进行安装。
  • 首先,我们按照我们之前的文章1、Pytorch框架搭建安装好Pytorch开发环境。
  • 我们将原本安装Pytorch的环境克隆一份,创建YOLO11新环境。注意:克隆环境并不会克隆pytorch,Conda采用的是硬链接的方式。(假的,被骗了。发现整整复制了5个G)
  • 我们在原本Pytorch的环境中,执行以下命令安装YOLO 11:
    pip install ultralytics
    
    在这里插入图片描述
  • 安装好后,测试安装成功。
    在这里插入图片描述

测试目标检测模型

  • YOLO支持CLI操作,不需要写python代码,就可以直接使用命令行指挥YOLO进行识别。图片如下:810*1080
    在这里插入图片描述

  • 首先,我们新建一个空白文件夹,将我们要识别的图片放进去。如下:
    在这里插入图片描述

  • 然后在conda中用命令行切换到该文件夹。将图片路径传给YOLO,执行命令

    yolo predict model=yolo11n.pt source='bus.jpg' device=0
    
  • 可以看到,这里使用的模型yolov11n.pt是预训练好的模型,YOLO会去github仓库上下载该模型。在这里插入图片描述

  • 对于YOLO 的每个版本,都会有官方版的几个预训练模型,这些模型是在COCO数据集上训练的,包含了33万张图片,涵盖了常见的80个常见物体类别。不同模型的大小参数如下:
    在这里插入图片描述

  • 在这些参数中,size表示图像像素点大小。mAP表示模型检测交并比精度,Speed CPU ONNX表示在CPU上运行时的速度,Speed T4表示在T4 GPU上运算时的速度,该GPU参数如下:FLOPs(B)表示模型执行时需要计算的次数,其中B表示十亿次,10^9,6.5 BFLOPs相当于 6.5GFLOPs。
    在这里插入图片描述

  • 可以看到执行后的文件夹内容如下:
    在这里插入图片描述

    • 其中yolov11n.pt是我们下载下来的网络模型。这里我测试运行了多个模型,因此有多个模型文件。
    • 而runs/detect/predict文件夹下面保存的是模型识别的结果:
      在这里插入图片描述
  • 最终识别结果如下,说明我们成功配置好了YOLO环境。
    在这里插入图片描述

  • 在实际项目中,我们不会通过CLI调用YOLO,而是会通过python脚本调用YOLO,原理相同。

参考

Conda安装YOLO
COCO数据集介绍

### 使用 Conda 安装和配置 YOLO 框架 #### 1. 创建 Conda 虚拟环境 为了确保依赖项不会与其他项目冲突,建议首先创建一个新的虚拟环境。以下是具体操作方法: ```bash conda create -n yolo_env python=3.8 ``` 激活新创建的虚拟环境: ```bash conda activate yolo_env ``` #### 2. 安装必要的依赖库 在虚拟环境中安装所需的 Python 库和其他工具。 - **Librealsense**: 如果计划使用 Intel RealSense D435i 深度摄像头,则需要安装 `librealsense` 和其 Python 绑定。 下载并编译 librealsense 的源码[^2]: ```bash sudo apt-get install libusb-1.0-0-dev pkg-config build-essential git cmake git clone https://github.com/IntelRealSense/librealsense.git cd librealsense mkdir build && cd build cmake ../ -DBUILD_PYTHON_BINDINGS=true make -j$(nproc) sudo make install ``` - **OpenCV**: 可用于图像处理和测试摄像头功能。 ```bash conda install opencv ``` - **PyTorch**: YOLOv8 支持多种后端推理引擎,推荐安装最新版本的 PyTorch。 ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch ``` #### 3. 安装 Ultralytics 提供的 YOLOv8 Ultralytics 是官方维护的一个开源仓库,提供了简单易用的接口来运行 YOLOv8 模型。 克隆 Ultralytics 仓库并进入目录: ```bash git clone https://github.com/ultralytics/ultralytics.git cd ultralytics ``` 安装所需包: ```bash pip install -r requirements.txt ``` 验证安装是否成功: ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载预训练权重文件 results = model.predict(source='example.jpg', show=True) # 运行预测 ``` 如果一切正常,应该可以看到检测结果可视化输出。 #### 4. 测试模型与硬件兼容性 假设已经完成上述步骤,可以通过以下命令测试 YOLO 是否能正确读取来自 RealSense 摄像头的数据流。 加载实时视频帧进行目标检测: ```python import cv2 from ultralytics import YOLO # 初始化YOLO模型 model = YOLO('yolov8n.pt') # 打开RealSense设备作为输入源 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: break results = model(frame)[0] # 对当前帧执行推断 annotated_frame = results.plot() # 获取带有标注的结果图 cv2.imshow("YOLO", annotated_frame) # 显示结果 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() ``` 以上脚本会打开默认摄像机(通常是 RealSense),并将每一帧传递给 YOLO 模型进行对象检测[^2]。 --- ### 注意事项 - 确保 GPU 已正确定义并且 CUDA 版本匹配所选的 PyTorch 构建版本[^1]。 - 若遇到任何错误消息,请仔细阅读日志提示,并逐一排查可能的原因。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天城寺电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值