LearnTorch
图片读取以下是常见的图片读取的库
库名称
读取的结果
读取的形状
PIL
Image Object
null
OpenCV
ndarray
(H,W,C),opencv读入的为GBR而不是通常的RGB
torchvision
tonser
(C,H,W),RGB
imageio
ndarray
(H,W,C),RGB
matplotlib
ndarray
(H,W,C),RGB
视频读取以下为常见的视频读取的库
库名称
读取结果
读取的形状
torchvision
tensor
OpenCV
Object
null
imageio
ndarray
strategy 策略模式
Strategy(策略模式)使用场景:同一种方法作用到不同的对象,或者是同一种动作发生不同的变化
排序方法 ——>同时对不同的类型数据进行排序(对int、double甚至一些object对象)
游戏动作:开枪 ——>同一个开枪动作发射不同的子弹
Singleton 单例模式
Singleton(单例模式)场景:没有必要new多个示例类的类,即保证内存中只有一个实例,我们就可以使用单例模式;例如xxxManager等等。
饿汉式代码
123456789101112public class M1 { private static final M1 INSTANCE = new M1(); private M1() {} public static M1 getInstance() { return INSTANCE; } // 业务代码 public void m() { System.out.println("mmmm"); }}
优点:简单高效,JVM保证线程安全
缺点:不管用到该类与否,类装载时完成实例化
懒汉式
12345678910111213141516171819202122public class M2 { private static M2 INSTANCE; ...
KLDistance
最大似然估计 计算一批数据符合一个分布的指标 ——- 似然度
全概率
P ( B _ { i } | A ) = \frac { P ( B _ { i i } ) P ( A | B _ { i } ) } { P ( A ) } = \frac { P ( B _ { i } ) } { \sum _ { i = 1 } ^ { n } } P ( A | B _ { i } ) ,\\P ( A ) = \sum _ { i = 1 } ^ { n } P ( B _ { i } ) P ( A | B _ { i } )
全概率公式:设事件 $B_1,B_2,…B_n $ 构成一个完备事件组,即它们两两不相容,和为全集且 $P(B_i)>0$ ,则对任一事件 $A$有上面的公式
先验概率和后验概率
先验概率(prior probability):指根据以往经验和分析。在实验或采样前就可以得到的概率。
后验概率(posterior probability):指某件事已经发生,想要计算这件事发生的原因是由某个因素引起的概率。
Entory(信息熵)对于 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
DAM
DAM这篇论文的架构主要采用了FOMM的主体,并且在FOMM的模型上进行了部分的修改。
下图是FOMM模型的框架结构和DAM的框架结构:
DAM产生了两种的形式:dam和hdam两种形式。
对于FOMM来说,每一个kp表示一个控制图片变换的一个控制点,多个关键点叠加就可以完成对于一个图片帧的变换,这段话的描述类似于如下变换:
也就是说,我们会有 $k$ 个关键点来控制一帧图像,对于控制的距离以及角度变换,我们使用FOMM模型的规则。
在DAM中,我们会有一个根关键点(root)来限制关键点预测器生成的关键点的相对位置,使得生成的关键点更加的合理。
在HDAM中,我们不会使用根节点来直接限制预测器生成的底层关键点,我们会再生成一层中间关键点,根关键点来控制中间关键点,中间关键点来控制实际的关键点。
leetcodeT926
问题描述 如果一个由 '0' 和 '1' 组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是 单调递增 的。
我们给出一个由字符 '0' 和 '1' 组成的字符串 s,我们可以将任何 '0' 翻转为 '1' 或者将 '1' 翻转为 '0'。
返回使 s 单调递增 的最小翻转次数。
示例1:
123输入:s = "00110"输出:1解释:我们翻转最后一位得到 00111.
示例2:
123输入:s = "010110"输出:2解释:我们翻转得到 011111,或者是 000111。
示例3:
123输入:s = "00011000"输出:2解释:我们翻转得到 00000000。
解题思路 对于一个字符串分析,最终的反转结果必然是:[0 ...
FOMM
Introduction 本文章研究的是利用一个视频数据去驱动一个静态的图片,让其跟随 驱动视频 动起来。(这种驱动动画的技术可以用于 表情迁移 的研究方向上),而对于驱动动画的技术,本篇文章算是一篇奠基的文章,后篇的关于驱动图片的文章大多是是以这个这个FOMM模型的部分改进创新。
FOMM模型的具体内容如上图结构,该模型主要由两部分构成:运动模块(Motion Module)和生成模块(Generation Module)两部分组成。
Motion Module(运动模块)作用:得到关键点流动映射 $\mathcal{\hat T}{S \leftarrow T}$ 和遮挡掩模 $\mathcal{\hat O}{S \leftarrow D}$
遮挡掩模指示 $D$ 的哪些图像部分可以通过扭曲源图像来重构以及哪些部分应当被修补,即从上下文推断
在本模块中,又包含两个部分: 关键点预测器 和 密度运动模块。这里我们注意,我们每一步处理的都是原图(Source)和驱动帧(Driving Frame)(驱动视频的某一帧)。
其中 关键点预测器 是直接作用在两张图片的,得 ...
StyleGAN2
StyleGAN内容回顾
分成两部分:
Mapping network
Synthesis network
StyleGAN出现的问题:
在训练的途中会出现的水滴残影,最后反映在图像中会使得图片部分出现不符合常理的阴影
在训练添加不同的噪声时,某些地方的无法受到噪声的影响
解决水滴阴影styleGAN2修改了styleGAN生成器的结构,来去除水滴阴影。
导致水滴阴影的原因是 Adain 操作,Adain对每个feature map进行归一化,因此有可能会破坏掉feature之间的信息。
文中去掉AdaIN修改生成器结构为
除了网络结构上的改进,还有就是Weight demodulation,公式如下:
w_{i j k}^{\prime \prime}=w_{i j k}^{\prime} / \sqrt{\sum_{i, k} w_{i j k}^{\prime}{ }^2+\epsilon},\\
w_{i j k}^{\prime} = s_i \cdot w_{ijk},\epsilon=10^{-8}训练优化以及图像质量优化Lazy regulariz ...