文章目录
1、coco128.yaml->ddjc_parameter.yaml
2、yolov5x.yaml->ddjc_model.yaml
1、在train.py,寻找函数def parse_opt(known=False),更改参数
3、在detect.py,寻找函数def parse_opt(),更改参数
YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升。YOLOv5是Glenn Jocher等人研发,它是Ultralytics公司的开源项目。YOLOv5根据参数量分为了
n、s、m、l、x
五种类型,其参数量依次上升,当然了其效果也是越来越好。从2020年6月发布至2022年11月已经更新了7个大版本,在v7版本中还添加了语义分割的功能。
一、YOLOV5下载地址
GitHub官方下载(推荐):https://github.com/ultralytics/yolov5
二、版本及配置说明
- 我是用cpu训练的,如果有条件的可以使用gpu进行训练,训练速度会相差10倍。
- 当然,用gpu下载pytorch的时候要下载cuda版本。
- 我采用的是Anaconda+Pycharm的配置,大家要了解一些关于pip和conda的指令,方便管理包和环境。
- 当我们下好yolov5后,可以发现有一个requirements.txt文件,使用Anaconda Prompt,切换到Yolov5的位置,pip install -r requirements.txt即可一步到位全部下完。下面是requirements.txt文件的内容。
# YOLOv5 requirements # Usage: pip install -r requirements.txt # Base ---------------------------------------- matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.1 Pillow>=7.1.2 PyYAML>=5.3.1 requests>=2.23.0 scipy>=1.4.1 # Google Colab version torch>=1.7.0 torchvision>=0.8.1 tqdm>=4.41.0 protobuf<4.21.3 # https://github.com/ultralytics/yolov5/issues/8012 # Logging ------------------------------------- tensorboard>=2.4.1 # wandb # Plotting ------------------------------------ pandas>=1.1.4 seaborn>=0.11.0 # Export -------------------------------------- # coremltools>=4.1 # CoreML export # onnx>=1.9.0 # ONNX export # onnx-simplifier>=0.3.6 # ONNX simplifier # scikit-learn==0.19.2 # CoreML quantization # tensorflow>=2.4.1 # TFLite export # tensorflowjs>=3.9.0 # TF.js export # openvino-dev # OpenVINO export # Extras -------------------------------------- ipython # interactive notebook psutil # system utilization thop # FLOPs computation # albumentations>=1.0.3 # pycocotools>=2.0 # COCO mAP # roboflows
三、初步测试
配置完成后,运行detect.py,如果一切正常,那么可以在runs/detect/exp中能发现被处理过的标签,就成功了,如果没有显示下图,那么可能是有的库的版本不对应,可以根据报错提示用pip uninstall 包后下载相应版本,要多试,因为有的库与库之间是相互联系的。
四、制作自己的数据集及转txt格式
1、数据集要求
我的数据集为跌倒检测方面的,有1000张,上千张时处理后效果较好。
在yolov5中新建一个ddjc的文件夹,包含以下文件夹:
2、下载labelme
这个是对图片进行标注的工具
下载压缩包后解压即可。
3、安装依赖库
在Anacond