0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机视觉的实现基本过程

新机器视觉 来源:新机器视觉 2020-09-24 10:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果想要机器能够进行思考,我们需要先教会它们去看。

李飞飞——Director of Stanford AI Lab and Stanford Vision Lab

计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成更适合人眼观察或进行仪器检测的图像。

学习和运算能让机器能够更好的理解图片环境,并且建立具有真正智能的视觉系统。当下环境中存在着大量的图片和视频内容,这些内容亟需学者们理解并在其中找出模式,来揭示那些我们以前不曾注意过的细节。计算机视觉的实现基本过程为:

计算机从图片中生成数学模型

计算机图形在模型中对图像进行绘制,然后在图像处理过程中将其作为输入,另外给出处理图像作为输出

计算机视觉的理念在某些方面其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习深度学习、模式识别、概率图模型、科学计算以及一系列的数学计算等。因此,你可以将本文看成是深入这个领域研究的第一步。本文将尽量包涵到尽可能多的内容,但是可能仍然会存在一些较为复杂的主题,也有可能存在某些遗漏之处,敬请见谅。

丨第一步——背景

通常来说,你应该具有一点相关的学术背景,比如上过有关概率学、统计学、线性代数、微积分(微分与积分)等相关课程,对矩阵计算有一定了解更好。另外,从我的经验来看如果你对数字信号处理有了解的话,在以后对于概念的理解来说会更加容易。
在实现层面来说,你最好能够会用MATLAB或者Python中的一种,一定要记住的是计算机视觉几乎全部与计算机编程有关。

你也可以在Coursera上选修《概率绘图模型》一课,这门课程相对较难(讲得比较深入),你也可以在学习一段时间之后再对其进行了解。

丨第二步——数字图像处理

观看来自杜克大学的Guillermo Sapiro所教授的课程——《图像和视频处理:从火星到好莱坞Image and Video Processing: From Mars to Hollywood with a Stop at the Hospital》,该课程所提供的教学大纲每章都是独立的且包涵大量的练习,你可以在coursera和YouTube上找到相关的课程视频信息。另外你可以看下Gonzalez与Woods编写的《数字图像处理(Digital Image Processing)》一书,使用MATLAB来运行其中所提到的范例,相信一定会有所获。

丨第三步——计算机视觉

一旦学习完有关数字图像处理有关内容,接下来应该了解相关的数学模型在各种图像和视频内容中的应用方法。来自佛罗里达大学的Mubarak Shah教授在计算机视觉方面的课程可以作为一门很好的入门课程,其涵盖了几乎所有的基础概念。

观看这些影片的同时,可以学习Gatech的James Hays教授的计算机视觉项目课程所使用的概念和算法,这些练习也都是基于MATLAB的。千万不要跳过这些练习,只有在真正的练习过程中才会对这些算法和公式有更深入的了解。

丨第四步——高级计算机视觉

如果你认真学习了前三步中的内容,现在可以进入到高级计算机视觉相关学习了。
来自巴黎中央理工学院的Nikos Paragios和Pawan Kumar讲授了一门人工视觉中的离散推理(Discrete Inference in Artificial Vision)课程,它能提供相关的概率图形模型和计算机视觉相关的大量数学知识。

到现在这一步来看就比较有趣了,这门课程一定能让你感受到用简单模型构筑机器视觉系统有多么复杂。学完这门课程的话,在接触学术论文之前又迈进一大步。

丨第五步——引入Python和开源框架

这一步我们要接触到Python编程语言。
就Python而言有许多像 OpenCV、PIL、vlfeat这样的相关扩展包,现在就是将这些扩展包运用到你的项目中的最好时机。因为如果有其他的开源框架存在的话,没有必要从头开始来编写一切内容。
如果需要参考资料的话可以考虑《使用Python对计算机视觉进行编程 Programming Computer Vision with Python》,使用这本书就够了。你可以动手去尝试下,看看MATLAB和Python结合的话如何来实现你的算法。

丨第六步——机器学习与CovNets(卷积神经网络

有关如何从头开始机器学习的资料实在太多,你可以从在网上查找到大量相关教程。

从现在开始最好一直使用Python进行编程,可以看下《使用Python建立机器学习系统——Building Machine Learning Systems with Python》和《Python机器学习——Python Machine Learning》这两本书。
目前深度学习正大行其道,可以试着学习卷积神经网络在计算机视觉中的应用( Computer Vision: the use of CovNets),在此推荐斯坦福的CS231n课程:针对视觉识别的卷积神经网络。

丨第七步——如何才能更进一步

行文至此,你可能会觉得已经讲了太多的内容,需要学的已经太多。但是,你还可以进一步进行探索研究。
其中一个方法是看看由多伦多大学的Sanja Fidler和James Hays所举行的一系列研讨会课程,能帮助你对当下计算机视觉研究方向的最新概念有所理解。
另一种即跟着 CVPR、ICCV、 ECCV、 BMVC这些顶级学术会议的相关学术论文,通过会上的研讨会、主旨演讲以及tutorial等日程一定能学到不少知识。

总结:如果你按照步骤一步步完成所有的学习任务,届时你将大概了解计算机视觉中有关滤波器、特征检测、描述、相机模型、追踪器的历史,另外还学习到分割和识别、神经网络和深度学习的最新进展。希望本文能帮助你在计算机视觉领域走得更远,学习得更加深入。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    28

    文章

    1340

    浏览量

    59163
  • 机器视觉
    +关注

    关注

    163

    文章

    4727

    浏览量

    124972
  • 计算机视觉
    +关注

    关注

    9

    文章

    1714

    浏览量

    47445

原文标题:从计算机视觉的小白变为大神,你需要经历这七个阶段

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用代理式AI激活传统计算机视觉系统的三种方法

    当前的计算机视觉系统擅长于识别物理空间与流程中的事件,却难以诠释场景细节及其意义,也无法推理后续可能发生的情况。
    的头像 发表于 12-01 09:44 312次阅读

    STM32计算机视觉开发套件:B-CAMS-IMX摄像头模块技术解析

    CMOS RGB图像传感器、ISM330DLC惯性运动单元和VL53L5CX ToF传感器。B-CAMS-IMX可用于任何具有MIPI CSI-2® 接口(带22引脚FFC连接器)的STM32开发板,轻松在STM32微控制器和微处理器上实现全功能计算机
    的头像 发表于 10-20 09:46 698次阅读
    STM32<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>开发套件:B-CAMS-IMX摄像头模块技术解析

    易控智驾荣获计算机视觉顶会CVPR 2025认可

    近日,2025年国际计算机视觉与模式识别顶级会议(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美国田纳西州纳什维尔召开。
    的头像 发表于 07-29 16:54 967次阅读

    工业计算机的重要性

    工业计算机对某些行业至关重要。我们将在下面详细解释这些行业中的工业计算机应用。1.制造与工业自动化工业级计算机非常适合制造工厂,特别是那些想要自动化装配过程的工厂。在这样的环境中,工业
    的头像 发表于 07-28 16:07 396次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境中运行。自动化计算机能够
    的头像 发表于 07-21 16:44 418次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 525次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 509次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    工业计算机如何设计用于冲击和振动

    探讨了使工业计算机能够抵御冲击和振动的关键设计原则和功能。了解工业环境中的冲击和振动冲击是指突然的、高强度的冲击,例如重物撞击系统或运输过程中突然停止。另一方面,振
    的头像 发表于 05-19 15:27 358次阅读
    工业<b class='flag-5'>计算机</b>如何设计用于冲击和振动

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机视觉,通常与卷积神经网
    的头像 发表于 05-16 14:37 629次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b><b class='flag-5'>实现</b>智能视频分析

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
    的头像 发表于 04-22 14:29 1855次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对计算机视觉的支持

    计算机视觉的支持,扩大了当前对音频、雷达和其他时间序列信号数据的支持范围。在增加这项支持后,该平台将能够用于开发低功耗、低内存的边缘AI视觉模型。这将给诸多应用领域的机器学习开发人员带来极大的便利,例如工厂可以借此
    的头像 发表于 03-11 15:11 651次阅读
    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的支持

    Arm KleidiCV与OpenCV集成助力移动端计算机视觉性能优化

    等多种应用中。然而,这些计算机视觉应用可能很难实现最优化的延迟性能和处理速度,特别是在内存大小、电池容量和处理能力有限的移动设备上难度更高。 而 Arm KleidiCV 便能在其中大显身手。该开源库利用了最新 Arm CPU
    的头像 发表于 02-24 10:15 874次阅读

    AR和VR中的计算机视觉

    ):计算机视觉引领混合现实体验增强现实(AR)和虚拟现实(VR)正在彻底改变我们与外部世界的互动方式。即便是在引人入胜的沉浸式
    的头像 发表于 02-08 14:29 2119次阅读
    AR和VR中的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 932次阅读

    RS232设备与计算机连接的实现步骤

    RS-232是一种串行通信协议,用于连接计算机和其他设备,如调制解调器、鼠标、打印机等。以下是实现RS-232设备与计算机连接的步骤,以及一些相关的细节: 1. 了解RS-232标准 RS-232
    的头像 发表于 12-10 17:21 5051次阅读