计算机视觉与Python编程实践
(1)问题的提出
图1.1 机器人索菲亚能够察言观
索菲亚(图1.1)是国际上知名的类人机器人,她拥有真人般的皮肤,具有类似人的交流能力。
索菲亚脸部皮肤下面设置有很多微电机,能够表现62种以上的面部表情,模拟人类做出微笑等面部动作。2017年10月26日,沙特阿拉伯授予机器人索菲亚公民身份。作为历史上首个获得公民身份的机器人,索菲亚当天在沙特说,它希望用人工智能“帮助人类过上更美好的生活”,人类不用害怕机器人,“你们对我好,我也会对你们好”。
索菲亚通过嵌入的摄像头,借助计算机视觉技术,观察、识别身边人的体态动作、面部表情,并作出相应回应。索菲亚集成了语音识别技术,能识别和理解人类语言,实现人机交互。索菲亚“大脑”中的智能硬件算力强劲,利用深度学习等人工智能算法,能够快速完成信息采集、计算处理和智能控制。因此,在公共场合,机器人索菲亚表现出了令人惊讶的“察言观、能说会道”等能力,并能够与人类进行眼神接触和交流互动。
人工智能成为国际竞争的新焦点和经济发展的新引擎,世界各国都高度关注具有创新及实践能力的人工智能研究及应用人才的培养。机器人中的人工智能技术分为智能硬件和算法编程两部分,其中计算机视觉、语音交互和Python编程都是当前最热点的技术。学习计算机视觉等人工智能技术,掌握Python编程方法,可以应用在目标跟踪、图像匹配、人脸检测、二维码识别、图像分类、深度学习等创新实践项目中。
(2)任务与目标
①了解计算机视觉的基本原理,了解人工智能开源硬件的技术特性;
②了解嵌入式Python程序的基本结构编程方法;
③掌握OpenAIE IDE编程工具,完成编写、上传、运行嵌入式Python程序;
④了解运用人工智能开源硬件进行人工智能应用系统设计的实践方法。
(3)知识准备
1)计算机视觉
计算机视觉(Computational Vision)是研究如何使机器“看”的科学,也就是指用摄像机和计算机代替人眼对目标进行识别、跟踪和测量等,并进一步做图形处理,使计算机处理成为更适合人眼观察或传送给仪器检测的图像。
while语句怎么用在python中计算机视觉是人工智能技术的重要组成部分,它研究如何使人工智能系统从图像或多维数据
中去“感知”。相当于给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环境。计算机视觉就是用各种成像系统代替视觉器官作为输入敏感手段,由计算机来代替大脑完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
计算机视觉系统一般包括图像获取、预处理、特征提取、检测分割、模式识别、机器学习、深度学习等部分,图1.2是计算机视觉在智能交通中的典型应用,通过车辆检测与跟踪,实现对路口车辆违章判断,或者感知交通道路的拥堵态势。
图1.2 计算机视觉在智能交通系统中的应用
2)机器视觉
机器视觉主要是指工业领域的计算机视觉研究,例如自主机器人的视觉,用于检测和测量的视觉。这表明在这一领域通过软件硬件,图像感知与控制理论往往与图像处理紧密结合来实现高效的机器人控制或各种实时操作。
机器视觉是重要的人工智能技术,就是用机器代替人眼来做检测、判别和识别。机器视觉系统是通过图像摄取装置将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的特征及形态信息,如亮度、颜、形状特征等信息,再对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制应用系统设备的工作。
一个典型的机器视觉系统包括:光源,摄像头或专业相机,图像处理单元或控制器,图像处理算法及应用软件,以及显示器、网络通信、输入输出单元等(图1.3)。
3)人工智能开源硬件
开源硬件指与自由及开放源代码软件相同方式设计的智能硬件。开源硬件延伸着开源软件代码的定义,包括电路原理图、PCB印制图、材料清单、设计图等都使用开源许可协议,自由使用分享,以开源的方式去授权。开源硬件把开源软件里的GPL,CC等协议规范带到硬件分享领域,允许免费使用、修改、衍生和发行,但开源硬件也是具有知识产权的,其版权属于原创者以及后续参与修改者。开源硬件鼓励自由创新,同样需要尊重知识产权,应该在开源协议范围内任意修改原始设计及相应代码和推广应用。
图1.3 生产中应用的机器视觉系统
ARM处理器具有体积小、低功耗、低成本、高性能的特点,计算机视觉等人工智能开源硬件多以STM32F427、STM32F765VI等ARM核MPU为控制核心。为实现典型的人工智能方法,一般都会集成摄像头处理芯片,可以直接采集和处理图像帧数据。新型的人工智能开源硬件还会集成语音识别、语音合成芯片,可以直接采集和处理语音数据,进行人机语音交互。
集成计算机视觉、听觉功能的人工智能开源硬件可以看作“带机器视觉和听觉功能的Arduino”,具有成本低、功能强、易学习、普及方便等特点。它通过各种串口、I2C总线、GPIO等通信方式连接其他硬件模块,甚至是单片机系统,如主流的Arduino、Raspberry Pi(树莓派)等开源硬件,广泛应用在视觉机器人、智能驾驶、智能家居等创新实践活动中。
4)人工智能时代的Python语言
Python语言诞生之初是专门为非专业程序员设计的,一直具有易学习、易掌握、易推广普及的特点。目前,Python语言已经成为用户增长最快、最受欢迎的程序设计语言,是人工智能时代首选的编程工具之一。
Python是完全面向对象的语言,函数、模块、数字、字符串都是对象,并且完全支持继承、
重载、派生、多继承等编程方法,有益于增强源代码的复用性。Python的突出特点是自由、开放源代码软件,从解释器、编程工具到扩展库,使用者可自由地发布这个软件的拷贝、阅读它的源代码、对它做改动并把它的一部分用于新的自由软件中。由于开源,Python已经被移植在各种系统平台,各种扩展库特别丰富,深受创客运动、创新企业、研究机构的欢迎。很多知名大学已经采用Python来讲授程序设计课程,例如卡内基·梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如知名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK等。而Python专用的科学计算扩展库就更多,如NumPy、SciPy和Matplotlib等著名的科学计算扩展库,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。