
深度学习算法
文章平均质量分 76
TigerZ*
计算机视觉相关。接付费咨询开发。
算法:AIGC、分类、检测、特征、长尾、开集、聚类、传统图像算法。
语言:Python、C & C++。
工具:pytorch、TRT、CUDA、Triton、DeepStream、DALI。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
目标检测算法——YOLOV11——算法详解
其实到了YOLOV5 基本创新点就不太多了,主要就是大家互相排列组合复用不同的网络模块、损失函数和样本匹配策略, V11支持多种视觉任务:物体检测、实例分割、图像分类、姿态估计和定向物体检测(OBB)。对比YOLOV8主要涉及到: *backbone 中的使用C2f模块 变为 c3k2 模块。 *backbone 中的最后一层(sppf层)后增加了C2PSA模块。 *head 解耦头中的分类检测头两个Conv 变为 DWConv。原创 2024-10-16 13:44:52 · 36351 阅读 · 14 评论 -
目标检测算法——YOLOV11 快速使用教程
主要记录使用NVIDIA GPU + pytorch + 检测系列模型的快速使用方式(包括:训练、测试、导出、量化),可以快速解决一些工业应用的问题,比如:无网、数据大需要改路径、需要记录不同实验结果等问题。原创 2024-12-06 18:44:00 · 4842 阅读 · 1 评论 -
目标检测模型模板
X、XXXXX算法名称1、主要贡献主要的创新点2、主要思路整理的算法框架图和流程3、具体细节1)input输入要求以及预处理2)backbone主干网络以及改进3)neck & head检测头涉及以及匹配机制4)loss function损失函数设计5)trics单独训练trick或者重点重复概述上述所有trick6)inference测试阶段(非训练阶段)过程4、结果算法结果...原创 2021-07-01 18:33:24 · 401 阅读 · 0 评论 -
目标检测算法——SSD
声明:基本参考搬运自https://zhuanlan.zhihu.com/p/33544892,该博客写的详略得当,重点突出。本文仅做格式整理,自己留存备份。其中也有些许自己添加的理解和图片。1、主要贡献 SSD在Yolo的基础上主要改进了三点:多尺度特征图,利用卷积进行检测,设置先验框。这使得SSD在准确度上比Yolo更好,而且对于小目标检测效果也相对好一点。2、主要思路 如上图第一个图,对比YOLO,主要是增加了多尺度的预测,每个尺度又增加了先验框,去除了全连接层...原创 2021-07-01 18:31:29 · 2277 阅读 · 11 评论 -
目标检测算法——YOLOV1
1、主要贡献(优点)一阶段、快速、端到端训练 *快速,pipline简单. *背景误检率低。 *通用性强。YOLO对于艺术类作品中的物体检测同样适用。它对非自然图像物体的检测率远远高于DPM和RCNN系列检测方法。 2、主要思路 通过全卷积网络,将输入图像映射为一个7*7*30 的张量,7*7是吧整个图像划为7*7个网格,每个网格设置2个预选框(训练可以理解为进化的思路),如下左图;30是每个位置的编码如下右图。每个网格的两个预选框共享分类结果。 ...原创 2021-07-01 19:34:49 · 604 阅读 · 1 评论 -
目标检测算法——YOLOV2——stronger
因为YOLOV2的创新并不突出,主要是更新了backbone和借鉴了faster RCNN或者SSD,后面又提出了YOLO9000,可以检测9000个类别。这个算是一个比较新颖的思路。 整体思路: 1、训练:融合imageNet 9000类和coco 80类的训练集。且并不需要重新标注imagenet 的检测框,训练时遇到coco数据回传检测loss,遇到image net数据回传分类loss。(这里我觉得应该是也把分类loss coco数据也被合并到imagenet)...原创 2021-07-01 19:31:45 · 470 阅读 · 1 评论 -
目标检测算法——YOLOV2——better&faster
由于YOLO V2的贡献除了正常的模型精度召回和推理性能方面,还给出了一种高效低成本扩充检测类别的方式YOLO900,为保证简练和逻辑的清晰,分两篇介绍。1、主要贡献 相对v1版本,在继续保持处理速度的基础上,从预测更准确(Better),速度更快(Faster),识别对象更多(Stronger)这三个方面进行了改进。其中识别更多对象也就是扩展到能够检测9000种不同对象,称之为YOLO9000。 其中对比V1改进点主要如下:2、主要思路 继承V1(顾欲真正...原创 2021-07-01 19:30:19 · 566 阅读 · 1 评论 -
目标检测算法——YOLOV3
1、主要贡献 在YOLOv3中,没有新颖的东西出现,作者只不过将YOLOv2之后新出的模块、结构以及tricks整合到了自己的YOLO中去。主要是backbone改为了darknet53,引入了FPN,分类器从softmax 改为多个logistics分类器。2、主要思路 基于YOLOV2,增加了FPN模块,使得不同的层预测不同尺寸物体,整体的结构如上,对于每一个预测分支来讲,对比YOLOV2并没有区别,仍然是anchor机制,只不过每一层的anchor从Y...原创 2021-07-01 19:25:58 · 3371 阅读 · 0 评论 -
目标检测算法——YOLOV5
1、主要贡献 网上对YOLOV5是否称得上V5都有异议,可见其并没有算法上的重大创新,主要是多种trick的集成,并且开源了一套快速训练、部署的方案。2、主要思路 主体流程和V3类似,三分分支预测,如下: 3、具体细节1)input 主要使用如下trick:Mosaic数据增强、自适应锚框计算、自适应图片缩放。下面分别叙述 a.Mosaic数据增强 Mosaic数据增强则采用了4张图片,随机缩放、随机裁剪、随机排布的方式进行...原创 2021-07-01 18:50:27 · 20991 阅读 · 0 评论 -
目标检测算法——YOLOV6
yolov6 特性解读和完整的网络结构可视化。原创 2022-08-03 20:02:48 · 1211 阅读 · 0 评论 -
目标检测算法——YOLOV7——详解
本文详细解读了YOLOV7 0.1版本代码的网络结构、损失函数、正负样本匹配规则等。可以高效的快速掌握YOLOV7的宏观结构和真正实现时的核心点。原创 2022-08-02 11:32:01 · 175789 阅读 · 36 评论 -
目标检测算法——YOLOV7——网络结构
yoloV7 0.1版本的非常详尽网络结构图原创 2022-07-29 16:41:23 · 3369 阅读 · 1 评论 -
目标检测算法——YOLOV8——算法详解
本文梳理Yolo v8 的改进点,并针对一些较难理解的点进行重点阐述,主要有如下几方面:backbone 使用C2f模块,检测头使用了anchor-free + Decoupled-head,损失函数使用了分类BCE、回归CIOU + VFL(新增项目)的组合,框匹配策略由静态匹配改为了Task-Aligned Assigner匹配方式、最后 10 个 epoch 关闭 Mosaic 的操作、训练总 epoch 数从 300 提升到了 500。原创 2023-01-31 19:15:00 · 86890 阅读 · 62 评论 -
目标检测算法——YOLOV8 快速训练指南(上手教程、自定义数据训练)
本篇主要用于说明如何使用自己的训练数据,快速在YOLOV8 框架上进行训练。当前(20230116)官方文档和网上的资源主要都是在开源的数据集上进行测试,对于算法“小白”或者“老鸟”如何快速应用到自己的项目中,这个单纯看官方文档显得有点凌乱,因为YOLOV8 不再致力于做一个单纯算法,而是想要做一个一统(分类、检测、分割且多种模型)的框架。本文以检测为例。原创 2023-01-16 22:45:00 · 48198 阅读 · 28 评论 -
目标检测算法——YOLOV9——算法详解
本文主要介绍了YOLOV9 算法的原理,并结合官方git 源码和其他人员的一些issue,更深层的尝试去探讨论文具体实现时的一些疑问。原创 2024-04-16 19:45:36 · 3726 阅读 · 6 评论 -
目标检测算法——YOLO-Word——算法详解
本文主要介绍YOLO-word 算法,从思路和数据角度去梳理输出文章的创新点,整体而言CLIP 文本embedding的引入以及大规模数据的加入,赋予了模型识别开集其余类目的能力。原创 2024-04-19 20:14:17 · 2775 阅读 · 0 评论 -
目标检测算法——anchor free
一、anchor free 概述1、先要知道anchor 是什么(这需要先了解二阶段如faster rcnn,一阶检测器如YOLO V2以后或SSD等)。在过去,目标检测通常被建模为对候选框的分类和回归,不过,按照候选区域的产生方式不同,分为二阶段(two-step)检测和单阶段(one-step)检测,前者的候选框通过RPN(区域推荐网络)网络产生proposal,后者通在特定特征图上的每个位置产生不同大小和宽高比的先验框(anchor)。如下图:2、为什么要抛弃anchor,做anc原创 2021-07-01 20:02:22 · 24612 阅读 · 3 评论 -
目标检测算法——小目标检测
一、定义1、以物体检测领域的通用数据集COCO物体定义为例,小目标是指小于32×32个像素点(中物体是指32*32-96*96,大物体是指大于96*96)。2、在实际应用场景中,通常更倾向于使用相对于原图的比例来定义:物体标注框的长宽乘积,除以整个图像的长宽乘积,再开根号,如果结果小于3%,就称之为小目标。二、难点coco上面:1、包含小目标的样本数量较少,这样潜在的让目标检测模型更关注中大目标的检测。2、由小目标覆盖的区域更小,这样小目标的位置会缺少多样性。我们推测这使得小目标原创 2021-07-01 18:37:00 · 30890 阅读 · 5 评论 -
视频分类——C3D使用
文章介绍了视频分类模型和开源代码的使用。原创 2024-05-21 18:38:40 · 1055 阅读 · 0 评论 -
backbone核心详解系列——RepVGG
设计了重参数化的模块,将训练和推理解耦,并且设计了两个系列的整体网络结构和相应的缩放方法,可以适应不同的精度性能需求,结果显示在GPU上推理速度高于renset系列。PS:这个网络主要考虑的是提升GPU(不是移动端)的计算密度(计算量除以计算时间),追求高速度、省内存,较少关注参数量和理论计算量。在低算力设备上,可能不如 MobileNet 和 ShuffleNet 系列适用。主要借鉴了ACNet、VGG和resnet的思想。核心模块。...原创 2022-08-04 11:18:58 · 1947 阅读 · 0 评论 -
度量学习(Metric learning)—— 基于分类损失函数(softmax、交叉熵、cosface、arcface)
概述 首先,我们把loss归为两类:一类是本篇讲述的基于softmax的,一类是基于pair对的(如对比损失、三元损失等)。 基于pair对的,参考我的另一篇博客:https://blog.youkuaiyun.com/u012863603/article/details/119246720 基于softmax的改进主要有如下(有的loss拥有不同的名字):softmax、center loss、range loss、Modified softmax、NormFace、large m...原创 2021-08-02 20:10:57 · 5689 阅读 · 1 评论 -
度量学习(Metric learning、损失函数、triplet、三元组损失、fastreid)
定义 Metric learning 是学习一个度量相似度的距离函数:相似的目标离得近,不相似的离得远. 一般来说,DML包含三个部分,如下图.。 1)特征提取网络:map embedding 2)采样策略:将一个mini-batch里的样本组合成很多个sub-set 3)loss function:在每个sub-set上计算loss. 应用场景 通常是在个体级别的细粒度识别上使用,传统的分类是花鸟狗的大类别的识别,但是有些需求...原创 2021-07-30 14:31:48 · 16919 阅读 · 3 评论 -
典型CCN网络——efficientNet(2019-Google-已开源)
概述 由于本网络本质上并不是人工设计的网络,所以个人认为,重点是看网络的获取思路已经有哪些值得注意的细节,对于网络的每一层,感觉不是那么重要(不像resnet等为人工设计)。创新点 探索网络的宽度、深度、输入图片分辨率单一因素对性能的影响,以及如何同时组合优化三个因素来提升网络的性能,最终给出了efficientNet B0-B7共计8个模型,满足不同的场景的需求。详细解读一、网络的宽度、深度、输入图片分辨率的探索 resnet通过加深网络的宽度,inc...原创 2021-07-27 15:23:17 · 1320 阅读 · 0 评论 -
模型压缩概述
前言自从AlexNet一举夺得ILSVRC 2012 ImageNet图像分类竞赛的冠军后,卷积神经网络(CNN)的热潮便席卷了整个计算机视觉领域。CNN模型火速替代了传统人工设计(hand-crafted)特征和分类器,不仅提供了一种端到端的处理方法,还大幅度地刷新了各个图像竞赛任务的精度,更甚者超越了人眼的精度(LFW人脸识别任务)。CNN模型在不断逼近计算机视觉任务的精度极限的同时,其深度和...转载 2018-02-26 08:35:52 · 3249 阅读 · 0 评论 -
CNN_模型压缩加速&移动端部署_蒸馏算法
总结:离线蒸馏重点在使用小网络获得大网络的能力,在线蒸馏在于提升模型的精度和训练时间。现有的加速库有:Intel的Neural Network Distiller和腾讯的PocketFlow。一 、离线蒸馏 2014 年Hinton 提出了「dark knowledge」的概念。Dark knowledge,顾名思义,就是隐藏在深度学习表面上所展现出来的网络结构、节点之间的连接...原创 2019-01-31 09:42:34 · 1319 阅读 · 0 评论 -
LSTM 单元的理解
从RNN说起所谓的RNN就是想要记住一些过去的信息,所以它具有环(loops)的形式,如下所示上面的模块A的输入为xt,输出为ht,记忆体现在它将当前步的信息又送入下一步中,如果我们沿时间轴来看,RNN长这样这一结构考虑了过去的信息,但是随着时间间隔的增大,RNN其实记不住太久之前发生的信息了比如上图中的t+1时刻的输出可能与t0,t1时刻的输入相关,但是由于时间间隔太大,RNN无法为它们建立起连接。(这也叫做长距离依赖)LSTM它来了LSTM的设计就是为了.原创 2021-07-02 10:48:42 · 4932 阅读 · 1 评论 -
lstm pipeline 过程理解(输入输出)
1、MLP,很好理解,就是一张网络清楚地显示了张量流向。general MLP是这样的拓扑:Xi 为输入特征向量,蓝色中间层为多个隐藏层,Y对应的是输出向量。2、CNN也好理解,跟MLP无差若干。CNN是这样的拓扑:3、RecurrentNNs 结构理解的拓扑发生了一个很大的改动,即一个MLP会在time_step这个维度上进行延伸,每个时序都会有input。将1中的MLP图旋转并引入时间概念,如下视频视频中的t我们称为时间步(time_step.原创 2021-07-02 11:00:58 · 537 阅读 · 0 评论 -
双向LSTM
RNN和LSTM都只能依据之前时刻的时序信息来预测下一时刻的输出,但在有些问题中,当前时刻的输出不仅和之前的状态有关,还可能和未来的状态有关系。比如预测一句话中缺失的单词不仅需要根据前文来判断,还需要考虑它后面的内容,真正做到基于上下文判断。BRNN有两个RNN上下叠加在一起组成的,输出由这两个RNN的状态共同决定。对于每个时刻t,输入会同时提供给两个方向相反的RNN,输出由这两个单向RNN共同决定。参考链接:1、https://zhuanlan.zhihu.com/p/401199原创 2021-07-02 10:51:30 · 246 阅读 · 0 评论 -
多层LSTM
我们扩展了单层 RNN,使它们具有两层。对于原始的单层版本,请参阅上一章简介中的绘图。左侧架构说明了使用多层 RNN 预测输出序列中的一个输出的方法。正确的架构显示了使用多层 RNN 预测输出序列的方法,该输出序列使用输出作为输入。比如下面的例子以上是按时间展开的堆叠循环神经网络。一般的,我们定义 ht(l)为在时刻 t 时第 l 层的隐状态,则它是由时刻t-1第l层的隐状态与时刻t第l-1层的隐状态共同决定:其中U(l)、W(l)是权重矩阵,b(l)是偏置,ht(0) = ...原创 2021-07-02 10:50:07 · 3566 阅读 · 0 评论 -
CV-BN
whatNormalization是数据标准化(归一化,规范化),Batch 可以理解为批量,加起来就是批量标准化。和卷积层,激活层,全连接层一样,BN层也是属于网络中的一层,常见排列 conv -> BN ->relu。whyBN算法的强大之处在下面几个方面:可以选择较大的学习率,使得训练速度增长很快,具有快速收敛性。可以不去理会Dropout,L2正则项参数的选择,如果选择使用BN,甚至可以去掉这两项。去掉局部响应归一化层。(AlexNet中使用的方法,BN层原创 2021-07-02 10:21:27 · 1683 阅读 · 0 评论 -
CV-IOU
交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。计算公式:输入假设:bbox = [xt, yt, xb, yb], 左上角为(xt, yt),右下角为(xb, yb)代码如下,重点关注交集的计算思路:分别计算横轴和纵轴的交集长度。...原创 2021-07-02 10:24:15 · 479 阅读 · 1 评论 -
CV-NMS
对于目标检测来说, 非极大值抑制的含义就是对于重叠度较高的一部分同类候选框来说, 去掉那些置信度较低的框, 只保留置信度最大的那一个进行后面的流程, 这里的重叠度高低与否是通过 iou 阈值来判断的.算法逻辑:输入: n 行 5 列的候选框数组,每行依次为:左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标,置信度输出: m 行 5 列的候选框数组, 每行含义同输入算法流程:计算 n 个候...原创 2021-07-02 10:19:30 · 303 阅读 · 0 评论 -
tesla AL day 自动驾驶部分
应对卡脖子问题,GJ忍痛强切赛道,压注新能源。然而随着特斯拉屡屡降价,个人认为能打也就比亚迪。比亚迪却混用着油车的框架,走传统卖硬件的路,自动驾驶招聘的JD惨不忍睹。再看特斯拉的AI能力,不禁替ZF捏把汗,也着实感觉到了技术和投入上的鸿沟。 PS,在算法专栏置顶这篇,实在是内心无法平息这种技术上、魄力上的鸿沟,与马斯克的人格魅力,马斯克yyds,继盖茨、乔布斯又一位实现自我价值、改变世界的IT界企业家。希望之后有时间和精力,慢慢学习更新里面的技术细节。数据 1、人工标记没...原创 2021-09-03 18:36:17 · 455 阅读 · 0 评论