书签 分享 收藏 举报 版权申诉 / 264
上传文档赚钱

类型教学配套课件:人工智能开源硬件与python编程实践.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3523676
  • 上传时间:2022-09-11
  • 格式:PPT
  • 页数:264
  • 大小:13.26MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《教学配套课件:人工智能开源硬件与python编程实践.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    教学 配套 课件 人工智能 硬件 python 编程 实践
    资源描述:

    1、计算机视觉与计算机视觉与Python编程实践编程实践人工智能开源硬件与人工智能开源硬件与pythonpython编程实践编程实践2互动与调查 您了解哪些人工智能理论和方法(机器学习、深度学习等)?如有,请列举;您有没有参与过人工智能应用实践?如有,请简要说明工作内容;您有无Python编程经历?如有,请说明掌握程度如何?您接触过人工智能开源硬件吗?如有,请列举;课程教学内容总体安排 人工智能概述与人工智能开源硬件;Python编程基础;嵌入式Python编程基础;计算机视觉与Python编程;语音识别与Python编程;情境导入 人工智能成为国际竞争的新焦点和经济发展的新引擎,世界各国都高度关

    2、注具有创新及实践能力的人工智能研究及应用人才的培养。机器人中的人工智能技术分为智能硬件和算法编程两部分,其中计算机视觉、语音交互和Python编程都是当前最热点的技术。任务与目标 了解计算机视觉的基本原理,了解人工智能开源硬件的技术特性;了解嵌入式Python程序的基本结构及编程方法;掌握OpenAIE IDE编程工具,完成编写、上传、运行嵌入式Python程序;了解运用人工智能开源硬件进行人工智能应用系统设计的实践方法。知识拓展:计算机视觉 计算机视觉是人工智能技术的重要内容,它研究如何使人工智能系统从图像数据中去“感知”。相当于给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环

    3、境。计算机视觉就是用各种成象系统代替视觉器官作为输入感知手段,由计算机来代替大脑完成处理和解释。一般包括图像获取、预处理、特征提取、检测分割、机器学习、深度学习等部分。知识拓展:人工智能开源硬件 集成高性能处理器和摄像头处理芯片,可以直接采集和处理图像帧数据;集成语音识别以及语音合成芯片,可以直接采集和处理语音数据,进行人机语音交互;带机器视觉和听觉功能的Arduino;成本低、功能强、易学习、便于普及。知识拓展:Python语言 自由、开放源码,从解释器、编程工具到扩展库,人们可自由地发布软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中;易于学习、易于掌握、易于推广普及

    4、;已经被移植在各种系统平台,扩展库特别丰富。2022-7-25知识拓展:Python编程基础 变量与赋值 列表、元组及切片操作 语句 程序结构(顺序、条件、循环)函数 对象 注释Python嵌入式编程 固化库、外部库的导入和引用;MPU资源的引用;OpenAI开源硬件常用嵌入式程序结构(from.)import+模块:引入程序所依赖的模块硬件(视觉、语音)初始化及设置部分主程序运行以及循环部分:while(True):设计与实践 人工智能开源硬件及Python编程库 OpenAIE IDE的使用 编写第一个嵌入式Python程序 调试、验证及完善2022-7-25 工作频率:480MHz;RA

    5、M存储:1M;Flash存储:2M;VGA分辨率摄像头及视频编码 ASR语音识别;UART通讯接口;计算机视觉Python库;语音识别Python库;CNN深度学习Python库;板上硬件资源Python库;人工智能开源硬件OpenAIE固化的Python编程库 板上固化算法库(Python on Board)计算机视觉(OpenCV/MV)语音识别(ASR)异步通信(UART)CNN深度学习神经网络库OpenAIE IDE的使用 OpenAIE IDE是支持人工智能开源硬件OpenAIE的编程工具,集成了视频显示等辅助工具,可以编写、调试Python代码;编写第一个嵌入式Python程序 板

    6、上固化的openaie库中提供LED控制类,包含有点亮red、green、blue三种颜色的控制方法。通过on方法,进行点亮,通过off方法进行熄灭。from openaie import led#从板上固化的openaie库中导入led模块;import timewhile(True):led.green.on()#开启绿灯 time.sleep(150)#延时150毫秒 led.green.off()#关闭绿灯 time.sleep(150)#延时150毫秒分析与思考 总结Python程序在变量定义、基本语法以及程序结构上的特点。将这种编程风格与你属性的其它编程语言做一比较。以While程

    7、序结构为例,重点体会Python的缩进规则,进一步了解和体验Python语言中if、for和函数定义等程序模块的结构设计。如果不遵守缩进规则,会是什么结果?课程中所编写的程序是运行在智能硬件上,属于嵌入式编程。请从硬件的工作频率、内存、外存、输入输出接口、摄像头等附件的性能、编程库的调用等方面分析,嵌入式Python与运行在电脑上的Python程序在编程方法上有哪些异同?视频捕捉与处理视频捕捉与处理Python编程编程2022-7-25人工智能开源硬件与人工智能开源硬件与python编程实践编程实践情境导入 火车站“刷脸”进站模式采用了人脸识别技术。检票闸机上都安装了摄像头,旅客走近机器时,摄

    8、像头实时采集含有人脸的视频流,并自动在图像帧中检测和跟踪人脸,进而对检测到的人脸进行特征识别,与身份证芯片里的照片进行比对。票证信息相符以及人脸与证件照比对通过,闸机就会自动放行。任务与目标 了解视频与图像的基本原理、相关技术和应用框架;掌握运用人工智能开源硬件进行摄像头工作控制的方法,掌握Python语言的编程方法;应用人工智能开源硬件和Python相关算法模块设计视频采集与捕捉功能;针对生活应用场景,进一步开展创意设计,设计具有实用价值的视频采集与捕捉应用系统。2022-7-25知识拓展:数字图像基础知识 分辨率 图像存储格式 灰度图像 色温 白平衡2022-7-25知识拓展:视频图像的采

    9、集 视频由一组连续变化的图像组成,其中的每幅图像就是视频帧。当连续的图像帧以每秒超过20帧以上速率变化时,根据视觉暂留原理,形成平滑连续的视觉效果;数字摄像头可以直接捕捉图像,通过串口或者USB接口传到计算机里。2022-7-25知识拓展:分辨率 摄像头的分辨率是指摄像头解析图象的能力,也即摄像头的影像传感器的像素数。最高分辨率就是指摄像头能最高分辨图像的能力,即摄像头的最高像素数。30万像素CMOS摄像头的最高分辨率一般是分辨率为640480。分辨率的两个参数表示的是图片在长和宽上所占的像素的数目。2022-7-25set_framesize(sensor.QVGA)#设置图像的分辨率;知识

    10、拓展:图像存储格式 彩色图像由RGB三个分量组成。Bitmap图像格式由三个颜色通道组成,每个通道用8位数据来表示,各有 256 个可能的值。所以,Bitmap图像又称为24 位真彩色图像,也被称为RGB888格式。RGB565彩色模式,一个像素占两个字节,即16位。第一个字节的前5位用来表示R(Red),第一个字节的后三位连同第二个字节的前三位用来表示G(Green),第二个字节的后5位用来表示B(Blue)。一个像素的16位颜色信息中,高5位为R分量,中间6位为G分量,低5位为B分量。2022-7-25set_pixformat(sensor.RGB565)#设置为565彩色;知识拓展:灰

    11、度图像 灰度图像是每个像素只有一个采样颜色的图像,通常显示为从最暗黑色到最亮的白色的灰度。黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度。图像灰度级指图像中的色度分量亮度的最大值与最小值之差的级别。一般使用8位数据来表示灰度,这样灰度共有256级。RGB图像转灰度图像,使用不同的经验公式,会得到不同的灰度图像。2022-7-25gray=0.2989*r+0.5870*g+0.1140*b彩色转灰度图像编程实现def rgb2gray(rgb):r,g,b=rgb:,:,0,rgb:,:,1,rgb:,:,2 gray=0.2989*r+0.5870*g+0.1140*

    12、b return gray2022-7-25知识拓展:色温 色温是表示光线中包含颜色成分的一个计量单位。色温是指绝对黑体从绝对零度(-273)开始加温后所呈现的颜色。黑体在受热后,逐渐南黑变红,转黄,发白,最后发出蓝色光。当加热到一定的温度,黑体发出的光所含的光谱成分,就称为这一温度下的色温。色温越高,光色越偏蓝,色温越低则偏红。某一种色光比其它色光的色温高时,说明该色光比其它色光偏蓝,反之则偏红。同样,当一种色光比其它色光偏蓝时说明该色光的色温偏高,反之偏低。2022-7-25知识拓展:白平衡 白平衡的概念是“不管在任何光源下,都能将白色物体还原为白色”,对在特定光源下拍摄时出现的偏色现象,

    13、通过加强对应的补色来进行补偿。摄像机的白平衡设定用来校准色温的偏差。白平衡调节是通过对白色被摄物的颜色还原,进而达到其他物体色彩准确还原。2022-7-25sensor.set_auto_whitebal()#自动白平衡开启或者关闭设计与实践 Python程序基本结构 OV7725摄像头编程基础 摄像头参数设置及控制 视频捕捉Python编程 调试、验证及完善2022-7-25Python程序基本结构 顺序 条件 循环2022-7-25以While循环结构为例,体会Python的缩进规则;以if、for等条件结构为例,体会Python的缩进规则;如果不遵守缩进规则,会是什么结果?OV7725摄

    14、像头编程基础 分辨率(VGA、QVGA、QQVGA);图像存储格式(RGB565等);帧率;增益;白平衡;畸变矫正2022-7-25摄像头参数设置及控制import sensor#引入摄像头控制模块#设置摄像头工作参数sensor.reset()#初始化摄像头;sensor.set_pixformat(sensor.RGB565)#设置为彩色,每个像素16bit;sensor.set_framesize(sensor.QVGA)#设置图像分辨率大小;sensor.skip_frames()#更改设置后,跳过若干帧,等待感光元件稳定;#sensor.set_pixformat()#设置像素模式;

    15、#sensor.GRAYSCALE#灰度,每个像素8bit。#自动增益白平衡sensor.set_auto_gain()#自动增益开启或者关闭。sensor.set_auto_whitebal()#自动白平衡开启或者关闭。2022-7-25视频捕捉Python编程案例sensor.reset()#初始化摄像头;#持续拍照while(True):img=sensor.snapshot()#拍摄一张照片,其中img为一个image对象实例;#跳过一些帧sensor.skip_frames(n=10)#在更改设置后,跳过若干帧,等待感光元件的稳定;#获取一张图像sensor.snapshot()#拍

    16、摄一张照片,返回一个image对象。2022-7-25功能拓展 通过摄像头捕捉到视频图像;按下板上按键,保存图像帧到板上Flash存储中;模拟实现相机功能。2022-7-25完整案例:import sensor,image,timefrom openaie import*sensor.reset()sensor.set_pixformat(sensor.RGB565)sensor.set_framesize(sensor.QVGA)sensor.skip_frames(time=2000)clock=time.clock()while(True):clock.tick()img=sensor.

    17、snapshot()if button.is_pressed():#检测到按键按下 time.sleep(10)#延时消抖if button.is_pressed():img.save(“example.jpg”)#保存图片,重置AIE控制板进行查看2022-7-25保存成外部文件的图像帧分析与思考 为什么在嵌入式视觉应用中,常用QQVGA、QVGA等低分辨率以及RGB565等图像格式,而不使用高分辨率及Bitmap等图像格式?在视频采集过程中,为什么要使用sensor.skip_frames(n)方法,跳过若干帧?编写调试好摄像头控制程序后,观察环境光照变化对视频图像质量的影响。分析光照的影

    18、响会严重到什么程度?请找一些对策,并设计解决方案。如果把OpenAIE控制板上的LED灯设置成白色,可以起对附件环境起补光作用吗?编程尝试一下,观察补光前后摄像头采集图像在亮度上的变化,再做出结论。2022-7-25计算机视觉与颜色追踪计算机视觉与颜色追踪人工智能开源硬件与人工智能开源硬件与python编程实践编程实践情境导入 在无人智能驾驶系统中,红绿灯识别是一项基本技术。利用无人车的前置摄像系统,对实时捕捉到的图像帧进行图像处理和分析,发现前方的交通指示装置,然后对交通装置区域里的颜色块进行检测,实现红绿灯的识别,引导无人车的运动。颜色的识别与追踪不仅应用于智慧交通、机器人等智慧装备之中,

    19、在工业、农业及日常生活中都有广泛应用。任务与目标 了解图像颜色识别技术的基本原理、相关算法和应用框架;掌握运用人工智能开源硬件设计颜色识别系统的方法,提升Python编程方法;应用人工智能开源硬件和Python相关算法模块设计颜色跟踪功能;针对生活应用场景,进一步开展创意设计,设计具有实用价值的颜色跟踪应用系统。知识拓展:颜色空间模型 光的颜色由不同波长的电磁波所决定。人的眼睛内有几种辨别颜色的锥形感光细胞,分别对黄绿色、绿色和蓝紫色(或称紫罗兰色)的光最敏感(波长分别为564、534和420纳米)。表征颜色的模型的不止一种,主要可以通过RGB、HSV、LAB、CMYK等色域模型将可见光的颜色

    20、描述出来。知识拓展:RGB模型 在模型的三维直角坐标系中,x、y、z轴相当于红、绿、蓝三通道,原点vec3(0.0,0.0,0.0)代表黑色,顶点vec3(1.0,1.0,1.0)代表白色,原点到顶点的中轴线x=y=z代表灰度线。RGB模型适用于计算机表示,将RGB以不同的比例混合后,人的眼睛可以形成与其它各种频率的可见光等效的色觉。知识拓展:HSV模型 HSV模型(Hue色相、Saturation饱和度、Value/Brightness亮度)比较适合人类习惯;模型中H即光谱颜色所在的位置,用角度来表示,红、绿、蓝分别相隔120,互补色(CMY)分别相差180。纯度S范围在0,1,表示所选颜色

    21、的纯度和该颜色最大的纯度之间的比率,当S=0时,代表灰度。V表示色彩的明亮程度,范围0,1,与光强度无直接关系。知识拓展:Lab模型 Lab模型又称亮度-对比度模型,是由亮度(Luminosity)和有关色彩的a、b三个要素组成。a表示从洋红色到绿色的范围,b表示由黄色到蓝色的范围;L取值范围是0,100,当L=50时,相当于50%的黑。a、b的值域都是-128,127;Lab模型具有不依赖设备的优点,如果想在数字图像处理中保留宽阔的色域和丰富的色彩,最好选择Lab模型。基于Lab色彩空间的图像分割 Lab颜色空间中,L:亮度层,a:颜色在红绿轴的分量,b:颜色在蓝黄轴的分量。通过计算每个像素

    22、点和六种颜色平均值的欧氏距离,这六种距离中最小的距离既为该像素点的颜色;LAB阈值分割法有两个关键步骤:第一,确定进行正确分割的阈值;第二,将图像的所有像素与阈值进行比较,以进行区域划分,达到目标与背景分离的目的。设计与实践 颜色追踪摄像头参数设置 时钟控制设计 颜色追踪编程 红绿蓝三颜色追踪 调试、验证及完善颜色追踪摄像头参数设置#设置摄像头工作参数 sensor.reset()#初始化摄像头组件;sensor.set_pixformat(sensor.RGB565)#设置为彩色;sensor.set_framesize(sensor.QVGA)#设置图像的大小;sensor.skip_fr

    23、ames()#在更改设置后,跳过若干帧,等待摄像头组件的稳定;#自动增益白平衡 sensor.set_auto_gain()#自动增益开启或者关闭。在使用颜色追踪算法时,需要关闭自动增益。sensor.set_auto_whitebal()#自动白平衡开启或者关闭。在使用颜色追踪算法时,需要关闭此功能。2022-7-25时钟控制设计 time.ticks()返回以毫秒计的通电后的运行时间。time.sleep(ms)休眠 ms 毫秒数。class time.clock返回一个时钟物件。clock.tick()开始追踪运行时间。clock.fps()停止追踪运行时间,并返回当前FPS(每秒帧数)

    24、。在调用该函数前一定要先调用tick()方法;clock.avg()停止追踪运行时间,并返回以毫秒计的当前平均运行时间。在调用该函数前始终首先调用 tickclock.reset()重置时钟物件。2022-7-25颜色追踪编程方法 image.find_blobs()方法,用于查找图像中所有色块,并返回一个所搜索到的色块物件的列表。thresholds 元组列表中每个元组需要有六个参数值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi),分别是LAB颜色模型的L、A和B三个参数的最小值和最大值。roi参数用来设置颜色识别的视野区域,roi是一个元组,roi=(x,y,w,h),代表

    25、从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi默认设置为整个图像视野。2022-7-25颜色追踪的实现设置好摄像头视频采集工作参数,将待追踪颜色的LAB阈值传入find_blobs函数中,即可在指定的图像区域内启动颜色追踪过程:red_threshold_01=(41,60,44,84,-10,63)#设置红色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL,maxL,minA,while(True):clock.tick()#跟踪两次snapshots()间消耗的时间(milliseconds);img=sensor.snapshot()#捕获图像帧;blobs=

    26、img.find_blobs(red_threshold_01,area_threshold=150)#搜索指定颜色色块;if blobs:#如果找到了目标颜色 print(blobs)for b in blobs:#迭代找到的目标颜色区域 img.draw_rectangle(b0:4)#用矩形标记出目标颜色区域 img.draw_cross(b5,b6)#在cx,cy坐标处画上十字标记拓展:实现红绿蓝三种颜色追踪thresholds=(41,60,44,84,-10,63),#红色阈值 (53,72,-59,-15,-3,52),#绿色阈值 (48,71,-25,-5,-53,-26)#蓝

    27、色阈值#可同时设置机器视觉-阈值编辑器 选择建模源图像阈值编辑器操作界面 左上是源图像显示区,显示导入的图像帧。右上是色块跟踪区,显示按照当前Lab阈值参数进行颜色跟踪的情况。该区域显示的是二值化图像,白色像素是被跟踪的像素。下部是各组参数调节区,包括L参数、A参数、B参数的最小值和最大值。阈值参数调节 拖动L参数的最大值和最小值的指针,寻找到尽可能的目标区域阈值是白色的情况n将最小值的指针拖到最左边,最大值的指针拖到最右边。阈值参数调节 继续拖动各B参数的最大值和最小值通道上的指针,尽量消除非红色像素点,得到最好的效果n拖动A参数的最大值和最小值通道上的指针,尽量消除非红色像素点,排除其余颜

    28、色的干扰。设计与实践 镜头畸变的校正 通过像素统计进行颜色检测 调试、验证及完善程序镜头畸变的校正 摄像头会遇到镜头畸变的问题。根据近大远小的光学原理,在感光芯片的边缘位置会出现桶型畸变,成像中会产生鱼眼效果;在OpenAIE开源算法库中,image对象提供了lens_corr()的方法,可以用来矫正2.8mm焦距镜头产生的边缘畸变。校正后的形状追踪 import sensor,image,time clock.tick()img=sensor.snapshot().lens_corr(1.8)for c in img.find_circles(threshold=2500,x_margin=

    29、10,y_margin=10,r_margin=10,r_min=2,r_max=100,r_step=2):area=(c.x()-c.r(),c.y()-c.r(),2*c.r(),2*c.r()通过像素统计进行颜色检测 image.get_statistics()方法,用于计算roi中每个颜色通道的平均值、中值、标准偏差、最小值、最大值、下四分值和上四分值,并返回一个数据对象。也可以使用image.get_stats来调用这一方法。如果传递 thresholds列表,则直方图信息将仅从阈值列表中的像素计算得出。利用get_statistics统计的方法,可以计算出指定区域内占面积最大的颜

    30、色。例程#area为识别到的圆的区域,即圆的外接矩形框 statistics=img.get_statistics(roi=area)#像素颜色统计 print(statistics)#(35,72,9,80,20,72)为红色的阈值,(53,77,-56,-3,-7,63)为绿色阈值,#(30,82,-29,39,-85,-3)为蓝色阈值。检测时,当区域内的众数(也就是最多的颜色),范围在这个阈值内,就说明是红色的圆。#l_mode()、a_mode()、b_mode()分别是L通道、A通道、B通道的众数。if 35statistics.l_mode()72 and 9statistics.

    31、a_mode()80 and 20statistics.b_mode()72:#识别到的红色圆形用红色的圆框出来 img.draw_circle(c.x(),c.y(),c.r(),color=(255,0,0)elif 53statistics.l_mode()77 and-56statistics.a_mode()-3 and-7statistics.b_mode()63:#识别到的绿色圆形用绿色的圆框出来 img.draw_circle(c.x(),c.y(),c.r(),color=(0,255,0)elif 30statistics.l_mode()82 and-29statisti

    32、cs.a_mode()39 and-96statistics.b_mode()int:return bin(xy).count(1)设计与实践 特征提取的实现 图像匹配的实现 Python综合编程 调试、验证及完善特征提取的实现(1)image.find_keypoints()方法,可以从ROI元组(x,y,w,h)中提取ORB键点;可以使用image.match_descriptor函数来比较两组关键点,以获取匹配区域;threshold是控制提取的数量的参数(取值0-255)。对于默认的AGAST角点检测器,该值应在20左右。对于FAST角点检测器,该值约为60-80。阈值越低,提取的角点

    33、会越多。特征提取的实现(2)scale_factor参数介于1.35-1.5之间。较高的比例因子会使运行更快,但图像匹配相应较差。corner_detector 是从图像中提取特征点所使用的角点检测器算法,可以是image.CORNER_FAST 或 image.CORNER_AGAST。设置好图形匹配应用的摄像头视频采集工作参数,即可在指定的图像区域内启动图像特征提取过程,Python编程方法如下:img.find_keypoints(max_keypoints=150,threshold=10,normalized=True)图像匹配的实现 image.match_descriptor()

    34、方法,用于相似度的度量。这个测度值越接近0,LBPF特征点匹配得就越好。对于ORB描述符来说,函数返回的是kptmatch对象。threshold 是用来为ORB键点过滤不明确匹配服务的。filter_outliers是用来为ORB特征点过滤异常值服务的。特征提取模块#第一次找当前图像中心区域的特征点kpts1=img.find_keypoints(max_keypoints=150,threshold=10,scale_factor=1.25)draw_keypoints(img,kpts1)#color=(255,0,0)img.draw_string(0,0,FPS:%.2f%(cloc

    35、k.fps()特征匹配模块 kpts2=img.find_keypoints(max_keypoints=150,threshold=10,normalized=True)if(kpts2):match=image.match_descriptor(kpts1,kpts2,threshold=100)#85 if(match.count()15):#10S led.red.on()led.green.on()led.blue.on()img.draw_rectangle(match.rect(),threshold=90)img.draw_cross(match.cx(),match.cy()

    36、,size=10)print(kpts2,matched:%d dt:%d%(match.count(),match.theta()实验过程及程序运行结果 实验中用到的两支笔 对黑笔提取特征的情况图像匹配结果分析与思考 比较欧氏距离与汉明距离的异同。自行编写一个Python函数,实现对二进制图像特征的匹配。项目5中介绍了利用阈值编辑工具自行设置颜色模型参数的方法,可否利用本项目提取物体特征参数的方法,将某种物体的特征参数保存成特征模板文件,方便后续应用的使用?。针对某种应用场景,例如,文具盒里的铅笔、橡皮、圆规、尺子等,可否利用事先存储的各种文具的特征模板,能够实时发现出现在视频场景中的多种文

    37、具?find_keypoints方法默认的是启用AGAST角点检测,请选用FAST角点检测方式,观察程序运行速度以及匹配准确度方面有何不同?轨迹跟踪与拟合轨迹跟踪与拟合人工智能开源硬件与人工智能开源硬件与python编程实践编程实践情境导入 服务机器人一般具有巡航功能,可以按照事先规划好的线路巡线行走,代替人工为人们提供各种服务。机器人身上的专门设计有红外或视觉传感器用来实时识别地面上的黑线轨迹,通过PID算法,对运动速度和方向进行比例、积分、微分控制,实现巡线功能。任务与目标 了解轨迹跟踪技术的基本原理、相关算法和应用框架;掌握运用人工智能开源硬件设计智能应用系统的方法,掌握Python语言

    38、的编程方法;应用人工智能开源硬件和Python相关算法模块设计轨迹跟踪功能;针对生活应用场景,进一步开展创意设计,设计具有实用价值的轨迹跟踪应用系统。知识拓展:相关分析 相关分析是研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法,它是描述客观事物相互间关系的密切程度并用适当的统计指标表示出来的过程。当自变量取某一值时,因变量对应为一概率分布,如果自变量的取值不同,因变量的分布也不同,则说明两者是存在相关关系的。知识拓展:回归分析 回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,它根据对因变量与一个或多个自变量的

    39、统计分析,建立起因变量和自变量的关系;按照涉及的变量的多少,分为一元回归和多元回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。知识拓展:相关分析与回归分析 相关分析研究的是现象之间是否相关、相关的方向和密切程度,而回归分析则要分析现象之间相关的具体形式,确定其因果关系,并用数学模型来表现其具体关系;在相关分析中,所讨论的变量的地位一样,分析侧重于随机变量之间的种种相关特征。然而在回归分析中,所关心的是一个随机变量Y对另一个(或一组)随机变量X的依赖关系的函数形式。知识拓展:一元线性回归 回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表

    40、示,这种回归分析称为一元线性回归分析。线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。当因变量和自变量之间高度相关时,我们就可以使用线性回归来对数据进行预测。设计与实践 简单轨迹的追踪 复杂轨迹的追踪 轨迹拟合Python综合编程 程序运行结果分析线性回归的实现 get_regression()方法用来对指定的图像矩形区域里的所有阈值特征像素点进行线性回归计算;get_regression()方法中通过最小二乘法进行对图像区域里所有阈值像素进行线性回归计算;Thresholds 定义追踪的颜色范围。对于灰度图像,每个元组包含两个值-最小灰度

    41、值和最大灰度值。对于RGB565图像,每个元组需要有六个值(l_lo,l_hi,a_lo,a_hi,b_lo,b_hi)-分别是LAB L,A和B通道的最小值和最大值。简单轨迹追踪的实现while(True):clock.tick()img=sensor.snapshot().binary(THRESHOLD)if BINARY_VISIBLE else sensor.snapshot()#get_regression()返回回归后的线段对象line,包括有x1(),y1(),x2(),y2(),length(),theta(),rho(),#magnitude()等参数。其中,theta()

    42、表示旋转度,是线段的角度。x1、y1、x2、y2分别代表线段的两个顶点坐标,length是线段长度。line=img.get_regression(255,255)if BINARY_VISIBLE else THRESHOLD)if(line):img.draw_line(line.line(),color=127)简单轨迹追踪 追踪结果复杂轨迹追踪的实现 实际应用中,往往要对曲线段进行线性拟合;简明的方法是依次将曲线分段处理,每段进行线性拟合,得到对曲线的逼近;分段越细,逼近的效果越好。复杂轨迹追踪的实现#利用颜色识别分别寻找三个矩形区域内的线段 for r in ROIS:blobs=i

    43、mg.find_blobs(GRAYSCALE_THRESHOLD,roi=r0:4,merge=True)#找到视野中的线,将找到的图像区域合并成一个,然后直线 if blobs:most_pixels=0 largest_blob=0 for i in range(len(blobs):#目标区域找到的颜色块(线段块)最大的一个,作为本区域内目标直线 if blobsi.pixels()most_pixels:most_pixels=blobsi.pixels()largest_blob=Iimg.draw_rectangle(blobslargest_blob.rect()#将此区域的像

    44、素数最大的颜色块画矩形和十字形标记出来 img.draw_cross(blobslargest_blob.cx(),lobslargest_blob.cy()centroid_sum+=blobslargest_blob.cx()*r4#centroid_sum等于每个区域的最大颜色块的中心点的x坐标值乘本区域的权值,center_pos=(centroid_sum/weight_sum)。确定线的中心实验过程及程序运行结果 n追踪结果:检测较长的S型曲线,每帧分三段线性拟合,并计算出各段矩心。分析与思考 在轨迹追踪应用中,环境光照变化对识别追踪结果有什么影响?请更换不同的光线环境,反复试验多

    45、次,给出经验总结。摄像头的安装角度对轨迹追踪有什么影响?请反复试验多次,给出经验总结。案例中提供的复杂轨迹追踪方法,适合追踪圆形轨迹吗?请根据实际应用来考虑解决方案。硬件轨迹跟踪的速度及准确度,可以用于机器人小车的巡道控制吗?与传统的红外巡道相比,计算机视觉的方法有哪些优势?计算机视觉与人脸检测计算机视觉与人脸检测人工智能开源硬件与人工智能开源硬件与python编程实践编程实践情境导入 新款的相机都采用了智能技术,能够自动检测到取景框内的人脸,自动往人脸对焦,拍下高质量的照片。智能手机的相机功能也都采用了自动跟踪人脸、自动对焦的技术,辅助人们拍下美好画面。人脸检测与自动跟踪技术在校园出入控制、

    46、智慧教室等系统中均有应用,也是进一步开展人脸识别的基础。任务与目标 了解人脸检测技术的基本原理、Haar相关算法和应用框架;掌握运用人工智能开源硬件设计人脸检测应用的方法,提升Python语言的编程能力;通过Python编程,调用Haar Cascade算法,实现人脸检测功能;针对生活应用场景,进一步开展创意设计,设计针对校园安防等需求的具有实用性的人脸检测应用系统。知识拓展:聚类与分类 聚类是将数据对象集合划分成相似的对象类的过程,使得同一个类中的对象之间具有较高的相似性,而不同类中的对象具有较高的相异性。分类则是按照某种标准给对象贴标签,再根据标签来区分归类。也就是说,分类情况下事先定义好

    47、了类别,类别数不再变化。知识拓展:区别与联系 分类器需要事先由包含人工标注类别的训练数据训练得到,属于有监督的学习。聚类则没有事先预定的类别,类别数不确定。聚类不需要人工标注和预先训练分类器,类别在聚类过程中自动生成,是一种无监督学习。知识拓展:Haar-like特征 Haar-like特征一种常用的图像特征描述算子,在机器视觉领域应用很广;分为边缘特征、线性特征、中心特征和对角线特征等,组合成特征模板。特征模板内只有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。知识拓展:人脸Haar-like特征 对于人脸图像,脸部的一些特征能由矩形特征来简单描述,如:眼睛要比

    48、脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。在人脸检测应用中,将任意一个矩形模板移动到人脸区域上,计算将白色区域的像素和减去黑色区域的像素和,得到的值就是属于人脸的特征值。通过Haar-like特征的计算实现了人脸特征的量化,以便区分人脸和非人脸。知识拓展:Haar-like特征计算方法 对于一个灰度图像I而言,其积分图也是一张与I尺寸相同的图,只不过该图上任意一点(x,y)的值是指从灰度图像I的左上角与当前点所围成的矩形区域内所有像素点灰度值之和。当把扫描图像一遍,到达图像右下角像素时,积分图像就构造好了。积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得到

    49、。只遍历一次图像就可以求出图像中所有区域像素和的快速算法,大大的提高了图像特征值计算的效率。知识拓展:弱学习与强学习 弱学习就是指一个学习算法对一组概念的识别率只比随机识别好一点;强学习指一个学习算法对一组概率的识别率很高。研究工作表明,只要有足够的数据,弱学习算法就能通过集成的方式生成任意高精度的强学习方法。知识拓展:Adaboost算法初步 各种Haar特征,每一个小黑白块就是一种规则,也是一种特征,也是一个分类器。它们都是弱分类器。把一批准确率很差的弱分类器级联在一起,变成一个强分类器知识拓展:Adaboost迭代过程 先通过对N个训练样本的学习得到第一个弱分类器;将分错的样本和其他的新

    50、数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器;将前面都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;依次继续。然后把这些弱分类器集合起来,构成一个强分类器。知识拓展:Haar分类器的训练 采集人脸图像,建立人脸、非人脸样本集;计算Haar-like特征值和积分图;进行弱分类器训练,筛选出T个最优弱分类器;把这T个最优弱分类器传给AdaBoost算法,训练出区分人脸和非人脸的强分类器;使用筛选式级联把强分类器级联到一起,提高准确率。知识拓展:利用haar算子实现人脸检测 对比检查分成了多个阶段,后一阶段的运行以先前

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:教学配套课件:人工智能开源硬件与python编程实践.ppt
    链接地址:https://www.163wenku.com/p-3523676.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库