计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

计算机视觉任务:

计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

图像分类(image classification)

图像分类:根据图像的主要内容进行分类。
数据集:MNIST, CIFAR, ImageNet

目标检测(object detection)

给定一幅图像,只需要找到一类目标所在的矩形框
人脸检测:人脸为目标,框出一幅图片中所有人脸所在的位置,背景为非目标
汽车检测:汽车为目标、框出一幅图片中所有汽车所在的位置,背景为非目标
数据集:PASCAL, COCO

目标识别(object recognition)

将需要识别的目标,和数据库中的某个样例对应起来,完成识别功能
人脸识别:人脸检测,得到的人脸,再和数据库中的某个样例对应起来,进行识别,得到人脸的具体信息
数据集:PASCAL, COCO

语义分割(semantic segmentation)

对图像中的每个像素都划分出对应的类别,即对一幅图像实现像素级别的分类
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
数据集:PASCAL, COCO

实例分割(instance segmentation)

对图像中的每个像素都划分出对应的类别,即实现像素级别的分类,类的具体对象,即为实例,那么实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例。
比如说图像有多个人甲、乙、丙,那边他们的语义分割结果都是人,而实例分割结果却是不同的对象,具体如下图(依次为:原图 ,语义分割 ,实例分割):

计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

数据集:PASCAL, COCO

不同数据集的介绍参考博客:计算机视觉相关数据集和比赛

通俗的讲解如此下:

作者:许铁-巡洋舰科技
链接:https://www.zhihu.com/question/36500536/answer/281943900
来源:知乎,著作权归作者所有

图像分类

如果你开始了解深度学习的图像处理, 你接触的第一个任务一定是图像识别 :比如把你的爱猫输入到一个普通的CNN网络里, 看看它是喵咪还是狗狗。
一个最普通的CNN, 比如像这样几层的CNN鼻祖Lenet, 如果你有不错的数据集(比如kaggle猫狗大战)都可以给出一个还差强人意的分类结果(80%多准确率), 虽然不是太高。
分类问题做就了还真是挺无聊的。我们进化的方向,也就是用更高级的网络结构取得更好的准确率,比如像下图这样的残差网络(已经可以在猫狗数据集上达到99.5%以上准确率)。分类做好了你会有一种成为深度学习大师,拿着一把斧子眼镜里都是钉子的幻觉。 分类问题之所以简单, 一要归功于大量标记的图像, 二是分类是一个边界非常分明的问题, 即使机器不知道什么是猫什么是狗, 看出点区别还是挺容易的, 如果你给机器几千几万类区分, 机器的能力通过就下降了(再复杂的网络,在imagenet那样分1000个类的问题里,都很难搞到超过80%的准确率)。

物体检测

很快你发现,分类的技能在大部分的现实生活里并没有鸟用。因为现实中的任务啊, 往往是这样的:
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
或者这样的:
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
那么多东西在一起,你拿猫狗大头照训练的分类网络一下子就乱了阵脚。 现实中, 哪有那么多图片, 一个图里就是一个猫或者美女的大图,更多的时候, 一张图片里的东西, 那是多多的, 乱乱的,没有什么章法可言的, 你需要自己做一个框, 把你所需要看的目标给框出来, 然后, 看看这些东西是什么 。于是你来到机器视觉的下一层挑战 - 目标检测(从大图中框出目标物体并识别), 随之而来的是一个新的网络架构, 又被称为R - CNN, 图片检测网络 , 这个网络不仅可以告诉你分类,还可以告诉你目标物体的坐标, 即使图片里有很多目标物体, 也一一给你找出来。
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

在众多路人甲中识别嫌疑犯,也是轻而易举, 安防的人听着要按捺不住了。今年出现的YOLO算法更是实现了快速实时的物体检测,你一路走过就告诉你视线里都有什么在哪里,要知道这在无人驾驶里是何等的利器。
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
当然, 到这里你依然最终会觉得无聊, 即使网络可以已经很复杂, 不过是一个CNN网络(推荐区域),在加上一层CNN网络做分类和回归。 能不能干点别的?

图像切割

这就来到了第三个关卡, 你不仅需要把图片中边边角角的物体给检测出来, 你还要做这么一个猛料的工作, 就是把它从图片中扣出来。 要知道, 刚出生的婴儿分不清物体的边界, 比如桌上有苹果这种事, 什么是桌子,什么是苹果? 所以, 网络能不能把物体从一个图里抠出来, 事关它是否真的像人一样把握了视觉的本质。而把这个问题简化,我们无非是在原先图片上生成出一个原图的“mask”,有点像phtoshop里的蒙版的东西。
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

这个任务里,我们是要从一个图片里得到另一个图片哦! 生成的面具是另一个图片, 这时候,所谓的U型网络粉墨登场,注意这是我们的第一个生成式的模型。 它的组成单元依然是卷积,但是却加入了maxpooling的反过程升维采样。这个Segmentation任务, 作用不可小瞧哦, 尤其对于科研口的你, 比如现在私人卫星和无人机普及了,要不要去看看自己小区周围的地貌, 看是不是隐藏了个金库? 清清输入, 卫星图片一栏无余。 哪里有树, 哪里有水,哪里有军事基地,不需要人,全都给你抠出来。
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

以图搜图

我们开始fashion起来, 如果你是淘宝服装小店的老板 ,想让客户输入一张服装的图片,然后得到一组推荐的服装, 来个以图搜图的功能怎么搞呢? 注意啊,我可以从网络上爬一大堆图出来,但是这些数据是没有标注的。怎么办? 铁哥告你还是有的搞,这个搞法,就是聚类。铁哥教你最简单的一招聚类哦,那就是, 把图片统统放进卷积网络,但是我们不提取分类,而只是提取一些网络中间层的特征, 这些特征有点像每个图片的视觉二维码,然后我们对这些二维码做一个k-means聚类, 也会得到意想不到的效果。 为什么要深度? 因为深度提取的特征,那是与众不同的。然后以图搜图呢? 不过是找到同一聚类里的其它图片啊。
在聚类的基础上, 就可以做个搜索!
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等

图像生成

我们开始晋升为仰望星空的人, 之前那些分类赚钱的应用太无聊了。 机器视觉搞科学怎么港? 作为一群仰望星空后观察细胞的人,我们最常发现的是我们得到的天文或者细胞图片的噪声实在太大了, 这简直没法忍啊, 然后, 深度学习给了你一套降噪和恢复图像的方法。
一个叫auto-encoder的工具, 起到了很大的作用 , 刷的一下,图像就清楚了。
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
这还不是最酷炫的,那个应用了博弈理论的对抗学习, 也可以帮你谋杀噪点! 如果你会对抗所谓GAN, 也是一种图像生成的工具, 让网络去掉噪声的图片,与没有噪声的自然图片, 连卷积网络都判别不出来,对, 就是这样!
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
Schawinski, Kevin, et al. “Generative adversarial networks recover features in astrophysical images of galaxies beyond the deconvolution limit.” Monthly Notices of the Royal Astronomical Society: Letters 467.1 (2017): L110-L114.