归档: 2017/5

骨架细化介绍及demo

骨架细化参考自:http://blog.csdn.net/qianchenglenger/article/details/19332011 图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization) 的一种操作运算。 所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到图像的骨架。骨架,可以理解为图象的中轴。

模型设计

经验借鉴VGG ==精度更高,泛化能力更强==; ==收敛更快了==; ==原因:用3个3×3代替7×7,网络更深、有更多非线性、同时需要更少的参数==; 自己的实验结果 ==在原图大小较小,模型深度有限的情况下==, ==在一定范围内,网络各层相对于原图的感受野越大,收敛速度越快==; ==适当增大卷积核尺寸,即增大相对于原图的感受野大小,有利于提高模型精度和泛化能力==;

ResNet

ResNet参考: (知乎:我是小将): https://zhuanlan.zhihu.com/p/31852747 https://blog.csdn.net/wspba/article/details/56019373 TF官方的ResNet代码详解: https://zhuanlan.zhihu.com/p/32194105 https://zhuanlan.zhihu.com/p/270

模型训练经验

1. 模型训练经验 ==weights和bias的初始化对训练影响很大==; ==batch_size先拿小的试一下,比如16,8,1等,调大了收敛太慢==; ==学习率不宜过大,初始可设置为1e-3==; 网络不收敛 数据问题(根本) 数据少,数据分布差,数据质量差;数据预处理:归一化等;可以先简化数据,数据弄成“弱智”般的最简单的数据,收敛后再慢慢加数据复杂度;2. 学习率过大3. b

学习率设置

理想loss值曲线理想情况下曲线应该是滑梯式下降[绿线]: 曲线 初始时 上扬 [红线]: Solution:初始 学习率过大 导致 振荡,应减小学习率,并 从头 开始训练 。 曲线 初始时 强势下降 没多久 归于水平 [紫线]: Solution:后期 学习率过大 导致 无法拟合,应减小学习率,并 重新训练 后几轮 。 曲线 全程缓慢 [黄线]: Solution:

Network in Network

设计思想 使用mlpconv网络替代传统的convolution层 不用FC层 减了少参数个数,进而网络层数可以加深,加快训练速度; 由于参数过多,网络过大,GPU显存不够限制了网络层的增加,从而限制了模型的泛化能力; 核心结构mlpconv mlpconv = conv + 1×1conv + 1×1conv(2层的mlp) 1×1卷积核作用: 实现通道间的信息交互和整合(加了1*1

VGG

核心思想 网络越深越好; 但网络深不好训练->用3*3的卷积核; 核心结构: 两个连续的3×3卷积相当于5×5的感受野,3个相当于7*7: 减少了参数,有更多的relu层,增加了更多的非线性; 输入及预处理 输入:224*224 预处理:除以255或者减去128(即精度定点,因为arm等平台计算浮点数计算量较大,而减去128之后数据就是unit8的形式了) 训练:SGD+momen

CNN基本概念

CNN特性 ==FC:全局信息,global信息能减少误检;====conv:局部信息== conv特性:平移不变性; CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征:较浅的卷积层感知域较小,学习到一些局部区域的特征;较深的卷积层具有较大的感知域,能够学习到更加抽象一些的特征。这些抽象特征对物体的大小、位置和方向等敏感性更低,从而有助于识别性能的提高。 卷积核的多个