自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coding

"The time has come," the Walrus said, "to talk of many things."

  • 博客(94)
  • 资源 (3)
  • 收藏
  • 关注

原创 SEnet

最近看一些人脸识别的论文使用了SEnet,所以认真看了下SEnet的代码。SEnet使用并联结构添加了对通道的注意力机制:这种并联结构在deformable convolution中也见过:...

2019-01-07 17:28:39 2138

原创 人脸识别之度量学习

由于人脸识别存在测试集的类别不在训练集中的问题(open dataset),使得较新的人脸识别方法的核心在于度量学习(loss的定义),使得未知类之间较好地分开。这个度量学习其实就是修改softmax的定义。到目前为止主要有以下几种loss:1、center loss / contrastive loss 在softmax的基础上加入关于feature vector的L2度量,使得类内高...

2018-05-16 22:47:52 2839

原创 论文阅读:Mask R-CNN

Mask R-CNN获得了ICCV 2017 best paper award (Marr prize),下载地址:https://arxiv.org/abs/1703.06870这篇文章的核心idea:给Faster R-CNN加入分割支路,使其可进行实例分割(instance segmentation)。idea虽然简单,但要想让其work,路上还有很多坑,解决这些坑的方案就构成了论文的创...

2018-04-27 21:47:35 436

原创 论文阅读:Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

该文说训练神经网络有一个现象:batch size的增大到一定程度,Resnet的准确率会下降。这个现象推翻了以前的一个直觉:前觉得batch size越大,训练的效果会越好。为了解决这个问题,论文提出了一种trick:让学习率lr随着batch size线性增大(Linear Scaling Rule),在batch size区间[64(2^6), 8192(2^13)]得到了几乎不变的准确...

2018-04-17 22:41:53 2878

原创 论文阅读:Attention to Scale: Scale-aware Semantic Image Segmentation

论文的下载地址:https://arxiv.org/abs/1511.03339v2 论文的中心思想:将注意力机制用到多分辨率输入的语义分割网络中。 注意力机制:其实就是对feature map做加权,且加权的权重在训练的时候学习的。文章认为软注意力机制优于两个feature map做pooling。很多语义分割网络融合了多尺度(多分辨率)的特征,但方法不尽相同。一种常见的结构是SPP...

2018-04-08 22:11:16 3053 1

原创 Deeplib v1

Deeplib系列目前包括Deeplib v1、Deeplib v2、Deeplib v3、Deeplib v3+,是图像语义分割中较有影响力的方法。Deeplib v1的论文题目:“Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFS”,下载地址:https://arxiv.org/pd...

2018-03-26 22:33:55 868

原创 解卷积的维度计算

解卷积(deconvolution)或者反卷积,类似于卷积的逆运算;如果按照严格的数学公式来叫,应该叫做“转置卷积(transpose convolution)”。解卷积最直观的作用是扩大feature map的分辨率,在语义分割任务中被广泛使用。解卷积的维度计算公式如下: w_new = stride*w - 2*pad + (kernel-stride) 从上面的公式可以看到:与卷积相...

2018-03-20 21:06:21 4540

原创 Wide Residual Networks

最近在研究ResNet的各种变体,看到一个宽残差网络(Wide Residual Networks)。它所谓的宽度(width)指卷积层的输出通道数,它希望通过通道翻N倍来换取较浅的网络(depth),以此来提高inference的时候的速度。文章地址:https://arxiv.org/abs/1605.07146它不能增大卷积核来扩大所谓的宽度,因为从VGG开始的各种网络已经抛弃大卷积核。...

2018-02-13 23:27:48 893

原创 关于图像语义分割

1、图像分割与图像语义分割的区别 传统的图像分割算法基于无监督学习,不知道分割出来的对象的类别。图像语义分割一般基于深度学习,主要是用CNN,也有个别会用到RNN的;此外,图像语义分割属于监督学习的任务,即在训练时会给出每个像素的类别。2、图像的密集分类问题 语义分割是个密集分类问题,需给每个像素分类,故语义分割和图像分类的目标有较大差异。为了适应这种差异,人们提出了带洞卷积。带洞卷积在语...

2018-01-29 22:27:04 2035

原创 CNN经典网络中的模型压缩方法

CNN的模型文件通常比较大,给实际应用带来了困难。为了解决这个问题,人们通常使用模型压缩的方法。本文介绍经典网络中包含的模型压缩方法。卷积层参数个数计算公式:c_out*c_in*k_w*k_h。从公式可以看到,要想减少卷积层的参数个数,要么使用比较小的卷积核,要么减少通道数。VGG相比于AlexNet,一个显著的特点就是卷积核的尺寸从7x7缩小为3x3,从而减少了网络的参数个数。卷积核感

2018-01-15 22:15:19 3737

原创 CNN Feature Map维度的一般规律

Feature map的维度在CNN的各层中是变化的,了解feature map的维度变化规律是学习网络结构的一把钥匙。CNN某一层的Feature map一般是三维的:长、宽、通道数,由于长和宽往往是联系在一起的,所以本文从空间分辨率和通道数两方面进行介绍。空间分辨率的一般规律 对于图像分类任务而言,CNN feature map空间分辨率单调递减,并最终在全连接层减少到1x1。减少空间分...

2018-01-06 20:13:20 5307

原创 VGGNet结构分析

VGG是Visual Geometry Group, Department of Engineering Science, University of Oxford的缩写。他们组参加ILSVRC 2014时候组名叫VGG,所以提交的那种网络结构也叫VGG,或者叫VGGNet。VGG和GoogleNet同在2014年参赛,图像分类任务中GoogLeNet第一,VGG第二,它们都是重要的网络结构。...

2018-01-06 17:56:06 16439 2

原创 神经网络的权重初始化

权重初始化的合理与否常常决定了训练时网络能否收敛。常用的神经网络权重初始化方法有xavier和msra。由于基于的激活函数的假设不一样,msra的方差是xavier的2倍。xavier初始化基于线性激活函数,线性激活函数相当于没有激活函数。原始论文发表于2010年,当时卷积神经网络尚未被引爆,因此是基于多层感知器网络的。假使论文的读者以为是基于卷积神经网络,可能对其中的个别符号会有误解。例如在

2018-01-05 21:27:35 3882

原创 Session.run与Tensor.eval的区别

在这个问题stackoverflow中说的很清楚: https://stackoverflow.com/questions/33610685/in-tensorflow-what-is-the-difference-between-session-run-and-tensor-eval#翻译一下,唯一的区别在于:使用session.run可以传入多个张量,即可以传入张量列表。

2017-12-30 12:13:38 388

原创 ResNet结构分析

本文主要分析残差网络(ResNet)及其变种的结构。残差网络在论文Deep Residual Learning for Image Recognition中被提出。论文链接:https://arxiv.org/pdf/1512.03385.pdf1. Building block和Bottleneck结构 首先resnet由building block或bottleneck组成。buildi...

2017-12-23 11:30:25 55240 4

原创 CNN网络结构中的领域知识

CNN被普遍认为可以用于替代人工特征提取,然而,设计网络结构时,其实已经利用了图像的领域知识。例如: 局部感知:图像的空域相关性; 权值共享:图像的平移不变性; 带孔卷积:扩大图像感知域; 空域金字塔池化(SPP: spacial pyramid pooling):感知图像上下文信息CNN网络中隐含了图像信号内部结构的先验知识:权值共享利用了图像的平移不变性,局部连接利用了图像的空间相

2017-12-19 11:26:37 704

原创 论文阅读:Fixing Weight Decay Regularization in Adam

论文地址:https://arxiv.org/abs/1711.05101 知乎上别人的分享:https://www.zhihu.com/question/67335251中心思想就是让权重衰减与学习率脱钩。

2017-11-22 14:53:44 2822

原创 何恺明相关工作小结

本文只总结本人学习到的何恺明的相关工作。 0、PReLU。Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification。 1、MSRA初始化。在Xavier初始化的基础上乘以根号2。Delving Deep into Rectifiers: Surpassing Human-

2017-08-22 17:15:07 895

原创 关于MobileNet

MobileNet中将传统的卷积运算分成两步:分通道卷积(分组卷积,且group=输入通道数M)、单像素卷积。分通道卷积用M个卷积核生成M个feature map,单像素卷积对feature map进行线性组合。文章的时间复杂度计算没问题。 唯一有疑问的地方在于,这M个卷积核足够表征原始的M*N个卷积核吗?分两步的卷积得到的卷积滤波器空间只是原始三维卷积滤波器空间的子空间吗? 文章标题:Mobi

2017-08-19 15:14:41 1616 2

原创 深度学习网络搭建与编程范式

TensorFlow搭建网络时采用static graphs,即先用函数式的编程范式定义网络,再训练,定义网络结构时没有计算,计算全部在训练模块里。搭建网络时,函数作为变量传递给函数。 PyTorch搭建网络时采用dynamic graphs,不事先搭建网络直接计算,计算过程本身就是网络的结构,属于(命令式)面向过程/基于对象的编程范式。这是人们习惯的命令式的”define by run“编程范

2017-08-09 09:49:53 814

原创 关于DRL

DRL: deep reinforcement learning DRL = DL (deep learning) + RL (reinforcement learning)大多数情况下,reward既不为正,也不为负,为0,导致RL非常难训练。 Alpha Go是监督学习+增强学习。在一开始,学习按照人的棋谱下棋,然后学到一定程度,再自己跟自己下。

2017-08-06 17:48:56 875

原创 羽毛球套路简介

羽毛球可分为三种子项目:单打、双打、混双,其中单打和双打分男子和女子,混双由一名男生和一名女生组成。这三种其实是不同的运动,换句话说就是它们的套路不同。限于作者水平,下面来简单地介绍一下。 单打的套路很简单,四方球和控网抢攻,没啥说的。 双打的两个队员的性别相同,默认两个队员能力差不多。进攻时使用前后站位,谁发球谁守前场,防守时采用左右站位。双打的第二拍和第三拍都是有固定套路的。 混双因为是男

2017-07-22 10:40:35 1120

原创 我的会议论文和毕业论文

我的会议论文 比特分配的优劣直接决定了编码性能和码率控制的精度,但因为它相对来说比较固定,反而在率控中发表的文章比较少,这篇文章就是研究HEVC的GOP级比特分配。应该说,率失真模型是第二位的,但这方面可玩的东西很多,主要的率控方面的研究均是在这方面。我投在IEEE BMSB 2017会议上的论文A New GOP Level Bit Allocation Method for HEVC Rat

2017-06-27 10:29:10 1491 2

原创 模型误差的来源

误差有两个方面:bias和variance。 简单的模型(如线性模型),variance比较小,且不容易受样品数据影响,不易过拟合。相反,复杂的模型的bias比较小。

2017-06-24 20:31:01 5616

原创 失真度量与评价指标

在视频编码领域,视频质量的客观评价指标是PSNR。为了与这个客观评价指标相一致,在编码时率失真优化的过程中,编码器基本上使用SSE作为失真度量。也就是说,失真度量和评价指标是想相互联系的。

2017-06-14 21:04:16 2052

原创 Comparison of the Coding Efficiency of Video Coding Standards—Including High Efficiency Video Coding

该文比较了HEVC、H.264/MPEG-4 AVC、H.263、MPEG-4和H.262/MPEG-2的编码性能。 比较不同编码标准的编码器的性能,一个比较麻烦的问题是:编码配置和优化技术难以统一。编码配置包括参考帧个数、GOP结构、QP偏置等等。还有各个编码器的优化技术可能各有不同,包括运动估计算法、失真度量、lambda的计算,也会影响最终的实验结果。这两方面的问题都是比较棘手的,要想在这两

2017-06-13 15:57:41 842

原创 论程序思维与数学物理思维的差异

数学和物理,根本在于描述客观规律,而客观规律就是一个方程式。很多时候,依靠思维就能把一个问题想透,并求得闭式解,不需要额外的工具。 程序的思维不一样,程序在描述一个求得最终解的过程。闭式解我分析不出来,我也不知道它在哪,但我知道,只要迭代一遍或者递归一遍,总能找到答案。哈哈~ 对于数据结构的题目,你不要指望只用分析就能找到答案,而应该依赖于递归/迭代这些工具,把算法的过程描述了,就可以得到答案。

2017-06-03 13:27:07 901 2

原创 SATD的计算及代码实现

如果你去看H.264的参考软件JM、H.265的参考软件HM、AVS2的参考软件RD中哈达玛变换的实现,你会发现它们的实现代码几乎完全相同,连变量名都差不多。 值得注意的是,该变换不是归一化的哈达码变换。不使用归一化的哈达码变换的原因,没有在相关文献中找到。

2017-05-23 20:14:39 2706

原创 "HEVC Complexity and Implementation Analysis"阅读笔记

1、编码时间随AI、RA、LB的顺序依次递增。之所以LB比RA的编码时间更长,是因为通测配置下LB相对于RA的参数帧数量翻倍了。RA的list0参考前面两帧,list1参考后面两帧;LB的list0和list1分别参考前面相同的四帧;LP只使用list0。 2、HM-8.0在RA/LB配置下编码1080P的序列,达到实时需要一两千倍的加速。 3、相同QP下,AI配置的解码时间是LB/RA的两倍。

2017-05-22 15:07:10 716

原创 关于PSNR和cSNR

JM编码结束时会输出三种失真:PSNR、cSNR、MSE,如下所示: Y { PSNR (dB), cSNR (dB), MSE } : { 43.86, 43.69, 2.78 } U { PSNR (dB), cSNR (dB), MSE } : { 47.65, 47.49, 1.16 } V { PSNR (dB), cSNR (dB), MSE } :

2017-05-12 15:13:08 2893

原创 x264参数设置及脚本编写

上午写了下x264的bat脚本,来总结下x264的参数设置。 1、默认情况下,x264采用random access的IPBBBPBBB…编码结构,也就是会周期性地插入I帧,且bframes等于3。而JM中默认是low delay的IPPP…编码结构,不会中途插入I帧,且参数NumberBFrames默认为0。 2、要想在编码过程中不插入I帧,需设置两个选项,将min-keyint设为比序列总长

2017-05-10 15:20:45 864

原创 论率控的目标方程

在李斌博士的文章“λ Domain Rate Control Algorithm for High Efficiency Video Coding”中,将率控的目标方程定义为和率失真优化的目标方程: 上面的方程与率失真优化的目标方程完全相同,凭直觉,你不会认为率控和率失真优化是一回事。率控的首要目标是要让实际码率精确地达到目标码率,而不是小于或等于目标码率;如果实际码率小于目标码率很多,率控精度下

2017-05-04 15:59:35 922 1

原创 x265与HM编码性能对比

x265配置:QP设为22、27、32、37,其余设置均使用x265-1.8默认配置 HM配置:HM-16.7,LD B,四个QP点:22、27、32、37 测试序列:5个1080p的序列,帧数从240到600不等 下面是x265相比于HM的BD-rate表: 如果按Y、U、V比例为6:1:1的比例计算总体的BD-rate,则平均loss为28.8%,接近30%的编码性能损失。

2017-04-27 20:14:23 4361 9

原创 HM代码阅读:帧内预测(一)

本文的代码均是TEncSearch::estIntraPredLumaQT函数或被它调用的函数中的代码。在TEncSearch::estIntraPredLumaQT函数中,首先确定RMD(Rough Mode Decision)候选。RMD的候选模式的个数由以下两个数组确定:const UChar g_aucIntraModeNumFast_UseMPM[MAX_CU_DEPTH] ={ 3

2017-04-26 11:27:20 3085

原创 x265文献阅读:CU模式判决

首先,x265支持六种预设(preset):placebo, veryslow, slow, medium, faster and ultrafast,编码速度依次加快,性能也逐次递减。placebo的中文翻译是“安慰剂”,表示这个预设虽然编码性能不错,但由于编码复杂度高而不实用,只是安慰剂。 下面是VCIP的论文“Analysis and Optimization of x265 Encoder

2017-04-25 11:05:16 1564

原创 x265代码阅读:码率控制(二)

头文件x265.h中的码率控制参数: struct { /* Explicit mode of rate-control, necessary for API users. It must * be one of the X265_RC_METHODS enum values. */ int rateControlMode;

2017-04-24 15:42:35 3320

原创 x265代码阅读:码率控制(一)

x265中码率控制算法貌似与x264的码率控制算法基本相同,基本上是经验性的,与ITU-T/MPEG各类标准推荐的码率控制算法均不同。 x265的率控应该只是帧级率控,虽然有与CU相关的率控参数,但其实那是率失真优化技术,并非LCU级率控。x265支持三种率控模式:/* rate tolerance method */typedef enum{ X265_RC_ABR, // aver

2017-04-23 20:55:23 8831 5

原创 跟随标准制定的过程

制定标准的过程中,只要稍微有点性能,什么旮旯里的技术都会被翻出来提提案,这是拓展视野的大好机会。此外,提案往往有其对应的文章,可结合文章一起看。

2017-04-21 17:25:38 899

原创 关于浮点QP

总所周知,QP是整数。然而HM/JEM均支持浮点QP(floating point QP),而且HM中从HM-1.0就开始支持了,这是为什么呢?先来看配置文件的参数说明: 从上图可以看出,配置文件中的QP被程序读进来的时候是一个浮点数Double TAppEncCfg::m_fQP。读进来之后在函数TAppEncCfg::parseCfg中对这个浮点QP进行如下处理: // allocate s

2017-04-20 23:09:01 1291

原创 HM中AMP模式的快速算法

从HM4.0开始,有AMP模式的快速算法的标签:#define AMP_ENC_SPEEDUP 1 ///< encoder only speed-up by AMP mode skipping#if AMP_ENC_SPEEDUP#define AMP_MRG

2017-04-20 14:54:34 2286

视频编解码技术简介:过去、现在及将来

http://blog.csdn.net/jing_xian/article/details/53192332

2017-08-27

在图像处理中应用

本文档分为两部分,第一部分详细介绍了MATLAB语法及其编程方法,第二部分介绍了图像处理的一些基本知识:去噪、直方图均衡、彩色空间、边缘检测。PPT制作精美。

2015-05-09

视频压缩编码简介

介绍视频编码的英文PPT,包括视频编码的必要性、历史、目标、理论基础、编码框架、性能比较等内容。PPT制作精美。

2015-05-08

空空如也

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

TA关注的人

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