- 博客(113)
- 收藏
- 关注
原创 LK光流和特征点的关系
光流有1.,即图像相同位置的灰度短时不变。两帧中对应像素灰度/亮度相同2.这意味着时间的变化不会引起像素位置的剧烈变化,这样像素的灰度值才能对位置求对应的偏导数。将图像I看作是有三个自变量(坐标和时间)的函数:,那么对它泰勒展开:舍去constant,认为(x,y)位置的点在t经过偏移后和初始值相同(,偏移之后灰度值不变):这样得到左右同除以,得到当逼近0,由极限定理可以得:这样方程就可以使用其中也是梯度,只不过是时间坐标方向上的。因为假设2的存在可以使用两帧的差分来表示。
2025-03-31 00:00:00
1082
原创 Denoising Diffusion Probabilistic Models
这篇文章就是所谓的DDPM前向扩散过程之和前一步有关,是一阶马尔可夫链,是图像和标准高斯噪声I的加权,认为方差全部来自I,并且多步可以通过连乘合并为一步:反向的过程也是类似的形式:并且由贝叶斯公式,并且贝叶斯中三个概率都是高斯分布,可以得到:首先明确扩散时的一步转移公式。表现形式为信号以某一系数进行衰减,同时加一个高斯噪声(高斯噪声为加性信号无关的高斯噪声)。因为本质就是信号与高斯噪声的alpha blending,所以就需要考虑权重的选择。特别的是前一个状态的信号 和噪声的权重之和不是1,而是他们两个平
2025-03-09 00:00:00
869
原创 x-restormer——restormer+SSA
和NAFnet一样,这篇文章也是在对比了当前的几种SOTA算法之后,以restormer为基准,博采众长,得到了新的结构,力求对各种任务有较好的鲁棒性。
2025-02-15 23:45:00
832
原创 结合源码看Restormer的网络设计
restormer集合了众多的技术,包括unet结构,1x1卷积和深度卷积,还有nlp中常用的layer norm,attention结构。
2025-02-05 11:01:42
714
原创 没有激活层也可以——NAFnet
应用:GoPro (for image deblurring),SIDD (for image denoising)期刊: ECCV 2022这是旷视在ECCV2022提出来的论文——。基于对比总结已有的一些SOTA模型,侧重于模型结构的精简。使用SIDD和GoPro数据集衡量去噪和去模糊能力。
2025-01-25 01:00:00
1879
原创 锐化增强算法——拉普拉斯锐化
灰度的差异带来了边缘,而拉普拉斯算子的响应在灰度高的位置是负数。为了增强对比度,我们要让灰度低的区域更低,灰度高的地方更高。注意梯度作为一阶导先升高后下降,拉普拉斯算子作为梯度的散度,先是流出大于流入,所以是从左到右是先正后负。首先,锐化其实只能算增强中的一部分,因为图像增强还包括对比度增强,色彩增强,去噪等。而锐化特指的是突出图像的边缘轮廓。既然要突出边缘,一般的做法就是要先检测边缘。所以根据边缘检测的方法,这里主要介绍拉普拉斯锐化和USM。注意,模板中心位置为负数,其余是正数。
2024-11-29 01:00:00
572
原创 锐化增强算法——USM
USM 锐化(Unsharp Mask Sharpening)是 Adobe Photoshop中使用的锐化方法,它的原理和拉普拉斯锐化相似,都是原图叠加一个残差信息,只不过USM使用的残差不依赖于二阶导。
2024-10-23 16:15:00
1993
原创 论文阅读——Restormer
和MIRnet一样,都来自于阿联酋的Inception Institute of Artificial Intelligence。这篇文章聚焦于解决Transformer应用在vision中的痛点。Vision Transformers(ViT)把图像分成多个patch,学习他们之间的关系。所以相比于CNN,Vision Transformers的优点是更大的感受野,可以对图像内容有自适应的能力。
2024-10-22 01:00:00
982
1
原创 而今再看unet
从最开始听到人用Unet左inpainting,再到自己使用Unet做图像去噪任务,虽然没有用Unet做过分割,但Unet也可以称得上是老朋友了。现在回头再看Unet,温故知新,一些魔鬼真就藏在一些细节之中。
2024-10-16 04:30:00
516
原创 工作中常用的100个知识点
22. 计算直方图,hist = cv2.calcHist([img],[0],None,[16],[0,255]),注意第一个参数必需是[]括起来,因为第二个参数是第一个参数的索引,当直接传入img作为第一个通道时,直方图计算的是第一行的统计。否则后面一层的分布要依赖于前面所学习的参数。在某些场景中是有用的,如网络传输的数据源,摄像头捕获的图像数据。这里的异常情况是,左黑右白的图减去blur之后的diff是左负右正,直接加diff的话会导致灰度饱和,所以就把diff大于0的地方的权重降低,把黑色更黑?
2024-08-28 16:12:11
1461
原创 卷积的意义及其派生(一)
one by one 卷积最早出现在NIN文章中,GoogleNet中的Inception得到了使用,作用主要是降维/升维。和普通卷积核的区别就是滤波器大小是1x1,这样每个像素的卷积结果就与其邻域无关,即没有考虑局部信息之间的关系。既然在空域上相当于对图像整体乘一个因子,那么它是怎么起作用的呢。对图像灰度值的缩放确实没什么收益,收益发生在图像是多通道时。当图像为多通道时,feature ...
2024-07-26 06:30:00
1198
1
原创 按下快门前的算法——对焦
对焦算法可以分为测距式,相位式,反差式。其中测距式是通过激光,(TOF,Time of Flight)等主动式地得知物距,然后对焦。更常用的是后两者。反差式如上图所示,可以看到镜头明显有“拉风箱”一般的往复推拉,遍历得到一个对比度最好的结果。这种对焦方法相对精准,但耗时较长。CDAF具体使用的是爬山算法。爬山算法包含两个过程,第一阶段叫粗扫(Coarse Search),第二阶段叫细扫(Fine Search)。算法控制马达移动镜头朝一个方向移动时,图像对比度会出现逐渐增大然后变小的过程,类似爬山。
2024-07-12 00:45:00
1489
原创 安卓交叉编译——ndk
通过ndk,安卓也可以使用java之外的native code,如c,c++,甚至c和c++对应的library也可以得以复用,这就大大减少了重复开发。2、 打开bash_profile文件,添加NDK=/cygdrive// 我的是:NDK=/cygdrive/d/android-ndk-r9b export NDK,并保存。makefile的作用之一就是指定编译结果,编译生成(exe,so,a,jar,apk),得到一个文件夹,里面有adb.exe,fastboot.exe.
2024-06-15 11:42:26
1118
1
原创 论文阅读——MIRNet
背景如下:1. 图像复原领域被CNN统治2.CNN使用全分辨率,或者是渐进的低分辨率full-resolution or on progressively low-resolutionrepresentations。前者是单一尺度的,而后者一般是编码器-解码器结构。3.空域信息spatial details和上下文语义信息不可兼得从四个方面解决:1.多尺度特征提取,但是是并行进行的。2.多尺度间的信息交换3.非局部attention4.基于attention的多尺度信息集成。
2024-06-10 00:00:00
1036
1
原创 定点化和模型量化(二)
一个问题是原有的激活函数是为分布在0~1的数据设计的,以sigmoid为例,浮点的时候要无限接近于1它才等于1,但量化数据很容易就大于1了,但从整个分布看这个值其实还处于比较低的水平。文章假设了BN-->relu这样的顺序结构,因此BN层得到的高斯分布,只有正半轴的部分保留了下来,此时不能直接使用BN的均值作为 E[x]。正如前面提到的,MobileNetV2的后量化会面临70.9% to 0.1%的准确度下降,但这篇文章不需要per channel量化,也不需要训练就可以得到接近原始精度的量化效果。
2024-05-31 00:00:00
1289
原创 定点化和模型量化(三)
The Snapdragon Neural Processing Engine (SNPE)是高通骁龙为了加速网络模型设计的框架。但它不只支持高通,SNPE还支持多种硬件平台,ARM平台、Intel平台等。支持的深度学习框架也有包括Caffe、TensorFlow和ONNX等。SNPE可以前向运行模型,但需要先将模型转换为Deep Learning Container (DLC) file才可以加载进SNPE中。
2024-05-29 16:30:44
1406
1
原创 颜色的表示和还原(二)
不过,目前NTSC 是一个已经过时的电视色彩标准,如今保存下来的意义几乎就仅是作为各色彩标准之间的对比。由普朗克定律Plank's law,某个波长的能量谱密度可以由给定温度下的黑盒辐射“blackbody radiators”来表示,剩余的都是光速,普朗克常量等常量。但麻烦的是不同设备的分量不一致,这样同一个信号在不同设备下的颜色就会不一样。sRGB是一个线性空间,但人眼对亮度的感受不是线性的,而是更接近指数函数的形式。在sRGB中提到,不同色温的sRGB空间是不同的,所以不同色温下的CCM也是不同的。
2024-05-21 01:00:00
1568
原创 定点化与模型量化(一)
事实上,模型量化一开始就是为了压缩模型参数,韩松ICLR2016使用K-Means聚类,以类中心代替属于该类的所有样本,低bit只需要对类中心表示,从而可以使得保留更多的空间来表示更多的其他数据。既然本质上是定点化,那么模型量化的好处和定点类似,都是损失精度的代价下,有更快的速度,更小的内存,更小的功耗。以常见32bit浮点型到8bit为例,模型大小直接变成了原来的1/4,更重要的是因为使用了整型,可以使用SIMD指令集,而SIMD在移动端的优化已经非常充分了,速度可以加快2~4倍。
2024-05-17 15:40:25
1591
原创 颜色的表示和还原(一)
最真实的颜色表示应该是波长。ICCV 2019 Tutorial: Understanding Color and the In-Camera Image Processing Pipeline for Computer Vision相机经常被简单地看作是衡量光线的设备light-measuring device,而图像被看作是辐射量化后的结果。这一假设在HDR,图像匹配,shape from shading等领域都被认为成立。但实际上相机尤其是数码相机对进入相机的光线做了很多处理,都是为了生成更符合人
2024-05-16 01:00:00
1012
1
原创 成像到sensor前发生了什么——坐标和畸变
https://www.visuallocalization.net/datasets/可以看到aachen数据集,其中一项是内参> The intrinsic calibration is defined by the width `w` and height `h` of the image, its focal length`f`, the position of the principal point (`cx` and `cy`), and a radial distortion p.
2024-05-14 19:48:15
816
1
原创 深度学习中的变形金刚——transformer
很荣幸能和这些大牛共处一个时代。网络结构名字可以是一个卡通形象——变形金刚,论文名字可以来源于一首歌——披头士乐队的歌曲《All You Need Is Love》。transformer在NeurIPS2017诞生,用于英语-德语,英语-法语的翻译,在BLEU(bilingual evaluation understudy)指标上得到了很好的表现。由自然语言生成代码也是一种翻译,文生图也是一种转换,事实上chatgpt,bert都是基于tranformer的。
2024-04-30 23:00:00
985
1
原创 误差的一阶和二阶——MSE/MAE
3.从梯度更新上看,MSE中的预测值是sigmoid后的输出,那么求导时就会出现sigmoid的导数,而sigmoid的导数在两侧很小,会导致梯度下降不了。MSE衡量的是预测值与真实值之间的关系,那么关于预测值的似然函数可以写成关于GT的函数,如果这个函数是高斯分布,根据最大似然估计就可以得到MSE。而且,MSE 随着误差的减小,梯度也在减小,即使固定学习因子,函数也能较快取得最小值。所以超分,去噪更多使用L1,SSIM等,尤其后面又有GAN loss等的出现,MSE使用得更少了。
2024-04-24 01:00:00
1988
原创 拿什么来估计你——我的参数
估计分为区间估计interval estimate和点估计point estimate,区别是给的是一段区间还是准确的数。区间估计一般是置信度的形式。因为真实值暂时是未知的,通过采样计算只能得到一个估计值,计算公式确定,但是不同次的采样计算出来的值是不一样的。所以估计值有时候会偏大有时候会偏小,我们对这个估计值再计算其期望,根据是否会overestimate or an underestimate,又可以把估计器分为有偏和无偏的。比如算术平均值的期望就正好等于变量的期望,所以算数平均值的无偏估计。
2024-04-19 00:00:00
1143
原创 成像到sensor后发生了什么——ISP
为了解决这个问题,手机生产线上的一个流程就是针对每个个体样本做参数微调,把需要调整的量写到sensor OTP存储中,手机每次开机都从OTP中读取修正量,和量产软件中的固定参数相结合,就能得到比较不错的效果,减少用户投诉。因为sensor的热噪声,即便没有光线也会有响应。在相机上的白平衡,也可以选择与环境相同的色温,但如果环境不变,相机的色温越高,照片会更暖,因为它相当于在补偿对应的高色温。理论上是这样的,但是物体不同位置到镜头的距离是不一样的,你的所谓等比例变换没办法满足所有的点,所以就会产生透视畸变。
2024-03-17 00:00:00
1860
原创 raw数据噪声模型和标定
噪声在ISP中去得越早越好,因为噪声在最开始成像的过程中就引入了,之后只会不断放大。具体而言,噪声产生的位置就是上图中绿色框的区域。
2024-03-01 15:00:38
3134
1
原创 这个何同学不一般——导向滤波
首先,导向滤波可以在滤波的同时保留图像边缘。双边滤波,导向滤波,最小二乘滤波被称为三大保持 边缘滤波器。导向滤波其实是何恺明为了解决暗通道去雾的一个计算过程提出的一种滤波方法。如果我们想要滤波的同时保留边缘,很自然地会想到先使用边缘检测器得到边缘图,滤波的时候就可以以此作为参考。导向滤波其实也一样,需要一幅guidance image,特别地,可以将原图作为guidance image,此时的结果输出就是保留边缘的平滑结果,在这个过程中其实就利用了guidance image中的结构信息。作为边缘保持滤
2023-08-29 11:30:00
2001
原创 无处不在的拉普拉斯——边缘,斑点,金字塔
作为拿破仑的老师,拉普拉斯有拉普拉斯算子二阶导的过零点可以用来检测边缘有限差分算子,可以由二阶导定义或者泰勒展开推导出。高斯拉普拉斯LoG因为二阶导对噪声敏感,所以通过先使用高斯模糊,而我们可以提前计算高斯滤波的拉普拉斯响应。画出图像是墨西哥草帽。墨西哥草帽和图像做相关就可以实现斑点检测(结合极大值的寻找)LoG可以使用DoG近似。DoG是不同的尺度因子,所以两个高斯滤波核中心会错位,二者做差就类似拉普拉斯中的左右或者上下做差。拉普拉斯金字塔先下采样再上采样就会损失信息,
2023-08-23 00:15:00
3310
1
原创 torch相比于numpy都干了什么——torch入门
https://pytorch.apachecn.org/docs/1.4/blitz/tensor_tutorial.html
2023-02-15 18:56:08
1002
原创 泊松融合——用了拉普拉斯但没有金字塔
这样解出来的融合区域的值和参考图不一致,但是梯度近似,且具体的值是基于边界和梯度求解出来的,所以整体会和背景处于同一亮度/颜色水平。但如果参考图对应的mask不够精细,参考图本身的梯度和背景图仍然差异过大,这样的引导场得到的融合效果还是不佳。因为人眼对二阶导是更敏感的,所以只要我们指定了融合区域内部的梯度值,并且知道融合边界处的值,理论上就可以求解出来。上图d使用了参考图和背景图的极大值,相比于b的保守引导场,尽可能保留了更多的纹理信息,不至于在融合区域保留参考图的背景而造成突兀。这样从一阶导到了二阶导。
2022-11-04 03:00:00
860
原创 谷歌手机中的HDR技术——HDR+
HDR+手机端的问题手机的光圈小,导致捕获的光线少,从而在暗光下的噪声多;手机用于量化的bit位也少,导致所能表达的动态范围小。算法特点特点之一是不需要使用包围曝光,而使用同一曝光时间,这样有利于对齐,并且曝光时间很短,避免了高光溢出。融合得到的结果没有阴影,高比特位,所以可以应用标准HDR的tone mapping。特点之二是使用bayer raw数据而不是demosaicked后的RGB/YUV数据。这样每个像素的比特数更多,同时也允许我们可以规避ISP中不想要的tone mappi
2022-06-04 16:50:14
4410
原创 HDR简单介绍
OpenCV: High Dynamic Range (HDR)OpenCV3.0 HDR(高动态范围)示例代码以及用法 - 一度逍遥 - 博客园High Dynamic Range Imaging — OpenCV 3.0.0-dev documentation可以将动态范围理解为量化的阶数。一般都是8bit量化,那就有256个levels。当同一幅图中同时有高亮和暗部时,就会导致亮度过曝,暗部欠曝。一般处理的方法是使用多张不同曝光的照片,融合得到HDR图。HDR图一般以浮点型表示,对应的文.
2022-05-28 22:30:00
2846
原创 位姿估计的来龙去脉——内外参,三维重建,Pnp问题
https://www.jianshu.com/p/b3e9fb2ad0dchttps://blog.csdn.net/luohuiwu/article/details/80722542
2021-09-02 10:50:11
2815
原创 二维与三维之间的桥梁——点云
在做图像配准时就听闻过一些点云的方法,确没对其有太多的认识,只是知道点云point cloud顾名思义就是一些离散点的集合。现在在无人驾驶中一些激光雷达的作用其实就是生成点云数据,接下来介绍一下点云数据的含义和基础的使用方法。虽然特斯拉是坚定的纯视觉自动驾驶路线的支持者,但其实更多的无人驾驶公司同时还会使用激光雷达LiDAR。经常见到无人驾驶的车顶会有一个旋转的圆柱体,其实就是机械式激光雷达,通过旋转镜面将激光反射到不同角度,得到360度的数据:转存失败重新上传取消雷达有很多种,激光雷达只是其实
2021-07-03 16:21:14
1388
原创 别以为if slse很简单——决策树
熵与Gini指数熵,表示信息量的期望,含义是混乱程度,也是对随机变量编码所需的最小比特数。请参考之前的文章https://mp.csdn.net/editor/html/107641395基尼不纯度,它表示是分错的概率的期望。Gini不纯度其实可以看作是熵的近似值,形式一样没有取对数更容易计算,二分类时,都是概率取0.5时达到最大值。Gini不纯度是一种不等性度量,取值[0,1],当数据完全相等时取0.https://zhuanlan.zhihu.com/p/76667156https:/.
2021-03-12 17:34:27
452
原创 XGBoost的安装与介绍
Reference:1.字节跳动架构师https://zhuanlan.zhihu.com/p/303398072.浅谈https://www.jianshu.com/p/d55f7aaac4a7
2021-02-26 22:17:28
1019
原创 没见过女人的小和尚——SVDD
是的,即便是出生在山上的小和尚,从来没有下过山,没有见过女人,但是一旦有女施主上山,小和尚依然可以轻松地区分出眼前的人是如此不同。传统的SVM是寻找一个超平面,而SVDD寻找的超平面更进一步,可以认为它是闭合的超平面。优化目标是曲面面积最小(即半径最小),约束条件是要使得尽可能多的样本被包含在曲面之中,至于到底需要包含多少,那就要涉及到松弛变量。每个样本都对应一个自己的松弛变量epslon,即对于不同样本的容忍程度可以是不同的,容忍意味着样本可以在一定程度上脱离“包围圈”。最终的优化目标就是R平方的
2021-02-22 20:19:57
1267
2
原创 深度学习中的信息论——交叉熵
信息量,可以说就是在将信息量化。首先信息的相对多少是有切实体会的,有的人一句话能包含很多信息,有的人说了等于没说。我们还可以直观地感觉到信息的多少和概率是有关的,概率大的信息也相对低一些。为了量化信息,一个做法就是找到一个单位,比如说抛硬币就是一个基本单位,或者说我们使用01编码。先看等概率的情况,种类数越多,那么需要编码的长度就越大,很显然是log的指数关系。因为是等概,所以概率和种类数目就是倒数的关系。那么,不等概的情况呢,其实我们也可以把不等概转换成等概,怎么转换呢,认为要发生的事件A整体是一个类
2021-01-21 20:49:25
1084
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人