- 博客(42)
- 收藏
- 关注
原创 阅读笔记5:董超底层视觉之美|时空的交错与融合——论视频超分辨率
本文是董超老师底层视觉之美系列的笔记,本篇主要是对视频超分进行了总结和回顾:基于Cnn的方案、基于transformer的方案、基于生成模型的方案(gan、diffusion)
2024-08-24 16:43:50
531
原创 超分中的GAN总结:常用的判别器类型和GAN loss类型
总结了GAN在图像超分辨率中的应用,包括常用的判别器类型:经典的分类网络、patch gan和unet和GAN loss类型: gan、wgan、lsgan、ragan
2024-08-24 11:36:16
641
原创 阅读笔记2:董超底层视觉之美|底层视觉是什么?
本文针对底层视觉给出了一个大致的定义,然后通过底层视觉与人工智能、计算机视觉、图像处理等相关概念的对比来对底层视觉做了进一步的界定。
2024-07-27 17:32:53
272
原创 Python题解Leetcode Hot100之链表
对于链表题目,主要的解题思路有:快慢指针、翻转链表(局部)、合并有序链表、查找中间位置的链表节点、将长链表分解切断成小的链表(分治)。需要熟练掌握的模块:翻转链表、合并有序链表、查找中间位置的链表节点。
2024-06-27 21:10:02
783
原创 Python题解Leetcode Hot100之矩阵
Leetcode 热题100 Hot100解题思路解析记录和python代码实现,包括矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵 II等题目
2024-06-26 20:08:03
1056
原创 Python题解Leetcode Hot100之数组
Leetcode Hot100之数组解题思路详解和python代码,包括最大子数组和、合并区间、轮转数组、除自身以外数组的乘积、缺失的第一个正数
2024-06-24 21:13:42
873
原创 Python题解Leetcode Hot100之滑动窗口
Leetcode Hot100之滑动窗口题目解题思路记录和python代码,包括无重复字符的最长子串、找到字符串中所有字母异位词
2024-06-19 20:56:39
377
原创 Python题解Leetcode Hot100之双指针
Leetcode热题Hot100之双指针题目解题思路总结和python代码提供,包括移动零、盛最多水的容器、三数之和、接雨水
2024-06-19 20:31:53
1235
原创 Python题解Leetcode Hot100之哈希表
Leetcode hot100之哈希表分组题目思路解析和python代码,包含两数之和、字母异位词分组、最长连续序列
2024-06-18 19:58:38
850
原创 安装xFormers时遇到的问题,以及正确的安装方式
在使用pip install xformers安装xformers时,发现总是会把我环境中的pytorch重新安装,并且会安装CUDA12版本的pytorch, 而我环境是CUDA 11.8,这就导致我原本的开发环境不可用了。后来发现xformers与pytorch版本一一对应的,在pip install xformers时,如果发现pytorch版本不一致,就会自动卸载重装pytorch, 而默认装的是CUDA12版本的。
2024-06-14 17:08:15
2286
1
原创 pytorch中的维度变换操作性质大总结:view, reshape, transpose, permute
在深度学习中,张量的维度变换是很重要的操作。在pytorch中,有四个用于维度变换的函数,view, reshape, transpose, permute。其中view和reshape都用于改变张量的形状,transpose, permute都用于重新排列张量的维度,但它们的功能和使用场景有所不同,下面将进行详细介绍,并给出测试验证代码,经过全面的了解,我们才能知道如何正确的使用这四个函数。
2024-06-06 21:03:24
1109
原创 numpy数组不是连续存储时可能出现的问题
numpy数组在进行涉及到内存拷贝的操作时,一定要注意将其转换成连续的,也就是数组的元素在内存中是按顺序存储的,不然可能会无法得到预期的结果;你可以使用 .flags 属性中的 C_CONTIGUOUS 标志来判断一个数组是否是连续的。你可以使用 np.ascontiguousarray 函数将一个数组转换为连续数组。将数组转换为连续数组。
2024-06-06 17:40:01
246
原创 Python题解Leetcode Hot100之多维动态规划
Leetcode Hot100之多维动态规划解题思路和python代码,包括:不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离
2024-06-04 19:55:55
847
原创 CRAFT文字检测算法解析和基于C++和TensorRT的推理实现
本文讲解了CVPR 2019的一篇文字检测算法《Character Region Awareness for Text Detection》的原理,并给出我使用**C++和TensorRT**重新实现的推理,速度比原版代码快12倍。
2024-04-21 14:40:34
1067
原创 同名的python模块的加载顺序是怎样的?
Python 执行一个 py 文件,无论执行的方式是用绝对路径还是相对路径,interpreter 都会把文件所在的 directory 加入 sys.path 这个 list 中,并且是索引为 0 的位置。第一反应是将本地的路径path加到sys.path中,用的是append,发现不行,因为环境存放pakage的路径之前也在sys.path里,查找包的顺序是从前到后的,也就是说从sys.path[0]中查到的包就不会再从sys.path[1]中查找了;关于模块以及加载顺序的相关知识可以参考下面的文章。
2024-02-22 19:59:56
422
原创 HAT论文详解:Activating More Pixels in Image Super-Resolution Transformer
本文是对Swinir的改进,目前很多图像超分Benchmark的SOTA。相对于SwinIR的改进主要有三个地方:1. 引入Channel Attention,以获得更好的全局能力;2. 提出了overlapping cross-attention模块,来进行跨window的信息交互;3. 提出一个预训练策略。上面两张图分别是HAT和SwinIR的整体结构图,可以看出HAT延续了SwinIR的基本结构,将RSTB升级成RHAG,内部的STL也对应升级成HAB,并且在每个Block中加入了一个OCAB。
2024-02-22 19:35:10
1170
原创 ELAN论文详解:对SwinIR进行效率优化的超分算法(Efficient Long-Range Attention Network for Image Super-resolution)
本文是对论文ELAN的解读,ELAN认为当前基于Transformer的超分模型在效率和效果上都存在问题,其提出了efficient long-range attention block(ELAB),可以更好的建模图像的长距离依赖;同时其提出了一系列的有效的优化策略,可以极大的提高模型的效率。
2023-12-14 14:34:46
1823
原创 ACM-MM2023 DITN详解:一个部署友好的超分Transformer
本文是论文Unfolding Once is Enough: A Deployment-Friendly TransformerUnit for Super-Resolution的讲解。超分任务的特征图尺寸往往很大,导致Transformer的计算负担很大,本文延续swinir和elan的路线,提出了一个部署友好的超分Transformer,通过减少reshape算子的数量,从而提升了效率。
2023-12-13 17:28:43
1129
原创 真实数据超分三大方法(BSRGAN、Real ESRGAN、SwinIR)训练细节整理
本文整理单帧真实数据超分目前最有效的三个方法BSRGAN、Real ESRGAN、SwinIR的训练细节,方便训练时查找。SwinIR这里只记录了其在Real world SR上的相关配置。
2023-11-28 17:49:51
1732
原创 详解SwinIR的论文和代码(SwinIR: Image Restoration Using Swin Transformer)
SwinIR将Swin transformer1应用到low level领域的图像增强任务,结合卷积设计了网络结构,在以下三个任务上取得了很好的效果:图像超分辨率(包括classical、lightweight和real-world SR)、图像去噪(包括灰度图和彩色图像去噪)和 JPEG压缩失真去除。本文将结合代码对SwinIR进行详解。
2023-11-20 14:55:42
1840
16
原创 Python中的__init__.py有什么用?其中的__all__变量有什么用?
是一个特殊的文件名,用于标识一个 Python 包(package)。在 Python 中,一个包就是一个包含多个模块的文件夹,该文件夹下必须包含一个名为的文件,用于告诉 Python 这是一个包,并且可以在该包中导入其他模块。文件有以下几个常见用途:文件可以包含初始化代码,例如设置模块级别的变量或者执行某些必要的操作。这些初始化代码在导入包时会被自动执行。文件可以控制哪些模块可以被导入。例如,可以在文件中设置一个列表变量,包含允许被导入的模块名,然后在其他模块中引用该变量,以限制导入范围。
2023-03-15 11:36:07
479
原创 numpy、cupy、pytorch数组对象的相互转换
记录平常最常用的三个python对象之间的相互转换:numpy,cupy,pytorch三者的ndarray转换
2022-11-17 16:26:09
1888
原创 ICCV2021 SDR2HDR论文笔记:A New Journey from SDRTV to HDRTV
code: https://github.com/chxy95/HDRTVNet本文是ICCV2021文章《A New Journey from SDRTV to HDRTV》的阅读笔记,个人认为该文章是sdr2hdr领域比较重要的一篇文章,其完成了视频sdr2hdr问题的定义、问题特性的分析、提出了一种方法、公开了一个数据集HDRTV1K、提出了5种评价指标,接下来记录了文章的要点。1. introduction为什么需要sdr2hdr算法?(1) 视频内容正在从标清、高清向超高清发展,而高动
2022-04-08 16:28:51
6089
9
原创 OKLAB颜色空间详解 2 ——颜色空间转换、oklab空间中的色域确定
本文主要介绍以下两个方面:介绍并用python实现了oklab空间与XYZ空间的转换介绍并用python实现了在oklab空间如何确定一个色域的范围1. oklab与XYZ互相转换(1)XYZ向oklab空间转换总共三步,两步矩阵乘法+一步非线性变换, 计算简单是oklab的一大优点;第一步是将XYZ转换到一个近似的锥体细胞反应 lms:第二步是一个非线性变换:第三步是转换至Lab的坐标下:上式中的M1、M2的数值如下:(2)从oklab到XYZ的变换是上述过程的逆过程,如下所
2021-06-20 17:10:35
1669
原创 cvpr 2021图像增强论文笔记Multi-Stage Progressive Image Restoration详解
CVPR 2021 Multi-Stage Progressive Image Restorationcode: https://github.com/swz30/MPRNet简要记录下这篇文章的要点。提出问题:图像增强领域框架基本上分为两种设计:Encoder-decoder可以有效获取多尺度信息,但会牺牲空间细节;A single scale feature pipeline得到的图像有很好的空间细节,但是由于感受野较小,语义鲁棒性较差;因此:Image restorati
2021-04-15 18:23:29
3959
原创 PixelShuffle详解和cuda实现
1.背景1.1 PixelShuffle的出处PixelShuffle这一操作出自论文[https://arxiv.org/abs/1609.05158](Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network), 论文中称为periodic shuffling operator。Pytorch将其实现为torch.nn.PixleShuffl
2020-09-12 17:36:55
4799
3
原创 Tensorrt踩坑记录
[09/01/2020-10:57:09] [W] [TRT] Current optimization profile is: 0. Please ensure there are no enqueued operations pending in this context prior to switching profiles[09/01/2020-10:57:09] [E] [TRT] ../rtSafe/cuda/genericReformat.cu (1262) - Cuda Error in
2020-09-12 15:36:10
2633
3
原创 使用ffmpeg将视频的每一帧保存成单独的yuv
ffmpeg将视频解成图片ffmpeg -i test.mp4 -pix_fmt rgb24 %4d.png但是同样的命令,却只能得到整个视频的yuv,无法获得单帧的yuv:ffmpeg -i test.mp4 -pix_fmt yuv420p %4d.yuv后来发现可以通过segment来实现,-segment_time需设置为小于1/fps的数:ffmpeg -i test.mp4 -f segment -segment_time 0.01 -frames 2 -pix_fmt.
2020-08-12 14:56:03
2595
3
原创 pycuda pytorch交互——使用pycuda处理pytorch tensor
很多时候,我们希望对tensor有一些自定义的操作,一种实现方式就是使用pycuda。本文以实现两个tensor的加法为例,讲解如何实现pycuda与pytorch交互。1. pycuda的使用方式首先看下pycuda文档对pycuda的定义:PyCUDA gives you easy, Pythonic access to Nvidia’s CUDA parallel computation API.即pycuda是在python中调用CUDA进行并行计算的接口。使用这个接口的流程为:1
2020-06-27 14:47:11
2249
8
原创 详解插帧算法DAIN论文和代码(Depth-Aware Video Frame Interpolation)
Depth-Aware Video Frame Interpolationflow estimationdepth estimationapproximate the intermediate flows1.depth-aware flow projection 2.hole position flow 填充adaptive warping layersthe flow projection 通过reverse在时刻t经过x位置的flow来估计t时刻x位置的中间flow.F0−>1
2020-06-20 14:24:45
8298
3
原创 ERROR: x265 not found using pkg-config
问题在编译过x265之后,编译ffmpeg时–enable-libx265遇到以下错误:ERROR: x265 not found using pkg-config解决这里是因为pkg-config没有安装; 安装pkg-config:下载安装包在 https://www.freedesktop.org/wiki/Software/pkg-config/ 下载所需版本,这里选择的是0.29.2wget https://pkg-config.freedesktop.org/releases/pk
2020-06-09 19:51:47
4553
6
原创 x265支持hdr10编码
问题编译过x265和ffmpeg之后,用以下命令对hdr10编码:ffmpeg -i input.mp4 -c:v libx265 -x265-params "hrd=1:aud=1:no-info=1:sar='1:1':colorprim='bt2020':transfer='smpte2084':colormatrix='bt2020nc':master-display='G(8500,39850)B(6500,2300)R(35400,14600)WP(15635,16450)L(0,0)':m
2020-06-09 19:15:04
2237
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人