算法到实战,如何零基础入门计算机视觉领域
【雷锋网】AI慕课学院按:计算机视觉是一门研究如何使机器“看”的科学,掌握解决具体计算机视觉任务的方法则会帮助我们解决大规模系统的复杂问题,其应用相当广泛,包括并不限于:图像分类,人脸识别;车辆检测,行人检测;语义分割,实例分割;目标跟踪,视频分割;图像生成,视频生成。
为了让大家更好的理解计算机视觉在人工智能领域的强大应用,12月7日晚,上海交通大学卢宪凯博士受【雷锋网】AI慕课学院邀请,开展了一场主题为《计算机视觉概述和深度学习简介》的公开课,卢博士在公开课中给大家介绍了计算机视觉的定义、研究方法和应用举例,重点介绍深度学习发展历史,常见深度学习网络介绍和开发平台,帮助计算机视觉入门者和从业者进行有效的基础夯实和系统梳理。
今天,小编就来带大家一起来回顾本节课程中卢博士的精彩分享内容。
计算机视觉定义
首先先讲一下计算机视觉的定义,计算机视觉指的是从图像和视频中提出数值或符号信息的一个计算。形象点说的话就是计算机视觉是让计算机具备像人一样的眼睛去看到图像,并且理解图像。
在这里举了一个特别简单的例子,就是微软亚洲研究院之前开发了一个系统叫how-old.net,当你在这个系统输入一张图片进去,一个成年人一个小孩的图片都可以,它就会给你检测出这个人的性别以及年龄,像左边这个图,输入的是林志颖和郭德纲的,我们看到它的结果还是比较可靠的,虽然因为林志颖比较特殊(这个大家都知道的)。
再看右边这张图,其实就是蛮准的,它首先检测到了有两个人脸,一个小女孩的,一个baby的脸,它首先判断出他们的性别,还把他们的年龄判断出来,还是挺准的。所以举例子就是想说计算机视觉它和人理解外面的世界是有点像的,就是要看到图像,而且能够理解它。
从获取图像到读懂图像
从人类的视觉来看的话,我们看到一幅图片,首先是经过眼睛来看到图片,然后经过大脑来理解图片,比如说看到左边这个图像的话,大脑中会出现它的一个解释:这可能是一个花园,可能是春天的花园,里面有桥有水有树,有花,是一个绿色的背景等等。
对于计算机来说,它首先会通过一个相机或者一个摄像头,获取这张图片,会用计算机它自己的一些算法来看图片,并用预算法来理解,它也想能够从图片中读出:这是一个花园,这是一个春天这些有桥有水之类的信息。
计算机视觉就是最核心的这一步就是要理解它,理解的过程就是:
第一步先提供给它数据,数据的话其实有静态的图片,也有一些视频。
第二步就是要设计算法,靠人的大脑那样去理解它,过程中需要机器学习的算法,或者是最近非常热的深度学习的方法。
计算机视觉归根结底的话,其实就是在做一个回归或者分类的问题,所以后面讲到的大部分的关于计算机视觉的任务,都可以用一个回归或者一个分类的问题来对它进行建模。这就是关于计算机视觉的一个核心的定义。
计算机视觉的重要性
计算机视觉其实无论是在学术界还是在日常生活中,抑或在工业界都已经有了非常非常多的关注,大家都在研究、应用。
因为这节公开课只是第一节课,所以给大家是从一个更广泛的一个面上来讲,它在日常生活中的一些应用,包括在学术上的一些研究。
第一个计算机视觉非常重要的应用就是图像识别或者叫图像分类。大家知道最近谷歌有一个学术的大牛加入,就是李飞飞教授,李飞飞教授他们组织了一个叫IM GENET的分类比赛,比赛已经持续了很多年,主要是要求进行一千多类的生活中常见目标的分类,包括人、背包、交通信号灯、游泳、动物、火柴、打网球等等。
比赛就是要设计一种计算机视觉的算法,能够不断的提升在IM GENET数据集上分类的精度。当然大家后来也看到一些新闻,是说现在基于深度学习的方法,在数据集上其实已经能够超越人类了。所以数据集是非常有意义的,它推动了计算机视觉的发展,也让大家更理解到了计算机视觉识别其实对我们生活将是非常重要的一个改变。
图像识别是计算机视觉里面的基石。在后续的课程中也会着重的讲一下图像识别:到底计算机是怎么能够区分人、书包、交通信号灯这些信息,是怎么判断出人在游泳之类的东西。
除了图像识别任务的话,计算机视觉里面还有一个是任务就是精细的识别,就是说除了广义上常见的识别书包或者海报、建筑这种,其实在工业界的应用就是特定目标的识别,比如说车牌的识别,其实就已经被应用起来了,就是在高速公路上过ETC的车道的话,你不需要经过个人工收费口,它就会拍你的车牌,把你的车牌的信息识别出来,就对应着它的收费情况。
还有一个就是个人脸识别,包括之前支付宝的人脸支付等等应用也说明了,其实计算机视觉已经非常广泛的应用到了日常的生活中,像右边图的话就非常有意思,它属于人脸识别精细的一种识别,就是它不仅要识别出它的属性,比如说人的年龄大约是多少?
像奥巴马这张图的话,它就是不仅要识别出它是奥巴马本人,它要知道奥巴马的年龄,它的性别,它有没有戴眼镜,它的嘴唇是什么样的,还有表情的识别,就是它的情绪是什么样的,因为表情识别也是一个非常关键的,对于这种文化体育类娱乐休闲产品来说,能够更好地识别交互,特别是人机交互过程中的话,人的表情是非常重要的,最后的三个参数就是表示要对它进行一定的校正的话,需要的参数。
通过这两个例子也说明就是说计算机视觉里面的第一个就是图像识别这块的话,现在已经大家都在向更专业的方向在做,而且它已经广泛的运用到了生活中的方方面面。
讲完第一个任务之后,在讲计算机视觉里面的第二个任务就是目标检测,目标检测是一个非常非常有趣的一个工作,特别对于学术界来说是一个非常非常有趣的一个方向,因为它是一个非常有用,但是又比较难做的事情。
目标检测任务的话,简单来说就是给定左边这样一幅图像,需要把感兴趣的前景目标(所谓的前景目标就是除了对信息没有特别帮助的一些,剩下的都作为前景,比如说在这幅图里面的话,有两只狗,有棵圣诞树等等)。
目标检测本质上是在做这样一件事情:就是要把所有的感兴趣的前景目标给它检测出来,把它的类别贴上标签,就是像右边图就表示做了一次检测之后的结果,会检测到两只狗一只猫,并打上标签,标明有两个狗,有一个猫。
目标检测的话,它其实是对刚才讲的图像识别的一个进一步的发展,要知道图片里面有哪些类别,还要知道它的位置,所以它做的是两个任务,相当于既要把目标找到,还要把类别给识别出来,目标检测虽然难,但是它的功能强大了非常多。
举一个例子现在在安防领域还有城市市政这块非常有用的例子,就是行人检测与车辆检测,比如说在一个智能摄像头的终端,需要把摄像头里面看到的所有的行人给它检测出来,检测出来有什么用?
如果这里面的行人的人流非常大的话,就可以迅速的把摄像头里面的人群给它估计出来,对于将来可能发生一定的异常事件的话是起到一个预警作用。
右边的图也非常简单,就是说如果能及时的把道路里面的车辆的给检测出来,就可以统计它的个数,就可以实时地估计出它的车流密度,这样的话对于疏解城市的交通也是非常有帮助的。
像上面两个例子都只是在目标检测里面两个非常细化的子任务,而且也已经在整个的日常生活中得到了应用,都已经默默的在为生活的方便提供帮助。
再讲的就是第三个任务就是分割。分割是计算机视觉里面也是一个非常难的任务,分两种分割,一种是图像的语义分割,一种是个体的分割。
像左边图讲的就是图像的语义分割,语义分割做的事情就是给了你一张图片之后,想把整个图片割成一块一块独立的个体,像这个图片里面猫是一个前景,它踩在了一个草地上,背景里面是有蓝天还有树木,所以就想把它们整体的分割出来,像第二个图里面是有牛在草地上,背景有天空也有树木,所以就需要把构成图的不同的类别给它更精细地分别出来。
因为其实人很多时候比如说要解释图的话,到哪个地方是前景,哪些地方是背景,还要知道目标是什么?这就是语义分割要做的一件事情。
还有一种比语义分割更难一点的一种任务,现在也开始非常受到关注,就是个体的分割,它比语义分割要更难一点,其实就相当于在检测任务上加上了分割,就是说不仅要把所有的目标给它分出来,比如这里不仅要把狗给分出来,还要区分某个狗在哪个位置,就是把它的位置信息给它标定出来。
因此,计算机视觉刚才介绍的这三个任务识别检测和分割,它们是一点一点在增加难度。就相当于视觉识别是基础中的基础,检测是识别加定位,个体分割的话就是检测加分割,其实这样做的目的就是由易到难,逐渐的去靠近人在理解图像的过程中的能力。
对人类来说可能是很容易的一件事情,但是对计算机视觉来说,由于给它看到的就只是一些像素,如何能够让它去理解,这个过程就像可能教婴儿去学习一样,肯定是一个由简到难的一个过程。因此像个体分割任务的话,也是这几年随着微软亚洲研究院、Facebook等在这方面做了出色的工作,才得到了广泛的关注。
讲完了计算机视觉里面的三大基本任务之后,其实计算机视觉还取得了许多非常有用的一些任务,这些任务的话也有非常广泛的应用,其中一个就是视觉目标跟踪。
视觉目标跟踪可以这样描述:就是给你一段视频,这段视频往往就是一个相机或者是摄像头拍摄的一段视频,视频它会第一帧告诉你,你感兴趣的目标是什么,然后我就只提供图中这样一些信息,需要实时的在此后的把感兴趣的目标位置给找出来。
这样一个任务的话就是一个非常有用的,比如说扩展到多目标跟踪里面,这是一个候机大厅或者一个商场里面,把每一个人都实时的跟踪上,这样会建立每一个人的轨迹,同时就可以对一些异常行为进行检测,比如说某个人突然和另一个发生了这种交互或者其他,那就可能认为它们两个人有可能在打架或者是故意丢弃一个包之类的。这些任务的话,就可以通过给视觉目标跟踪来对它进行建模。
另外一方面就是对于车辆的跟踪,因为像右边图讲的就是有一辆无人驾驶的车辆,它里面有一个前置摄像头,需要拍到前面的几辆车,把它实时的跟踪住,并且计算出当前车与前车之间的距离,这也是视觉目标跟踪的一个应用。
另外还有一个demo给大家看看,就是关于用深度学习来做目标跟踪的一个例子。小编在这里就直接奉上此次公开课视频: 计算机视觉概述和深度学习简介 (单击此段红字)
看完卢博士的公开课,干货满满,小编光是笔记就做了好几页,更是按耐不住想要加入卢博士的计算机视觉学习大军了!!在这里也给大家预告一波:
为帮助对计算机视觉领域感兴趣同学快速高效入门,卢宪凯、晏轶超博士团队即将会1.1号在【雷锋网】AI慕课学院推出《计算机视觉基础入门课程(从算法到实战应用)》,课程深度结合理论+案例实训,手把手教实战,直通计算机视觉的本质及其应用。
目前课程早鸟优惠活动火热进行中!!
了解更多计算机视觉算法与实战课程信息,可以添加慕慕微信(aimooc-xm),备注“CV”,即可加入“计算机视觉基础”课程咨询群。
相关文章:
纽约大学教授谈MR/AR/VR发展趋势,将与机器人、机器学习、计算机视觉多种技术融合
计算机视觉中,有哪些比较好的目标跟踪算法?(上)
计算机视觉中,有哪些比较好的目标跟踪算法?(下)
。