计算机视觉目前已经被应用到多个领域,如无人驾驶、人脸识别、文字识别、智慧交通、VA/AR、以图搜索、医学图像分析等等,是人工智能(AI)目前最火的领域之一。那计算机视觉是什么?完整链路是怎样的?有哪些技术点?本文将跟大家一起探讨。

计算机视觉(Computer Vision),就是用机器来模拟人的视觉获取和处理信息的能力。它主要研究的内容是通过对图片或视频的处理,以获得相应场景的三维信息,另外其研究很大程度上是针对图像的内容

本文主要参考了商汤科技CEO徐立老师的分享,将计算机视觉分为三部分:成像、早期视觉和识别理解。本文也是围绕这三部分进行讨论。

一、成像(Image)

成像就是计算机“看”的能力,是计算机视觉的输入,相当于人的眼睛。影响计算机成像(看),主要有几个因素:光、物体不全、模糊。

当然计算机看到的东西可能不仅只是人眼看到的那样,甚至可以是人眼能力的延伸。

这个怎么说呢?后面将为会你解密。

1.1 光

(1)光线不足

光线不足是常见的问题之一,特别是在晚上。

比如说以上左图可能是人眼看到的,但是通过对图像做增强或者其他算法的处理,就可以变成了像以上右图那样,能看清物体了。这就是我们前面说的,机器成像也可以是人眼能力的延伸。

(2)曝光过渡

曝光过渡也比较容易出现在晚上,为什么呢?比如说你所拍摄的物体被车灯或其他强灯光照射,就容易出现曝光。

曝光的话,也可以通过一些简单的算法处理,来还原图像的样子。

1.2 物体不全

物体不全,主要表现有两方面原因:被拍物体部分被遮挡住了、只拍了被拍物体的一部分。

那出现这种场景的时候,我们机器需要怎么处理呢?可以尝试考虑的方向有两点:

  1. 机器能不能根据拍得清晰的那部分的特征,自动去补全被遮挡的部分呢。
  2. 机器能不能对被挡住的部分做一些特殊的标记,传送到下一层的时候,下一层就知道这个地方是异常的,需要特殊考虑。这样就可以避免挡住的部分给下一层的传达错误的信息。

1.3 模糊

造成模糊的原因可能有几种:

  • 运动模糊
  • 对焦模糊
  • 分辨率低(图片质量差)
  • 待识别物体过小
  • 雾霾、烟气等因素

二、早期视觉(Early Vision)

在徐立老师的定义里,早期视觉可以理解为视觉系统处理的中间结果,相当于我们人视觉感知系统的某一层。

就像我们的视觉感知系统那样,虽然我们不太容易直观的描述它做了什么处理,但它确实是有处理了一些信息,然后传给了大脑的其系统。早期视觉也是这样,充当一个中转站的角色。

早期视觉主要包括的内容有:图像分割、边缘检测、运动和深度估计等

下面我们给大家介绍下图像分割和边缘检测(运动和深度估计不太懂就不在这瞎bb了,感兴趣的同学可以自行研究)。

2.1 图像分割

图像分割指的是根据灰度、 颜色、 纹理和形状等特征把图像划分成若干互不交迭的区域, 并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。

图像分割经典方法有:边缘法和阈值法,但也可以用深度学习处理出很好的效果。

图像分割在图像处理中非常经典,也经常用到。比如说抠图,首先进行图像分割,取出我们目标部分,就可以把背景去掉了,最后还原。

2.2 边缘检测

边缘检测的目的就是找到图像中亮度变化剧烈的像素点构成的集合,因此表现出来往往是事物的轮廓。

如果把“图像分割”比喻成油画的话,那“边缘检测”就是素描。

如果图像中边缘能够精确的测量和定位,那么,就意味着实际的物体能够被定位和测量,包括物体的面积、物体的直径、物体的形状等就能被测量。

以下4种情况会表现在图像中时通常可以形成一个边缘:

  1. 深度的不连续(物体处在不同的物平面上);
  2. 表面方向的不连续(如正方体的不同的两个面);
  3. 物体材料不同(这样会导致光的反射系数不同);
  4. 场景中光照不同(如被树萌投向的地面)。

2.3 小结

早期视觉目前还有很多问题,还是不能做到很精准,因此现在端到端的训练方法是个很好的解决方案,比如说我们用深度学习来做图像分割。

三、识别理解(Recognition)

识别理解相当于人的大脑对信息的处理,经过处理后并给出反馈结果。

比如说人脸识别:

我们输入一张人脸的图片,机器就与人脸数据库中人脸进行比对,然后机器就可以告诉你这个图片的人是谁。

就像我们的大脑,看到一个人,我们就会去回忆,之前有没有见过这个人,在哪里见过,他叫什么名字等等一些信息。

从这个例子中,我们可以看出,机器识别理解的两个重要因素:

(1)数据库(人的记忆)

只有你数据库的数据足够多,也就是说你见过足够多的人,再给你看一个人的时候,你才知道这个人是谁。

(1)标签(特征点)

你是根据什么辨识这个人的,他的肤色、发型、眼睛、鼻子、嘴巴等等,也就是说我们需要给这些数据打上足够多的标签,识别的时候,就可以拿这些标签特征进行对比了。

徐立说:只要把图片和这种标签定义得足够好,数据量足够大,数据够完善的话,它有非常大的可能在垂直领域上,能够超越现有人类的识别准确率。

小结:

其实我们现在缺的不是数据,想要数据很简单,装足够多的摄像头,没日没夜的拍,数据就够多了。但是这些数据意义不大,没有标签,或者说场景不够丰富,因此我们缺乏的是高质量的数据,高质量表现在标签足够丰富和完善。

此文章主要参考了徐立老师的演讲内容,感兴趣可以去看下,徐立老师讲得更加哲学和情怀。

计算机视觉怎么学?计算机视觉的三部曲相关推荐

  1. 一阶微分算子锐化图像_【动手学计算机视觉】第三讲:图像预处理之图像分割...

    本讲完整代码>> 前言 图像分割是一种把图像分成若干个独立子区域的技术和过程.在图像的研究和应用中,很多时候我们关注的仅是图像中的目标或前景(其他部分称为背景),它们对应图像中特定的.具有 ...

  2. opencv计算机视觉_opencv是计算机视觉的至尊工具

    opencv计算机视觉 什么是计算机视觉? (What is Computer Vision?) Computer Vision is like imparting human intelligenc ...

  3. 用计算机视觉描述机器人,计算机视觉和机器人视觉概述

    1. 计算机视觉的概念    计算机视觉就是用各种成像系统代替视觉器官作为输入敏感手段,由计算机来代替大脑完成处理和解释.计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主 ...

  4. Paper之CVPRICCVECCV:2009年~2019年CVPRICCVECCV(国际计算机视觉与模式识别会议国际计算机视觉大会欧洲计算机视觉会议)历年最佳论文简介及其解读

    Paper之CVPR&ICCV&ECCV:2009年~2019年CVPR&ICCV&ECCV(国际计算机视觉与模式识别会议&国际计算机视觉大会&欧洲计算 ...

  5. 计算机视觉包含计算机图形学,[计算机视觉与图像识别]计算机视觉,计算机图形学和数字图像处理,三者之间的联系和区别.doc...

    [计算机视觉与图像识别]计算机视觉,计算机图形学和数字图像处理,三者之间的联系和区别.doc [计算机视觉与图像识别]计算机视觉,计算机图形学和数字图像处理,三者之间的联系和区别 篇一 : 计算机视觉 ...

  6. 北京邮电大学计算机视觉博士,北京邮电大学团队蝉联计算机视觉领域COCO挑战赛冠军...

    10月27日,计算机视觉领域的三大顶会之一ICCV 2019在韩国首尔拉开帷幕.在大会Joint COCO and Mapilary Recognition Challenge Workshop上,会 ...

  7. 学计算机视觉台式机,回顾2020,2020年最受欢迎的7种电脑视觉工具

    打开你的手机,检查你相册里的第一张照片?你可以很容易地识别图像中的人,甚至可以向你的朋友描述.这是因为人类很容易看到事物并描述他们所看到的东西,但计算机也是如此吗?对于计算机来说,"看到&q ...

  8. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...

    我创建了一个知乎圈子:[平凡而诗意],专注于分享前沿技术.编程开发.实用工具等方面内容,感兴趣的可以首页搜索[平凡而诗意]加入我的圈子,让我们一起玩耍吧!QQ学习交流群:1077239487 平凡而诗 ...

  9. 动手学计算机视觉--第二章,关于单通道卷积,多通道卷积的讨论

    订正,本章内容仍使用keras框架进行分析,主要参考<Python深度学习(keras)>(Deep Learning with Python). 关于深度学习和计算机视觉相结合的卷积操作 ...

最新文章

  1. window.onload和$(document).ready()区别很大……
  2. SecureCRT 6.7 vim高亮
  3. linux 冒号命令,linux 的空命令:(冒号)
  4. 可视化工具Navicat for MySQL-操作三
  5. SpringBoot创建简单的hello world
  6. 酱茄企业官网多端开源小程序源码 v1.0.0
  7. 全文搜索 (SQL Server) 修复
  8. bzoj 1659: [Usaco2006 Mar]Lights Out 关灯(IDA*)
  9. 79 ----二次曲面的分类、二次项系数矩阵的特征多项式、二次项系数矩阵的特征值与特征向量、消去二次交叉项、二次曲面方程中的一次项和常数项的变化
  10. bugku-管理员登录-(X-forwarded-for)
  11. mysql 原理 ~ 并行复制
  12. java金蝶云单据查询_如果在单据上查或下查的“单据关联”界面添加功能
  13. html5 加上魔法,简单易懂的React魔法(28):是时候添加一些CSS样式了
  14. linux整人指令,六个愚人节Linux恶作剧
  15. 研究生学历,毕业就给房!给户口!
  16. Scala中fold()操作和reduce()操作的区别
  17. mysql 约束 分类,MySQL约束类型及举例介绍
  18. java淡蓝色怎么表示_最淡的蓝是什么颜色(淡蓝色配什么颜色好看)
  19. 肺管家科普:引发肺气肿的原因竟然是这些...
  20. 小学计算机课活动小结,电脑教师工作小结

热门文章

  1. vue js打印并去掉页眉和页脚
  2. 一篇深入读懂蓝牙音频!
  3. wepy 父调用子组件方法_微信小程序wepy框架笔记小结
  4. Python - 一种一次性导出或修改所有类对象属性与值的方法
  5. 蓝桥杯备考-刷题之路-动态规划算法(DP算法)Part1
  6. 神级编辑器 Vim 使用-正则替换篇
  7. html+车牌号选择,购车攻略之车牌号选择技巧
  8. 重访马尔可夫生成式任务型对话 Revisiting Markovian Generative Architectures for Efficient Task-Oriented Dialog Sys
  9. Design System Application - Chapter 3 字号 Font Size
  10. Red Hat Linux虚拟机与主机共享文件