发布时间:2022-08-27 17:30
目标检测
目标检测开源实现(Yolo等框架)
Yolo:you only look once
1.环境安装
利用Anaconda安装pytorch和paddle深度学习环境+pycharm安装—免额外安装CUDA和cudnn(适合小白的保姆级教学)_didiaopao的博客-CSDN博客
conda create -n pytorch python=3.8
conda activate pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
conda install pytorch torchvision torchaudio cpuonly -c pytorch
2.数据集标注
目标检测—利用labelimg制作自己的深度学习目标检测数据集_didiaopao的博客-CSDN博客
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
3.数据集格式
目标检测—数据集格式转化及训练集和验证集划分_didiaopao的博客-CSDN博客
VOC标签格式转yolo格式并划分训练集和测试集
4.训练自己的目标检测模型
目标检测—教你利用yolov5训练自己的目标检测模型_didiaopao的博客-CSDN博客
├── data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称);还有一些官方提供测试的图片。如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。但是自己的数据集不建议放在这个路径下面,而是建议把数据集放到yolov5项目的同级目录下面。
├── models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x。从名字就可以看出,这几个版本的大小。他们的检测测度分别都是从快到慢,但是精确度分别是从低到高。这就是所谓的鱼和熊掌不可兼得。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
├── utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。
├── weights:放置训练好的权重参数。
├── detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测。
├── train.py:训练自己的数据集的函数。
├── test.py:测试训练的结果的函数。
├──requirements.txt:这是一个文本文件,里面写着使用yolov5项目的环境依赖包的一些版本,可以利用该文本导入相应版本的包。
4.1修改数据配置文件
4.2修改模型配置文件
4.3训练自己的模型启用tensorbord查看参数
4.4启用tensorbord查看参数
5.yolov5检测框显示中文标签
yolov5检测框显示中文标签_didiaopao的博客-CSDN博客
1.标注时直接定义中文标签
2.公开数据集通过代码将数据集中的英文标签转为中文标签
3.yolov5代码修改为支持中文标签
6.开源项目实验结果
6.1安全帽检测
https://www.bilibili.com/video/BV1Ri4y1o7qx?share_source=copy_web
6.2行为检测
后续应用将训练好的模型导入边缘计算设备(需要硬件产品整合调用能力)/开发Web网站(较简单)来整合识别结果及模型的跟新迭代
目标检测海康威视平台实现
海康威视AI开放平台 (hikvision.com)
1.训练(与百度等大厂AI开放能力训练流程类似)
2.部署(将算法放入边缘计算设备)
3.案例
4.应用效果