使用空洞卷积代替空间金字塔
使用空洞卷积代替空间金字塔
一、计算机视觉四种基本任务:
1、图像分类;
2、图像定位;
3、物体检测;
4、物体分割;
背后的机器学习任务:数据分类、数据回归;
实际上大部分任务都是两个:
数据分类:数据离散;
数据回归:数据是连续的;
二、经典方法:
Deformable parts model:
什么是NMS:一种post-processing方式;应用在所有目标检测里,用来删除多余的检测结果;
做法:把所有的检测结果按照分值从高到低排序,保留最高分数的box,那么保留和他距离上最近的box;
hard mining:在一个1mini-batch里,能让classifier混淆的sample,标记为hard example,用到下一轮的训练中;
深度学习的快速回顾:
n一般为2、4,一般2就已经非常大了;
λ为正则化参数,防止过拟合;
深度学习三要素:
1、首先关注模型:用什么结构;
2、在什么数据集上做?实验效果如何;
3、算法:
a、训练过程:loss,sampling,梯度;
b、测试过程:muitl-scale,NMS;
3、系列工作
RCNN\Fast-RCNN\Faster-RCNN详细介绍;
目标分类的主要步骤:
1、先产生一些可能含有物体的目标框;
2、在给定的目标框里进行分类;
如何产目标框:
自下而上的一种生成方法:基于SLIC
算法,仙剑个图像分割成很多小的区域,根据小区域之间的相似程度进行融合,最后结合各个尺度上的结果,产生很多region proposals;
也可以通过深度学习来生成目标框;(主要用于faster ——RCNN中的目标框);
Rcnn家族
1、产生一个框:
感受野
某一层的计算节点对应原图的计算范围
SIFT特征点的结构
1、特征点的坐标位置;
2、特征点的描述;
步骤:
1、特征提取;
2、取特征点的聚类中心;
对于特征点较多,那么就可以将特征点取中心点,然后后对每个聚类中心点进行·对比;
LSH:
随机投影
深度学习——卷积神经网络
卷积原始输入:图像
卷积模板:卷积核;
检验相似性和相关性;
神经网络的组成:
1、输入层;
2、卷积层;
特征提取,要计算出各个层之间的参数个数以及层与层之间的输入输出;
3、非线性变换层;
4、池化层;
最大池化层、平均池化层
5、输出层;
INPUT-->[[(CONV+RELU)*n--->POOL]*M--->[FC--->RELU]*K--->FC
避免过拟合:迁移学习
迁移学习:将其他网络的前几层网络,只训练后面的基层网络;
学习过程中学习率要比较小;
什么时候用:
1、当两个任务较为相近时;
2、当前的训练数据较少的时候;
数据集:交叉训练;
调参的主要参考
损失值;
准确率
调参对象:
学习率;
batchsize:调到GPU刚刚够用;
生成器推导式创建元组
生成器对象
生成对象的next方法
tuple包装
生成器只能用一次,类似于一个指针
不可变序列
元组的元素不可修改
元组小括号
列表中括号
sorted
shengchengdeyidingshi liebiao
tuple
生成元组
slice
列表元素
子列表
全局变量一般作常量使用
函数内要改变全局变量的值,需要用global声明一下,声明之后全局变量会改变
如果局部变量和全局变量同名,优先使用局部变量
计算机视觉——实践加强
聚类算法:
相似度和距离负相关:
K-means:
1、选出一个k,作为k'个聚类中心(随机选出聚类中心),为了能够准确选择,那么可能胡i多次选择取得结果最优的;
2、把么一个数据分配成最近的中心
; 距离计算:欧氏距离;计算角度
3、寻找数据的新的质心;
4、重复2——3部;
达到收敛标准:
到达循环次数;
标签不再改变;
聚类中心不断发生改变;
k值的确定:
人工指定
高斯权重:
高斯滤波,
均值滤波器:
中值滤波
均值滤波
总结:通过考虑到周围邻居的位置进行滤波操作;
用途:去噪、增加对比度、寻找特征点
项目:模板匹配;
Template matching
图片拼接:
1、寻找角点;使用Harris角点;
Harris有一个尺度不变性、旋转不变性、
2、两个图片必须使用共同的特征寻找,计算两个向量;
3、建立SIFT描述;
4、匹配SIFT角点;
5、将图片进行转换;
博文:图像局部特征点检测算法
作业:读入手写字符
tu'xiang'pin'j
return的两个作用
1.返回值
2.结束函数的执行
is
比较同一对象
==
比较value
a =10
b=10
a == b
True
a is b
True
True
True
a = 1000
b = 1000
a == b
True
a is b
False
123123123
不要用英语命名
交互模式是什么意思
记住是用半角的
axb10
314 x 10**-2 = 3.14
或 314 e-2 = 3.14
float(3)生成了新对象
round(3.54)
a +=1
a *= 1
十进制
二进制
八进制
十六进制
0 = 0
1 = 1
2 = 10
0b101#二进制
5
0o231#八进制
153
0xf#十六进制
15
0xff#十六进制
255
最基本的数据类型
整型
浮点型
布尔型
字符串型
可自定义数据类型
8/2
7//2=3
7%4 =3
2**3 = 8
divmod()
同时得到商和余数
链式赋值
x = y = 30020
系列解包赋值
a,b,c = 10,20,30
a,b = b,a
常量
python不支持常量
逻辑上可控制
MAX_SPEED = 150
变量是对象的引用
变量没有类型
堆 是放对象的
栈 是放变量的