自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(214)
  • 资源 (9)
  • 收藏
  • 关注

原创 通过pip安装python第三方库时换源

在安装python库时,如果使用国外的源安装,经常特别的慢,并且可能会出错。解决方法:将安装的源换成国内的源(以清华源为例):pip install (要安装的库名称) -i https://pypi.tuna.tsinghua.edu.cn/simple也可以使用其他的源:清华 https://pypi.tuna.tsinghua.edu.cn/simple 中科大 https://pypi.mirrors.ustc.edu.cn/simple 阿里云 https://mirrors

2020-10-19 11:20:56 636

原创 图像与视频处理算法汇总(代码)

文本检测(定位):https://github.com/hwalsuklee/awesome-deep-text-detection-recognitionhttps://github.com/clovaai/CRAFT-pytorch(CVPR9)

2020-09-10 18:31:31 4767 1

原创 ffmpeg的简单使用(压缩、切割、合并、格式转换等)

转换视频格式:ffmpeg -i a.mpg -y -qscale 0 n1.mp4压缩视频:ffmpeg -i a.mp4 -vcodec libx264 -crf 20 1.mp4

2020-08-03 15:50:36 751

原创 SSD算法priorbox的理解

之前看了很多SSD的博客,关于prior box的地方大部分都是照着论文翻译了一下,但是实际的代码中并不是完全按照论文的,特此记录一下自己的理解。SSD的大致流程:输入一幅图片(300x300),将其输入到预训练好的分类网络(改进的传统的VGG16 网络)中来获得不同大小的特征映射; 抽取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2层的feature map,然后分别在这些feature map层上面的每一个点构造6个不同尺度大小的Defaul

2020-06-15 19:17:49 1612

原创 Vision-Language Models for Vision Tasks: A Survey

文本特征提取模块,通常采用Transformer结构及其一系列变体作为基础结构。图像特征提取模块,通常采用CNN(以ResNet结构为典型代表)或者Transformer(如ViT、MAE等结构)来提取图像特征。特征融合模块在VLM预训练模型中,最关键的问题是将文本和图像这两种模态的信息建立联系,所以下面对其中的特征融合模块做详细介绍。

2024-04-01 16:36:29 1134

原创 Clip算法解读

而且重要的是,CLIP 的这种推理的方法摆脱了类别的限制,比如一张 "三轮车" 的图片,假设 ImageNet 里面没有 "三轮车" 这个类,那么基于 ImageNet 所训练的任何模型都无法正确地讲这个图片分类为 "三轮车" ,但是 CLIP 的范式是可以做到的,只需要去做成一个 prompt:"A photo of a {tricycle}"。基于最近的图像对比表征学习方面的研究,可以仅预测整个文本与哪个图像配对,而不是该文本的确切单词,实验结果如下图1的绿色曲线所示,其效率是橘红色曲线的4倍。

2024-03-30 19:48:06 578

原创 ALBEF算法解读

ALBEF论文全名Align before Fuse: Vision and Language Representation Learning with Momentum Distillation,来自于Align before Fuse,作者团队为Salesforce Research。

2024-02-20 20:06:13 1028 1

原创 VILT算法解读

首先是文本输入,原始的文本输入可以看成是一个单词序列(比如图中的a,stone,statue等等),然后通过Word Embedding算法处理为词嵌入向量,所谓词嵌入向量就是一个高维的向量表征,同一个单词具有相同的嵌入表征,同时同义词的表征距离越近(具体词嵌入的过程可以参考NLP的一些资料,简单来说就是需要一个词汇表(vocabulary dict),然后将单词分词后转化为词汇表中的索引,再将数字索引变为高维向量)。由于视觉和文本输入被转化为了相同的token特征,所以后续的处理方式就可以统一了。

2024-02-20 16:09:48 945

原创 【LLM与多模态】Transformer为什么如此强大

同时,大规模的训练数据和优化技巧也为提高模型性能做出了重要贡献。

2024-02-20 14:45:46 378

原创 解决ChatGLM-6B的微调算法运行train.sh出错

升级transformers。

2023-09-04 15:15:21 689 1

原创 LoRA大模型加速微调和训练算法解读

冻结预训练模型权重,并将可训练的秩分解矩阵注入到Transformer层的每个权重中,大大减少了下游任务的可训练参数数量。

2023-08-31 17:26:06 895

原创 shell先并行执行前两个命令,都完成后再执行后面命令

shell先并行执行前两个命令,都完成后再执行后面命令

2023-01-10 17:06:44 1983 1

原创 python多线程时写入文本文件

python多线程时写入文本文件

2022-09-29 21:06:53 655

原创 linux删除文件的前n行

求描述:对于比较大的文件,如果需要删除前n行:操作过程:1.通过tail命令,将文件尾部的n行数据重定向到新的文件中tail -n 30000 input > output2.删除旧的文件,将新的文件修改为原名字

2022-05-20 15:28:29 1525

原创 python读写csv文件

python读取csv文件:import csvreader = csv.reader(csv_file) for kk, line in enumerate(reader): print(line)python写入csv:result_file = open("result.csv", "w", newline='', encoding='utf-8')result_writer = csv.writer(result_file, delimiter=','

2021-04-28 17:23:41 185

原创 Pytorch 模型load各种问题解决

出现unexpected key module.xxx.weight问题有时候你的模型保存时含有nn.DataParallel时,就会发现所有的dict都会有module的前缀。这时候加载含有module前缀的模型时,可能会出错。其实你只要移除这些前缀即可 pretrained_net = Net_OLD() pretrained_net_dict = torch.load(save_path) new_state_dict = OrderedDict() for k, v i..

2021-04-27 17:42:49 911

原创 python通过迭代器读取视频

python通过迭代器读取视频class VideoIter(object): def __init__(self, video_name): self.cap = cv2.VideoCapture(video_name) self.size = [int(self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT)), int(self.cap.get(cv2.CAP_PROP_FRAME_WIDTH

2021-04-14 16:58:59 265

原创 CNN计算网络各层参数量与FLOPs

CNN中经常需要考虑到网络的参数量与计算量等问题,具体的计算方法为:其中,K是卷积核的大小,Cin核Cout表示输入与输出的通道数,H与W表示特征图的大小。此外,可以通过python中的stat模块计算与验证,代码:import torchimport torch.nn as nnfrom torchstat import statclass Net(nn.Module): def __init__(self): super(Net, self).__ini

2021-03-10 10:47:35 654 1

原创 Focal Loss

1. 总述Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。2. 损失函数形式Focal loss是在交叉熵损失函数基础上进行的修改,首先回顾二分类交叉上损失:是经过激活函数的输出,所以在0-1之间。可见普通的交叉熵对于正样本而言,输出概率越大损失越小。对于负样本而言,输出概率越小则损失越小。此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。那么.

2021-03-05 15:17:01 222

原创 momentum 动量法

参考:https://blog.csdn.net/tsyccnh/article/details/76270707?utm_source=distribute.pc_relevant.none-task如果把梯度下降法想象成一个小球从山坡到山谷的过程,那么前面几篇文章的小球是这样移动的:从A点开始,计算当前A点的坡度,沿着坡度最大的方向走一段路,停下到B。在B点再看一看周围坡度最大的地方,沿着这个坡度方向走一段路,再停下。确切的来说,这并不像一个球,更像是一个正在下山的盲人,每走一步都要停下来,用拐杖来

2021-02-20 17:49:45 428

原创 Batch Normalization详解

Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做Pre-Train开始就是一个经验领先于理论分析的偏经验的一门学问。本文是对论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》的导读。  机器学习领域有个很重要的假

2021-02-09 17:38:51 250

原创 dropout原理解析

1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。过拟合是很多机器学习的通病。如果模型过拟合,那么得到的模型几乎不能用。为了解决过拟合问题,一般会采用模型集成的方法,即训练多个模型进行组合。此时,训练模型费时就成为一个很大的问题,不仅训练多.

2021-02-08 19:35:16 561

原创 卷积神经网络感受野的计算

学习RCNN系列论文时, 出现了感受野(receptive field)的名词, 感受野的尺寸大小是如何计算的,在网上没有搜到特别详细的介绍, 为了加深印象,记录下自己对这一感念的理解,希望对理解基于CNN的物体检测过程有所帮助。1感受野的概念  在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。    RCNN论文中有一段描述,Alexnet网络pool5输出的特征图上的像素在输入图像上有很大的感受野(ha.

2021-02-07 17:30:34 523

原创 过拟合

欠拟合与过拟合的概念的成因比较简单,观点统一,这里不再介绍。现在常用的判断方法是从训练集中随机选一部分作为一个验证集,采用K折交叉验证的方式,用训练集训练的同时在验证集上测试算法效果。在缺少有效预防欠拟合和过拟合措施的情况下,随着模型拟合能力的增强,错误率在训练集上逐渐减小,而在验证集上先减小后增大;当两者的误差率都较大时,处于欠拟合状态(high bias, low variance);当验证集误差率达到最低点时,说明拟合效果最好,由最低点增大时,处与过拟合状态(high variance, low bi

2021-02-07 14:55:34 234

原创 线性回归

一、算法简介回归分析回归分析是一种预测性的建模技术,它研究的是因变量(目标)与自变量(预测器)之间的关系。这种技术通常用于预测分析。通常用曲线或线来拟合数据点,目标是使曲线到数据点的距离差异最小。线性回归线性回归是回归问题的一种,它假设目标值与特征之间先行相关,即满足的是多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w个b,通常可以表示为:y^是预测值,自变量x和因变量y是已知的,现在想要做的是,对一个新增的x,我们要得到其对应的y是多少。需要做的是根据已有的数据点来构建

2021-02-02 20:01:01 137

原创 python实现Kmeans

代码:import numpy as npimport randomfrom math import sqrtdef dist(arr1, arr2): return sqrt(np.sum(arr1 - arr2) ** 2)def random_center(dataset, k): """ 随机生成初始的聚类中心,dataset的每一行是一个样本 :param dataset: :param k: 聚类中心的个数 :return:

2021-02-02 17:09:11 194

原创 KNN算法及python实现

分类算法 – KNN算法KNN(K-Nearest Neighbor)是一个分类算法,属于有监督学习。KNN思想的核心在于:近朱者赤,近墨者黑,根据新样本的k个最近邻居来判定其类别。1. 理论说明1.1 算法概论假设我们已知n个样本的特征和标签(即所属分类),并以此作为样本集A。当输入一个没有标签的样本b时,我们可以通过比较新样本b与样本集A中的数据对应的特征,然后提取出最为相似的k个数据。最后我们选取k个最相似的数据中出现次数最多的分类,作为新数据的分类。1.2 算法步骤

2021-02-02 14:41:03 897

原创 OpenCV之Shi-Tomasi角点检测

除了利用Harris进行角点检测外,还可以利用Shi-Tomasi方法进行角点检测。Shi-Tomasi算法是Harris算法的改进。OpenCV实现此算法的函数名为goodFeaturesToTrack,这是因为概算子是1994年在文章《Good Features to Track》中被提出的。确定图像强角点:goodFeaturesToTrack()函数goodFeaturesToTrack()函数结合了Shi-Tomasi算子,用于确定图像的强角点,函数原型:void goodFeatu

2021-02-01 20:16:55 403

原创 OpenCV之Harris角点检测

角点检测在图像处理领域,角点检测算法主要有以下几类:基于灰度图像的角点检测 基于二值图像的角点检测 基于轮廓曲线的角点检测而基于灰度图像的角点检测又可分为基于梯度、基于模板、基于梯度和基于模板组合三类方法。其中基于模板的方法主要考虑像素邻域点的灰度变化,即图像亮度的变化,将与相邻点亮度对比足够大的点定义为角点。常见的基于模板的角点检测算法有Kitchen-Rosenfeld角点检测算法,harris角点检测算法,KLT角点检测算法以及SUSAN角点检测算法。harris角点检测算法

2021-01-29 17:40:23 404

原创 openCV之什么是角点

角点检测(Corner Detection)是计算机视觉中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域,也称为特征点检测。角点通常被定义为两条边的交点,更严格的说法是,角点的局部邻域应该具有两个不同区域的不同方向的边界。在实际的应用中,大多数角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。在图像处理与计算机视觉中,兴趣点(interest point

2021-01-29 16:16:59 2334

原创 OpenCV之模板匹配

模板匹配的概念与原理模板匹配是在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术,在OpenCV中,模板匹配由函数MatchTemplate()函数实现。需要注意的是,模板匹配不是基于直方图的,而是通过在输入图像上滑动图像块,对实际的图像块和输入图像进行匹配的一种方法。如图,通过一个人脸图像模板,在整个输入图像上移动这张脸,寻找和这张脸相似的最优匹配。MatchTemplate()函数MatchTemplate()用于匹配出和模板重叠的图像区域,函数原型:void Match

2021-01-29 15:15:15 2124

原创 OpenCV之反向投影

如果一幅图像的区域中显示的是一种结构纹理或者一个独特的物体,那么这个区域的直方图可以看作一个概率函数,其表现形式是某个像素数语该纹理或者物体的概率。而反向投影就是一种记录给定图像中的像素点如何适应直方图模型像素分布的一种方法。简单来讲,所谓的反向投影,就是首先计算某一特征的直方图模型,然后使用模型去寻找图像中存在该特征的方法。反向投影的工作原理这里通过H-S肤色直方图来解释反向投影的工作原理。首先通过前面讲到的求出下面图像的H-S肤色直方图。而我们要做的,就是使用模型直方图(代表手.

2021-01-28 16:11:27 483

原创 python在图像上写入中文

opencv不支持在图像上写入中文,需要使用PIL实现,代码:def put_chinese_on_img(img, text, loc): """ 在图像上添加中文字符 :param img: 图像 :param text: 文本 :param loc: 位置 :return: """ cv2img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # cv2和PIL中颜色的hex码的储存顺序不同

2021-01-28 14:03:28 904 2

原创 maskrcnn训练问题报错:selected_polygons.append(self.polygons[i]) IndexError: list index out of range

训练mask rcnn实例分割时报错:Traceback (most recent call last): File "tools/train_net.py", line 203, in <module> main() File "tools/train_net.py", line 196, in main model = train(cfg, args.local_rank, args.distributed) File "tools/train_net.py

2021-01-27 16:56:38 1428 2

原创 Python如何忽略UserWarning兼容性警告

Python的第三方包往往依赖其它的包进行开发。一旦依赖的包发生较大的版本升级,那么往往会出现兼容性问题, 引起编译器警告或报错。解决方法:import warningswarnings.filterwarnings("ignore")

2021-01-27 16:51:55 26316

原创 图像处理常用数据集下载

COCO2014数据集最近想用COCO2014数据集,官网给的地址下载速度太慢了,下载预计要30多个小时,然后发现了一个数据集的镜像,用迅雷下载就非常快了,几兆的速度。。。 镜像地址 迅雷下载Pascal VOC 在早期的计算机视觉社区,PASCALViSualObjectClasses(VOC)挑战赛(从2005年到2012)是最重要的竞赛之一。在PASCALVOC中是多任务的,包括图像分类,目标检测,语义分割和行为检测。 在目标检测中有两个Pascal-...

2021-01-26 20:53:54 1049

原创 Linux查看GPU的进程

有时候会出现GPU被占满却没有进程的情况,可通过下面进程查看僵尸jin chengsudo fuser -v /dev/nvidia*

2021-01-26 20:02:37 2288

原创 ERROR: Could not find a version that satisfies the requirement pytorch==1.5.0 (from versions: 0.1.2,

安装pytorch时报错:ERROR: Could not find a version that satisfies the requirement pytorch==1.5.0 (from versions: 0.1.2, 1.0.2)ERROR: No matching distribution found for pytorch==1.5.0解决方法:确定自己的cuda与python版本到这里下载对应的whl,然后pip安装...

2021-01-25 11:00:28 2210

原创 OpenCV之直方图对比

得到图像的直方图之后,通常要用某些具体的标准来比较两个直方图的相似度。要对两个直方图进行比较,首先必须选择一个衡量直方图相似度的对比标准。OpenCV中用compareHsit()函数来比较两个直方图的相似度。对比直方图:compareHsit()函数compareHsit()函数用于对两幅直方图进行比较,有两个版本,函数原型:double compareHist(InputArray H1, InputArray H2, int mathod)double compareHist(con

2021-01-20 16:42:14 532

原创 OpenCV之直方图的计算与绘制

图像直方图直方图广泛的应用于很多计算机视觉应用中,通过标记帧与帧之间显著的边缘和颜色的通解变化,来检测视频场景中的变化。在每个兴趣点设置一个有相近特征的直方图所构成“标签”,用以确定图像中的兴趣点。边缘、色彩、角度等直方图构成了可以被传递给目标识别分类器的通用特征类型。色彩和边缘的直方图序列还可以用来识别网络视频是否被复制。简单来说,直方图就是对数据进行统计的一种方法,并且将统计直组织到一系列事先定义好的bin中。bin为直方图中经常到的概念,可以理解为“直条”或“组距”,其数值是从数据中计算出的特

2021-01-20 15:11:17 268

image_stitching.zip

基于opencv实现多张图像的全景拼接,有效避免鬼影现象,可直接运行。

2020-12-15

图像离散傅里叶变换,C++实现,可直接运行

图像离散傅里叶变换,C++实现,可直接运行,调用OpenCV。

2020-12-11

猫狗分类数据集(百度网盘下载)

猫狗分类数据集,kaggle比赛数据,包括训练数据和测试数据,训练数据共25000张图像,百度网盘下载,需要的朋友可以下载。

2020-11-16

VOC0712.txt

VOC2007和2012的百度网盘下载地址

2020-06-19

opencv_contrib_python-3.4.2.17-cp37-cp37m-manylinux1_x86_64.whl

opencv-python安装包,Linux系统,python3.7用,版本是3.4.5.20

2020-03-26

Pyrex-0.9.9.tar.gz

pyrex安装包,linux系统亲测可用,windows和mac没有试,下载之后直接安装就可以

2020-03-26

深度学习Pytorch实战计算机视觉

深度学习Pytorch实战计算机视觉,高清版本,需要的朋友可以下载

2019-01-30

numpy-1.13.0+mkl-cp35-cp35m-win_amd64

python35的numpy+mkl安装包,numpy-1.13.0+mkl-cp35-cp35m-win_amd64

2019-01-30

图像处理的常见滤波方法,matlab代码

包含图像处理中常用的几种滤波方法,有matlab代码和ppt讲解,包含均值滤波,中值滤波,高斯滤波,双边滤波,有示例演示。

2017-09-17

空空如也

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

TA关注的人

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