YOLOv5
文章平均质量分 69
YOLOv5是一个目标检测架构和基于COCO数据集预训练的模型族,代表了Ultralytics对未来视觉人工智能方法的开源研究,包含了大量的开发经验和最佳实践。
西笑生
西笑生
展开
-
深度学习 目标分类 目标检测 多目标跟踪 基础 进阶
flyfish原创 2024-09-07 08:37:15 · 1854 阅读 · 1 评论 -
PyTorch 传统模型训练业务全流程
flyfish原创 2024-08-14 17:38:09 · 328 阅读 · 0 评论 -
Python 画 梯度场
flyfish原创 2024-08-09 18:11:01 · 964 阅读 · 0 评论 -
非最大值抑制(NMS)函数
flyfish原创 2024-06-27 18:03:04 · 1203 阅读 · 0 评论 -
YOLOv8 目标检测程序的输出 (1, 84, 8400)的解释
flyfish原创 2024-06-24 21:24:26 · 2891 阅读 · 0 评论 -
YOLOv8 目标检测程序,依赖的库最少,使用onnxruntime推理
flyfish原创 2024-06-24 19:43:55 · 504 阅读 · 0 评论 -
YOLOv8中是如何实现类似将结构体作为函数参数传递
flyfish原创 2024-06-22 12:35:12 · 468 阅读 · 0 评论 -
YOLOv8目标跟踪model.track的封装
flyfish原创 2024-06-21 18:13:21 · 585 阅读 · 0 评论 -
YOLOv8目标跟踪代码BaseTrack中关于类属性的用法
flyfish原创 2024-06-20 20:05:28 · 786 阅读 · 0 评论 -
目标检测 YOLOv5 模型训练、推理、导出命令
目标检测 YOLOv5 模型训练、推理、导出命令通常训练命令$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights ‘’ --batch-size 64其中yolov5s.yaml,可以替换yolov5m.yaml、yolov5l.yaml、yolov5l.yaml、yolov5x.yaml等batch-size后面的64可以替换16、24、40等自定义配置训练命令python train.py --data crowdhu原创 2021-04-11 19:46:12 · 7388 阅读 · 1 评论 -
目标检测 YOLOv5中使用COCO数据集
目标检测 YOLOv5中使用COCO数据集flyfish第一步打开general_json2yolo.py if __name__ == '__main__': source = 'coco' if source == 'coco': convert_coco_json('../../Downloads/coco/annotations/')改成自己的COCO文件所在目录第二步执行 python general_json2yolo.py生成结果如下├──原创 2021-04-07 18:01:29 · 6538 阅读 · 0 评论 -
目标检测 YOLOv5 - 模型推理预处理 letterbox C++实现
目标检测 YOLOv5 - 模型推理预处理 letterbox C++实现。使用Yolov5自带的图片进行测试。CMakeList.txt配置。调用opencv函数实现。opencv下载地址。原创 2023-04-23 19:55:19 · 1207 阅读 · 0 评论 -
目标检测 YOLOv5 - 预处理letterbox坐标映射回原图坐标 C++实现
要装进letter box,就记录宽度和高度各自变化了多少,因为一张图像,两边都边,所以记录一个边变化了多少就行。就要保存比例数据,原来在《 模型推理预处理 letterbox C++实现》里面的实现改进下。目标检测 YOLOv5 - 预处理letterbox坐标映射回原图坐标 C++实现。目标检测 YOLOv5 - 预处理letterbox坐标映射回原图坐标 C++实现。那么pad里面的数据就是pad_w ,pad_h ,r,有了这三个数据就能恢复了。因为letter box的坐标,要映射回原图坐标。原创 2023-04-26 15:57:52 · 2216 阅读 · 1 评论 -
香橙派 AIpro 昇腾 Ascend C++ 分类模型适配
模型的处理查看香橙派 AIpro SoC版本根据上面查看到SoC版本是 310B4,在转换模型时选择Ascend310B4在硬件上可以加装一块固态盘,装上之后开机自动识别。原创 2024-05-28 18:58:21 · 1362 阅读 · 0 评论 -
目标检测 YOLOv5 - 推理时的数据增强
实际使用中使用了大中小三个不同分辨率,中间大小分辨率的图像进行了左右反转。验证图像大小是每个维度上的stride的倍数,默认是32的倍数。在训练时可以使用数据增强,在推理阶段也可以使用数据增强。416 * 544 宽度W 高度H 比例为0.83。352 * 448 宽度W 高度H 比例为0.67。480 * 640 宽度W 高度H 比例为1。目标检测 YOLOv5 推理时的数据增强。原来推理一张图像,增强后是推理3张。是缩放比例,且能被32整除。合并去冗余之后再进NMS。推理时默认不使用增强。原创 2023-12-29 18:30:17 · 1017 阅读 · 0 评论 -
YOLOv5 环境搭建
YOLOv5 环境搭建flyfish环境驱动、CUDA Toolkit、cuDNN、PyTorch版本对应。原创 2023-11-22 15:00:34 · 342 阅读 · 0 评论 -
目标检测 YOLOv5 预训练模型下载方法
目标检测 YOLOv5 预训练模型下载方法。可以选择自己需要的版本和不同任务类型的模型。原创 2023-10-27 20:16:54 · 3595 阅读 · 0 评论 -
PyTorch模型的多种导出方式提供给其他程序使用
flyfish以下使用模型可视化工具时netron工具下载到本地https://github.com/lutzroeder/netron/releases/或者在使用https://netron.app/当下载一个预训练模型时,只是一个一个的moduleTRAINING导出方式算子没有融合当采用EVAL方式进行模型导出的时候,Conv和BatchNorm层进行了合并JIT(Just-In-Time)在Yolov5中叫torchscript本文使用的PyTorch版本 1.10.1原创 2023-10-10 18:10:58 · 914 阅读 · 0 评论 -
在预处理中用于预训练网络模型的均值和标准差的几种形式
flyfish原创 2023-10-09 16:43:38 · 293 阅读 · 0 评论 -
目标检测 YOLOv5 - ncnn模型的加密 C++实现封装库和Android调用库示例
将模型和重要代码全部封装到库中,生成静态库a或者动态库so,如果是windows下就是lib或者dll。上层应用程序使用库和一个头文件,对于应用程序开发者,模型和重要代码是不可见的,达到加密的目的。如需更多的加密方法,请参考nihui的如何加密ncnn模型此repo包括C++编写的库和Android调用库示例此代码演示如何模型如何加密的,Android是如何调用的。原创 2022-11-22 21:39:23 · 5758 阅读 · 7 评论 -
《深度学习与目标检测 YOLOv5》
flyfish原创 2022-11-16 17:52:03 · 4186 阅读 · 4 评论 -
目标检测 YOLOv5 - YOLOv5最新版本 6.2支持ncnn推理
目标检测 YOLOv5 - YOLOv5最新版本 6.2支持ncnn推理flyfish。原创 2022-11-03 14:51:26 · 3869 阅读 · 6 评论 -
目标检测 YOLOv5 - Rockchip rknn模型的测试 包括精度,召回率,mAP等详细信息
可以将rknn模型做成与pytorch模型相同的预处理,是不确定输入的方式,而不是确定的640 * 640方式。该测试使用模拟器测试,可以在Ubuntu18.04上直接运行如果要更改为真机测试,请更改 要连接的设备ID。该测试是使用了自定义128张图片的测试结果,如果采用官网的coco128图片数据会比下列数值更好看。pytorch模型采用不确定输入的方式,rknn模型采用了确定的640 * 640方式。以下是对比结果,pt模型的测试结果和rknn模型的测试。rknn模型的测试结果。pytorch的数据。原创 2022-10-28 21:00:04 · 4374 阅读 · 10 评论 -
目标检测 YOLOv5 - 预处理letterbox坐标映射回原图坐标
letterbox函数返回值包括 im, ratio, (dw, dh)(dw, dh) 可以理解为边距,dw左右边距,dh上下边距。letterbox函数 具体请看。为声明的SHAPES和SHAPE赋值。im是letterbox结果图片。在后处理boxes部分开始转换。原创 2022-10-26 19:13:33 · 3525 阅读 · 0 评论 -
目标检测 YOLOv5 - 模型推理预处理 letterbox
1080 * 1920 (height * width )变 360 * 640 (height * width )360 * 640 (height * width )变 384 * 640 (height * width )图片缩放到 360 * 640 (height * width )就将 360 * 640 的图片 装进 640 * 640中。360 * 640 变成了 384 * 640。当模型输入 不必须 640 * 640 时。当模型输入是 640 * 640时。原创 2022-10-21 23:02:07 · 5670 阅读 · 5 评论 -
目标检测 YOLOv5 - 计算指标使用的坐标
flyfish版本:YOLOv5 6.2计算指标时 有两种框需要比较,一个是人为标注的正确的边框 target boxes,躺在数据集的文件中。另一个是模型检测出的结果包括的边框。原创 2022-10-20 20:41:48 · 5840 阅读 · 0 评论 -
目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践
目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践flyfish源码地址Rockchip 支持 YOLOv5 v6.2 从训练到C++部署的全链条开发,包括。原创 2022-10-13 15:52:42 · 1855 阅读 · 2 评论 -
目标检测 YOLOv5 - YOLOv5的后处理
这样的[1,25200,85]数据怎么就得到了框的坐标,分数,类别这些信息呢?原创 2022-10-11 17:53:06 · 18004 阅读 · 10 评论 -
目标检测 YOLOv5 - 最新版本v6.2模型在瑞芯微 Rockchip设备上运行的方案
flyfish 目标检测 YOLOv5 - 最新版本v6.2模型在瑞芯微 Rockchip设备上运行的方案pytorch模型转rknn原创 2022-09-28 21:03:24 · 2321 阅读 · 0 评论 -
目标检测 YOLOv5 - 基于 瑞芯微 Rockchip RKNN C API 实现
C++实现基于rockchip rknn的YOLOv5推理类原创 2022-09-27 19:29:24 · 2506 阅读 · 0 评论 -
多目标跟踪 C++ 实现支持deepsort 和 bytetrack
代码采用C++实现,目标检测支持YOLOv5 6.x,跟踪支持deepsort 和 bytetrack。检测模型可以直接从YOLOv5官网,导出onnx使用特征提取可以自己训练,导出onnx使用,onnxruntime cpu 推理,方便使用.特征支持自定义维度例如 128,256,512等本文源码地址。原创 2022-09-23 21:27:25 · 4343 阅读 · 1 评论 -
多目标跟踪论文 Deep SORT 实现
多目标跟踪论文 Deep SORT 实现代码采用C++实现,支持YOLOv5 6.x。检测模型可以直接从YOLOv5官网,导出onnx使用特征提取可以自己训论文中提到的代码是Python编写的,我的目的是C++实现先列举前人的实现参考部分作者的repositories 的Python代码代码1nwojke/deep_sortSimple Online Realtime Tracking with a Deep Association Metric论文提供的代码2Qidian21...原创 2019-05-09 18:21:51 · 7555 阅读 · 13 评论 -
目标检测 YOLOv5 - 模型的输出
flyfish原创 2022-09-16 20:55:12 · 4670 阅读 · 0 评论 -
目标检测 YOLOv5 - 模型的样子
flyfish原创 2022-09-16 19:07:04 · 1118 阅读 · 0 评论 -
目标检测 YOLOv5 - 早停机制(Early Stopping)
目标检测 YOLOv5 - 早停机制(Early Stopping)flyfishEarly Stopping but when?YOLOv5:v5的版本没有早停机制,在2021年9月5日后的版本更新了早停机制EarlyStopper updates #4679(Sep 5, 2021)参数patience:训练了多少个epoch,如果模型效果未提升,就让模型提前停止训练。fitness监控的是增大的数值,例如mAP,如果mAP在连续训练patience次内没有增加就停止训练。##如何使用原创 2021-09-07 18:04:43 · 17682 阅读 · 6 评论 -
目标检测 YOLOv5 - 自定义的模型在使用C++推理时需要注意的问题
目标检测 YOLOv5 - 自定义的模型在使用C++推理时需要注意的问题flyfish关注的YOLOv5的Python代码部分C++编写推理时需要关注的YOLOv5代码的是export.py和yolo.pyC++版本的YOLOv5推理已由nihui 在ncnn中完成,路径是ncnn/examples/yolov5.cpp,并且兼容YOLOv5:v6,还提供了移动端的使用demo。1 注意生成新的anchor3个stride,在原始配置yolov5s.yaml文件中分别是# anchorsa原创 2021-11-30 11:01:37 · 1382 阅读 · 0 评论 -
目标检测 YOLOv5 - 如何提高模型的指标,提高精确率,召回率,mAP等
目标检测 YOLOv5 - 如何提高模型的指标,提高精确率,召回率,mAP等flyfish文中包括了YOLOv5作者分享的提高模型指标小技巧和吴恩达(Andrew Ng)在做缺陷检测项目( steel sheets for defects)时遇到的需要提高模型指标的问题是如何解决的。1 YOLOv5获得最佳训练效果指南大多数情况下,只要数据集足够大且良好标注(provided your dataset is sufficiently large and well labelled),就可以在不更改模原创 2021-10-11 18:42:16 · 62166 阅读 · 16 评论 -
目标检测 YOLOv5 指标计算
目标检测 YOLOv5 指标计算flyfish主要在文件metrics.py中计算每一个类的AP(average precision)指标YOLOv5 AP计算代码参考地址在给定召回率和精度曲线的情况下,计算AP该计算AP的方式与faster-rcnn相同def ap_per_class(tp, conf, pred_cls, target_cls, plot=False, save_dir='.', names=()):参数说明tp: true positiveconf: 目标的原创 2021-06-09 17:51:02 · 15000 阅读 · 2 评论 -
目标检测 YOLOv5 边框预测(bounding box prediction)
目标检测 YOLOv5 边框预测(bounding box prediction)flyfish代码在yolo.py主要是这段代码y = x[i].sigmoid()y[..., 0:2] = (y[..., 0:2] * 2. - 0.5 + self.grid[i]) * self.stride[i] # xyy[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # whz.append(y.view(bs, -1, se原创 2021-05-31 19:45:37 · 15080 阅读 · 10 评论 -
目标检测 YOLOv5 Backbone中的Focus
目标检测 YOLOv5 Backbone中的Focusflyfish版本:YOLOv5YOLOv5:v5第一个v5是YOLO的第5个版本,YOLOv5也是在迭代改进的,第二v5是YOLOv5中的第5个版本与YOLOv5:v4还是有差别的。这里以YOLOv5s版说明,s是最小的那版,其他的类似yolov5m、yolov5l、yolov5x是模型依次变大的版本Backbone的开头就是Focus,Focus中包含了标准卷积标准卷积(Standard convolution) = Conv2d +原创 2021-04-21 18:05:50 · 6354 阅读 · 1 评论