笔记审核
¥
支付方式
请使用微信扫一扫 扫描二维码支付
请使用支付宝扫一扫 扫描二维码支付
开通会员,立省699元 立即开通
笔记审核
lesson25笔记 - 基于视频分析与理解 的高级视觉任务
1. 基于视频分析与理解 的高级视觉任务 Tasks:
视频动作检测/识别(action detection/recognize)
视频描述(video caption(description))
2. Human action: 具有特定语义含义的人类/物体动作的集合.
Action analysis: recognition(分类) , decetion(场视频中的分段label)
3. 应用: 视频贴标签, 城市安防, 智能生活(机器人/智能空调手势)
4. 主要dataset:Hollywood/2 HMDB51 UCF101
5. 困难和挑战
6. 动作检测的一般传统方法:feature extraction-> feature encoding ->feature pooling, kmeans聚类到bag-of-words -> SVM classifier
7. 提升性能的关键: 特征提取, 特征pooling
8. 基于深度学习的动作分析方法
双路模型: fovea stream, context stream
几种特征融合的方法
9. 利用光流表征运动信息
lesson22笔记- 深度学习在序列数据中的应用 之 光流
1.序列分析的另外的方法: 光流 optical flow
光流, 是空间运动物体在观察成像平面上的像素运动的瞬时速度.
2. 光流计算:
寻找上一帧 和当前帧之间存在的对应关系,
计算出相邻帧之间物体的运动信息.
动作识别: raw frames + optical flow ,分别训练cnn feature, 进而feature aggregation(pooling/ lstm), 最后叠加两个.
动作识别 -> 原始图片+光流, 是比较共识的好的架构.
3. Flownet, 来大幅提高 光流计算缓慢的问题.
FlowNetSimple : conv 多个 -> refinement 网络(有hybird) -> prediction
FlowNetCorr: 2个分支conv -> corr合并 -> conv多个 -> refinement网络(有hybird) -> prediction
refinement网络: deconv(扩大)
4. flownet 代码地址
flownet就是逼近传统光流计算.
lesson21笔记- 深度学习在序列数据中的应用
1. 序列分析对应的是(单张)图像分析.
图像分析回顾: 图像分类, 目标检测, 图像分割.
特点是 one to one
1) 固定大小输入
2) 固定大小输出
3) 固定模型结构
4) 局部卷积层
2) 序列分析初探:
模型结构不是 one2one,
而是更多,
one2many - 图像标注(label是多个语义单词),
many2one - 动作识别(label是单个语义单词),
many2many(处理层的cell>输入的cell) - 机器翻译, 视频标注(解说),
many2many(另外的架构, 处理层的cell=输入的cell) - 动作是必然(帧级别), 每个输入都有一个输出.
一.
2. 序列分析的主要工具是:RNN
RNN 在空间上展开为链状结构;
RNN存在的问题: 梯度消失, 长期依赖. 因为迭代相同的w权重.
3. 解决RNN的梯度问题 -- LSTM
LSTM可一定程度上解决梯度问题;
LSTM可以脊柱长时间内的信息;
LSTM使用门(gate) 结构 :
1) 细胞状态( cell state) , 水平最上的轴
2) 门(gate) , 控制进入出,过滤信息.
a) 遗忘门forget gate (乘法入细胞状态): 决定细胞状态需要丢弃的部分;
b) 输入门input gate (加法入细胞状态): 决定让多少新的信息加入到细胞状态中来 * 产生新的备选细胞状态
c) 细胞状态更新 :
遗忘门forget gate (乘法入细胞状态) + 输入门input gate (加法入细胞状态)
d) 输出门output gate :
决定输出哪些细胞状态 * 只输出我们希望输出的细胞状态
LSTM梯度能传播超过80个节点
4 序列问题的实例 LSTM 图像标注
START不做输入, 作为开始的标记;
CNN作为v 输入到h0;
最后输出END
5. LSTM扩展1 - attention LSTM
在LSTM网络基础上加入attention机制
动作识别
多物体识别
生成门牌号
6. LSTM扩展2 - ConvLSTM
全连接的相乘, 改为卷积
降雨预测
二.
7. 序列分析的另外的方法: C3D
3D卷积,可以理解为相邻的3幅图用3个不同的卷积核进行卷积,并把卷积结果相加, 卷积结果还是3d的.
C3D适用窄,动作识别, 视频生成(有demo链接)
lesson20 笔记
1. 如何快速训练一个图像分割模型?
下载预训练的模型(pretrain), 在这些已经收敛的模型的基础上微调(finetune)
2. 为何客户以这样做?
我们通常选择在imagenet上训练过的模型.
可以认为,之前的网络已经学到了一种图像的表征方式,或者说是网络里用来提取特征的滤波器是可以共用的.
3. 从哪里下载预训练的模型?
http://data.dmlc.ml/
4. 讲师详解 基于MXnet在PASCAL数据集上训练一个图像分割网络.
5. 图像分割的dataset:
PASCAL VOC
ADE20K
Cityscapes
DAVIS(视频物体分割)
lesson19笔记 - 图像分割与语义分割
一.
1. 图像分割分为 语义分割(semantic segmentation)和实体分割(instance segmentation)
2. 语义图像分割: 对图片中的像素进行分类,如判断像素是否属于天空/行人/车辆, 是一个分类任务.
3. 实体图像分割: 除了对像素进行分类外,还要区分不同的object,比如车辆A/车辆B,可类比检测任务,但是难度大于检测.
4. 评价分割任务: IoU intersection/union
5. 图像分割的实际应用: 遥感图像分析, 医疗图像分析(肺结节检测), 抠图, 场景理解(可行驶区域估计), 语义地图(3D重建)
二.
6. 语义分割的传统方法: 图模型(graph-cut), 超像素分割, 边缘检测;
深度学习方法: F函数一般是一个全卷积网络 FCN (full convolutional networks), 与用于分类任务(classification)网络比起来, FCN去掉了global pooling层, 所有的全连接层都被替换成了卷积层, 目的是为了得到dense prediction(分类任务是对整张图像进行分类/概率分布, 而分割任务是对图像中的每个像素点分类).
7. FCN的一般结构.
FCN细节分析:
1) 为何使用归一化(batch norm)层: 是网络的非线性更加明显;在一定程度上见笑了噪声的影响; 防治网络过拟合.
2) 为何要通过pooling或者设置卷积的stride 做降采样操作: 增大网络感受野, 减少网络计算量.
3) softmax的作用:将最后一层卷积的输出归一化成概率分布
8. FCN变体系列
1) FCN变体1 deconvolution
内部也做padding,这样输出的featurer map的分辨率会比原来大,细节更好.双线性差值是其特殊情况.
Unet, U型, 降采样+特征提取 + 每层hybird融合 -- 上采样, 浅层featuremap有较多的空间位置信息,深层的featuremap经过特征提取和融合后有丰富的语义信息, 还原后具有更多的细节.
2) FCN变体2 context sharing
引入上下文, 对pixel level的分类任务也是有帮助的, 这也解释了为什么分割网络需要更大的感受野.
3) FCN变体3 full-resolution resident network
双流网络, 维护了一个residual stream (保证分辨率不变)和 pooling stream(减少分辨率提升感受野, 特征提取和融合, FRRU单元, U型采样);
pooling stream深层的特征虽然有丰富的语义信息, 但是空间位置信息损失较多(由于降采样);
通过与residual stream的特征进行融合, 可以得到对空间位置更为敏感的特征表达.
三.
10. 实例分割
instance segmentation 需要区分每个单独的object, 但是卷积操作具有平移不变性的特点(相同的pattern都会激活卷积层)(很适合做语义分割), 卷积网络全局共享一个filter, 如何解决定位这个问题?
思路1:
先做检测,然后在bbox里分割前后景 - mask R-CNN
思路2:
检测每个object的边缘 - Deep Watershed transform
rgn+sem.seg -> direction net -> watershed transform net
使用direction net 回归每个pixel到距离其最近的边界的矢量, 所给的监督信号为一个2通道的矢量场;
使用watershed transform net 预测每个pixel的能量大小,距离边界越近的pixel能量越低,背景像素的能量为0.
思路3:
特征解耦 - > instance-sensitive FCN
lesson17 笔记 - 对抗式生成网络实战项目(上)
DC-GAN 基于tensorflow实现,本课非常关键在于, 对tensorflow的框架进行详细拆解,非常感谢讲师!
1. tensorflow文件:
1) checkpoint: 保存模型文件
2) data数据集: 图片尺寸不统一, 要经过下采样/上采样,or crop剪裁, 进行resize,成固定大小.
3) samples : 训练过程中将模型固定住,采样等.
4) tensorlayer : 对基本函数的封装
5) download.py - 下载数据集
main.py - 终端运行的文件
model.py 模型
utils.py 对图片预处理等
2. 看代码的关键点思路:
1) 数据输入的过程
2) loss 怎么计算的
3) D G 在哪里使用,使用细节是怎样的
3. 讲师逐行讲解了tensorflow的代码,
帮我解惑许多! 非常感谢!
lesson16 笔记 - 对抗式生成网络(GAN, Generative Adversarial Networks )入门及实战(下)
1.DCGAN
是常用的GAN网络.
1) 去掉了所有的池化层,G网络使用转置卷积进行上采样,D网络中用加入步幅为2的卷积层代替池化层.
2) 在D和G中均使用均一化层(batch normalization), 对输入数据做零均值归一化,防止梯度消失和爆炸.
3) 去掉全连接层(fully connected layer),使网络编程全卷积网络(全连接层影响收敛速度)
4) G网络中使用ReLU作为激活函数, 最后一层用tanh.
5) D网络中使用LeakyReLU作为激活函数.
2. AC-GAN
输入增加了类别的向量,和noize拼接在一起,输出除了real/fake,还回归出类别.
3. text2image
将text用含有语义的向量表征,与noize拼接在一起,整体输入G网络, D网络判别器又将语义向量(有wrong text, right text )添加进来,构成更大的feature map,进而进行判断.
4. image2image translation 风格迁移
正样本: 图+风格组成pair -> D
负样本: 图 -> G -> 图+风格pair -> D(有用到 U-Net, 类似resnet, 跨域传递)
lesson15 笔记 - 对抗式生成网络(GAN, Generative Adversarial Networks )入门及实战
1.为何探索 生成式模型
1) 提升对高维数据(视频图片文本等)表征和操作能力;
2) 生成式模型可以通过很多方式嵌入到强化学习之中;
3) 提供更便利的数据标注方法;
4) 可以实现输出结果的多样性.
2. GAN网络的基本应用
1) 图像编辑和生成 adobe
2) 人脸修饰
3) 图像着色 deepcolor
4) 风格迁移 cyclegan
5) 图像超分辨及 图像修复
6) 生成古诗/音乐/图片
3. 问题总结
1) 部分--生成式模型--> 全部
2) 无 --生成式模型--> 有
4. 问题阐释
统计 参数估计
正态/高斯分布 ---> 参数/解空间大; 高维空间中真实分布复杂
5. 问题解决
1) 完全可见信念网络
2) 变分自编码器
3) 对抗式生成网络
6. 对抗时生成网络
基本架构: 判别器 --> 生成器
价值函数: 左右互搏
原理: 不断进行上述的最小最大化游戏, 等价于不断最小化生成数据分布和真实数据分布之间的J-S散度,并且如果能够直接在函数空间内更新两者参数,最终可以得到最优解(达到纳什均衡状态)
# 课时9笔记 目标检测原理与应用(上)
1. 对图片/视频,用框(bounding box)标出物体的位置并给出物体的类别.
2. 物体检测数据库:
PASCAL VOC, 20类, 比较简单, 物体比较大比较少;
COCO, 80类物体, 单张物体稠密, 验证检测器性能常用数据集.
3. 评价检测器的性能.
IoU(Intersection over Union), 交集比上并集, 完美态是1;
PR(Precision-recall curve)曲线