1、数据驱动的图像分类方法

1、数据驱动的图像分类方法

目标:给一张图片贴一个标签。当然可用的标签是固定的,比如{君子,小人},或者{猫,狗,兔子},等等,随便给你一张图片,需要从这些标签中选一个用来表示这张图。这是计算机视觉里的核心问题。虽然很朴素,但是应用却相当广泛。而且,很多其他类似的计算机视觉任务,比如目标检测,图片分割,都可以简化为图像分类问题。

举例:下面这张图是什么动物呢?某一个图像分类模型给出了属于 {cat, dog, hat, mug}这4个类型的可能性。其中属于cat的可能性最大,为82%,所以最终我们给这图标记为cat。在计算机中,图像表现为一个3维数列。下面这张图的宽为248像素,高为400像素,有三个颜色通道,即红、绿、蓝,简称RGB。因此这张图片实际上就是由248 x 400 x 3个数字组成的,297,600个数字。每个数字都是0(黑)到255(白)间的整数。我们的任务就是将这一堆数字转换为一个标签,比如“cat”。

困难:对于人类来说,识别一个视觉概念(比如 猫)太简单了。但是要设计一个算法,让计算机去做这件事,还是很有很多挑战的:

  • 视角变化:同一个物件,从不同的角度拍照,是有差别的
  • 尺寸变化:事物本身的尺度有大有小,比如高个子姚明,矮个子马云
  • 变形:现实中对象的现状变化很大,不是那么整整齐齐的
  • 遮挡:我们感兴趣的对象可能被挡住了,只露出一小部分
  • 光线强度:光线的强弱对像素的影响很大
  • 背景:需要识别的对象可能与周围环境融为一体,很难识别
  • 类内变异. 同一类型的对象,形态上有很多的变种。比如椅子就有很多的形状

一个好的图像分类模型要能够不受这些变化的干扰,正确地识别所属分类。

数据驱动方法:那要怎样写一个算法去对图像进行分类呢?写一个从一堆图片中识别猫的算法,不像写一个排序算法那样直接写代码推理出来。我们使用数据驱动的方式:把很多标注好分类的数据传给计算机,然后写一个算法去检视这些数据,学习不同类型数据的视觉表征。这样的数据我们称之为训练数据集。如下图所示就是一个训练数据集:

一个用于计算机视觉分类的样例数据集。实际应用中可能有上千个分类,每个分类都可能有数百万张图片

图像分类流程:综上所述,图像分类的任务就是一堆代表图片的像素数据,贴一个标签。创建一个图像识别模型的一般流程如下所示:

  • 输入: 输入N张图片,每张图片都做好了标签(K个分类中的一个),称之为训练数据
  • 学习: 用训练数据,学习每个分类的样子。这个过程称为训练一个分类器,或者学习一个模型
  • 评估: 最后,让分类器去识别他没有见过的新的图片。将他识别的结果与实际的标签做对比,我们希望正确率越高越好

下一篇文章 最近邻分类器

欲了解更多底层信息,请咨询 青星大学

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值