
yolo系列
文章平均质量分 93
yolov1~7的论文,以及部分工程的讲解与测试
magic_ll
有空就记记,没空就休息
展开
-
【论文阅读】【yolo系列】YOLO-Pose的论文阅读
我们介绍YOLO-pose,一种无热图联合检测的新方法,基于流行的YOLO目标检测框架的图像二维多人姿态估计。原创 2024-02-20 14:26:12 · 5444 阅读 · 5 评论 -
【yolov8系列】 yolov8 目标检测的模型剪枝
有框架完成的对网络所有结构都自适应剪枝是最佳的,但这里没有详细记录torch-pruning的yolov8的剪枝,是因为存在不解 对其yolov8具体的剪枝代码中操作:“比较疑惑 replace_c2f_with_c2f_v2(model.model)的梯度置为Fasle,是因为该层是解析box时的一个向量,具体的为 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],为了便捷的将该处理保存在模型中,所以就定义了一个卷积,所以该卷积不需要梯度、不需要反向传播,所以该层的。原创 2023-12-20 14:08:45 · 13234 阅读 · 65 评论 -
【yolov8系列】yolov8的目标检测、实例分割、关节点估计的原理解析
对前两者进行解析可得到,有效的gridceil预测出了目标的类别 和 目标的box,此时可以很容易获取该gridceil中的目标的mask_coef,维度为32,刚好与Proto输出的channel维度32相一致。不同mask为网络学习到不同的掩码信息,值得注意的是单张mask并不意味着mask中只有一个目标的mask。2 仅保留该gridceil检测出的box内的mask,然后再对mask框内的mask的每个像素进行阈值过滤(工程中阈值设为0.5),即得到该目标的最终的mask。原创 2023-10-17 14:51:49 · 21210 阅读 · 36 评论 -
【yolov8系列】将yolov8-seg 模型部署到瑞芯微RK3566上
前言之前记录过,整体比较流畅,记录了onnx转rknn的相关环境配置,使用的rk版本为rknn-toolkit2-v1.4.0。当前库已经更新为1.5,这里还是沿用1.4的版本进行记录。本篇博客是在上篇博客(yolov5的rk3566的部署)的基础上,记录下yolov8n-seg的模型在3566上的部署过程。若精度异常可查看官方提供文档,写的比较详细。这里说明下自己遇到的问题:yolov8模型模型进行全量化结果异常yolov8模型在PC端模拟器的运行结果时,板端运行结果异常。原创 2023-07-27 16:54:33 · 6094 阅读 · 26 评论 -
【论文阅读】【yolo系列】YOLACT Real-time Instance Segmentation
事实上,我们在COCO上的基本模型在测试集上的mask和box的mAP(29.8mask,32.3box)之间只有2.5 mAP的差异,这意味着即使使用完美的掩码,我们的基本模型也只能获得少数mAP点。此外,Mask R-CNN具有相同的mAP差异(35.7mask,38.2 box),这表明两种方法之间的差距在于我们的检测器的性能相对较差,而不是我们生成掩码的方法。因为预测系数是困难的。例如,在图7中,YOLACT 产生了一个干净的手臂边界的掩码,而FCIS和Mask R-CNN都有更多的噪声。原创 2023-06-28 16:25:10 · 2759 阅读 · 0 评论 -
【yolov5系列】将yolov5s模型部署到SigmaStar的9383芯片上
在文件【IPU_SDK_Release/Sigmastar_SDK_vS3.0.2/SGS_IPU_SDK_vS3.0.2/doc/SDK_Doc_Release/index.html】中说明了sigmastar模型转换的环境的安装、已经相关转换流程和注意事项等。在第四个阶段,针对自己以上的设置,重新写了推理后的后处理(使用的rknn的后处理,也是为了两者的结果的对比)一般的,这个脚本里面注意两点:图片的尺寸问题、均值方差的通道(这里的是BGR,input_config.ini 中的是RGB)原创 2023-06-26 08:31:32 · 3831 阅读 · 19 评论 -
【yolov5系列】将模型部署到瑞芯微RK3566上面
量化的图片的shape和网络输入如果不一致,这里会自动resize,所以为了保证精度,我们的量化数据集的shape尽量与输入一致。我们需要注意下,对于RK1126相似系列的代码中模型转换时,模型build时,有个预编译参数,仿真时和端侧运行时的设置是不一致且不通用的。这里的buf的设置时,一定保证图片的大小和网络的输入是相同的尺寸。当然在其它芯片上的操作类似,差别会在具体的API的调用上。上图分别获取的内容:rk的版本信息、模型的输入输出数量的信息、输入节点相关的信息、输出节点相关的信息。原创 2023-06-19 18:38:19 · 8334 阅读 · 0 评论 -
【yolov5系列】yolov5的原理与核心代码解析
然后对左图是对右图的pool进行了合并连接。上面代码处理后,标签和匹配的anchor是的尺寸是【原图尺寸下的标签尺寸下采样到某一个输出层时的尺寸】(这里的原图尺寸 指的是图片像素级resize到神经网络输入时的尺寸,代码中备注的也是)。原因是为了正样本扩充,因为标签在扩充后的正样本的xy的数值范围在(-0.5,1.5)之间,所以需要转换后的偏移。】 为检测框对应的xywh,具体的为:xy检测框的中心下采样到某层输出上,距离grid ceil 左上角的偏移,wh为检测框的长宽与当前anchor的长宽的比值。原创 2023-06-05 15:15:20 · 15941 阅读 · 0 评论 -
【yolov5系列】yolov5-onnxruntime在Ubuntu和RK芯片上运行
这里yolov5的onnx模型的推理,分别在 x64上 和 移动端上运行,前者在自己本地Ubuntu系统上运行,后者在瑞芯微的rk3566上运行。原创 2023-01-31 17:14:21 · 1954 阅读 · 2 评论 -
【yolov5系列】yolov5 v6.0 环境配置、图片视频测试、模型可视化、v6.0的更新内容
工程链接:https://github.com/ultralytics/yolov51 环境安装、工程下载本人电脑已有环境:ubuntu18、cuda10.0、anaconda# 创建虚拟环境并激活conda create -n yolov5 python=3.6source activate yolov5# 下载工程并安装工程环境git clone https://github.com/ultralytics/yolov5 cd yolov5pip install -r requi原创 2021-11-18 11:04:02 · 14245 阅读 · 15 评论 -
YOLOv3 代码详解(7) —— 读取pb文件的测试
import tensorflow as tffrom core.yolov3 import YOLOV3pb_file = "./yolov3_coco.pb"ckpt_file = "./checkpoint/yolov3_coco_demo.ckpt"output_node_names = ["input/input_data", "pred_sbbox/concat_2", "pred_mbbox/concat_2", >"pred_lbbox/concat_2"]with t.原创 2020-08-18 17:37:17 · 1458 阅读 · 0 评论 -
YOLOv3 代码详解(6) —— anchorboxes的获取 kmeans.py
1 代码讲解1.1 代码概述该脚本定义了yolov3中的anchorboxes的获取过程。是通过定义了class YOLO_Kmeans(object):来实现的。>class YOLO_Kmeans: def __init__(self, cluster_number, filename): """初始化""" def iou(self, boxes, clusters): # 1 box -> k clusters """计算iou"""原创 2020-07-31 14:15:32 · 779 阅读 · 0 评论 -
YOLOv3 代码详解(5) —— 训练脚本解析 train.py
前言:该篇讲解的工程连接是:tensorflow的yolov3:https://github.com/YunYang1994/tensorflow-yolov3 自己对该工程的解析博客:工程实现 || YOLOv3的tensorflow的工程解析(1) —使用自己的数据集训练yolov3工程实现 || YOLOv3的tensorflow的工程解析(2) —dataset.py解析工程实现 || YOLOv3的tensorflow的工程解析(3) —dataset.py的多进程改造工程实现 .原创 2020-07-29 11:14:45 · 1960 阅读 · 0 评论 -
YOLOv3 代码详解(4) —— 网络结构的搭建、loss的定义
前言:该篇讲解的工程连接是:tensorflow的yolov3:https://github.com/YunYang1994/tensorflow-yolov3 自己对该工程的解析博客:工程实现 || YOLOv3的tensorflow的工程解析(1) —使用自己的数据集训练yolov3工程实现 || YOLOv3的tensorflow的工程解析(2) —dataset.py解析工程实现 || YOLOv3的tensorflow的工程解析(3) —dataset.py的多进程改造 前面介.原创 2020-07-22 11:09:21 · 918 阅读 · 0 评论 -
YOLOv3 代码详解(3) —— 数据处理 dataset.py的多进程改造
前言:该篇讲解的工程连接是:tensorflow的yolov3:https://github.com/YunYang1994/tensorflow-yolov3 自己对该工程的解析博客:工程实现 || YOLOv3的tensorflow的工程解析(1) —使用自己的数据集训练yolov3工程实现 || YOLOv3的tensorflow的工程解析(2) —dataset.py解析 数据读取部分,需要经过较多处理,CPU的计算经常会占用大量时间。导致GPU经常处于等待的状态,GPU利用率较低.原创 2020-07-20 16:00:56 · 681 阅读 · 0 评论 -
YOLOv3 代码详解(2) —— 数据处理 dataset.py解析:输入图片增强、制作模型的每层输出的标签
标签的格式为:voc_train.txt: image_path x_min, y_min, x_max, y_max, class_id x_min, y_min ,…, class_id 例: xxx/xxx.jpg 18.19,6.32,424.13,421.83,20 323.86,2.65,640.0,421.94,20 xxx/xxx.jpg 48,240,195,371,11 8,12,352,498,14 load_annotations 读取该文件以获取de..原创 2020-07-17 08:52:14 · 2005 阅读 · 5 评论 -
YOLOv3 || 1. 使用自己的数据集训练yolov3
工程路径:https://github.com/YunYang1994/tensorflow-yolov3连接中的Quick start,只需要照其操作,即可正确的运行demo。 原工程使用的是COCO数据集训练的神经网络。这里主要记录说明的是如何训练自己的数据集。1 训练VOC训练集1.1 下载数据集并解压http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tarhttp://host.robot.原创 2020-07-15 16:34:55 · 917 阅读 · 7 评论 -
【论文阅读】【yolo系列】YOLOV7的论文阅读
YOLOv7在速度和精度方面都超过了所有已知的目标检测器,在GPU V100上的速度为5 FPS到160 FPS的范围内,并且在所有已知的实时对象检测器中具有最高的,速度为30 FPS或更高。目标检测器(56 FPS V100,55.9%AP)在速度和精度上优于:–>基于transformer的检测器SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9%AP),分别为509%和2%,原创 2022-09-04 10:47:36 · 3446 阅读 · 4 评论 -
论文阅读 || 目标检测系列——yolov4 详细解读
bag of freebies:字面上的意思就是免费赠品。在目标检测中是指:用一些比较有用的训练技巧来训练模型,从而使得模型取得更好的准确率。但是不增加模型的复杂度,也就不增加推理(inference)的计算量(cost)。Data augmentation。摘要目前有很多算法可以提高CNN的准确性。在大量数据集上结合这些算法进行实际测试、在实验结果上理论的验证是十分必要的。一些算法操作单一针对特定的模型、或者特定的问题、又或者小规模的数据集 有效;有些算法适用于大多数模型、任务、数..原创 2020-11-09 20:32:11 · 2996 阅读 · 0 评论 -
论文阅读 || 目标检测系列——一文读懂YOLOv3
写在前面:yolo3的论文介绍的相对简单,主要还是需要阅读实现代码。自己阅读版本链接:https://github.com/YunYang1994/tensorflow-yolov3。 并重新训练了自己的数据,来更好的理解yolo3。yolo3的解读,https://blog.youkuaiyun.com/leviopku/article/details/82660381,画出了很清晰的网络结构图。但每个人都有自己的“记忆宫殿”,我参考了他画的结构,画了个更适合自己理解和记忆的图。之前看 [神探夏洛克] ,“.原创 2020-06-29 17:17:21 · 1203 阅读 · 1 评论 -
论文阅读 || 目标检测系列——yolov2详解
YOLOV2相较YOLOV1,是在其基础上做了优化。主要在预测更准确(Better)、速度更快(Faster)、识别对象更多(stronger)。其中识别更多对象就是扩展到能够检测9000种不同对象,称之为YOLO9000。1 预测更准确1.1 batch normalization (批量归一化)mAP提升2.4操作:替代了YOLOV1的dropoutbatch norm有助于解决方向传播过程中的梯度消失和梯度爆炸的问题,降低一些超参数(eg.学习率、网络参数的数量、激活函数的选择)的敏原创 2020-06-14 09:59:11 · 1438 阅读 · 0 评论 -
论文阅读 || 目标检测系列——yolov1详解
yolo的实现方案:1.网络结构去掉label相关的内容,YOLO的结构很简单,卷积+池化+全连接层。网络结构借鉴了GoogLeNet。24个卷积层,2个全连接层。(用 1x1 reduction layers + 3x3 convolutional layers 取代了GoogLeNet的inception modules)2.输入和输出的映射关系将图像分成SxS个网格(grid ...原创 2020-06-14 09:55:04 · 836 阅读 · 0 评论