cv学习笔记-yolov5demo

配置yolov5环境

创建一个python环境,直接按照文档配置好环境就行(https://github.com/ultralytics/yolov5)
(环境如果没有pytorch配置文件会自动安装最新版,可能会有版本不匹配的问题,建议先自己手动安装合适版本的pytorch)

git clone https://github.com/ultralytics/yolov5  # clone
cd yolov5
pip install -r requirements.txt  # install

后面在4*1080ti上运行时遇到报错:RuntimeError: GET was unable to find an engine to execute this computation,
经过查资料应该是cuda版本和torch版本不匹配,使用nvidia-smi查看cuda版本,显示为11.4,然后去pytorch官网找老版本,没有11.4对应版本,查找资料说是可以使用11.3的,
然后卸载现有的torch,复制官网的安装代码重新安装torch后解决问题。

在双2080ti配置yolov5环境时无法安装新版本的库,并提示DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.
上述问题暂时还未解决,使用which python查看解释器位置没问题,使用which pip查看时发现与师兄不一样,应该是这个原因。

使用3090ti机器未遇到任何上述问题。

后台运行python程序

nohup 代码 &  // 后台执行代码,并将自动将输出记录到nohup.out文件
nohup 代码 >> nohup.out 2>&1 &  //效果同上,可以改.out文件名实现同时运行多个程序
ps -aux | grep python    //可以检索正在运行的进程
kill -9 进程id   //关闭进程

运行demo

单张图片检测运行速度很快,将要检测的图片复制到yolov5目录下(或者在图片前面写上路径),然后使用代码运行

python detect.py --weights yolov5s.pt --source 0                               # webcam
                                               img.jpg                         # image
                                               vid.mp4                         # video
                                               screen                          # screenshot
                                               path/                           # directory
                                               list.txt                        # list of images
                                               list.streams                    # list of streams
                                               'path/*.jpg'                    # glob
                                               'https://youtu.be/Zgi9g1ksQHc'  # YouTube
                                               'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

运行结果如下,生成一张新图片:增加bounding box及检测类型及其概率
请添加图片描述

运行coco128也很快

python train.py --img 640 --epochs 3 --data coco128.yaml --weights yolov5s.pt

运行结果如下
coco128运行结果

运行coco数据集时较慢,在双2080ti上每个epoch大概6分钟(yolov5s.yaml --batch-size 64),300个大概运行30小时(暂时还没运行完),使用1080机器运行每个epoch要十几分钟(yolov5n.yaml --batch-size 128)就关掉了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: rotation-yolov5 是一个基于YOLOv5的目标检测算法,它是围绕物体旋转检测而设计的算法。 在传统的目标检测算法中,通常只能检测物体的位置和类别信息,而对于物体的旋转角度等信息缺乏准确的检测。而 rotation-yolov5 算法通过引入旋转矩形框的概念,实现了对物体旋转角度的检测。 rotation-yolov5 的网络结构和YOLOv5类似,通过使用卷积神经网络提取图像特征,并通过多个不同分辨率的特征层来检测不同尺寸的物体。但是在检测过程中,rotation-yolov5 不仅仅预测物体的位置和类别,还预测物体的旋转角度。 rotation-yolov5 在训练阶段首先通过标注的旋转角度信息来生成旋转矩形框的真实标签,然后使用这些标签进行训练。在预测阶段,通过计算物体边界框的角度,可以得到旋转物体的旋转角度信息。 rotation-yolov5 的性能优于传统的目标检测算法,特别是对于需要准确检测物体旋转角度的应用场景,如自动驾驶中的行人检测、机器人的物体抓取等。通过引入旋转矩形框来描述旋转物体,rotation-yolov5 提供了一种可行的解决方案,使得目标检测算法在物体旋转角度的检测上取得了突破。 ### 回答2: rotation-yolov5是一种基于YOLOv5模型的目标检测算法。目标检测是计算机视觉中的重要任务之一,旨在识别图像中的目标并确定其位置。 rotation-yolov5通过在YOLOv5的基础上增加旋转物体的检测能力来改进目标检测。传统的目标检测算法主要侧重于检测横向或纵向的目标,对于旋转目标的检测效果较差。而rotation-yolov5通过引入旋转目标的数据增强以及更改模型结构,提高了对旋转目标的检测准确性和鲁棒性。 具体来说,rotation-yolov5通过对训练数据进行旋转增强,使模型在训练过程中接触到更多不同角度的旋转目标样本,从而增强了模型对旋转目标的理解和识别能力。此外,rotation-yolov5还通过修改模型的网络结构,增加了对旋转目标的感知能力,使模型能够更好地捕捉旋转目标的特征和形状。 rotation-yolov5在旋转目标检测方面取得了一定的突破,但仍然存在一些挑战。例如,对于极端角度的旋转目标,模型可能仍然存在一定的检测误差;对于密集目标的检测,模型可能会出现漏检或误检的情况。因此,仍然需要进一步研究和改进算法,提高rotation-yolov5在旋转目标检测上的性能和鲁棒性。 总之,rotation-yolov5是一种基于YOLOv5的目标检测算法,通过增强模型对旋转目标的理解和感知能力,从而提高了对旋转目标的检测准确性和鲁棒性。 ### 回答3: YOLOv5是一种基于旋转框的目标检测模型。旋转目标检测是相对于传统的水平矩形框而言的。旋转框可以更准确地描述旋转目标的形状,例如倾斜文字或倾斜交通标志等。在YOLOv5中,旋转目标检测的实现主要依赖于三个关键步骤。 首先,YOLOv5通过使用anchor-based方法,针对旋转目标生成预测框。与传统的水平矩形anchor不同,旋转anchor由中心点、宽度、高度和旋转角度来定义。通过在训练集上学习旋转anchor的形状和尺寸,模型能够更好地适应旋转目标的检测。 其次,为了准确地检测旋转目标,YOLOv5在主干网络中引入了旋转卷积层。旋转卷积层可以对特征图进行旋转操作,从而更好地适应旋转目标的形状。通过在卷积层中添加旋转角度作为参数,可以学习到旋转目标在特征图中的表示。 最后,在损失函数中,YOLOv5采用了旋转iou损失来衡量预测框和真实框之间的重叠度。由于旋转目标的形状特殊,传统的iou计算方式无法准确地度量旋转框之间的重叠程度。因此,YOLOv5引入了旋转iou来解决这个问题,从而更好地优化模型的训练。 总结来说,YOLOv5通过引入旋转anchor、旋转卷积层和旋转iou损失,实现了旋转目标的检测。这一技术在许多领域中都能够得到应用,例如自动驾驶、图像识别等。旋转目标检测的优势使得YOLOv5在旋转目标场景中具有更好的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值