Featured image of post 【机器视觉】yolo视觉检测

【机器视觉】yolo视觉检测

yolo 深度学习智能视觉检测

|
1793 字

YOLO视觉学习

↪︎初步接触深度学习视觉检测,主要为学习YOLOV8为初步入门使用教程学习🫣

1. 环境配置

(发现基本上的学习历程大部分都卡在了环境搭建😭,所以我尽量把细节和流程写详细一点!)

1.1 安装miniconda

安装miniconda版本为py38windos版本:
🔹https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
【主要用于虚拟环境的配置,在python开发中都可以用的到】

1.2 虚拟环境搭建

  • (1) 在conda终端中新建一个名为yolov8的虚拟环境,指定python版本为3.8:conda create -n yolov8 python=3.8【指定python版本位3.8版本】
  • (2) 激活/切换到yolov8虚拟环境:conda activate yolov8(虚拟环境名称)

1.3 镜像源配置(主要是方便本地下载)

pypi配置国内清华镜像:(替换为长期,就是将你以后的pip安装下载的通道改为从国内的镜像来下载,大部分的库或者安装都是在国外网站,下载比较慢,所以替换镜像为清华源,还有其他的类似的阿里等等)
🔹https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

1.4 pytorch环境安装

pytorch环境安装:https://pytorch.org/(注意选择合适版本)

pytorch版本选择

1.5安装ultralytics(yolov8):

2. 模型预测及训练使用

2.1 标注图片环境下载

  • (1) 下载labelimg:pip install labelimg
  • (2) 启动labelimg:labelimg

2.2 训练模型

  • (1) 标注完文件将文件创建好:
    • Train-项目名
      • images
        • train:(存放所有照片)
        • val:(存放验证集照片)
      • labels
        • train:(存放所有标注后的.txt)
        • val:(存放验证标志.txt)
      • classes.txt(标注种类文件)
  • (2) 创建好放到Train-项目名文件将文件放到datasets文件夹内
  • (3) 写好相应的yaml文件之后开始到tarin.py文件填好相应的文件路径和名称,最后开始训练
    • 配置.yaml文件示例
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      
      path: Train-项目名
      train: images/train
      val: images/val
      test: #可选项
      
      names:
      0: 标注时第一个标注对象名称
      1: 标注时第二个标注对象名称
      
      nc: 对象种类个数 
      
    • train.py文件示例
      1
      2
      3
      4
      5
      6
      7
      
      from ultralytics import YOLO
      
      model = YOLO('yolov8n.pt') #参考预测模型文件,如果是自己的可以放自己last.pt文件继续训练
      
      model.train(data='配置.yaml',workers=0,epochs=50,batch=16)#后面参数可自行根据训练硬件配置选择
      
      print("训练完成!")
      
  • (4) 训练完最终模型文件存放在runs/detect/trainxx/weights/xxx.pt

2.3 跑训练模型效果

简单使用示例代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from ultralytics import YOLO

yolo = YOLO("./best.pt")

# 小目标检测专用配置
result =yolo(
    source="./detect_Text/Player.mp4",
    show=True,
    conf=0.05,              # 低置信度
    imgsz=1280,             # 大尺寸输入
    iou=0.4,                # 较低的IoU阈值
    max_det=100,            # 增加最大检测数量
    agnostic_nms=False,     # 类相关的NMS
    augment=True,           # 测试时增强
)

# for i in result:
#     print(i.boxes.xywh.cpu().numpy())

3. 最终训练效果展示

下面是我训练YOLOv8模型后的检测效果照片:(用的是我朋友之前在人民公园跟大爷一起踢毽子的视频,此处肖像权省略略略略😝😝😝,视频太大传不上去,又不想上传到地方托管,所以只取了其中一张照片)
第一版自主训练跑效果图 视频:YOLOv8模型在自定义数据集上的检测效果,数据集我训练的比较少,最终的视频效果一般,后面需要的话还是增大数据训练集

4. 学习心得总结

🔅初步整个学习历程下来还是在配置训练环境,主要是学习到windos系统下的虚拟环境的配置,还有yolov8主要训练流程还有打标工具labelimg下载等等。详细的系统深度学习还有其他的标注工具可以参考小土堆up。后面还有更深度的具体如何实现深度学习的方法,卷积等等算法实现可以为后续深入地学习了解。还有后面如何将YOLO视觉具体应用到类似ROS上,如何视觉和底盘或者机械臂等协同工作的流程还要继续学习研究!本篇只作为初步入门学习使用YOLO😊.

本站已安全运行 0000