自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人脸识别-SphereFace

简介文章来源CVPR2017。核心思想是修改SoftmaxLoss来增大类间角度距离。 文章地址:https://arxiv.org/abs/1704.08063 代码地址:https://github.com/wy1iu/spherefaceSoftmaxLoss首先回忆一下softmax。对于二分类的情况,softmaxloss产生的后验概率为: 由最大似然原则,使用如下公式作为los

2017-10-08 11:05:22 2080

原创 pytorch-指定多gpu训练

如何指定到 4,5,6,7号卡方法一:步骤: # gpu init multi_gpus = False if ',' in args.gpus: gpu_ids = [int(id) for id in args.gpus.split(',')] multi_gpus = True else: gpu_ids =...

2019-04-12 21:23:36 9293

原创 hybrid_forward 参数问题

下面代码是全连接层的实现。可以看到 hybrid_forward 的输入参数为:(self, F, x, weight, bias=None)。F是NDArray或者Symbol.X是输入的值。 我们返现 weight, bias=None 并没有传入,而是通过在__init__里用self.weight = self.params.get(…)以后,这个weight就会自动被传到hybri...

2019-01-31 16:45:51 1404

原创 轻量网络之ShuffleNet

简介本文是来自face++ 的ShuffleNet. 比mobilenet 在imagenet上准确率高 (absolute 7.8%) 。论文地址:https://arxiv.org/pdf/1707.01083.pdf代码地址:https://github.com/farmingyard/ShuffleNetMotivation之前的Google的网络Xception采用深度可分离卷...

2019-01-09 18:30:30 469

原创 轻量模型之SqueezeNet网络

简介2016年2月,《AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size》 发表在ICLR-2017。论文地址:https://arxiv.org/abs/1602.07360模型地址:https://github.com/DeepScale/SqueezeNet核心思想:大量使用1x1卷机...

2019-01-08 23:12:42 678

原创 mxnet如何打印symbol输出维度

arg_name = fc1.list_arguments()out_name = fc1.list_outputs()arg_shape, out_shape, _ = fc1.infer_shape(data=(1,3,112,112))print({'input' : dict(zip(arg_name, arg_shape)),'output' : dict(zip(out_name...

2018-08-29 10:33:52 2963

原创 mxnet(gluon)学习之路-自动求导

简介mxnet 提供了自动求导的方法,相比于使用caffe需要自己写反向传播,这可以更加节约我们的时间。求导例如: y = 4 * x^2 x = [[1,2; 3,4]] dy/dx = 8x = [[8,16;24,32]] 使用mxnet自动求导: x = mx.nd.array([[1,2], [3,4]]) x.attach_grad() ...

2018-08-05 16:14:54 1479

原创 mxnet(gluon)学习之路-mnist训练

训练流程import mxnet as mxfrom mxnet.gluon import loss as gloss, nnimport mxnet.gluon as gluonfrom mxnet import autogradimport mxnet.ndarray as ndimport numpy as npimport mxnet.metricclass LeNet...

2018-08-05 00:51:45 1484

原创 mxnet(gluon)学习之路-使用HybridBlock构建网络

简介mxnet gluno接口提供 Sequential, HybridSequential 通过 add 串联的形式将构建网络,同时也提供HybridBlock通过继承的方式来构建网络,那么他们之间有什么区别呢? 1. Sequential构建的是动态图,即命令式编程形式,这种形式可以很方便的debug。例如:net = nn.Sequential()net.add( ...

2018-08-04 23:49:33 5466

原创 mxnet(gluon)学习之路-网络可视化

如何可视化网络神经网络的可视化是十分有用的,对于之前学习caffe的同学来说可以使用 netscope来进行可视化,而对于mxnet来说我们可以使用mxnet自身的函数完成可视化。import mxnet as mxfrom mxnet import gluonnum_hidden = 64net = gluon.nn.HybridSequential()with net.nam...

2018-08-04 23:06:03 1313

原创 Pose-Robust Face Recognition via Deep Residual Equivariant Mapping

简介:这篇文章来自于商汤CVPR2018 论文链接: 代码链接:算法核心: 人脸识别系统中角度对识别有很大的影响,通过CNN提取的特征,侧脸分布离正脸较远,如下图所示: 这篇文章提出了Deep Residual EquivAriant Mapping (DREAM) 来完成 侧脸特征到正脸特征的映射,使得侧脸特征逼近正脸特征。 该算法的整个框架如...

2018-06-26 18:16:31 931 1

原创 模型加速-小网络论文跟踪

(一)SqueezeNet2016年2月,《AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size》 论文地址:https://arxiv.org/abs/1602.07360 模型地址:https://github.com/DeepScale/SqueezeNet 核心思想:大量使用1x1...

2018-06-07 18:19:03 301

原创 ubuntu安装bob

1.安装依赖库sudo apt-get install libboost-all-dev sudo apt-get install libblitz0-dev sudo apt-get install cmake sudo apt-get install libhdf5-serial-dev sudo apt-get install libtiff5 sudo apt-get ins...

2018-05-17 16:34:52 1156

原创 linux统计文件数,文件夹数

1. 递归统计文件夹数ls -lR | grep "^d" | wc -l2. 递归统计文件数 ls -lR| grep "^-" | wc -l3. 只统计图片数 ls -lR| grep "*.jpg" | wc -l

2018-04-20 14:30:52 318

原创 线性插值总结

基本原理图像处理中,经常需要对图像进行resize操作,resize底层原理就是线性插值,下面主要对线性插值, 双线性插值进行总结,以免忘记。(1)最近邻插值 设源图像大小为m,n, 目标图像大小为a,b 。则目标图像中坐标(i,j)对应到源图像坐标(x,y)为: x = int(i * m/a + 0.5), y=int(j*n/b+0,5)。 (2)双线性插值 设源图像大小为m,n, 目标

2018-03-17 15:07:14 2219

原创 (二)cuda学习笔记之 cuda基本概念

Cuda编程基本概念CUDA C基础Cuda C是对c/c++语言进行拓展后形成的变种,兼容C/C++语法,文件类型为.cu文件,编译器使用的是nvcc。相比传统的C/C++,主要添加了一下几个方面:函数类型限定符(如__global__, __device__,__host__)执行配置运算符五个内置变量变量类型限定符其他的还有数学函数,原子函数,纹理函数,绑定函数等函数限定符用来确定某

2018-02-05 00:15:51 452

原创 cuda学习笔记一之GPU基本概念

简介毕业工作以来从事深度学习方面工作,但在实际项目中需要对项目进行加速,因此需要学习cuda,此笔记简略记录学习cuda的历程。GPU基本概念什么是cuda?CUDA是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。而我们常说的CUDA其实一个gpu编程库,他以c/c++为基础提供一些gpu编程接口。

2018-02-04 20:37:48 987

原创 网络加速之mobilenetV1

简介mobilenet是google发布的手机端的网络的结构,其目的是从结构上减少网络参数,加速网络运行,这方面的文章还有shufflenet, condenset。创新点depthwise separable(深度分分离卷积) 引入参数进行通道和feature map调整深度可分离卷积mobilenet实现加速的核心部分就是使用深度可分离卷积进行加速。传统的卷积方式是卷积核对所有输入的fea

2018-01-28 15:14:16 1073

原创 sphereface loss=87.33分析

经验sphereface中由于添加了margin的参数,当margin=4时,训练样本中很多达到优化条件,如下图所示,cos(mx) < cosx,所以会造成 特征的 模增大,模增大则导致log括号里面的数值超过最小float,loss的最大值由FLT_MIN得到,FLT_MIN定义为1.17549435E-38F,这个数字的自然对数正好就是 -87.3356,算loss时需要取负值,结果就能

2018-01-27 20:56:41 818

原创 loss函数之margin改进方法

最近sphereface人脸方法是目前开源人脸中最有效的方法,通过改进我也获得了lfw acc 99.7%的结果,下面几篇也是对sphereface改进的论文:AM : Additive Margin Softmax for Face VerificationAAM : Face Recognition via Centralized Coordinate LearningArcFace: ArcF

2018-01-27 20:23:56 4649

原创 Caffe之Scale层源码

简介最近要对模型进行压缩使用slimming,因此需要scale层对scale_diff进行L1正则。所以对源码进行了阅读。 公式: y = ax + b。 公式比较简单。上述公式的意思是,对feature map乘以a,并加b。一个feature map共用一个a,因此 a的维度是 c ,这是理解源码的前提。 反向传播: 参数设置message ScaleParameter { opti

2018-01-26 21:57:52 785

原创 人脸检测-SSH: Single Stage Headless Face Detector

简介源码地址:https://github.com/mahyarnajibi/SSH 论文:https://arxiv.org/abs/1708.03979 本文主要介绍一篇论文ssh人脸检测,来自iccv2017。这篇文章并没有采用的是two stage检测的方法,如R-CNN、SPP-NET、Fast R-CNN、Faster R-CNN、R-FCN、Mask RCNN 首先寻找pro

2018-01-26 21:28:23 2056

原创 人脸识别-如何训练tripletloss

简介本篇论文来自猎户星空这家公司 论文地址https://arxiv.org/abs/1709.02940 tripletloss 来自google发表在cvpr2015上的《A Unified Embedding for Face Recognition and Clustering 》。在lfw上acc为99.63%。因此很多都想复现其效果。但据我了解到目前公开出来训练tripletloss

2018-01-01 21:31:55 3295

原创 人脸识别-cocoloss

本文主要介绍一篇来自nips 2017的文章 《Rethinking Feature Discrimination and Polymerization for Large-scale Recognition》。本文主要提出了一个新的loss提高人脸识别准确率。这篇文章算是特征归一化的一系列文章中的一篇,同一时期的还有 L2-Softmax,NormFace。SphereFace在这基础上提出Mar

2017-12-18 23:11:55 624

原创 ncnn编译使用(一)

ncnn前向框架简介以下介绍来自官网介绍 ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微

2017-12-17 22:45:20 10425 2

原创 数据增强方法总结

数据增强主要是为了减少网络的过拟合现象,通过对训练图片进行变换可以得到泛化能力更强的网络,更好的适应应用场景。方法常用的数据增强方法有:旋转 | 反射变换(Rotation/reflection): 随机旋转图像一定角度; 改变图像内容的朝向;翻转变换(flip): 沿着水平或者垂直方向翻转图像;缩放变换(zoom): 按照一定的比例放大或者缩小图像;平移变换(shift): 在图像平面上对

2017-12-09 23:33:32 16473 4

原创 ICCV2017 paperlist

地址:http://openaccess.thecvf.com/content_iccv_2017/html/

2017-11-23 21:38:28 2438

原创 caffe层解析之softmaxwithloss层

理论caffe中的softmaxWithLoss其实是: softmaxWithLoss = Multinomial Logistic Loss Layer + Softmax Layer 其核心公式为: 其中,其中y^为标签值,k为输入图像标签所对应的的神经元。m为输出的最大值,主要是考虑数值稳定性。 反向传播时: 对输入的zj进行求导得: Caffe中使用首先在Caff

2017-11-22 23:03:03 10332

原创 caffe中的L2 Normalization原理以及推导

归一化数学公式: 反向传播:

2017-10-20 22:39:14 2853

原创 人脸识别-NormFace: L2 Hypersphere Embedding for Face Verification

简介:论文地址:https://arxiv.org/abs/1704.06369 代码地址:https://github.com/happynear/NormFace 我们都知道做人脸认证时,使用训练好的模型,测试阶段将特征归一化再做余弦相似度进行比较。而这篇文章主要的想法来源是为什么再训练阶段我们不进行归一化了?本文主要解决的问题就是如何训练的时候增加归一化。 作者分别使用两种策略来训练分析

2017-10-15 22:55:22 1543 1

原创 Opencv如何使用dnn读取caffemodel进行识别

Opencv中的dnn模块opencv3.0已经集成了基本的dnn模块,包含了通用的层。记录第一次使用情况如下:/**M/////////////////////////////////////////////////////////////////////////////////////////// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, I

2017-09-29 11:40:28 2492 1

原创 CVPR2017文章汇总

Date Time Location # Session Session Title Paper ID Paper Title Authors Saturday, July 22, 2017 0900–1030 Kamehameha III 1 Spotlight 1-1A Machine Learning 1 305 Exclusivity-Cons

2017-09-28 00:11:37 10227

原创 Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning论文笔记

简介V4模型地址 https://github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.py 随着深度学习的发展,网络结构也出现各种各样的结构。受Googlenet的Inception和何凯明ResNet的 Residual connections启发,本文的方法就是结合Inception结构和Residua

2017-09-27 10:48:35 491

原创 caffe-msra初始化

简介:本文学习来自微软的msra初始化,来自论文《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》 目前在深度神经网络的训练过程中,初始化过程影响着网络最终的训练结果。网络越深收敛更加困难,为了处理这个问题,VGG团队先训练一个8层的网络,再用训练好的模型去初始

2017-09-17 22:13:22 1581 1

原创 caffe安装

安装双系统本人电脑是(惠普(HP)暗影精灵II代Pro 精灵绿 15.6英寸游戏笔记本(i7-7700HQ 8G 128GSSD+1T GTX1050Ti 4G独显 IPS FHD), 电脑默认安装win10在ssd上,因为需要跑深度学习所以安装Ubuntu16.04.(14.04出错)(1)用ultraiso制作U盘启动盘,然后进行安装。 安装比较简单,就是需要注意的是 以前如果非UEFI启

2017-09-17 10:33:18 385 1

原创 win10_ubuntu1604_caffe安装

1. 安装双系统本人电脑是(惠普(HP)暗影精灵II代Pro 精灵绿 15.6英寸游戏笔记本(i7-7700HQ 8G 128GSSD+1T GTX1050Ti 4G独显 IPS FHD), 电脑默认安装win10在ssd上,因为需要跑深度学习所以安装Ubuntu16.04.(14.04出错)(1)用ultraiso制作U盘启动盘,然后进行安装。 安装比较简单,就是需要注意的是

2017-09-13 15:19:10 375

原创 compilation terminated. In file included from <command-line>:0:0: /usr/include/stdc-predef.h:30:26:

compilation terminated.In file included from :0:0:/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: 没有那个文件或目录 #include 解决方法:apt-get install g++-multilib

2017-09-13 15:17:32 4372

原创 ubuntu qt ffmpeg安装配置

版权声明:本文为博主原创文章,未经博主允许不得转载。环境:ubuntu 13.04 LTS (1)到http://www.ffmpeg.org/download.html下载最新版ffmpeg也可以用这个命令:git clone git://source.ffmpeg.org/ffmpeg.git ffmpegyasm是汇编编译器,因为ffmpeg中

2017-09-13 15:16:08 647

原创 caffe初始化-Xavier

简介文章来自《Understanding the difficulty of training deep feedforward neural networks》 在 机器学习中,在预处理阶段我们一般都会对特征进行归一化操作,这样让不同类型的特征数值大小一致。在浅层网络中可以在第一层对数据进行白化处理,而对于深层的网络,需要对每一层进行白化(目前用BN可以实现),而Xavier不是直接对每一层进行

2017-09-13 15:10:27 834

原创 人脸认证-ROC曲线绘制计算AUC和ACC

import numpy as npimport matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom sklearn.metrics import roc_auc_scorescores = []with open("result.txt") as f: lines = f.readlines()

2017-09-12 22:02:53 2890 2

空空如也

空空如也

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

TA关注的人

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