讲人话的计算机视觉和深度学习(一)线性分类器
文章目录
前言
计算机视觉是模拟人的思维对图像甚至是音频进行处理的学科,从由无数个像素组成的图片到人能够理解的解释,这个过程是计算机视觉所要解决的内容。
目前而言最有效的方法为卷积神经网络(CNN)
在imagenet数据集上,特定的数据集中,CNN的正确率已经高于人类。
因此学习计算机视觉将是入门人工智能的关键一步,本系列文章整理于B站北邮鲁鹏老师的视频,点这里前往视频,仅供学习参考使用。
一、图像分类任务介绍
1.什么是图像分类任务?
图像分类是目标检测,图像分割的基础。
2.图像分类的难点
存在着视角,光照,遮挡,小目标,背景杂波,运动模糊等等一系列问题,每一个问题都是一个研究的方向。
3.基于规则的方法
早期的计算机视觉中,采用硬编码的方式将人的思维完全用代码模拟出来,但是数据量的复杂,以及物体形态各异,难以纪录所有形态,例如猫是液体,就有无数多的形态(误)。
4.数据驱动的图像分类范式
任务步骤:
- 数据集的构建
- 分类器设计与学习(调参)重点
- 分类器决策
分类器的设计与学习流程:
1) 输入的图像要能被接受,矩阵
2) 选择分类模型—>输出一个预测值
3) 预测值与真实值比较,得到损失值
4) 通过优化算法用新的模型参数降低损失值,达到预期值即可
决策阶段:
5.常见的任务评价指标
TOP1指标:只看第一个,第一个对就对,错就错
TOP5指标:看前五个,前五个中有对的就算对
神经网络的正确率指的是TOP5指标
二、线性分类器
下文讲解采用CIFAR10数据集为案例
思维导图:
1.图像表示
图像有三种类型:2进制图像,灰度图,彩色图像
2进制即为黑白图,是二维矩阵构成,每个点为0,1
灰度图也是二维矩阵,每个像素点为(0,255)之间的数值
彩色图像为RGB三颜色通道,可以看成三个二维矩阵
假如原图500500,由三通道的R,G,B三个500500图合成
最后变成了5005003,3表示3个深度
2.分类模型的选择
线性分类器是接下来的基础,且形式简单易于理解,因此从线性分类器开始学习。
线性分类器是一种线性映射,将输入的向量映射成在每个类别上取得的分数。
W为向量,纪录每一个类别所占的权值
Bi为偏置向量
每一个类都有自己的W和Bi
决策过程:
将图像矩阵转成向量,
然后与W向量相乘加上Bi向量,最后得到一个类别*1维的矩阵,每一行表示一个图片在该类别上得到的分数,分数最高的即为决策的类别。
举例说明:
总结:
在CIFAR10中,有10个类别,图像大小维32323,那么x为向量有32323=3072维,W为权值矩阵,有类别数像素数即103072维,b为偏置向量,有类别数1维,即101维。最后的得分向量f为10*1维。
如果将W向量转化成矩阵得到:
可以将W看成每一个类别的模板。