计算机视觉是在深度学习中很重要的一个任务,比如说现在有个图片来了,你要知道的是这个图片是个猫还是一个狗。这是做一件事情非常基本分类的任务。
现在说一下计算机视觉的小知识:
计算机图像
![](https://i-blog.csdnimg.cn/blog_migrate/1669b613e801787d52e7139f6ab7fe60.png)
我们看一下这一张图片,我们人类一下就看可以看出来这是一张图片,但是这张图片他在计算机中是怎么表示出来的呢?其实图片在计算机中以三维矩阵的形式进行表示的。也就是说一张图片可以用三维数组的形式进行表示 ,这些三维的数组由一些像素点来组成。
比如这张图片可以表示为 300*100*3 。300我们可以理解为这是这张图片的长, 100 可以理解为是这张图片的宽 ,后面的3是 channel,是颜色通道的意思。比如说一张彩色的图片是RGB的形式的展现的,那么就是乘3.如果是一张黑白图的话,那么是乘以1 因为它只有一种颜色。
我们在看这张图片,在猫嘴的位置右边我们表示出了很多数字,这些数字是什么意思呢,这些数字其实是像素点的意思,每个像素点的值是0到255之间。每个值的大小代表的是亮度,值越大代表的是越亮,值越小代表的是越黑。那么这张毛的图片就是由这些像素点来组成。
通过这个例子 主要是想让大家对这个图片有一定的了解,知道一张图片其实是由一些像素点组成的,图像是一个三维的矩阵。
我们识别一张图片的挑战:
1 光照的角度
2 光照的强度
3 形状的改变
4 部分分遮蔽
5 背景的混入
机器学习的常规套路
1收集数据并且给定标签(识别图片首先你要有很多数据,所以你首先要收集数据,然后给这些数据打上标签。标签是什么意思呢,比如说很多图片 ,你要给这些图片分类,如狗的在一类 猫的在一类)
2训练一个分类器(比如逻辑回归,主要做的是分类的任务)
3 测试 评估 (你要对分类的结果进行评估)
更多内容请关注公众号 Java知识局。