自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode系列:反转链表的形象表示

1. 首先pre的定义是建立在对链表的理解上的,最终链表的head因为没有next节点,所以就是None。4. pre = cur和cur = tmp就是在把指针向后移,重复上面3的步骤,把C->cur。反转链表是一道比较简单的题,主要考察的是对链表数据结构的理解和双指针应用,比较容易出错的地方是指针的移动顺序。2. cur表示当前节点,之后的while循环也是建立在cur上的,当cur为none了,表示这个链表遍历到尾部了。这两个操作后实现了cur->A,那么接下来的步骤就是该把C->cur了。

2023-12-08 10:19:26 178

原创 刷题系列——排序算法

参考:README - 十大经典排序算法1)排序算法分为内部外部排序两种,这个之前并不了解,外部排序需要访问外存的这个就是指需要额外内存比如另一个list或者dict存储中间结果。2)稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同,这点之前也不了解。1. 冒泡排序:每次比较两个元素,随着遍历数组,最小的元素会浮到数组顶端。 1. 做完第一次遍历,最大的元素会到数组末端;每一次保证一个元素到了正确的位置,因此之后的遍历会逐渐缩短长度。 2. 实

2023-12-04 21:02:22 385

原创 论文阅读——SENet:Squeeze-and-Excitation Networks

最近需要了解一下轻量化模型,把SENet看一下。下面就是一个SE block:是输入,就是一个卷积操作,所以就是feature maps。这之后操作称为squeeze ,产生一个通道描述(channel descriptor)。这个操作在空间上聚集feature maps(可以看到经过得到的是一个1*1*C的向量,空间H*W消失了),因而具有了全局感受野。紧接着是操作称为excitation,这一步是把得到的channel descriptor通过self-gating机制对每一个通道产生调制权重。最后

2020-08-06 15:18:35 490

转载 刷题系列——博客参考

感觉这个博主文章写得不错,实用性较高:https://labuladong.gitbook.io/algo/

2020-04-25 13:23:41 349

原创 人脸表情系列:论文阅读——Context-Aware Emotion Recognition Networks

该论文提出了一种能感知图像内容进而提高表情识别能力的网络。目前主流的表情识别基本不考虑图像背景/context,而是把人脸crop出来单独进行表情的识别。本文认为,图像背景信息可以帮助对表情的判断。本文提出的网络称为Context-Aware Emotion Recogntion Networks(CAER-Net),主要功能就是同时参考背景信息和人脸信息,实现更准确的表情识别。CAER-Ne...

2020-03-07 14:40:15 2387 10

原创 代码系列:Python——assert,easydict,isinstance,callable,io.BytesIO

1. assert:断言语句,判断assert后的语句,如果False,则终止程序抛出异常;否则可以继续执行。如果assert判断语句后接的提醒语句,抛出异常时可以同时抛出。2. easydict模块:可以用访问属性的方法访问字典中的元素。from easydict import EasyDict as edicteasy = edict(d = {'foo':3, 'bar':{'x...

2020-02-28 10:22:17 478

原创 GAN系列:论文阅读——Analyzing and Improving the Image Quality of StyleGAN(StyleGAN改进)

2019.12的对styleGA进一步改善的论文,还是NVIDIA的。这篇论文主要从结构设计和训练方式上进行了改变,从而消除styleGAN中出现的artifacts。本文针对的artifacts主要两类:1)成水滴状的/blob-like artifacts:主要与结构设计有关,因此本文更改了normalize;2)与progressive growing的训练方法相关,因此本文更改了训练方式。...

2020-02-26 13:20:40 3360

原创 人脸表情系列:论文阅读——Unconstrained Facial Expression Transfer using Style-based Generator

比较新的论文,2019.12的,来自Facebook AI。Task是表情迁移,借鉴了styleGAN中的生成器,能得到更自然的large scale图像。创新主要在生成器的使用方式上,避免了训练中对pair data的需求,一是能保证更充足的数据,二是对于新数据不用重新训练。表情是一种更为抽象深层的特征,且通常附着于人脸特征上,很难单独提取,会受到个体面部特征差异的影响,通常要考虑如何...

2020-02-24 16:15:32 973 1

转载 代码系列——尾递归

https://www.cnblogs.com/hello--the-world/archive/2012/07/19/2599003.html

2020-02-19 11:45:12 137

原创 代码系列:pytorch——make_grid,ReflectionPad2d,BatchNorm2d

1. make_gridtorchvision.utils.make_grid()作用是将若干幅图像拼成一幅图像,如下所示:torchvision.utils.make_grid(tensor, nrow=8, padding=2, normalize=False, range=None, scale_each=False)tensor是4D张量,比如(B, H, W, C)的图像;n...

2019-10-16 20:24:41 895

原创 代码系列:pytorch——torchvision.datasets.ImageFolder

参考博客:https://blog.csdn.net/TH_NUM/article/details/80877435用于从文件夹中读取数据,源码链接:https://github.com/pytorch/vision/blob/master/torchvision/datasets/folder.pyImageFolder是DatasetFolder的子类,有以下属性:Attribu...

2019-10-16 14:31:40 1577

原创 代码系列:Keras实现自定义contrastive loss及多输入多输出model

以contrastive loss为例,contrastive loss用于成对的数据(pair data),通常出现在孪生网络(siamese network)中,公式如下:其中,表示输入的pair data的特征向量;表示pair data的标签是否相同,取值为0(不同)或1(相同);表示之间的距离(一般为欧式距离),表达式如下:因此整个contrastive loss的定义为...

2019-09-28 13:18:27 4251 1

原创 代码系列——keras.layers.Dot()解析

Dot类在keras的Merge中,根据Keras中文文档:https://keras-cn.readthedocs.io/en/latest/layers/merge/,Merge层提供了一系列用于融合两个层或张量的层对象或方法,以大写首字母开头的是Layer类,以小写字母开头的是张量的函数,张量函数内部其实调用了大写字母开头的层。Dot类源代码如下:https://github.com...

2019-09-06 16:02:36 14988 2

原创 人脸表情系列:论文阅读——Photorealistic Facial Expression Synthesis by the CDAAE

论文完整题目:Photorealistic Facial Expression Synthesis by the Conditional Difference Adversarial Autoencoder,task是表情生成,主体结构是一个Adversarial Autoencoder,如下图所示:生成器是一个conditional autoencoder:输入图像,先经过下采样得到la...

2019-09-02 10:57:03 589 1

原创 卷积系列——形变卷积(Deformable convolution)代码理解和使用

给出代码地址:https://github.com/kastnerkyle/deform-conv,keras版本的。可以直接看目录scripts下的scaled_mnist.py,网络模型由函数get_deform_cnn()加载:# ---# Deformable CNNinputs, outputs = get_deform_cnn(trainable=False)mode...

2019-08-30 11:14:49 7656 3

原创 人脸表情系列:论文阅读——Facial Expression Recognition by De-expression Residue Learning

task是表情识别,将一张图像视为两部分组成:expressive component和neutral component。从一张图像中生成该个体的无表情图像称为de-expression learning procedure,则这个过程中逐步抛掉的就是expressive component。既然是抛掉的部分,如何使用呢?本文借助同尺寸的两组feature maps,得到两者间的差也就是被抛掉的...

2019-08-29 11:13:47 1627 7

原创 人脸表情系列:论文阅读——A Compact Deep Learning Model for Robust Facial Expression Recognition

这篇论文task是表情识别,给出两个模型:1. frame-based model:基于一张图像,compact CNN进行表情识别;2. frame-to-sequense model:基于序列图像而不是单张图像,主体包括两部分:上文提到的提取特征的CNN网络和进行识别的Gated Recurrent Neural Network,其实就是在单张图像的识别基础上利用了序列信息,进一步提高...

2019-08-27 17:24:18 1623

原创 人脸表情系列:论文阅读——Peak-Piloted Deep Network for Facial Expression Recognition

这篇论文的task是表情识别,从目标函数(object function)入手,即修改了监督信息:之前的目标函数是针对单个样本/表情图像进行计算的,该论文提出一个peak-piloted deep network(PPDN),使用来自同个体(subject),同表情(expression)的峰值图像/easy sample/peak expression作为非峰值图像/hard sample/no...

2019-08-27 09:53:32 1256 1

转载 Batch Normalization(BN), Instance Normalization(IN) and Style Transfer

因为styleGAN中涉及了AdaIN(adaptive instance normalization),为了理解这部分查了一下,发现一个大神对BN和IN在图像风格迁移任务中的作用解读,直接贴链接:https://www.optbbs.com/thread-329172-1-1.htmlID为Naiyan Wang的回复就是,这个名字很熟悉啦,最后他有提到自己的工作。...

2019-07-24 09:18:00 858

原创 人脸表情系列:代码阅读——GANimation: Anatomically-aware Facial Animation from a Single Image

代码地址:https://github.com/albertpumarola/GANimation该表情生成算法是基于Action Unit的,因此首先要有images和其AU标签。根据readme文件,要根据data目录下的prepare_au_annotations.py文件生成pkl文件,该文件包含了AU标签。直接看训练过程,运行train.py文件,命令行输入参数data_dir,...

2019-07-23 15:54:03 3663 2

原创 人脸表情系列——人脸表情识别(Facial Expression Recognization/FER)

最近看了几篇关于表情识别的论文,稍微记录一下。综述推荐一篇CVPR2019的:Deep Facial Expression Recognition: A Survey基于深度学习的表情识别流程为:人脸识别+表情分类目前存在的问题:1. 相比于目标检测,人脸识别等任务数据不足,容易过拟合;2. 受光照等外界条件影响大;3. 类内差大(不同个体的脸部特征和表情不同,也就是论文经常提到的id...

2019-07-15 11:08:22 13473

原创 算法和数据结构系列:快速排序——Python实现

写了两个版本:1:基准数是随机取的,然后把它放在列表最后,开始从列表第一项比较。从第一项开始,如果该元素大于基准数,不进行任何操作,开始比较下一项(l += 1);如果该元素小于基准数,则要往前排,和前面大于基准数的元素进行交换,就是小的元素要不断往前插,大的数就会不断被扔向后面。注意这个过程就需要两个索引:一个指向前面小元素和大元素的分界线(small),一个指向当的元素(l)。smal...

2019-05-30 16:09:47 167

原创 目标检测系列:论文阅读——Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression

这也是2019CVPR的一篇论文,斯坦福大学的,针对IoU进行了改善,提出generalized IoU(GIoU)。IoU是目标检测等任务中必不可少的一部分,通过计算预测box和标签box之间的IoU对目标进行分类,并且通过IoU阈值进行筛选后边框回归,以修正目标位置和形状。泛化一点,IoU可以衡量任意两个区域的形状相似度,对于区域A和B,。有公式可知,对于任何具体情况,IoU都和区域的...

2019-05-07 13:32:56 685

原创 目标检测系列:论文阅读——Feature Selective Anchor-Free Module for Single-Shot Object Detection(CVPR2019)

居然是这学期第一篇目标检测的论文,再不看都快忘了检测的知识了。最近关于anchor的讨论特别多,本文就是比较新的anchor-free方法,提出的模型称为FSAF(Feature Selective Anchor-Free Module),主要包含两个内容:anchor-free的边框回归及其基于的特征层的选择。先回顾一下anchor-based方法:anchor box是预设好的一些边框...

2019-05-06 16:28:26 899 1

原创 GAN系列:论文阅读——MSGAN(Mode Seeking Generative Adversarial Networks for Diverse Image Synthesis)

这篇论文来自2019CVPR,用以解决conditional GAN中的mode collapse问题,改善图像生成的多样性。mode collapse是指生成的图像多样性较差,非常接近数据集中的某一种,以试图蒙骗判别器。产生原因是:数据集中的图像可分为多个mode(其实就是几大类),有的mode中的图像比较多,称为large mode,有的称为small mode。对应到分布中,就是larg...

2019-05-01 19:31:00 5913 1

原创 GAN系列:论文阅读——StyleGAN(A Style-based Generator Architecture for Generative Adversarial Networks)

这篇论文感觉理论上还蛮复杂的,第一遍实在不太懂,但效果比较好又舍不得放弃,硬头皮看第二遍了。但是官方代码好难好难!StyleGAN中的style借用自图像风格迁移,之前也看过风格迁移的论文,图像的Gram矩阵一般可以表示它的风格也就是style。这篇文章是PG-GAN之后的,主要改变了生成器的结构实现无监督地生成可控性强的图像。PG-GAN中是通过一层层地给生成器和判别器增添卷积层同时提高...

2019-04-30 13:23:51 17504 11

原创 Python系列:__init__()构造器,类的继承

创建一个类,初始化类实例时就会自动执行__init__()方法。该方法的第一个参数为self,表示的就是类的实例。self后面跟随的其他参数就是创建类实例时要传入的参数。class LogicGate: def __init__(self, n): self.label = n self.output = Noneg1 = LogicGate("G1")g2 = LogicG...

2019-03-27 20:24:19 764

原创 算法和数据结构系列:欧几里得算法求最大公约数

这是看Problem solving with algorithms and data structures using python这本书时遇到的,干脆查了查。数学原理参考自:https://www.cnblogs.com/kirito-c/p/6910912.html?utm_source=itdadao&utm_medium=referral有两个数a和b,其中a不小于b,求...

2019-03-27 20:03:40 1012

原创 GAN系列:论文阅读——SimGAN( Simulated + Unsupervised Learning )

把对抗思想用于改善生成图像的质量:保留生成图像重要的语义/标注信息,生成细节部分,使得图像更加逼真(即simulate)。训练对抗网络仅需要图像,不需要任何标注信息(unsupervised)。获得的图像称为refined images可以作为数据用于训练其他模型,相当于数据扩增,能使模型能力大幅度提升。该文主要内容:1. 定义无监督学习模型SimGAN对合成的假图像进一步修正(refine)...

2019-03-19 16:37:14 2497 1

原创 GAN系列:论文阅读 & 代码阅读——Conditional Generative Adversarial Nets(CGAN / Conditional GAN)

这篇论文真的好简短,代码也只用改一点点就可以,非常简单。论文里提出Conditional GAN的概念有两个motivations:1. 分类问题中如果类别过多,分类变难2. 一张图片可能有多种标签,不是一对一的映射文中称第一个问题为Multimodal,举例Flicker数据集,每张图片可能具有多个语义接近但表现形式不同的标签(也有可能语义不同)。这里涉及到自然语言处理的问题,将...

2019-03-19 16:36:57 2538 1

原创 GAN系列:论文阅读 & 代码阅读——DCGAN(Deep Convolutional Generative Adversarial Networks)

DCGAN也是GAN领域内比较经典的内容,涉及到了GAN网络结构上的很多改变,所以结合代码看了看论文。论文:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS在上一篇论文Generative Adversarial Networks中,主要学习的是GAN的原...

2019-03-15 19:26:27 1071

原创 卷积系列:Deconvolution(反卷积)/Transpose Convolution(转置卷积)/Fractional convolution

在基本的网络模型中,卷积是最常见的操作,通常用来提取特征。随着卷积操作,特征图往往会逐渐变小。对于分类任务,只是对图中包含目标的一部分感兴趣,小特征图中的特征更加高级具体,适合目标分类和定位;而对于分割任务,需要对整张图像进行像素级的判别,小的特征图无法很好地对应到原图的每个像素,分割效果就会较差。因此除了卷积和池化这样会“提炼”图像的方法,也需要能够扩大特征图的“还原”图像的方法,常用的有反卷积...

2019-03-11 18:17:47 2160

原创 论文阅读:AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)——AlexKrizhevsky...

GAN的课程大概就看到这里了,后面打算看几篇这个领域内比较新的论文和代码,最好能实现一下。上学期看了一些CV领域的论文,主要以物体检测为主。当时基本没有看代码,所以理解也是很浅显的,细节上并不明确,现在想整理一下。ImageNet Classification with Deep Convolutional Neural Networks这篇论文算是入门篇吧,将CNN用于分类,在Image...

2019-03-06 17:06:02 782

原创 GAN系列:李宏毅老师GAN课程P8——Photo Editing

生成器的输入是一个低维向量,输出是一张图片。向量的每一维可能对应着图像的某个特征,改变的值就可以调整图像内容。那么:1. 对于一张已有的生成图像,如何得到它对应的向量?2. 又如何知道中的每个元素/维度对应着图像中哪个特征?3. 该维度是以怎样的具体值控制着该特征的表现呢?回答1:利用GAN+Autoencoder的结构得到。如下图所示:已有生成器(同时相当于解码器),加入一个编码...

2019-03-03 09:53:13 598 1

转载 GAN系列:代码阅读(3)——Xavier初始化方法

转载自:https://blog.csdn.net/shuzfan/article/details/51338178#commentBox在上一篇GAN系列:代码阅读(2)——Generative Adversarial Networks & 李宏毅老师GAN课程P1+P4 中一直没弄懂一个地方:def xavier_init(size): in_dim = size[0...

2019-03-01 15:16:52 1615

原创 GAN系列:李宏毅老师GAN课程P7——Info GAN,VAE-GAN,BiGAN

Info GAN:在GAN的生成器中,输入一个随机向量,可生成一副图像。向量和图像间的关系可以理解为某种映射,也可以视作向量是图像的特征(尽管可能是隐形的)。为了能找到向量中每个元素/特征和生成图像间的关系,希望元素的改变对图像的影响是有规律可循的,但是一般这种规律是不直观的,如下图所示:Info GAN就是针对该问题进行的改进:1. 生成器的输入随机向量由两部分组成:和(都是向量...

2019-03-01 13:08:28 2259

原创 GAN系列:代码阅读(2)——Generative Adversarial Networks & 李宏毅老师GAN课程P1+P4

昨天开会简直晴天霹雳,我们实验室所在的十楼要重新规划,这期间老师也不提供其他房间,等装好了再回去,估计至少半学期?猜一猜还能毕业吗?天天泡咖啡厅,肉疼。这份代码在github上有好多stars,所以就看了看(主要还是因为今天忘记带耳机了,就没办法听课了)。注释直接写在代码里了。import tensorflow as tffrom tensorflow.examples.tutoria...

2019-02-27 13:19:27 1027

原创 GAN系列:李宏毅老师GAN课程P6——Tips for Improving GAN

在上节课中发现目标函数中的散度会使GAN的训练产生各种各样的问题,通常是因为真实数据分布和生成分布间往往重合部分很少,可从两个方面理解:1. 图像数据本身的原因:图像表示为一个高维的向量,但在这个高维空间中,只有极少一部分向量是图像(高维空间中的低维流形)。因此在这个高维空间中这两个低维流形的重合是非常少的(低维向量被扭曲成空间)。2. 在衡量两个分布间的散度时,是先对两个分布采样,由...

2019-02-25 23:34:46 460

原创 Deep Learning阅读笔记:Chapter 5—Machine Learning Basics(2)

估计、偏差和方差(Estimators, Bias and Variance)点估计(Point Estimation)点估计(point estimation)是指通过估计仅得到“最优”的一个估计值或者是一个估计向量,若待估计的参数为,估计量记作。令表示m个独立同分布的数据点,点估计为这些点的函数:。定义上不要求函数g的输出是接近的值,甚至可以是可允许的任意值(点估计的定义十分宽松,使得...

2019-02-24 20:20:50 271

原创 GAN系列:李宏毅老师GAN课程P5——General Framework

这部分主要是数学上的推导:之前设置的目标函数度量的是生成图片和真实图片分布间的JS散度,如果使用其他散度,效果如何呢?引入概念f-divergence。假设两个分布P和Q,和分别为从中采样x的概率,则f-divergence表示为:,其中是凸函数,且。其实就是在用一个广泛的函数定义散度。这样f-divergence就可以衡量分布P和Q间的差别:如果for all x,,应该取得f-di...

2019-02-24 14:06:39 1057

空空如也

空空如也

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

TA关注的人

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