深度学习
文章平均质量分 61
imperfect00
如果有梦想不去坚持实现,就是空想。
展开
-
pytorch模型转ncnn,并移植android,ios
模型转换pytorch转onnximport torch.utils.datafrom torch.autograd import Variablefrom squeezenet import squeezenet1_2import onnxruntimeimport numpy as npfrom onnxruntime.datasets import get_exampleim...原创 2019-07-26 10:34:37 · 4070 阅读 · 2 评论 -
Squeeze-and-Excitation Networks
SENet的思想是对于不同通道的feature map,我们认为他的重要性是不同的,SENet通过添加一个Squeeze-and-Excitation(SE)模块,学习不同feature map的权重,例如我们输入feature map为C个通道,那么通过SE模块学习到一个长度为C的权重向量w,向量的第i个值,代表第i个通道的feature map的权重,将权重向量w与输入feature map相乘原创 2017-09-10 19:07:18 · 875 阅读 · 0 评论 -
快速梯度下降法-SAGA
SGD对于目标函数:目标函数优化步骤:1.随机旋转索引j,即函数fj(x)f_j(x);2.更新参数x,采用sgd公式为:SAGA(STOCHASTIC VARIANCE REDUCTION METHODS)目标函数优化步骤:1.随机旋转索引j,即函数fj(x)f_j(x);2.对于上述目标函数,采用SAGA参数更新公式为:ϕk+1j=xk\phi_j^{k+1}=x^k.SAGA代码:https:原创 2017-09-01 12:23:46 · 5442 阅读 · 0 评论 -
Pose Guided Person Image Generation
生成网络网络包含两个生成网络,分别为G1,G2.生成网络G1输入为condition image和target pos的串联,生成粗略的姿势图像,即coarse result.生成网络G2,将condition image,与生成网络G1的输入串联,输入G2,生成一个difference map.将G1,G2生成图像相加得到最后的生成图像,即refined result.判别网络判别网络用于判别输入原创 2017-09-10 11:49:21 · 4187 阅读 · 0 评论 -
空间变换网络--spatial transform network
CNN分类时,通常需要考虑输入样本的局部性、平移不变性、缩小不变性,旋转不变性等,以提高分类的准确度。这些不变性的本质就是图像处理的经典方法,即图像的裁剪、平移、缩放、旋转,而这些方法实际上就是对图像进行空间坐标变换,我们所熟悉的一种空间变换就是仿射变换,图像的仿射变换公式可以表示如下: 式中,(xSource,ySourcex^{Source},y^{Source})表示原图像像素点,(xTar原创 2017-09-10 11:11:44 · 40677 阅读 · 0 评论 -
Recurrent visual attention
本文将深度学习与聚焦机制和强化学习结合起来,通过学习本篇文献,可以: 理解聚焦机制中较简单的hard attention 了解增强学习的基本流程 (1)注意力机制(Attention)以物体识别为例,在进行分类的时候,不是一次对一张大图进行估计,而是分多次观察小部分图像,首先初始化一个图像坐标点l,以该坐标点为中心提取小部分图像,并通过一个Gilpse网络图区该部分的图像特征向量,将该部分的图原创 2017-09-10 10:37:28 · 451 阅读 · 0 评论 -
A neural algorithm of artistic style
文章的目的是对于给定的风格化模板,将其风格传输到输入图像中,风格传输采用的VGG的1-5个conv层,网络具体结构如下: 图中,底端图片从左到右分别为风格图像(style image),风格转换结果图像(result image),未风格转换的图像(content image),左边的网络的目的是使得style image 与result image 的风格特征尽量相似,这里用conv层的feat原创 2017-09-10 10:18:13 · 428 阅读 · 0 评论 -
利用全局和局部GAN实现侧脸生成正脸
参考文献为:Beyond Face Rotation: Global and Local Perception GAN for Photorealistic and Identity Preserving Frontal View Synthesis文章对GAN网络进行改进,生成网络包含两个网络,一个用于局部特征生成,另一个用于全局特征生成,网络结构如下:如图所示,利用一个Local Pathwa原创 2017-09-10 10:09:52 · 7125 阅读 · 0 评论 -
tensorflow 多gpu训练
当使用多个gpu训练时,输入数据为batch_size*num_gpu,这样模型训练时间可以大大较小.tensorflow中使用制定gpu可以通过tf.device()实现.例如我想使用0号显卡:gpu_ind=0with tf.device("/gpu:{}".format(gpu_ind))下面介绍一下多gpu模型训练.代码参考自OpenSeq2Seq:https://github.com/N原创 2017-09-17 16:28:01 · 7968 阅读 · 0 评论 -
ImportError: /usr/local/lib/python2.7/dist-packages/torch/lib/libgomp.so.1: version `GOMP_4.0' not f
import torchimport cv2出现错误:ImportError: /usr/local/lib/python2.7/dist-packages/torch/lib/libgomp.so.1: version `GOMP_4.0' not found (required by /usr/lib/x86_64-linux-gnu/libsoxr.so.0)解决方法是将原创 2017-09-25 18:57:12 · 4369 阅读 · 0 评论 -
Video Frame Interpolation via Adaptive Separable Convolution
输入相邻的2帧图像I1,I2I_1,I_2,到一个encoder-decoder网络,encoder-decoder网络输出到4个子网络,4个子网络分别输出得到卷积核k1,h,k1,v,k2,h,k2,vk_{1,h}, k_{1,v}, k_{2,h}, k_{2,v}.用预测的卷积核k1,h,k1,v,k_{1,h}, k_{1,v},与输入帧I1I_1进行卷积操作,卷积核k2,h,k2,v,k原创 2017-09-17 11:55:18 · 1666 阅读 · 0 评论 -
人脸旋转-Towards Automatic Image Editing: Learning to See another You
文献主要应用:1.人脸旋转2.图像修复3.光照增强原理分析模型结构为: 生成图像分为两个过程:第一个过程为Image generation,生成得到旋转图像.通过一个attribute向量,表示pose特征,将atrribute输入两个全连接层,具体网络结构为 FC(512)-FC(900×na)-Reshape(30,30,na),得到30×30×na30\times30\times n_a的f原创 2017-09-17 11:35:30 · 540 阅读 · 0 评论 -
python实现自动查找并使用空闲GPU
查看GPU memory,并将结果保存在tmp中:os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp')读取gpu memory:memory_gpu=[int(x.split()[2]) for x in open('tmp','r').readlines()]求剩余memory最多的显卡号,并设置CUDA_VISIBLE原创 2017-09-07 18:04:20 · 10048 阅读 · 0 评论 -
Enhanced Deep Residual Networks for Single Image Super-Resolution
网络结构为,conv(3,3)+residual block(N个residual block层),+conv(3,3)+upsample block.residual block:def resBlock(x,channels=64,kernel_size=[3,3],scale=1): tmp = slim.conv2d(x,channels,kernel_size,activation_原创 2017-09-23 23:08:20 · 822 阅读 · 0 评论 -
DCGAN代码分析
生成网络生成网络输入为噪声向量z,和输出类别向量y,输出为生成图像.以手写字体图像为例,z为100维的向量,由于手写字体分为10类,因此输出类别向量y为10维的向量,对应的类别的索引值为1,其他值为0.代码如下:def generator(self, z, y=None): with tf.variable_scope("generator") as scope: if not self原创 2017-09-23 22:52:53 · 2385 阅读 · 0 评论 -
Style Transfer for Anime Sketches with Enhanced Residual U-net and Auxiliary Classifier GAN
网络结构本文的GAN网络结构为:生成网络的输入为需要风格转换的图像即input,以及风格特征.采用VGG16/19的fc1层,提取风格图像的特征,风格特征为4096维的向量.生成网络结构和目标函数文章试验发现,如果u-net可以使用底层的网络学习到特征,那么高层的网络就不会去学习,如图4所示,u-net网络的输入输出都为同一张图像,也就是实现复制图像的功能.由于输入输出是相同的,损失函数会立刻变为0原创 2017-09-23 22:49:52 · 2723 阅读 · 0 评论 -
Deep Identity-aware Transfer of Facial Attributes
网络分为两部分,第一部分为face transform network,得到生成图像,该网络还包括一个判别网络用于判别输入图像的真假,以及一个VGG-Face Netowork,用于判别输入图像的性别,即identity loss.利用face transform network得到的生成图像比较模糊,因此将生成图像输入一个enhancement network,得到增强图像.网络结构如下:face原创 2017-10-18 18:34:07 · 1496 阅读 · 0 评论 -
Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image
着色原理网络结构为:输入为灰度图像,输出为彩色图像.网络结构包括四个部分,Low-Level Feature Network用于提取图像的低层特征,提取低层特征后,通过一个Mid-Level Feature Network得到中间特征,另外通过Global Feature Network提取全局特征,将全局特征与中间特征融合,即Fusion layer,之后将融合特征输入Colorization N原创 2017-10-12 19:56:45 · 1017 阅读 · 0 评论 -
focal loss
在物体检测中,一张图像可以生成成千的candidate locations,而其中只有少数的candidate locations包含object,也就是绝大多数的candidate locations都为一个类别(背景),导致类别不均衡.在训练的时候,这些绝大多数的candidate locations占损失函数的大部分,且由于都属于一个类别,容易分类,因此导致模型的优化方向很难朝着我们希望的能检原创 2017-11-03 19:10:19 · 1689 阅读 · 0 评论 -
caffe ssd精度评价
可以参考,https://github.com/intel/caffe/blob/master/models/intel_optimized_models/ssd_mobilenet/fp32_acc.prototxt原创 2018-12-10 14:07:15 · 765 阅读 · 0 评论 -
半监督训练方法--mean teachers are better role models
本文采用两个网络进行训练,连个网络模型结构一样,分别命名为teacher,student网络。student网络参数根据损失函数梯度下降法更新得到;teacher网络参数通过student网络的参数迭代得到。训练数据:有标签样本x1,y1,以及无标签样本x2.训练策略:将有标签数据x1,y1输入student,从而计算loss1.将无标签数据x2输入student,从而计算得到label...原创 2018-11-14 11:30:41 · 5918 阅读 · 3 评论 -
image caption学习笔记
show and tellcnn-lstm结构,cnn部分采用vgg,使用的是vgg的fc2层作为输出图片特征。得到图片特征后,将其输入一个线性层(CNN),得到x−1x_{-1}x−1作为第一个lstm的输入,对于输入句子的每个字sts_{t}st,将其与权重参数wew_ewe相乘,输出作为lstm的输入,模型结构如下,inference有两种方法得到输出,一种是直接去概率最大...原创 2018-11-01 18:15:32 · 1245 阅读 · 0 评论 -
MTCNN-Tensorflow
git clone https://github.com/AITTSMD/MTCNN-Tensorflowmtcnn为一个多任务训练,物体框和特征点数据分别为两个数据集,数据集1标记里物体框位置,因此只用与训练物体检测。数据集2标记有物体框,特征点,用于训练特征点。输入数据每行分别为,path to image, cls_label, bbox_label, landmark_label...原创 2018-11-01 18:10:30 · 3281 阅读 · 6 评论 -
Face Aging with Contextual Generative Adversarial Nets
网络结构如图2所示,首先按照68个人脸特征点对输入图像进行对齐,之后,采用Deeplab v2算法将输入图像分割为人脸区域,和非人脸区域,并将非人脸区域标记为灰色.生成网络-Transformer network将处理后的图像,与年龄lable yyy输入到条件变换网络(G,Transformer),得到合成图像G(x,y)G(x,y)G(x,y)(fake image).生成...原创 2018-02-10 15:06:45 · 774 阅读 · 0 评论 -
Ordinal Regression with Multiple Output CNN for Age Estimation
文献提出了结合CNN和回归进行年龄预测的端到端的深度学习网络,网络结构图如下,输入为60×60×360\times60\times3的图像,网络的前三层为三个卷积层,前两个卷积层为convolution+relu+batchnorm+pooling,第三个卷积层为convolution+relu+batchnorm结构,卷积层之后是两个全连接层,第一个FC的输出通道为80,由于年龄预测为100个类别原创 2018-01-05 19:55:47 · 3316 阅读 · 0 评论 -
SqueezeNet猫狗识别
caffe训练数据准备新建data存放训练数据,test_data存放测试数据,data,test_data目录下新建每个类别对应的文件夹,用于存放每个类别的图片,例如,分为cat,dog两类,则分别新建目录cat,dog,/home/data/cat /home/data/dog/home//test_data/cat /home//test_data/dog数据转换为caffe训练数据格式训原创 2017-12-30 13:43:18 · 4801 阅读 · 1 评论 -
Age and gender estimation based on Convolutional Neural Network and TensorFlow
训练数据处理imdb数据提取gender: 0 for female and 1 for male, NaN if unknownage: 年龄分为101类,分别为从0到100岁.将训练数据转换为tfrecords格式,命令为,python convert_to_records_multiCPU.py --imdb --nworks 8 --imdb_db /home/research/data/原创 2017-12-30 13:07:13 · 1192 阅读 · 1 评论 -
Masking GAN
github代码:https://github.com/tgeorgy/mgan文章的创新点:1.生成网络输入x,输出包括分割模板mask,和中间图像y,根据mask将输入x与中间图像y结合,得到生成图像.这样得到的生成图像背景与输入x相同,前景为生成部分.2.采用端到端训练,在cyclegan损失函数的基础上,添加了对输出生成图像进行约束.模型结构如下,生成网络首先输出为分割模板mask,以及中间原创 2018-01-14 16:43:46 · 2628 阅读 · 0 评论 -
CoGAN
文章的思想是,利用网络层的权重共享约束,训练GAN网络.模型包括两个生成网络,两个判别网络,训练数据为不成对的两个域Domain1,Domain2的图片,我们希望的是训练的两个生成网络g1,g2能够在输入向量z相同的情况下,生成的图片高频信息相同,低频信息不同.因此在觉得高频特征的生成网络的前几层,将两个生成网络的权重共享,并且,将两个判别网络f1,f2的最后几层网络权重共享,如上图所示.原创 2018-01-21 18:58:51 · 3616 阅读 · 0 评论 -
FACE AGING WITH CONDITIONAL GENERATIVE ADVERSARIAL NETWORKS
文章用于生成不同年龄的图片,采用的模型是条件对抗网络,主要创新点是,首先通过一个网络,提取图像特征向量,并通过身份保持网络,优化图像的特征向量,特到特征向量z∗z^*,之后便可以对于每个输入年龄,查找其年龄向量,并将该年龄向量与输入图片特征向量z∗z^*串联,输入生成网络,生成目标年龄图片.特征向量优化网络结构如下,网络的训练数据为,输入图像x,以及该图像的年龄y0y_0,对输入图像,将其输入Enc原创 2018-01-11 18:26:53 · 2218 阅读 · 0 评论 -
invertible Conditional GANs for image editing
github代码为https://github.com/Guim3/IcGAN通常GAN的生成网络输入为一个噪声向量z,文献的创新点是,利用一个encoder网络,对输入图像提取得到一个特征向量z,将特征向量z,以及需要转换的目标attribute向量y串联输入生成网络,得到生成图像,网络结构如下,如上图所示,包括连个encoder网络,分别为Ez,EyE_z,E_y,EzE_z用于将输入图像编码为原创 2018-01-01 15:51:59 · 2237 阅读 · 0 评论 -
Stacked Conditional Generative Adversarial Networks for Jointly Learning Shadow Detection and Shadow
文章提出了包含两个生成网络,两个判别网络的网络结构,用于去除图像中的阴影,并还原没有阴影的真实图像.网络机构图如下,生成网络G1用于检测阴影区域,输入为包含阴影的图像,输出为阴影区域图像.生成网络G2用于去除阴影,输入为包含阴影的图像和G1生成的二值图像的,输出为去除阴影的图像.判别网络D1,D2用于监督这两个生成过程,直到模型收敛.判别网络D1的输入为,将阴影图像分别和G1检测的阴影区域图像,目标原创 2017-12-17 15:21:48 · 1902 阅读 · 0 评论 -
starGAN原理代码分析
下载:git clone https://github.com/yunjey/StarGAN.gitcd StarGAN/下载celebA训练数据:bash download.sh训练:python main.py --mode='train' --dataset='CelebA' --c_dim=5 --image_size=128 \ --sample_path原创 2017-12-02 19:50:02 · 8353 阅读 · 4 评论 -
UNSUPERVISED CROSS-DOMAIN IMAGE GENERATION
本文提出了一个域转换网络(domain transfer network,DTN),网络的作用是,对于给定两个域S,T,我们希望学习一个生成函数G,将S域的样本映射到域T,这样,对于一个给定函数f,不管f的输入为来自域S或T,f的输出会保持不变.网络结构如下: 生成网络包括函数f,g.f用于提取输入图像的特征,得到一个特征向量.g的输入为f的输出,输出为目标风格的图像.训练数据为为无监督数据,即,原创 2017-11-22 18:22:57 · 3058 阅读 · 0 评论 -
Neural Discrete Representation Learning-代码分析
VAEVAE包括一下几部分:1)一个encoder网络,对后验分布 q(z|x) 进行参数化,z 是离散隐随机变量,x 为输入数据;2)先验分布 p(z);3)一个decoder网络,它的输入数据分布是 p(x|z)。VQ-VAE使用离散隐变量,受向量量化的启发用一种新的方式进行训练。后验和先验分布是明确分类的,从这些分布中提取的样本可通过嵌入表进行索引。然后将这些嵌入作为解码器网络的输入。网络结构原创 2017-11-15 19:37:12 · 3907 阅读 · 1 评论 -
Network Slimming
Network Slimming-Learning Efficient Convolutional Networks through Network Slimming](https://arxiv.org/abs/1708.06519)Network Slimming为一种神经网络训练方法,其可以减小模型大小,运行内存,计算量,同时没有精度损失,并最小化训练过程.得到的模型不需要专门的库或者软件来运原创 2017-08-29 19:40:23 · 2537 阅读 · 0 评论 -
face-expression-detect
github代码:https://github.com/adithyaselv/face-expression-detect原理人脸表情分类,将人脸表情分为7类,emotions={ 1:"Anger", 2:"Contempt", 3:"Disgust", 4:"Fear", 5:"Happy", 6:"Sadness", 7:"Surprise"}分类原理为,首先采用dlib检测人脸的68个特征原创 2017-09-14 20:10:08 · 1298 阅读 · 0 评论 -
实时语义分割--ICNet for Real-Time Semantic Segmentation on High-Resolution Images
ICNet语义分割算法原创 2017-08-20 13:14:05 · 8055 阅读 · 0 评论 -
RCNN(Regions with Convolutional Neural Network Feature)
背景知识在目标检测评价中,有一个参数定位准确率,即IOU,IOU计算公式如下:简单来说,IOU就是模型预测的bounding box与标记bounding box的重合率.通常我们预测的bounding box是无法与标记bounding box完全重合的,例如下面几种情况:因此可以通过求两个bounding box的重合率即IOU,并设定一个阈值t0,并认为IOU值原创 2017-08-03 18:21:34 · 2753 阅读 · 0 评论 -
yolo9000学习笔记
原始的yolo采用224x224的训练数据训练分类网络,再high resolution其为448x448的图像用于检测.这意味着网络同时要学习物体检测和high reslution输入图像.对于yolov2,我们首先输入图像为448x448,训练分类网络,在ImageNet上迭代10个epochs.这就使得网络有时间去调整其滤波其以更好地处理high resolution input.之后我原创 2017-08-02 14:20:11 · 3562 阅读 · 0 评论