- 博客(165)
- 收藏
- 关注
原创 图像处理一:如何提高夜间低曝光,局部强反光图片的整体亮度
在现实中很容易遇到夜间补光不足,导致整体成像很暗,同时补光打到金属上后,局部反光的图片,如何使用算法提高这种图片的整体亮度。
2026-11-02 18:53:55
133
原创 相机基本知识
焦距一般是相机上的mm单位的参数,是相机光学中心到成像单元,也就是cmos的距离,数据越小,表示焦距越短,视角会越宽;数字越大,焦距越长,我们的视角就会越窄;视角就是取景器中能看到多少东西。根据焦距,可以把镜头分为3大类,广角镜头 < 35mm,标准镜头 50mm;长焦镜头 > 85mm。
2026-09-20 17:25:24
233
原创 yolov8损失代码解读
ultralytics-yolov8的损失相关代码在 ultralytics/utils/loss.py class v8DetectionLoss 中。
2026-09-13 14:13:55
151
原创 gradcam在yolo中的应用
CAM技术在分类可视化中应用非常多,一直以来想用cam去可视化化yolo的检测结果,这里把我尝试的过程记录下来,一起学习。
2026-08-31 17:41:13
173
原创 SimCLR 论文理解:A Simple Framework for Contrastive Learning of Visual Representations
特征,训练的过程,例如损失函数,反向传播,以及训练数据和标签,网络学习的是一个从原始像素空间到特征空间的映射,使得原始图片中对当前任务有意义的信息,在特征空间中具有更好的结构。例如在这个向量空间中,你想要检测的目标,你想分类的目标,很容易被提出来,所以,设计的网络结构,以及分类函数,就是在重塑特征,同样是一个512维的特征空间,由于训练数据的不同,损失函数的不同,同样的图片在这个512维特征空间中的分布就不同,首先这点,必须明白,并且理解。
2026-08-24 10:36:56
297
原创 ultralytics-yolov8的数据增强
因为项目上想做光照增强,在ultralytics-yolov8中在Config.yaml中的配置中没有找到,想做自己加一个,我进入到data/augment中发现了,发现了隐藏的Albumentations,太惊讶了,藏大太深了,必须得看代码。
2026-08-24 09:05:47
227
原创 提取pytorch-yolov8 的P5特征到tensorrt
yolov8的P5特征具有很强的应用的价值,之前也分析过,使用P5特征做特征比对,本文章是实操性的,用来将P5特征从yolov8中提取出来,这里的“提取来”,指的是将embeding的相关信息在yolo-tensorrt中提取。
2026-08-12 11:42:59
514
原创 patchCore理解:Towards Total Recall in Industrial Anomaly Detection
pathCore中没有训练,它使用的backbone都是公开数据集中预训练的,例如ImageNet数据集上,pathCore所有的前提都是,当前的feature可以用来表征我的使用场景的特征,例如ImageNet与训练应用到工业领域,这个是应用是非常合理的,在这前提之上,通过大量正常样本建立一个“正常feature的地图",测试时看新的feature是否落到这个地图附近。
2026-08-12 11:31:54
223
原创 Deep SVDD理解:Deep One-Class Classification
encoder的作用是:学习一个好的特征,将图片压缩为一个低维特征;decoder的作用是:逼迫encoder学到的特征,包含图片的主要结构,而不是随机特征autoencoder的loss函数是复现误差,所以encoder学习到的特征必须包含图片特征,否则无法经过decoder复现出来。
2026-08-08 15:08:33
224
原创 word2Vec理解(下):本质理解
以skip-gram算法为主,假设我有一句话,I love deep learning,以deep 为中心词,然后windows=3,这样我们可以得到三个训练样本(deep, love)、(deep, learning)、(deep, I),训练样本的意思是,根据A,预测B,例如根据deep预测 love,根据deep,预测learning。最近一直在思考word2Vec这算法,其根本是想知道它是怎么从softmax的思想,丝滑转变为词距离远近的思想,理解了这种思想,可以解决很多其他相似的问题。
2026-08-06 15:28:05
228
原创 深入理解:FaceNet A Unified Embedding for Face Recognition and Clustering
因为优化的时候,优化的是softmax分类,但是真正使用的却是feature distance,训练目标是分类的准确性,测试是特征距离,二者不是同一个目标,如下图。同样的,我之前用yolo基于目标检测的损失学习的特征去做特征匹配,我就发现在简单任务下,例如由于机车停止运动导致的视频帧100%相似,这种大部分可以区分开,但是有时候视频帧内容很相似,特征匹配的分数不能有效的代表其二者内容的相似程度,所以根本是理解下游任务如何塑造表征特征。更深一步的分析,会发现CNN的本质,
2026-07-28 19:29:35
175
原创 yolov8m-seg(下)的详细后处理
后处理的输入,也就是backbone、Segment的输出,不管输入的原始图片多大,网络都是会letterbox到640x640的大小,经过backbone之后,输出特征层P3 P4 P5,每层的特征输入到Segment层后,输出对应的64维的目标框、80类的类别、以及32维的mask系数,以及学习的固定大小的prototype 160x160x32。Anchor-free类(例如FCOS)的目标框公式如下图,其中对于任意位置(x,y),预测(l,t,r,b),目标框真实位置是(x0,y0)
2026-07-20 09:37:44
268
原创 基于yolov8的P3 P4 P5特征去除视频重复帧的实验
为什么margin这么小呢,因为yolov8训练目标不是相似性,是检测,所以backbone学的是:只要能检测出来即可,不是相同图片embedding一定最近,比如说,机车移动2个像素,但是目标还是同一个目标呀,feature几乎没有变化,所以consine=0.998是很正常的。在0.92, 当两帧差距很大时,可以达到0.87,当两帧比较相似时,可以达到0.96,当时当画面不动时,基本在0.99,且P3 和 P5 的分数同时达到0.999。的margin最大,其次是。的margin 最小,
2026-07-14 13:53:14
241
原创 视频重复帧剔除:Single Feature Representation
整体技术路线是:Single Feature Representation 单一特征表示,yolo Backbone 上增加一个重复帧检测分支。
2026-07-10 14:47:49
203
原创 读书笔记Learning Internal Representations by Error Propagation
第三层输出:y = step(w_h * h - θ) 看上图 w1 = 1, w2=1, threa = 0.5。如果没有隐藏层,本质之间利用输入来表示,输入长什么样,网络只能按照这个样子思考,单层网络没有能力修改这种关系。重叠是向量之间的重叠,PDP任务重叠越大,模式越相似这个相似性不是网络学出来的,而是输入编码决定的。现在(0,0) 和 (1,1) 被拉近了,隐藏层重新定义了,什么叫相似。第一层:输入(0,0) (0,1) (1,0) (1,1)输入a1=(0,0) 输出y1 =0。
2026-07-01 15:33:54
226
原创 理解PatchTST: A TIMESERIES ISWORTH64 WORDS:LONG-TERMFORECASTING WITHTRANSFORMERS
注意:首尾帧的长度是为了输入长度和输出长度一致!这个模块返回趋势项和波动项(高频),拆开是因为,模型希望趋势变化慢,希望波动项变化快。
2026-07-01 15:32:47
284
原创 RevIN的理解:Reversible instance normalization
表达能力下降了,为什么?因为模型不能自己觉醒输入应该是什么尺度。
2026-07-01 14:53:00
230
原创 理解RNN:Learning long-term dependencies with gradient descent is difficult
为什么说记住了h1,因为即使到后面100个时刻,a100仍然大于0,说明输入h1>0,a100>0,当然h1<0,a100<0,这个可以自行计算,这就是过去的信息仍然存在于当前状态。之后如果没有输入,RNN持续输出0.957左右,根据上的计算可可以知道,隐藏值a一直在1.9左右,处于tanh的饱和区,所以输出经过tanh后,输出在0.957左右。这是只有1个神经元的RNN,我们通过举例子,来说明下RNN的内部具体是怎么操作的,以及其特点,假设w =2, a0 = 0,给予的输入是正值。
2026-06-24 09:47:47
305
原创 理解LSTM:Long Short-Term Memory
htfWxxtWhht−1,f可以是tanh函数,也可以是sigmoid函数,这个公式是LSTM中最基本的结果,如果没有Whht−1,就是一层MLP,RNN把历史状态添加到当前输入中,作为当前的状态。问题:这个结构也是最经典的Simple RNN结构,你会发现h隐藏数据是一个级联结构,反向传播中的多层梯度相乘,必然会导致隐层层h的梯度消失,例如100个0.9相乘等于0.000026。
2026-06-23 18:06:23
252
原创 词向量的线性特性:Linguistic Regularities in Continuous Space Word Representations
词与词之间的关系,变现为向量空间中的偏移量,即某种关系rrrxbxarxbxarrpluralr_{plural}rplural所有具有同一种关系的词对,共享同一个固定偏移量,即xb−xa约等于rx_b - x_a 约等于 rxb−xa约等于r本质上是,先提取关系,再施加关系。
2026-06-11 11:30:46
248
原创 grad-cam、grad++ cam、score cam在yolo框架中的可视化实验
对应的含义是,第i个box的c类得分,特点:梯度只来自一个确定的box,空间位置是稳定的,CAM能锁定目标。max是动态选择,max 的梯度不连续,导致梯度极端稀疏,CAM只看一个box,但这个box在变。,现在使用各种cam 对训练好的yolo进行可视化分析,用于指导我们的训练。上一篇文章中讲了对几种cam的理解,可以移动到。grad-cam 在yolo 检测器上的应用。在实验的时候,发现有两种写法,一种是。在grad cam 中,
2026-06-10 17:06:56
174
原创 初代词向量:A Neural Probabilistic Language Model
不要把词看成离散符号,而是映射到一个连续向量里,例如cat -> [0.2, 0.1, 0.01,…] m是向量的维度,相似的词应该有相似向。可以这样理解,每个词都有自己的向量,词与词之间的相似性,在向量空间中,以距离近的形式表现出来。
2026-06-10 16:07:58
285
原创 Transformer思想根源PDP:Parallel Distributed Processing读书笔记
在论文之前的例子中已经提到过,信息的不同片段在同一时刻需要同时存在大脑中,每个部分之间互相约束,同时作用,这种就是平行分布处理,这些模型认为,信息处理是通过简单处理单元之间的相互作用来完成的,每个单元都会向其他单元发送兴奋或者抑制信号。认知过程本身就是大量信息互相约束的过程!这段是PDP的思想的提出,第一次提出unit的含义,同时又告诉我们,unit 的含义是不固定的,不同模型里的unit可以表示完全不同层次的信息。
2026-06-08 19:46:36
272
原创 终于到transformer了:an image is worth 16X16 words
说实话,只看这个整体架构图,即使看了论文,还是不明白这个框架是什么,所以直接debug github 上的 vit-pytorch 中的VIT结构,先学习模型结构,再深入理解背后含义。
2026-06-02 16:01:38
277
原创 频率与图像增强:A Fourier Perspective on Model Robustness in Computer Vision
论文中首先提到,并不是所有的数据增强的方式都能提高模型性能,有的能够提高性能,有的会使模型性能减少,那着两者之间的不同点在哪里呢,于是作者使用频率的角度来解释这种差异性。
2026-05-31 14:53:22
297
原创 CNN 学到是视觉理解or图像统计:Measuring the tendency of CNNs to Learn Surface Statistical Regularities
CNN在公开的数据集中的优异表现,和实际应用中对抗样本的现象,异常矛盾,让我们怀疑,CNN是否真的像人一样理解了“猫”、“车”、“数字”等,还是CNN只是学到了这种数据集的图像层面上的统计,例如这个数据集通常由某种频率分布,某种纹理,某种高频/低频模式。
2026-05-29 19:55:49
238
原创 CNN更看重Texture还是shape:Stylized ImageNet
BagNet,刻意去限制感受野,普通的CNN,大量使用3X3卷积,stride和stacking,会导致感受野越来越大,最终网络能看到整个物体,长距离结构,全局空间关系,而bagNet,通过把很多3x3卷积改成1x1卷积,因为1x1卷积不扩大感受野,从而将感受野控制在9x9、17x17、33x33,意思是,最终每个输出位置,只能看到9x9输入区域,即一个神经元只依赖9x9patch,无法看到物体整体,长距离关系,全轮廓等。人类的识别率下降这个说明,人类识别图片,和纹理没有关系。
2026-05-25 13:20:55
255
原创 多任务的梯度冲突:Gradient Surgery for Multi-Task Learning
任务1,类比检测任务,强调x方向,最优点是(0,0)L150x2y2梯度1:g1100x2y任务2,类别分类任务,强调y方向,最优点是(1,1)L2x−1250y−12梯度2:g22x−1100y−1))g1Tg220∗−1.60.4∗−80−64g120g280gg1g220−1.60.4−8018.4−79.6B((0.2。
2026-05-13 13:44:16
436
原创 多任务之间的任务亲密度MTI-Net
论文《MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning》提出了任务亲密度的概念。MIT-Net 核心立足点是:和通常大家认为的不同,两个任务在某一个尺度上关系很密切(可以互相帮助),并不代表它们在别的尺度上也同样密切;反过来也成立。
2026-05-10 17:15:37
371
原创 视觉CNN常用基础技术来源:UberNet
UberNet是2017CVPR中的一篇经典论文,步入视觉领域这么很多年,依旧觉得浮于表面,没有真的理解CNN其中的奥妙,然后持续性去读一些经典的论文,总是会发现很多惊喜。UberNet就是被我挖掘出来的一批经典的论文,它的经典之处在于,它的思想,在10年后的今天,已经成为了大家共识性知识。
2026-05-07 16:45:14
181
原创 多任务学习理论:Multitask Learning
论文《Multitask Learning》 School of Computer Science, Carnegie Mellon University,Pittsburgh,PA 152131997年的经典论文。
2026-04-27 15:49:20
365
原创 CNN的捷径学习Shortcut Learning in Deep Neural Networks
第一行是训练集,只有星星和月亮,星星的标签是A,月亮的标签是B,从人类的视觉判断来看,星星和月亮的重要区分点是形状,但是在训练集中,星星总是出现在图片的左下角和右上角,月亮总是出现在图片的左上角和右下角,于是CNN在学习的过程中出现了shortcut learning,简单粗暴的将目标类别和位置关联在了一起。论文中还有一个很有意思的例子,下图是大象的纹理,猫的形状,标准的CNN判别为大象,对于目标分类来说,目标纹理或者其他局部结构非常重要,下图之所以区分错误,是因为CNN高度依赖目标纹理,而忽略全局形状。
2026-04-23 11:58:45
360
原创 CNN可视化工具 CAM,grad-CAM, grad++ CAM, Eigen-CAM, Score CAM理解
两个组合起来,在加上 奇异值,构成了绝大部分的 原始特征(最佳的rank-1近似),也就是,特征空间按照。是 1 x 512, 相乘正好是 49 x 512大小,即第i 个奇异值表示,通道方向。这种方式进行分布的时候,对应的空间特征的分布响应也很大,因此,直接将原始特征投影到。再说回 Eigen-CAM,是将 原始特征层 49x512 投影到。,共同构成的这个结构模式的强度。,得到想要的空间分布情况。表示一种空间组合方式。表示一种通道组合方式。
2026-03-31 11:43:18
422
原创 FCOS: Fully Convolutional One-Stage Object Detection
早期做目标检测的人,都知道,anchor是标配,anchor尺寸是需要调整的参数之一,one-stage的检测器,yolo系列,SSD,RetinaNet都是基于anchor的,从FCOS开始,目标检测开始逐渐anchor-free,再看下,FCOS对yolo系列的进化的影响:YOLOv1:没有 anchor,是直接回归坐标 → 严格说是 anchor-freeYOLOv2 / YOLO9000:引入 anchor 框机制 → anchor-based。
2026-03-20 14:40:18
409
原创 Copy-Past 解决小目标检测问题
使用浅层特征:对应原因中的第一点,深层特征感受野宽,特征丰富,但是分辨率小,小目标在深层特征中几乎消失,因q此可以退而求其次,使用浅层目标;Oversampling:包含小目标的图片进行过采样,采样率是可以调整的参数,论文中说,这是最简单直白的方式提升小目标检测性能的方式;上图中的表格,可以说明,oversampling可以在一定程度上,提高小目标的性能。copy-pase可以提升小目标的性能,但是多少有点损害大目标的性能。上图是MS COCO中定义小目标、中目标、大目标的标准;
2026-03-16 18:17:59
240
原创 Why do deep convolutional networks generalize so poorly to small image transformations
高层不敏感:意思是,移动一个像素,引起了输出的变化,但是这种输出变化由于高层特征对位置的不敏感,没有导致很大的变化,整体还是cat 分数最高,dog分数比较低;我觉得可以这样理解,图像向左n个像素或者向右移动m个像素,随便怎么移动,输出完全一样。论文首先证明了,现在的CNN网络不适用于图片的平移,这种很反直觉,因为我们会在其他论文中,或者非官方的博客中,看到:神经网络具有平移不变性,但是,这种说法不完全对。上面的实验结果图,是我们在工程应用中多次遇到的,就是一个像素的变化,就会导致预测结果变化非常大。
2026-03-05 17:12:24
262
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅