机器学习入门笔记

一文了解计算机视觉的八大应用

2020-05-25  本文已影响0人  材才才

之前通过三篇文章简单介绍了机器学习常用的几种经典算法,当然也包括了目前很火的 CNNs 算法了:

这些算法各有各的优缺点和适用的领域,了解熟悉它们是很有必要的,但如何应用它们还需要具体问题具体分析,而机器学习常见的应用方向,包括以下几个:

等等

更详细的可以参考之前推荐过的一个网站:

https://paperswithcode.com/sota

这个网站非常详细划分了 16 个大方向,包括总共 1081 个子方向。如果想进入机器学习领域,首先还是选择一个方向领域,然后了解和熟悉该方向领域内所需要的算法,特定的解决技巧等。

当然,这篇文章主要介绍的是计算机视觉的应用,计算机视觉也算是这 16 个方向里面最热门也是发展最成熟的其中一个方向了。

计算机视觉可以分为以下几大方向:

  1. 图像分类
  2. 目标检测
  3. 图像分割
  4. 风格迁移
  5. 图像重构
  6. 超分辨率
  7. 图像生成
  8. 人脸
  9. 其他

虽然这里说的都是图像,但其实视频也属于计算机视觉的研究对象,所以还有视频分类、检测、生成,以及追踪,但篇幅的关系,以及目前研究工作方向也集中于图像,暂时就不介绍视频方面应用的内容。

每个方向会简单介绍该方向需要解决的问题,以及推荐一些 Github 项目、论文或者是综述文章。


1. 图像分类(Image Classification)

图像分类,也可以称为图像识别,顾名思义,就是辨别图像是什么,或者说图像中的物体属于什么类别。

图像分类根据不同分类标准可以划分为很多种子方向。

比如根据类别标签,可以划分为:

根据分类对象,可以划分为:

根据类别数量,还可以分为:

推荐的 Github 项目如下:

论文:

文章:

常用的图像分类数据集:

2. 目标检测(Object Detection)

目标检测通常包含两方面的工作,首先是找到目标,然后就是识别目标。

目标检测可以分为单物体检测和多物体检测,即图像中目标的数量,例子如下所示:

image image

以上两个例子是来自 VOC 2012 数据集的图片,实际上还有更多更复杂的场景,如 MS COCO 数据集的图片例子:

image

目标检测领域,其实有很多方法,其发展史如下所示:

image

从上图可以知道有几个方法系列:

Github 项目:

论文:

文章:

常用的数据集:

3. 图像分割(Object Segmentation)

图像分割是基于图像检测的,它需要检测到目标物体,然后把物体分割出来。

图像分割可以分为三种:

一个图形分割的例子如下所示,下图就是一个实例分割的例子,用不同的颜色表示不同的实例。

image

Github:

论文:

文章:

4. 风格迁移(Style Transfer)

风格迁移是指将一个领域或者几张图片的风格应用到其他领域或者图片上。比如将抽象派的风格应用到写实派的图片上。

一个风格迁移的例子如下, 图 A 是原图,后面的 B-F 五幅图都是根据不同风格得到的结果。

image

一般数据集采用常用的数据集加一些著名的艺术画作品,比如梵高、毕加索等。

Github:

论文:

文章:

5. 图像重构(Image Reconstruction)

图像重构,也称为图像修复(Image Inpainting),其目的就是修复图像中缺失的地方,比如可以用于修复一些老的有损坏的黑白照片和影片。通常会采用常用的数据集,然后人为制造图片中需要修复的地方。

一个修复的例子如下所示,总共是四张需要修复的图片,例子来自论文"Image Inpainting for Irregular Holes Using Partial Convolutions"。

image

论文:

Github:

文章:

6. 超分辨率(Super-Resolution)

超分辨率是指生成一个比原图分辨率更高、细节更清晰的任务。一个例子如下图所示,图例来自论文"Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network"。

image

通常超分辨率的模型也可以用于解决图像恢复(image restoration)和修复(inpainting),因为它们都是解决比较关联的问题。

常用的数据集主要是采用现有的数据集,并生成分辨率较低的图片用于模型的训练。

Github:

论文:

文章:

7. 图像生成(Image Synthesis)

图像生成是根据一张图片生成修改部分区域的图片或者是全新的图片的任务。这个应用最近几年快速发展,主要原因也是由于 GANs 是最近几年非常热门的研究方向,而图像生成就是 GANs 的一大应用。

一个图像生成例子如下:

image

Githubs:

论文:

文章:

8. 人脸

人脸方面的应用,包括人脸识别、人脸检测、人脸匹配、人脸对齐等等,这应该是计算机视觉方面最热门也是发展最成熟的应用,而且已经比较广泛的应用在各种安全、身份认证等,比如人脸支付、人脸解锁。

这里就直接推荐几个 Github 项目、论文、文章和数据集

Github:

论文:

文章:

数据集:

10. 其他

实际上还有其他很多方向,包括:

Show and Tell: A Neural Image Caption Generator, 2014.

AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks, 2017.

Colorful Image Colorization, 2016.

Cascaded Pyramid Network for Multi-Person Pose Estimation, 2017

还有包括 3D、视频、医学图像、问答、自动驾驶、追踪等等方向,具体可以查看下面这个网站:

https://paperswithcode.com/area/computer-vision

而如果认定一个方向,想开始学习这方面的内容,首先推荐可以先查找中文方面的综述文章或者论文,当然如果英语阅读能力比较好的,也可以查看英文的综述文章,通过看综述来查看下自己需要阅读的论文,论文推荐先看最近3-5年内的论文,太过久远的论文,除非需要更加深入了解某个算法,否则都不太需要阅读。

此外,就是需要结合实际项目来加深对算法的了解,通过跑下代码,也可以更好了解某个算法具体是如何实现的。


参考


小结

本文简单介绍了几个计算机视觉方面的应用,包括应用解决的问题以及推荐了几个 Github 项目和论文、文章,和常用数据集。

欢迎关注我的微信公众号--算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!

image

往期精彩推荐

机器学习系列
Github项目 & 资源教程推荐
上一篇下一篇

猜你喜欢

热点阅读