¥
支付方式
请使用微信扫一扫 扫描二维码支付
请使用支付宝扫一扫 扫描二维码支付
重点:图像分类
语义鸿沟:计算机不认识猫
数据驱动:数据集 训练 模型 识别
训练函数 预测函数
最近邻算法
曼哈顿距离:绝对值相加
K-最近邻算法:根据距离选K个点投票决定颜色,K越大边缘越平滑
白色区域:没有最近的点(超过阈值))
“语义鸿沟”就是:由于计算机获取的图像的视觉信息与用户对图像理解的语义信息的不一致性而导致的低层和高层检索需求间的距离。
7
1966年: MIT--THE SUMMER VISION PROJECT
70年代: MIT--David Marr: A BOOK that 2D raw image to 3D model:
原始图像:边缘顶点和虚拟线条曲线边界,早期对图像的处理主要集中在边缘的简单处理
2.5维草图:将表面,深度信息,层或者视觉场景的不连续性拼凑在一起
将表面和体积图放在3d模型里
这种思维影响了计算机视觉领域很久,是传统的方式
70年代 另一个有影响的:如何越过简单的块状直接识别和表示图像
将物体的复杂结构简约城一个更简单的形状和结构,重新表达。
80年代:识别并重建,大部分都是直线和直线之间的关系。
总结:60-80年代,识别计算机视觉中的物体都是只停留在少样本的简单的几何图像,没有太多进展。
------------------------------
图像目标分割:将图像中的像素点进行归类
面部监测:1999-2000 机器学习加速发展,svm,boosting ,图模型等
2006年,实时监测面部的数码相机
基于特征的目标识别,sift特证
空间金字塔匹配:将各种物体的最为一个特征,放在SVM中计算
方向梯度直方图,可变形部件模型,识别人体姿势。
总结:随着各方向发展,21世纪早期,非常重要的基本问题--目标识别。
有名的标注数据集:基于2007-2012年PASCAL性能提升
同期提出了:是否具备了识别世界中所有物体的能力,或者大部分物体。
大部分的机器学习算法,都很可能在训练的过程中过拟合,太复杂导致模型维数太高,无法很好的泛化,当训练数据量不够时,就产生了过拟合问题,ImageNet项目来解决这个问题。
ImageNet带来巨大的数据集,将目标检测算法发展到新的高度。
2010年:ImageNet举办了挑战比赛,分类识别检测计算机视觉算法。
2010-2015年错误率一直下降,低于人类。2012年错误率显著下降,而其算法就是卷积神经网络的深度学习算法。
1.每一个对象都由简单的几何图单位组成。
2.剃须刀通过边缘和直线进行识别
3.对象识别太难了,我们先要做的就是先要分割对象---图像分割
4.进一步发展--人脸识别
5.找到某些特征,,他们往往能够在变化中具有表现性和不变性,,所以首要任务就是把这些进行对比,简化操作(不用对比整个图像)
6.卷积神经网路 模型 实践
7.
【linear classification】
CIFAR-10,32*32*3,3个色彩通道。红色蓝色绿色
bia terms,偏置
【问题】
1、f = W*x + b,其中W是一个模板,问题是,在线性分类器中,每个类别学习一个单独模板。
2、要构造一个使其失效的数据集很容易
线性边界
3、两个同类的物体出现在同一画面里,没办法被识别到那一类
【损失函数和优化】
怎么得到线性函数里的W
【多分类SVM】
1.L1距离:它依赖于数据的坐标系统
L2距离:欧氏距离,即:取平方和的平方根
2.L2距离是一个确定的,无论你在什么样的坐标轴下,如果你输入的特征向量,如果向量中的一些值,有一些重要的意义对你的任务,那么也许L1可能更适合,但假如他只是某个空间中的一个通用向量,而你不知道其中的不同的元素,你不知道它们实际上代表的含义,那么L2可能更自然一些
3.简单地通过指定不同的距离度量,我们可以很好地应用这个算法,换句话说就是把不同的距离函数应用到K最近邻算法上,可以取得不同的效果
4.使用这个算法,有几个选择是你需要做的。我们讨论过选择K的不同值,也讨论过选择不同的距离度量,所以问题在于,你该如何根据你的问题和数据来选择这些超参数,所以,像K和距离度量这样的选择,我们称之为超参数,因为他们不一定都能从训练数据中学到,你要提前为算法做出选择,那么问题就在于在实践中,该如何设置这些超参数,这些参数被证明是依赖于具体问题的,多数人会为你的问题和数据尝试不同的超参数的值,并找出哪一个值是最好的
6.尝试不同超参看看哪种更合适,究竟该怎么做呢? 首先想到的是,选择能对你的训练集给出最高准确率,表现最佳的超参数(这也是不明智的)我们关心的不是要尽可能拟合训练集,而是要让我们的分类器,我们的方法在训练集以外的未知数据上表现更好。。最常见的做法就是将数据分为三组,大部分数据作为训练集,然后建立一个验证集,一个测试集。我们常做的是在训练集上用不同的超参来训练算法,在验证集上进行评估,然后用一组超参选择在验证集上表现最好的,然后再把这组在验证集上表现最佳的分类器拿出来在测试集上跑一跑,这才是你写论文中需要的数据
7.训练集与验证集的区别是什么? 训练集就是一堆贴上标签的图片,我们记下标签,要给图像分类,我们会将图片与训练集的每个元素进行比较,然后将与训练点最接近点的标签作为结果,我们的算法会记住训练集中的所有样本,然后我们会把验证集中的每个元素与训练集的每个元素比较,将它作为依据,判定分类器的准确率在验证集上表现如何。你的算法可以看到训练集上的各个标签,但在验证集中,你的算法不能直接看到它们的标签,我们只是用验证集的标签来检查我们算法的表现
8.小结:图像分类的思路:我们借助训练集的图片和相应的标记,我们可以预测测试集中数据的分类