自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 YOLO v8:目标检测的最新王者

本文来自公众号“AI大道理”——————Yolov8是Yolo系列模型的最新王者,各种指标全面超越现有目标检测模型。Yolov8借鉴了Yolov5、Yolov6、YoloX等模型的设计优点,全面改进了Yolov5模型结构,同时保持了Yolov5工程化简洁易用的优势。1、YOLOV8的改进1)Backbone2)Neck3)Head4)Loss计算5)标签匹配策略2、BackboneYOLOv8的backbone使用C2f模块代替C3模块。

2024-03-14 20:08:15 859

原创 CLIP:万物分类(视觉语言大模型)

本文来着公众号“AI大道理”​论文地址:https://arxiv.org/abs/2103.00020传统的分类模型需要先验的定义固定的类别,然后经过CNN提取特征,经过softmax进行分类。然而这种模式有个致命的缺点,那就是想加入新的一类就得重新定义这个类别的标签,并重新训练模型,这样非常不方便。CLIP打破了这个桎梏。CLIP能做到在一定标签内进行训练,标签外的也能进行分类。那么CLIP到底是如何认识未知的事物的呢?1、从人脸识别开始说起最早的打破固定标签的方法和应用就是人脸识别了。

2023-11-13 22:08:46 612

原创 坐标转换:从图像坐标到世界坐标的旅程

图像坐标系的单位是mm,属于物理单位。由于三维转二维的时候标定板就是直接设标定板到相机的距离为0,即z轴为0,因此,在二维图像坐标转化到三维世界坐标中我们也可以设置其中一个维度为已知的一个量,即Zc是可以求到的。确定空间某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些坐标系之间的转换参数就是相机参数,求解参数的过程叫做相机标定。具体来讲是这样的,成像元件和镜头和中心是在同一水平线上的,原点(0,0)都是它们各自的正中心,成像元件的每一个感光单元实际上就是图像的一个像素。

2023-11-11 23:49:14 771

原创 相机标定:张正友标定原理

本文来自公众号“AI大道理”——————计算机视觉的源头是相机,因此我们有必要对相机有所了解。原始相机拍摄的图像一般都会有所畸变,导致画面和实际观测的有所排查,为了让相机拍摄的图像和肉眼观察的一致,就需要进行相机标定,获得相机参数,从而进行校正。1、相机模型相机是如何成像的?光束从物体表面反射,经过相机镜头,到达感光原件,这一系列物理过程可以通过数学公式表达,最终变成一个简单的矩阵操作将三维空间中的点对应到图片的一个像素。2、为什么要相机标定?

2023-11-10 22:30:40 322

原创 DeepSort:基于检测的目标跟踪的经典

DeepSORT的主要思想是将目标检测和目标跟踪两个任务相结合。首先使用目标检测算法(Faster R-CNN等)在每一帧中检测出目标物体的位置和边界框。然后,通过深度学习模型(如CNN)提取目标的特征表示,将每个目标与先前帧中已跟踪的目标进行匹配。匹配过程中会考虑目标的特征相似度、运动一致性等因素,以确定目标的身份和轨迹。DeepSORT的关键贡献之一是使用了一个强大的外观特征描述符,可以准确地区分不同目标之间的相似度。

2023-08-19 17:23:23 686

原创 论文解读:DeepSort(目标跟踪)

简单在线实时跟踪(SORT)是一种实用的多目标跟踪方法,专注于简单有效的算法。在本文中,我们集成了外观信息来提高SORT的性能。由于这种扩展,我们能够在更长的遮挡时间内跟踪对象,有效地减少了身份切换的数量。本着原始框架的精神,我们将大部分计算复杂性置于离线预训练阶段,在那里我们在大规模的人员重新识别数据集上学习深度关联度量。在线申请过程中,我们使用视觉外观空间中的最近邻居查询。实验评估表明,我们的扩展将身份切换的数量减少了45%,在高帧率下实现了整体竞争性能。

2023-07-29 22:11:21 526

原创 SORT:基于检测的目标跟踪的鼻祖

SORT(Simple Online and Realtime Tracking)是一种简单、在线和实时的目标跟踪算法,它的设计目标是在计算资源有限的情况下实现高效的目标跟踪。SORT算法的核心思想是通过联合目标检测和运动预测来进行目标跟踪。算法首先使用目标检测器(Faster R-CNN)在每一帧中检测出目标物体的位置和边界框。然后,通过卡尔曼滤波器来对目标的运动进行建模和预测。卡尔曼滤波器结合了目标的当前状态和运动模型,可以估计目标在下一帧中的位置和速度。

2023-07-26 22:34:37 354

翻译 论文解读:SORT(目标跟踪)

为简洁起见,只列出了最相关的跟踪器,它们在精度方面是最先进的在线跟踪器,如 (TDAM 、MDP)、最快的基于批次的跟踪器(NMS DP)和全方位近在线方法(NOMT)。此外,由于 SORT旨在关注帧与帧之间的关联,因此丢失目标的数量(ML)是最小的,尽管与其他跟踪器有类似的错误否定。首先,恒定速度模型是真实动态的不良预测器,其次,我们主要关心帧到帧的跟踪,其中对象的重新识别超出了本工作的范围。另外,新的跟踪器然后经历一个试用期,在此期间目标需要与检测相关联,以积累足够的证据,从而防止跟踪的误报。

2023-07-22 23:06:00 225

原创 卡尔曼滤波:再也不用瑟瑟发抖了

本文来自公众号“——————目标跟踪中,在数据关联后往往要进行卡尔曼滤波。数据关联算法得到了每个目标的观测数据。卡尔曼滤波使用关联的观测数据来估计目标的状态,并预测目标的未来位置和速度等信息。目标跟踪过程中,测量数据通常会受到各种噪声的影响,例如传感器噪声、环境干扰等。卡尔曼滤波器可以通过对测量数据和系统模型的加权处理来减少噪声的影响,提供更准确的目标状态估计。1、卡尔曼滤波简介卡尔曼滤波用来估计带噪信号中隐藏的真实信息。

2023-07-17 22:31:08 620

原创 目标跟踪基础:数据关联算法

本文来自公众号“——————数据关联是多目标跟踪任务中的关键步骤,其目的主要是为了进行帧与帧之间的多个目标的匹配。1、数据关联数据关联其实就是一个沿着时间轴,将来自同一个物体的不同时刻的信号串联起来的过程。数据关联通常在状态估计之前进行,只有获得准确的数据关联处理结果,才能保证后续处理的正确性。一个人行走的轨迹,第三帧漏检,导致没有检测框,第四帧误检,导致一个干扰框。第四帧中有一个检测结果是错的,此时就是涉及到了数据关联,关联匹配我们收到的检测结果和真实目标。

2023-07-12 21:44:09 627 1

原创 目标跟踪基础:距离度量

本文来自公众号“——————距离度量在CV 、NLP以及数据分析等领域都有众多的应用。距离度量可以当做某种相似度,距离越近,越相似。在目标跟踪领域中,需要判断目标之间的距离或相似度,从而判断前后帧的目标是否是同一个目标。1、距离常见距离:欧式距离标准化欧式距离马氏距离曼哈顿距离切比雪夫距离闵氏距离概率分布的距离度量:KL散度JS距离MMD距离HSIC。

2023-07-08 21:35:28 184

原创 目标跟踪基础:两张图片相似度算法

其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。在连续随机变量的情形下,求和被替换成了二重定积分:其中 p(x,y) 当前是 X 和 Y 的联合概率密度函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率密度函数。互信息的取值范围通常是非负的,值越大表示两个变量之间的相关性越高,也可以理解为两张图片的相似度越高。互信息算法可能对图像的纹理、结构等细节不敏感,因此在某些情况下可能无法准确地反映图像的相似度。

2023-07-05 22:16:43 622

原创 孪生网络:图片相似度对比神器

孪生网络可以看做分类模型,输出是0和1的分类。只不过这种分类的对象是两张图片,而传统分类则是一张图片。传统分类若想增加一类则需要大量这类图片数据集并重新训练,而孪生网络在训练结束后只需要一张对比图片放入比对库中即可,无需重复训练模型。孪生网络用于特征提取的网络可以多种多样,比如VGG、Resnet等都可以作为特征提取网络。基于特征比对的思想,人脸识别等应用也不一定要用孪生网络,传统的图像算法只要能获取人脸特征,并用一维向量表示这些特征,也是可以用的。

2023-06-28 21:59:48 1201 1

翻译 论文解读—Siamese Network

本文来自公众号“AI大道理” ——————论文原文:http://yann.lecun.com/exdb/publis/pdf/chopra-05.pdf很多园区楼下都有人脸识别的机器,然后智能的为你开门。实现这样的功能需要将你本人的一张图片输入到系统中,接下来就可以识别出你是不是在系统中,若是则给你开门。那么这究竟是如何实现的呢?为什么只需要输入一张图片就够?Siamese Network给你答案。Siamese Network是一种学习图片相似度的网络,可应用于人脸识别、签名验证。1、摘要我们提出了一种

2023-06-25 21:43:36 169

原创 模型剪枝:Network Slimming剪枝实战

其中,L1正则化项的损失函数是一个个正方形,而原来的损失函数是一个个椭圆,只有两者的交点才使得整体损失最小。稀疏训练后,剪掉一个BN层,需要将对应上一层的卷积核裁剪掉,同时将BN层后下一层卷积核对应的通道减掉。所谓惩罚项,其实就是和原来的损失函数竞争,现在要满足两者的最小值才是真正的最小值。Network Slimming剪枝是结构性剪枝,是通道剪枝,是静态剪枝。Network Slimming剪枝是结构性剪枝,是通道剪枝,是静态剪枝。γZ依然在控制特征图的数据,根据γ判断通道重要性,是控制特征图的通道。

2023-06-12 22:29:53 998 1

原创 模型剪枝:给模型剪个头发

比如 2016 年早期经典的剪枝论文就曾提到,生理学上发现对于哺乳动物,婴儿期产生许多的突触连接,在后续的成长过程中,不怎么用的那些突触就会退化消失。深度学习网络模型从卷积层到全连接层存在着大量冗余的参数,大量神经元激活值趋近于0,将这些神经元去除后可以表现出同样的模型表达能力,这种情况被称为过参数化,而对应的技术则被称为模型剪枝。在神经网络的计算中,卷积核的个数就是卷积结果的通道数,移除一个卷积核,后面的特征图将减少一个通道,将会连锁反应,因此也要一起剪枝,以满足计算特性。

2023-06-07 22:12:23 381

翻译 论文翻译系列-Network Slimming

通过这样做,获得了一个更紧凑的网络,具有更少的参数和运行时内存,以及更少的计算操作。更重要的是,所提出的方法同时减少了模型大小、运行时存储器、计算操作,同时向训练过程引入最小的开销,并且所得到的模型不需要特殊的库/硬件来进行有效的推理。(AI大道理:要剪枝通道,且是自动剪枝,首先必然有个东西可以控制通道,达到某个阈值就不要这个通道,这个参数就是每个channel的比例因子γ,这个因子在训练中被不断调整,利用L1正则化的特性,使得这些比例因子γ很多被置为0,或者说学习成0,这恰好就是想要的结果。

2023-06-01 21:57:24 153

原创 一个有趣的问题:卷积和池化能否相互代替?

一幅图像含有的信息很大,特征也很多,但是有些信息对于我们做图像任务时没有太多用途或者有重复,我们可以把这类冗余信息去除,把最重要的特征抽取出来,这也是池化操作的一大作用。两者本质的区别在于,池化层的运算是特征图内部的运算,所谓步长和卷积核是一个空洞的概念,是一个虚概念,不是实有的,不是真的有一个卷积核和它进行运算的。所以,卷积能代替pooling,这个代替是指的代替它还能work,而不是说代替它的全部功能。卷积是一个特征提取的过程,卷积通常可以使得特征图大小不变,利用卷积核个数使得通道数增加。

2023-03-20 17:34:08 1034 1

原创 LeetCode | 977. 有序数组的平方

扫描下方“AI大道理”,选择“关注”公众号。浅谈则止,细致入微AI大道理。循环平方,sort函数排序。时间复杂度为O(n)

2023-03-15 14:35:34 60

原创 LeetCode | 5. 最长回文子串

暴力搜索,找出所有字符串,然后判断是否是回文,判断方法为前后比对相等个数。两层for循环,遍历区间起始位置和终止位置,然后判断这个区间是不是回文。然而虽然能够求解出来,但是非常耗时,导致超出时间限制。每个位置进行奇数偶数两种查找,即向外扩散。扫描下方“AI大道理”,选择“关注”公众号。浅谈则止,细致入微AI大道理。时间复杂度:O(n^3)正确解法1:中心扩散法。一排字符串按照位置循环。

2023-03-07 17:22:53 73

原创 LeetCode | 34. 查找元素位置

最重要的是处理nums[middle]==target的情况,一个往左走,找左边界,一个往右走,找右边界。暴力搜索,创建两个vector,一个存[-1,-1]代表没有找到,一个是找到后收集数组位置。之前的二分法找到就停止了,因为数组中没有重复的元素。现在数组中有重复,且要找到元素的边界。判断收集到的数组大小,若只有1个,需要复制里面的内容,得到结束位置。34、在排序数组中查找元素的第一个和最后一个位置。若大于2,则需要删除中间的数据,只保留头和尾。时间复杂度要求O(logn),采用二分大法。

2023-03-07 11:06:00 95

原创 LeetCode | 27. 移除元素

扫描下方“AI大道理”,选择“关注”公众号。多余的元素,删掉不就得了?浅谈则止,细致入微AI大道理。数组中移除元素并不容易!时间复杂度:O(n)空间复杂度:O(1)

2023-03-07 11:03:34 55

原创 优化算法:曲径步长通优处,优化半天白优化

本文来自公众号“训练一个神经网络,我们想要得到误差最小,就是要我们的损失函数最小。如何得到最小值呢?这就是优化算法。梯度下降法是众多优化中的一种。1、损失函数梯度下降法是对一个函数进行求解最小值的方法。先让我们看一看损失函数是什么?Loss Function 是定义在单个样本上的,算的是一个样本的误差。Cost Function 是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。以交叉熵损失函数为例:我们要最小化这个损失函数。

2023-02-01 22:40:35 287

原创 LeetCode | 35. 搜索插入位置

(更本质的是因为在倒数第二次的循环中,不是在左边就是在右边,且middle不是等于left就是等于right,然后继续循环一次,导致left+1或者right-1,由于target是两个数之间的一个数,因此跳过了也还没找到target,然后就跳出了循环,得出没找到的结论。(3)目标值插入数组中的位置,target不是数组中的一个,二分法最后是[left, right],且left>right,left-right=1。没有找到,比大小,夹在中间的输出i+1,即插入的位置。非二分法,暴力解法。

2023-01-30 11:21:30 269

原创 LeetCode | 704. 二分查找

二分查找

2023-01-29 14:12:05 128

原创 正则化:五重境界理解减少过拟合的神器

3、从拉格朗日乘数法角度看,最小值点变成了正则项和原来损失函数的争夺点,谁争夺的力量大,最小值点就往谁那边偏离,就像拔河比赛一样,现在加入正则项,显然是增加了一个拔河对手,不管对手强弱,都能使得原来的最小值点偏离。当然这种情况一般不会出现,我们拿到的训练集可以说几乎都是小集合,我们也只能以小博大,自然就照成模型的不对应问题,一般都是向外兼容,也就是模型的泛化问题。和概率相反,根据结果,推出导致这个结果的因素的概率,即参数还不知道,模型还未确定,根据观察结果确定模型,使得观察结果概率最大。

2023-01-15 00:43:57 389

原创 激活函数:让神经网络活过来了

当神经元的输入大于0时,神经元才有输出,否则,神经元输出为0,即神经元死亡,通过ReLU训练的神经网络往往具有很好的稀疏性,只有一部分神经元会参与计算,从而更好的模拟了生物神经网络。首先对于y=ax+b 这样的函数,当x的输入很大时,y的输出也是无限大/小的,经过多层网络叠加后,值更加膨胀的没边了,这显然不符合预期,很多情况下我们希望的输出是一个概率。在没有引入激活函数之前,输入和输出都是线性组合,跟没有隐藏层的效果是一样的,网络不易收敛的,学习能力有限,就比如原始的感知机一样。

2023-01-09 23:53:16 332

原创 YOLO v6:一个硬件友好的目标检测算法

YOLOv6对解耦头进行了精简设计,同时综合考虑到相关算子表征能力和硬件上计算开销这两者的平衡,采用 Hybrid Channels 策略重新设计了一个更高效的解耦头结构,在维持精度的同时降低了延时,缓解了解耦头中 3x3 卷积带来的额外延时开销。原始 YOLOv5 的检测头是通过分类和回归分支融合共享的方式来实现的,而 YOLOX 的检测头则是将分类和回归分支进行解耦,同时新增了两个额外的 3x3 的卷积层,虽然提升了检测精度,但一定程度上增加了网络延时。用此度量替换IoU以分配对象标签。

2023-01-01 23:41:42 2545 1

原创 Attention:何为注意力机制?

attention

2022-12-28 21:50:09 1378

原创 RepOpt-VGG:梯度参数化的开创

RepOpt-VGG将模型的先验知识转移到优化器中。但该方法是经验验证的。

2022-12-20 21:47:33 553

原创 RepVGG:一个结构重参数化网络

VGG变种

2022-12-17 11:10:06 803

原创 Yolov3-v5正负样本匹配机制

本文来自公众号“AI大道理”。​什么是正负样本?正负样本是在训练过程中计算损失用的,而在预测过程和验证过程是没有这个概念的。正样本并不是手动标注的GT。正负样本都是针对于算法经过处理生成的框而言,而非原始的GT数据。正例是用来使预测结果更靠近真实值的,负例是用来使预测结果更远离除了真实值之外的值的。训练的时候为什么需要进行正负样本筛选?在目标检测中不能将所有的预测框都进入损失函数进行计算,主要原因是框太多,参数量太大,因此需要先将正负样本选择出来,再进行损失函数的计算。

2022-11-10 09:23:05 2514 1

原创 OpenCV(一) | contourArea()求得的面积是哪里的面积?

由于在计算面积得时候丢失了外围像素,因此contourArea()求出来的面积比真实面积要小。

2022-08-19 17:47:18 2741

原创 全网最有效软考高项十大管理ITTO记忆:宫殿记忆法、主线记忆法、逻辑记忆法、跟踪记忆法、诗词记忆法

全网最有效的软考高项十大管理ITTO五大记忆:宫殿记忆法、诗词记忆法、主线记忆法、逻辑记忆法、跟踪记忆法。个人首推宫殿记忆法,记忆效果非常好,甚至可以倒背如流。再配合一两种其他的记忆法进行辅助就可以了。

2022-04-17 20:46:46 9299

原创 tensorRT(二)| MNIST例子解读

本文来自公众号“AI大道理”。这里既有AI,又有生活大道理,无数渺小的思考填满了一生。本文使用TensorRT MNIST的例子介绍TensorRT的基本流程。MNIST的例子将训练好的神经网络模型转换为TensorRT的形式,并用TensorRT Optimizer进行优化。 1、全流程TensorRT获取模型结构与权重、进行模型优化、生成engine。这一步被称为 build phase,耗时较长(特别在嵌入式设备上),所以需要保存为一个本地文件。...

2022-02-12 17:47:30 586

原创 C++ 智能指针如何实现智能?

本文来自公众号“AI大道理”。这里既有AI,又有生活大道理,无数渺小的思考填满了一生。指针是一个变量,其值为另一个变量的地址,即内存位置的直接地址。指针就像是一个目录,其值就像页码,页码指向某一个的内容。1、普通指针问题1:内存泄露问题问题描述:C++没有自动回收内存的机制,每次new出来的动态内存必须手动delete。如果忘记delete,资源未被释放,将导致内存泄露。问题2:迷途指针问题描述:多个指针指向同一个对象时,有一个指针释放了,

2022-01-24 21:57:29 438

原创 GoEmotions:一个细粒度情感分类数据集

让机器理解情境和情感一直是研究界的一个长期目标,这将反过来使各种应用程序,包括有同理心的聊天机器人、检测有害在线行为的模型,以及改进客户支持互动成为可能。

2021-11-18 21:40:51 2298 1

原创 tensorRT(一)| tensorRT如何进行推理加速?

本文来自公众号“AI大道理”。​深度学习模型在训练阶段,为了保证前后向传播,每次梯度的更新是很微小的,这时候需要相对较高的进度,一般来说需要float型,如FP32。模型在推断(Inference)的时候只有前向计算,无需回传,因此可以使用低精度技术,如FP16、INT8、甚至是Bit(0和1),其推理结果没有特别大的精度损失。使用低精度数据使得模型需要空间减少,计算速度加快。优化推理引擎TensorRT只能用来做Inference(推理),不能用来进行train。使用TensorRT.

2021-11-11 19:20:18 2628

原创 公众号《每日一醒》征稿函

公众号《每日一醒》将进行长期征稿。本函要求在正文结束之后额外添加一个“今日小感悟”部分,可分享相关感悟,可点醒众人,可劝解他人,可名人名言,可朴实无华。该部分50-150字为宜。本函追求天马行空的想象,随心所欲的下笔,以文字进行发泄、记录、表达自己的心理、心灵、心境、思想、人生观、世界观、价值观、处世观等等。稿件可以是思想的总结,可以是观念的表达,可以是信仰的描述,可以是修行的分享,可以是觉醒的体悟等等,或深入问题的本质,或深入自己的内心。以下所有类型不用太过拘束,甚至不用拘束于类型,不要被具体描述束缚

2021-11-10 19:43:16 104

原创 公众号《AI大道理》征稿函

公众号《AI大道理》将进行长期征稿。​本征稿令主要征收AI相关知识、新闻、职场简历、项目实战、学习经验等等稿件。AI包括计算机视觉、语音识别、自然语言处理三大块。计算机视觉包括分类、目标检测、识别、图像分割四大块。语音识别包括传统语音识别、HMM-GMM、Kaldi、端到端语音识别、CTC、Transformer等等自然语言处理包括机器翻译、聊天机器人等等。征稿类型:1、计算机视觉类(CV):计算机视觉相关知识总结分享,计算机视觉最新论文解读,最新新闻分享,计算机视觉

2021-11-10 18:46:48 2319

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除