自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mmlab的数据加载的过程:

mmlab项目里面代码复用性和解耦性比较高,代码调用方便,但是有的地方可读性不是很好。关于他的网络结构arch其实一般都还好,比较清晰简单。就是关于 数据加载和数据处理、还有这个loss 的计算和优化过程,一般进去看麻烦一些。主要是在这个restore里面看这些宏观上的东西。这里截取的一部分训练数据集的处理代码:你看从文件夹中加载,盲超分就是只加载出一个gt。然后实际代码中的数据处理地方都在这个runner 我觉得这是一个训练容器一样的。而非盲超分就是两个都加载。还有通道格式也介绍的挺详细的。

2022-11-09 16:16:58 328 1

原创 mmlab的build 和 iter_based_runner:

虽然 它的解耦性很好,但是对我这种代码能力差的就改起来不友好。大概也知道 这种东西是用来干嘛的,可是你要加一个新网络进去,就有很多地方配置它的Model.register之类的东西,而且 好像现在还报错。这个mmeding中,model和这个backbone的区别:model就是相当于啥都搞好了,它的代码段经常包含一个train_step。它这个调用训练的过程,就是mmedit里面的restore 的train_step调用 然后 再调用对应网络去forward;...

2022-08-12 11:59:05 673

原创 cv-基准流程:

另外,关于另一个action=store_true就是自动传入这个true,store_false则是false。比如Boosted-VSR网络中就是,导入了Bossted_Basicvsr里面的model_test进行测试。有--开头的是可选参数,在终端中传入参数时,要写出--config之类的,不然代码识别不了。如下,有make_modeldictload啥的就是在记载预训练模型。关于那个传参数的,今天又差点忘了。然后,保存模型就是save啥的之类的。Net就是加载模型。.........

2022-08-01 11:33:55 608

原创 深度学习 数据加载过程:

做深度学习:1 改网络模型的结构; 2 改 数据加载过程的代码无非就是这两种,目前来说,网络模型结构的改动 还是比较清晰!数据加载过程,主要分为以下三个步骤:1 数据下载,2 数据载入, 也就是图片的处理 。对应代码:那些最常见的数据集,比如 mnist之类的,都是直接调用datasets.数据名()既可!比如这里的 trainset 就算数据载入,一般我们要改数据载入的过程。就是 改这个trainset里面的东西。从哪里可以看出来是,真正的数据载入呢?import torch.utils.data

2022-06-14 17:50:24 955 1

原创 pytorch中nn.Sequential

一个有序的容器,神经网络模块将按照在传入构造器的顺序依次被添加到计算图中执行,同时以神经网络模块为元素的有序字典也可以作为传入参数。# Example of using Sequential model = nn.Sequential( nn.Conv2d(1,20,5), nn.ReLU(), nn.Conv2d(20,64,5), nn.R

2022-05-30 10:16:11 1131

原创 Modulation for Real-World Super-Resolution

Metric Learning based Interactive Modulation for Real-World Super-Resolutionabstract:提出一个度量学习基于交互调制来实现Real-world、就是尽可能模拟现实生活中的降化样式用一个度量学习 方法给真实世界的图片(基本上退化是不可量化的)打分0-1以一种无监督的方式,然后通过这个叫锚点策略的,来调节vector根据这个分数。现有的超分和它的方法区别,主要是降化过程和类型的区分相关工作:2.

2022-05-23 14:29:07 487

原创 cv工作中,整个工程搭建:

参考【首发】 ubuntu20.04安装matlab2021b/matlab2020b按照流程走下来即可,注意的是,它的下载文件里面有crack文件,这个文件夹里面放的是 后面配置激活matlab要用的文件,它的csdn文章没讲这个 也就算里面的.so文件和license.lic文件,注意路径就好。那个下载完matlab后,文件夹里面会自带那个.so文件。但是你要替换成 博主给的,不然会报错 启动matlab...

2022-05-16 09:53:44 194

原创 parse_args的使用:

python — argparse模块,及Pycharm传递参数给argparseargparse 模块可以编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。一、argparse用法 主要有三个步骤: 创建 ArgumentParser() 对象 调用 add_argument() 方法添加参数...

2022-05-05 11:01:23 1710 1

原创 Meta-sr 复现的环境配置问题:

gihutb上原作者要求的是,torch0.4和 python3.5的配置,这个和现在的linux系统版本基本上就是配置不了的。因为更新了的torch版本是不支持这样导入。所以 重写这个dataloader.py 它的导入。 import torch import torch.multiprocessing as multiprocessing from torch._C import _set_worker_sig

2022-04-29 14:33:28 921 1

原创 Batchsize设置

深度学习中经常看到epoch、 iteration和batchsize,下面按自己的理解说说这三个的区别:(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;(2)iteration:1个iteration等于每次使用batchsize个样本训练,并且遍历完数据集的次数;(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;举个例子,训练集有1000个样本,batchsize=10,那么:训练完整个样本集需要:

2022-04-20 10:48:25 749

原创 三维巻积的理解:

在学习卷积神经网时候,本人对代码中的卷积维度变化不是很理解,记录学习过程供参考。假设有一个卷积核W(3X3X3X2),第一个维度为高度,第二个维度为宽度,第三个维度为通道数,第四个维度为卷积层数。上图展示一下:在这里插入图片描述关于卷积过程中维度的变化:三维的巻积核对图像操作,得到的还是二维平面,如果处理的图是三维的对于单通道的灰度图卷积很好理解,如4X4的图片用3X3的一个卷积核进行卷积(步长为一),那结果就是2X2的维度;假设卷积核有2层,即为3X3X2,那么卷积出来的结果就.

2022-04-05 11:20:45 3512

原创 cv -3-31

正交巻积,我自己的理解就算为了更好的train?因为,作者代码这个用到正交巻积的地方,就算这个train训练过程。然后没了,为了计算loss!for i, (images, target) in enumerate(train_loader): # measure data loading time data_time.update(time.time() - end) if args.gpu is not None: images = images.cuda

2022-04-01 17:25:50 783

原创 mmediting使用中run的一些错误记录:

1路径问题项目程序执行的路径,是刚好和你终端执行训练一样的。所以自己run或者debug的时候,要把路径报错的地方给改了。2.报一些奇怪的错,得到一个未知的参数,在config代码中找,其实说的很详细,(主要是分布式训练和非分布式训练的区别)...

2022-03-28 17:35:22 3428

原创 2022.3.22--pytorch的学习:

>>pytorch有gpu加速(就是一个处理数据的库)张量数据类型部分:数据在cpu和gpu上部署都是不一样的,gpu上有个cudapython的数据类型在pytorch都有对应的数据类型,但是会有demension 维度>>pytorch的标量即demension为0dimension :即这个张量是几维的,size/shape:即指的是这个张量的形状,即几乘几的。demension为1的张量,即一个向量,长度为任意的向量,自己定。eg:[1,2

2022-03-19 19:17:59 1299

原创 2022.3.17 debug过程中,一些pytorch函数:

cat函数:是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起。>>> C=torch.cat((A,B),0) #按维数0(行)拼接 1就是按列拼接的。这是二维张量一起拼接。大部分我们要处理的是图像,不同的,具体查。判断是几维的张量,用数[]这个的个数,四维度就算四个张量>>> permute函数:这个函数:outputRs = outputR.permute(0,2,3,1)把outputR..

2022-03-18 16:38:19 1451

原创 TMnet--DCN2实现过程

dcn2的编译,这个项目兼容性很差。pytorch版本不同就跑不了。要按照这篇文章 把cuda的代码该一改即可。https://github.com/tteepe/DCNv2.git

2022-03-16 21:43:32 425

原创 2022/3.12--cv--快速找arxiv文章

经常会到arxiv上下载一些文章,比如cvpr的文章,使用中科院arxiv的镜像地址:http://xxx.itp.ac.cn具体使用方法:把要访问 arxiv 链接中的域名从 https://arxiv.org 换成 http://xxx.itp.ac.cn

2022-03-12 22:34:09 835

原创 算法debug

run里面配置参数,根据代码输入相应参数即可debugtrain里面有个buld_model,跳进去 进入bulider。然后这时是build_model,调用的是这个实质的bulid函数(其他的都是build什么,比如有backone,loss啥的)然后调用的是registry.py里面的函数然后到basicsr.py的def --init--即构造器里面。java和python还是挺像的,比如继承父类,就算在这个类的括号(父类名)之后就到这个BsicVsr网络了,这就是实...

2022-03-10 20:58:27 203

原创 提升cv的工程即代码能力

第一步:找到baseline论文一开始对深度学习不熟时,切勿自己蒙着头写代码。既然题主已经看了四十多篇论文,并且有了自己的idea, 那么肯定知道自己要做的方向有哪些前人写下的不错的论文, 从这些论文中挑选出一到两篇作为你的baseline,作为你的代码开端。 一般一个好的baseline有两个特点:1)它一定有开源代码,而且有较完整的文档(readme)。如果它的github星蛮多的更好,说明很多人用过,质量没问题。 2)它发表的时间是近两到三年的。深度学习的发展速度实在过快,时间久远又没人维...

2022-03-08 17:18:22 263 1

原创 2022.3.8

阅读的文献Improved EDVR Model for Robust and Efficient Video Super-ResolutionEDVR基础上改进的, 设计了这两个模块preprocessing module consisting of rigid convolution sub-modules and feature enhancement sub-modules还设计了时域三维卷积融合模块(三维卷积不是二维卷积,课本(最常见的))第三:channel attention ap

2022-03-08 17:15:55 1217

原创 2022.3.7 cv

basicvsr 有参考RBPN这个的方法常用的词语:BI:双三次采样 它即可以上采样,也可以下BD:模糊下采样。同上,一般一次测试中 就用其中一个就可以2020之前现有的超分模型都在Basicvsr文章做了对比Basic用reds训练时,输入的时15帧。而用Vimeo-90k时7帧,但是通过了翻转,所以等同于14帧。vimeo90k数据全是gt的,先给它四倍下采样。然后gt最后,只要最中间的那张即可。这是照着测试集来的(划分来的)。(这个gt中的第四个我也没单独拿出来,它的代码..

2022-03-07 17:38:46 540

原创 cvday17(视频防抖动算法)

配置这个防抖动算法的环境根据它的github上面的提升,但是问题是:这个鬼东西,下载pip install -r requirements_CVPR2020.txt这个先要类似于一个解压命令pip freeze > requirements.txt,才能开始pip install。而且安装过程中,它有很多问题,就是里面很多包的版本不对。这时候要参考ERROR: Could not find a version that satisfies the requirement apturl...

2021-12-15 11:11:00 688

原创 cvday16(做到这个程度就好)

基于已经有的网络模型,1找到数据(很重要),就是根据这个数据集进行训练 然后测试。2修改这个已有的网络模型的训练代码,改成适配自己的东西的。3测试就完了

2021-12-13 17:08:48 2877 2

原创 cvday15

最近研究自然图像的小项目,可是数据集有点少,大约就5W张,80分类。单纯的靠这些数据集训练一个80分类的模型是很难的,于是想到直接调用imagenet里的1000分类的模型下面是转载的大神级别博客,写的非常详细。其实很简单,只需要把train_val.prototxt文件的最后一层全连接层的num_output换了,然后记住将这一层全连接的名字要改了,记住一定要改了。贴上大神的详细解答 ,大神博客地址Caffe学习系列(23):如何将别人训练好的model用到自己的数据上 - denny402 - ..

2021-12-07 11:51:36 96

原创 cvday14--模型训练过程

模型训练的过程其实就是在求【参数】的过程,我们先假定某类【模型】(比如决策树模型),然后用【训练集】来训练,学习到对应的最优的【参数】。但是问题在于,我们没有办法保证我们假设的那个【模型】是最优的,我们极有可能假设错误对吧。那怎么办呢?有一个简单的解决方案就是我们假设一堆的模型,然后用【训练集】分别对这些模型来进行训练,学习到每一个【模型】中分别对应的参数——这是第一步,也就是【训练集】的任务。那么我们已经学习到了一堆的模型了,哪一个模型是最好的呢?这其实就是要来考察不同结构的模型在这些dat...

2021-11-29 15:50:37 1999 1

原创 cvday13(Basic和Basicvsr的实现)

basic训练结果,用的是vimeo90k的数据集,模型basic,跑了20minEval-PSNR: 37.19113475287104 最大峰值信噪比(在图像质量评价指标中,有一个指标是PSNR(Peak Signal-to-Noise Ratio) 峰值信噪比,它正好对标L1和L2损失函数,但L1和L2是有一个共性:它们都是基于逐像素比较差异,没有考虑人类视觉感知,更没有考虑人的审美观,所以PSNR指标高,并不一定代表图像质量好。)Eval-SSIM: 0.9451216528070878(.

2021-11-24 16:13:02 3124 1

原创 对于一个网络改进的想法

最近一直在看卷积神经网络,想改进改进弄出点新东西来,看了好多论文,写了一篇综述,对深度学习中卷积神经网络有了一些新认识,和大家分享下。其实卷积神经网络并不是一项新兴的算法,早在上世纪八十年代就已经被提出来,但当时硬件运算能力有限,所以当时只用来识别支票上的手写体数字,并且应用于实际。2006年深度学习的泰斗在《科学》上发表一篇文章,论证了深度结构在特征提取问题上的潜在实力,从而掀起了深度结构研究的浪潮,卷积神经网络作为一种已经存在的、有一定应用经验的深度结构,重新回到人们视线,此时硬件的运算能力也比

2021-11-22 20:02:54 571

转载 深度学习中的术语

训练集、验证集、测试集区别 训练集就是用来训练好一个模型。训练完一个模型后,肯定要对这个模型进行一个精度评估,于是就有验证集,我们把验证集用来去动态筛选最好的那次深度学习模型,所以这个时候再用验证集去评估这个模型的效果就不太合适了,所以我们要再单独拿出一个数据集,这个数据没有参与模型训练过程的评估,只能是用来等我们最终的模型确定后,只做一次评估,于是测试集便诞生。这也就是验证集与测试集的区别。如何读cv领域的代码项目方法:搞深度学习的人,两大必备日常除了读论文之外就是读代码。读论文笔者在第4..

2021-11-22 20:01:44 876

原创 cvday12

训练集、验证集、测试集区别 训练集就是用来训练好一个模型。训练完一个模型后,肯定要对这个模型进行一个精度评估,于是就有验证集,我们把验证集用来去动态筛选最好的那次深度学习模型,所以这个时候再用验证集去评估这个模型的效果就不太合适了,所以我们要再单独拿出一个数据集,这个数据没有参与模型训练过程的评估,只能是用来等我们最终的模型确定后,只做一次评估,于是测试集便诞生。这也就是验证集与测试集的区别。...

2021-11-22 15:21:16 163

原创 cvday11

1视频超分辨率重建技术综述(11年文章):空间分辨率:是指遥感图像上能够详细区分的最小单元的尺寸或大小,是用来表征影像分辨地面目标细节的指标。通常用像元大小、像解率或视场角来表示。时间分辨率:时间分辨率是指在同一区域进行的相邻两次遥感观测的最小时间间隔。对轨道卫星,亦称覆盖周期。时间间隔大,时间分辨率低,反之时间分辨率高。低画质的视频产生原因就是空间分辨率和时间分辨率上的不足,于是就要提高这两项。而一段视频的产生无非就是相机这个东西、和视频本身,相机是固定了的。所以要对视频改进。这个技术..

2021-11-18 15:21:12 697

原创 cvday10(Latex学习初使用)、

(26条消息) LaTeX详细教程+技巧总结_NSJim的博客-CSDN博客见这个博客一些初级使用,这种玩意是越用越熟悉的。边用边熟悉的。 研究方向的文献综述怎么写的问题:在大方向确定之后,第二步就是论文的阅读,并且在阅读的过程中,逐步建立对该研究领域的认识,比如说该领域的应用场景,需要解决的问题,常用的研究方法,经典的通用做法,客观的评价指标等等。在这个过程中,我比较推荐两种做法:第一种是建立一个阅读笔记,第二个是使用思维导图将各个论文中的研究点或研究方法联系起来。第一种做法的好处是在..

2021-11-13 19:23:30 1012

原创 cvday09

在跑github上的项目 经常会莫名其妙报一些奇葩错误。大部分主要是你的配置环境不匹配,比如cuda版本和torch版本的匹配度的问题,

2021-11-13 16:46:43 235

原创 cvday08(sapce-time distillation for video super-resolution)

摘要:提出一个紧凑VSR网络能简单应用于移动设备手机这样,但是和复杂的VSR又有显著性能差距。所以这个文章提出复杂和紧凑两者间的时间、空间上的特征相似度来缩小性能差距用convLSTM(就是一个经典的提取特征的网络) 1引言:现在问题是需大量计算资源才能有很好的超分辨性能,所以用性能好的VSR网络在移动手机这种基本不可能。大多数VSR方法是包含运动补偿模块EDVR方法是2019视频恢复增强赛冠军,它是利用金字塔、级联、可变形结构的组合来实现多帧对齐的。结合时间和空间注意模块进行信息融合。隐式...

2021-11-08 14:47:01 786

转载 cvday07(关于一个深度学习宏观框架

一个完整的深度框架中应该包含两个主要部分,即训练(training)和推理(inference)训练(Training)打个比方,你现在想要训练一个能区分苹果还是橘子的模型,你需要搜索一些苹果和橘子的图片,这些图片放在一起称为训练数据集(training dataset),训练数据集是有标签的,苹果图片的标签就是苹果,橘子亦然。一个初始神经网络通过不断的优化自身参数,来让自己变得准确,可能开始10张苹果的照片,只有5张被网络认为是苹果,另外5张认错了,这个时候通过优化参数,让另外5张错的...

2021-11-06 18:23:29 73

原创 cvday07(关于conda的一些使用)

anaconda是一个管理虚拟包的一个工具,也就是之后可以创建好几个的虚拟环境来配置不同项目所需要的配置环境即可,而没必要非得重新替换这样。最近因为课程和任务要求需要使用pytorch进行环境的搭建,因此会频繁的使用conda,此篇文章基于一个新手小白对于conda的理解,对conda的使用进行一些指导和说明,虽然看起来很幼稚hhhhhhpython和包以及anaconda的概念关系基于自己对于这些概念术语之间的关系打一个小比方:关于python与包包 =“工具”;下载包 = “买工.

2021-11-06 16:24:24 447 1

原创 cvday06(超分辨率技术的了解)

20世纪60年代就已经提出。 其超分辨率技术的分类:单张图和多张图的超分辨率,其中单张图超分辨率是研究重点。一般为分为:插值、重构、深度学习的方法。 插值法:应用于图像缩放 分辨率没有变化这种。选择合适的插值窗口和插值函数来进行恢复画质。但插值一般不能充分利用图像的像素信息。 重构法:利用图像降至退化模型,假设这个图是经过退化而来得到的超分辨率,然后再逆向重建变成高分辨率 深度学习法:目前最好的。1第一个算法网络是SRCNN,它是由三个卷积网络所构成,第一个卷积层就是负责...

2021-11-06 11:43:32 510

原创 cvday05

这几天一直在用github。第一次用这个导入项目,就是一个这么大工程的智能流媒体编辑器mmediting。把github里 常见的一些文件夹代表什么记录如下:.md文件一般就是说明性指导文件,一般都会有对这个项目的基本使用有一个介绍。就是在.md文件里。 一般实行某个项目,都会要配置该工程下的环境,所以这个是最基本的(看介绍)还有就是一个大工程项目其实有很多是对你没有用的东西,即你需要看的其实很少就比如这个mmediting的工程,头两个带.的文件就是隐藏文件没用。configs文件就是当你需要..

2021-11-06 09:26:22 78

原创 cvday04(BasicVSRCVPR文章问题)

无语 实现basicsv超分辨,数据包导入之后就会出错。还有终端打开一些命令也要有大小写的区分,anaconda,pytorch,cuda环境都弄好了。明天把cudnn弄下 再实现算法

2021-11-04 15:34:27 165

原创 CV学习之路day3

配置环境很烦,各种坑。今天在乌班图系统上配置pytorch,anaconda。并且anaconda的使用也是在终端上调用anaconda-navigator即可以打开anaconda3的使用。pytorch的配置需先下载cuda。

2021-11-02 15:28:21 47

原创 CVday2

超分辨率:如好莱坞的cia追查犯人,将特别模糊恢复到高清晰度应用: 图像 动画视频的画质修复就如以前的叮当猫动画变高清, 节约传输高清图像的带宽:传输低清晰,再本地恢复等。超分辨率类型:1多图超分,利用多帧低清晰图像然后恢复,多应用于遥感影像,还有视频超分2单图超分:比较困难,因为只有一个图片,解决方法:图像数据有它的规律作为先验知识,再用先验知识再作用与模糊的就ok!经典方法:稀疏编码视频超分的实现:典型流程:对齐-融合-特征提取-重建损失函...

2021-10-31 19:36:23 654 1

空空如也

空空如也

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

TA关注的人

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