下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型

下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练

1、首先,到github上下载YOLOV5包,下载地址为https://github.com/ultralytics/yolov5
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第1张图片
在code的下拉箭头中,点击Download ZIP,即可进行下载

2、下载好之后,解压,用pycharm打开
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第2张图片

可以看到,在model中,提供了四个模型,每个模型的大小和精度都不一样,源码中用的是yolov5s.yaml

3、打开detect.py,直接运行,如果不报错的话,运行结束之后,会把inference/images中的图片bus.jpg和zidane.jpg进行目标侦测,然后生成一个output的文件夹
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第3张图片




但是,有可能会报错,pycharm界面会提示把pytorch,numpy,torchvision等等库升级到最新的版本,否则不能执行,这时候,就要把库进行升级一下。库升级好之后,可能还会报“OSError: [WinError 126] 找不到指定的模块”的错误,这个时候,报错行会提示安装Visual C++的链接,点击链接,自动下载安装,之后就没有问题了。
4、检测视频

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', nargs='+', type=str, default='yolov5s.pt', help='model.pt path(s)')
    parser.add_argument('--source', type=str, default='inference/images', help='source')  # file/folder, 0 for webcam

在detect.py的151行,有这几行程序,–weights那一行,是可以选择不同的模型进行测试。–source这一行,就是来源的意思,就是要进行检测的图片或视频,default=‘inference/images’,可以把自己想测试的MP4视频放进这个文件夹
5、开启摄像头检测
把第四步中的default=‘inference/images’改成default=‘0’,便可开启摄像头,进行动态的实时检测。
4、尝试用train.py训练自己的数据集
下面,我们运行train.py,会提示下载coco数据集,如果自动下载下载不下来,就用提示的下载链接进行下载,下载好解压放在yolov5同级的文件夹下下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第4张图片

我们打开数据集,观察数据集的特征。随便打开一张图片,我这里用000000000165.jpg的图片,是这样的下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第5张图片
打开与之对应的标签label,下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第6张图片
很明显,这张图片里面有4个目标,就用第二行的0 0.687836 0.600877 0.598703 0.798246
这几个数,看看这到底代表了什么含义(第一个数0是类别)。(总共80类,0就是person)
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第7张图片

下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第8张图片
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第9张图片
假设不正确,可以看出来,(x1,y1)不是框左上角的点,其实是中心点的坐标,正确的如下
下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第10张图片
验证一下下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第11张图片
总结:所以,如果想用自己的训练集来训练网络,在造数据集的标签时,下载并运行YOLOV5检测模型,检测图片、视频,并用自己的训练集训练模型_第12张图片
第一个数是:类别
第二个数是:中心点横坐标/图片宽
第三个数是:中心点纵坐标/图片高
第四个数是:框宽/图片宽
第四个数是:框高/图片高
按照上面的规则造好标签,就可以用来训练网络了(图片名和标签名要一样)

你可能感兴趣的:(机器学习,深度学习,pytorch,神经网络,yolov5)