目标检测(环境配置)


附本菜鸡在windows上运行成功的(通过电脑摄像头的)yolo目标检测

配置环境的时候想清楚放在哪个盘,特别是虚拟机,放C盘很可能会g

1 项目代码结构整

  • data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。
  • models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
  • utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。
  • weights:放置训练好的权重参数。
  • detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。
  • train.py:训练自己的数据集的函数。
  • test.py:测试训练的结果的函数。
  • requirements.txt:这是一个文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包。

2 从github上拉取的包

2.1 最好创建一个新的虚拟环境,因为yolo对一些库有版本要求

创建虚拟环境—b站视频教程,视频评论区置顶处下有pdf讲义,可下载。不想看视频的可以直接点讲义链接
其中:

  • 注意NVIDACUDApytorch的型号是否互相兼容
  • 注意网络问题,有时候关掉梯子会好点
  • 源的问题,找到一个阿里云比较好用的:
    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple 
    
    pip config set install.trusted-host mirrors.aliyun.com
  • 记录途中用到的whl路径
    pip install D:\whl\torch-1.12.0+cu116-cp39-cp39-win_amd64.whl
    pip install D:\whl\torchvision-0.13.0+cu116-cp39-cp39-win_amd64.whl
    pip install D:\whl\torchaudio-0.12.0+cu116-cp39-cp39-win_amd64.whl

2.2 修改代码时的一些注意事项

  1. train.pydectect.py可以面向CSDN编程
  • e.g.报错No module named ‘yaml‘ ,在终端输入如下指令
    pip install pyyaml
  • 注意是在终端处下载还是在Anaconda Prompt处下载
  • 注意conda install还是pip install,注意先激活虚拟环境再安装包conda activate xxx
  1. 注意路径问题:
    1. 绝对路径:在train.py中的三行代码里最好使用绝对路径
    2. 相对路径:在detect.py中的weights,在我使用绝对路径的时候是无法实现想要的效果的,但是更改为weights/best.pt(使用最佳模型做测试)时可以正常运行

3 配置VMware和Ubuntu

下面是两个安装教程,可以结合食用:

3.1VMware虚拟机安装Linux教程

(以下是该教程的虚拟机和iso选择,可根据个人需要进行更改,但是配置过程大差不差)

  1. 虚拟机:VMware16 pro
  2. Linux系统iso镜像:CentOS-7.5-x86_64

    3.2 VMware虚拟机安装Ubuntu20.04详细图文教程

    (以下是该教程的虚拟机和iso选择,可根据个人需要进行更改,但是配置过程大差不差)
  3. 虚拟机:VMware16
  4. Linux系统iso镜像:Ubuntu20.04

3.3 一些说明

正如上面一位博主所说“不必刻意用旧版”

  1. 关于虚拟机:可选择VMware 17,VMware官方网站
  2. 关于iso镜像:新手推荐下Ubuntu,可以去Ubuntu官方网站
    这里附上Ubuntu20.04的链接(是国内镜像源,下载会快些)!

  3. 设置内核和内存时可以最好设置好之后就不改了,因为修改内存或硬盘大小之后重启可能会b溃,本人在下图修改硬盘大小之后无法再打开虚拟机

    3.4 宿主机与虚拟机互传文件

    windows主机和ubuntu互传文件的4种方法
    本人选择第二个方法:

  4. ubuntu安装FTP服务
    在ubuntu终端输入如下命令
    sudo apt-get install vsftpd
  5. 安装完后检查/etc /vsftpd.conf配置文件
    输入如下命令打开配置文件:(注意此处在网址上输入的是sudo vi,但是本人不太会使用vi编辑器,也找不到vi编辑器的使用方法,因此使用了vimvim编辑器的的指令在下文4.9有提到)
    sudo vim /etc/bsftpd.conf
  6. windows安装和配置FIleZilla
    点击FileZilla下载中心下载客户端
  7. FileZilla软件配置:
    打开FileZilla软件,选择:文件->站点管理器->点击新增站点,然后配置连接参数,如下图:

    主机处输入的是ubuntu的IPv4地址,查找方式如下:
  • 点击设置
  1. 可以看到ubuntu下的文件(右边)

4 Ubuntu22.04配置anaconda

4.1 配置过程

参考来源

  1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。

    sudo apt update
    sudo apt upgrade
    sudo apt install wget apt-transport-https gnupg2 software-properties-common
  2. 在 Ubuntu 22.04 上安装 Anaconda Python。
    默认情况下,Anaconda 在 Ubuntu 22.04 基础存储库中不可用。现在运行以下命令将 Anaconda 的最新稳定版本下载到您的 Ubuntu 系统:

    wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh


    下载Anaconda安装程序后,现在使用以下命令运行脚本:

bash Anaconda3-2022.05-Linux-x86_64.sh

按照向导说明完成 Anaconda 安装过程(可以一路按”Enter”)

Welcome to Anaconda3 2022.05

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>

下一步是指明安装路径,默认指向根目录。如果您具有 root 访问权限,则可以将其保留在那里,但您也可以将其安装在您帐户的 HOME 目录中:

Anaconda3 will now be installed into this location:
/root/anaconda3

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

[/root/anaconda3] >>>

注意地址是:/home/wabbybabbo(你自己的用户名)/anaconda3

  1. 安装 Anaconda 后,下一步是通过运行以下命令来使用“ ”文件中添加的环境设置:.bashrc

    source ~/.bashrc
  2. 验证Anaconda安装:

    conda list
  3. 如果要更新运行的整个环境(非必要)

    conda update-all
  4. 查看虚拟机上的虚拟环境有哪些

    conda info --envs

    可以看到这时候有一个名为base的虚拟环境

4.2 其他指令

4.2.1 unbutu一些指令

来源

cd www  # 到www目录;  
cd ..   # 到上一级目录;  
cd -    # 返回到上次的目录,类似windows返回 ;  
cd /    # 回到根目录。

4.2.2 Linux vim编辑器的指令

来源

  • 编写:按a
  • 退出:先按ESC键,跳到命令模式,再根据选择输入下面的(记得输入冒号)
    :w      # 保存文件但不退出vi
    :w file # 将修改另外保存到file中,不退出vi
    :w!     # 强制保存,不推出vi
    :wq     # 保存文件并退出vi
    :wq!    # 强制保存文件,并退出vi
    :q      # 不保存文件,退出vi
    :q!     # 不保存文件,强制退出vi
    :e!     # 放弃所有修改,从上次保存文件开始再编辑

4.2.3 进入和退出conda base环境

进入conda base环境:

source ~/anaconda3/bin/activate

退出conda base环境:
conda deactivate

5 yolo模型部署到orangepi 3

附上两个参考网站:# 香橙派5 RK3588 yolov5模型转换rknn及部署踩坑全记录 orangepi 5linux板上运行yolov5 目标检测(25/4/18发现这个网站已经无法访问了)

5.1 所谓的yolov5目录


这个yolov5目录在本人的电脑上,这个文件是这样的

5.2 路径问题

weightdata/coco128改成自己的weight和data的路径

5.3 生成的.onnx文件

生成的yolov5n.onnx文件在本人电脑上的位置在这里,名为best.onnx

5.4 在Ubuntu创建虚拟环境

  1. 创建名为rknn的虚拟环境时输入conda create -name rknn python=3.9报错了,但是输入conda create -n rknn python=3.9就不会,很奇怪

5.5 Ubuntu解压缩

参考网址
本人用到的是

unzip FileName.zip # 解压

再之后的跟着上面的两个博客走,基本上没什么坑了

6 遇到的其他问题

在开机时黑屏且遇到了:
SMbus Host Controller not enabled


文章作者: WB
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WB !
  目录