EECS498 Deep Learning for Computer Vision (二)Image Classification,K-nearest Neighbor

ppt如下:web.eecs.umich.edu/~justincj/slides/eecs498/FA2020/598_FA2020_lecture02.pdf

图像分类:

输入为一张图片经过算法输出该输入图像的类别标签

算法需提前得知固定的标签类型及具体内容

最大困难:

1.semantic gap(对于计算机来说,picture is just a big grid of numbers between[0,255])

算法需要满足对于不同角度拍摄的图片均有鲁棒性,能有很好地识别结果 

2.intraclass variation

3.fine-grained categories(eg:识别不同种类的猫咪(更细致的类别划分))

4.background clutter 背景干扰

5.Illumination Changes 光照变化

6.Deformation 扭曲变化

7.occlusion 遮挡

物体检测(building block for other tasks 不仅要进行图像分类,还要确定图像的位置):对图像进行分割,对每一个部分进行图像分类 

def classify_image(image):
        return target【用函数表示】

运用机器学习来训练分类器

(这样在更换判断的类别时就不需要再对算法进行改进,只需要寻找对应类别的数据集进行替换即可)流程:
        1.collect a dataset of images and labels

        2.Use Machine Learning to train a classifier

        3.Evaluate the classifier on new images

主要需要两个函数:
def train(images, labels):
        return model

def predict(model,test_images):
        return test_labels

常见数据集:

1.mnist

(数据集较小,但是可能无法适用于较大的数据集)

2.CIFAR10

3.Imagenet

尺寸为256*256

4.MIT places

5.Omniglot

算法:
1.nearest neighbor(原理就是寻找与目标图像最相似的训练图像)

训练:记住所有的数据和对应的标签

预测:输出和测试图片最相似的训练图片的标签

Distance Metric to compare images:
计算图像像素间的曼哈顿距离(对应相减,结果相加)

训练的时间复杂度:O(1)

预测的时间复杂度(训练数据集为N):O(N)

机器学习中不在意我们花费了多长时间进行数据收集与模型训练,但我们要保证模型部署运行时要有较快的结果

虽然图片很相似,但并不一定是一个种类(决策边界导致)

如何消除决策边界:


1.多加几个邻居(结果由多个邻居决定,而不是由单一邻居)
2.改变测量的方式

边界更加平滑,少了很多noisy

problems:

curse of dimensionality(随着维度的增多,训练点的个数会以指数增长)

距离度量对于像素并不是很敏感,但用图像的特征向量效果显著

超参数

算法中需要更改k值和距离度量,k值和距离度量被称为超参数(hyperparameters)【无法从训练数据中得到的参数,需要在训练前进行设置的参数】:we set them at the start of the learning process。

Setting Hyperparameters

(拆分数据集为train&test&val)尝试不同的超参数值,在train上训练,选择在val上表现最好的超参数值并在test上进行评估【test 仅用一次进行评估】

交叉验证(训练集和val集互相交叉,最合适的设置超参数的方法

成本很高,耗费性能

Lecture Summary

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值