《智能机器人技术应用》课件 项目四 YOLO模型实现目标检测_第1页
《智能机器人技术应用》课件 项目四 YOLO模型实现目标检测_第2页
《智能机器人技术应用》课件 项目四 YOLO模型实现目标检测_第3页
《智能机器人技术应用》课件 项目四 YOLO模型实现目标检测_第4页
《智能机器人技术应用》课件 项目四 YOLO模型实现目标检测_第5页
已阅读5页,还剩244页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目四YOLO模型实现目标检测创灵实验平台项目引导介绍

首先,什么是YOLO算法?

YOLO及YouOnlyLookOnce,是一种目标检测算法,目标检测任务的目标是找到图像中的所有感兴趣区域,并确定这些区域的位置和类别概率。目标检测领域的深度学习方法主要分为两大类(如右图所示):两阶段式(Two-stage)目标检测算法和单阶段式(One-stage)目标检测算法。两阶段式是先由算法生成一系列候选边界框作为样本,然后再通过卷积神经网络分类这些样本,也被称为基于区域的方法,例如R-CNN、FastR-CNN、FasterR-CNN、R-FCN等;后者则是直接将目标边界定位问题转换成回归问题,图像会被缩放到同一尺寸,并以网格形式均等划分,模型仅需处理图像一次就能得到边界框坐标跟类概率,例如MultiBox、YOLO、SSD等。两种方法的区别也导致其性能也不同,前者在检测准确率和定位准确率方面更优,而后者胜在算法速度。YOLO是一个one-stage的目标检测算法,我们可以将其看作单一的回归问题。YOLO检测系统如下图所示:项目引导介绍YOLOv1:YOLOv1的论文中给出YOLO的主要思想如下:1.我们的系统将输入图像划分为S×S网格,具有分而治之的思想。如果对象的中心落入网格单元中,则该网格单元负责检测该对象。如图三所示,狗的中心落在了第五行第二列的格子中(红点所示),那么这个格子负责预测狗这个对象。这里需要说明一下,网格只是划分图像中物体的位置,而不是将每个格子单独分离出来,所有的网格还是一个整体关系。因此,YOLO在训练和测试时都会全局考虑图像。项目引导介绍YOLOv1:YOLOv1的论文中给出YOLO的主要思想如下:2.每个网格需要预测B个boundingbox,每个boundingbox除了需要预测位置坐标、预测confidence值以外,还需要去预测C个类别的分数。confidence为置信度,是指boundingbox中存在物体的概率;C与数据集的类别相关,VOC数据集为0,COCO数据集为80。每个边界框需要预测5个值:x,y,w,h,confidence。(x,y)表示预测框相对于网格单元边界的中心;(w,h)表示预测框相对于整个图像预测宽度和高度;置信度表示预测框与真实框之间的IOU。置信度的计算公式如下所示:Pr(object)表示网格单元中是否有object,如果有object,则为1,否则为0。IOU(b,object)表示真实框与预测框之间的交并比,表示bbox位置的准确性。网络输出维度为:S×S×(B×5+C)。在YOLOv1中,把图片划分为7×7的网格,每个网格预测两个BoundingBox,我们采用VOC数据集。因此,S=7,B=2,C=20。网络的输出维度为7×7×(2×(4+1)+20)=7×7×30。项目引导介绍YOLOv1:YOLOv1的论文中给出YOLO的网络结构如下:那什么是目标检测呢?项目引导案例目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割。它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门,对目标进行动态实时跟踪定位在智能化交通系统、智能监控系统、军事目标检测及医学导航手术中手术器械定位等方面具有广泛的应用价值。机械臂色块分拣图像采集任务一职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集掌握图像数据采集方法与要求;学习常用图像数据采集的方法;了解并学习opencv保存图像的方法;掌握基于opencv的色块图像采集自动化脚本编写。了解常用图像数据采集方法;了解并掌握opencv保存图像方法;掌握基于opencv的色块图像采集自动化脚本编写。职业能力目标01实验目的实验内容职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集

此任务要求同学们掌握图像数据采集方法与要求,学习常用图像数据采集的方法,了解并学习opencv保存图像的方法,并掌握基于opencv的色块图像采集自动化脚本编写。任务描述任务要求了解常用图像数据采集方法,学习五个方法;了解并掌握opencv保存图像方法,能够根据实验实现opencv保存图像,并能设置自动保存和手动保存;完成编写基于opencv的色块图像采集自动化脚本。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集任务分析在引导案例里,我们介绍了目标检测算法,思考一下完成目标检测有哪些步骤,我们要怎么去做?根据自己的了解,要怎样去了解认识目标检测算法,可以促进自己进一步地学习?任务分析与计划03任务计划表项目名称创灵实验平台任务名称机械臂色块分拣图像采集计划方式自主设计计划要求请用6个计划步骤来完整描述出如何完成本次任务序号任务计划1

2

3

4

5

6

通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集opencv204知识储备数据集1数据集04

数据集,又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。

Dataset(或dataset)是一个数据的集合,通常以表格形式出现。每一列代表一个特定变量。每一行都对应于某一成员的数据集的问题。它列出的价值观为每一个变量,如身高和体重的一个物体或价值的随机数。每个数值被称为数据资料。对应于行数,该数据集的数据可能包括一个或多个成员。原理与分类04数据集

从历史上看,这个术语起源于大型机领域,在那里它有一个明确界定的意义,非常接近现代的计算机档案。这个主题是不包括在这里的。最简单的情况下,只有一个变量,然后在数据集由一列列的数值组成,往往被描述为一个列表。尽管名称,这样一个单数据集不是一套通常的数学意义,因为某一个指定数值,可能会出现多次。通常的顺序并不重要,然后这样数值的集合可能被视为多重集,而不是(顺序)列表。值可能是数字,例如真正的数字或整数,例如代表一个人的身高多少厘米,但也可能是象征性的数据(即不包括数字),例如代表一个人的种族问题。更一般的说,价值可以是任何类型描述为某种程度的测量。对于每一个变量,通常所有的值都是同类。但是也可能是“遗漏值”,其中需要指出的某种方式。原理与分类04数据集

数据集可以分成类型化数据集与非类型化数据集。类型化数据集:这种数据集先从基DataSet类派生,然后,使用XML架构文件(.xsd文件)中的信息生成新类。架构中的信息(表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。可以直接通过名称引用表和列,在VS.NET中可以智能感知元素的类型。非类型化数据集:这种数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表、列等,但它们只作为集合公开。需要通过Tables集合引用列。04(注:请打开JupyterLab项目四:YOLO模型实现目标检测第一节)常用图像数据采集方法获取图像数据集方法:1).开源数据集和代码开源一样,随着人工智能的发展,数据这种人工智能时代重要的资源已经有越来越多的公开资源了。可以直接下载进行对应需求的模型训练,如手写字数据集MNIST,目标检测数据集COCO,人脸识别LWF等都是各自领域比较热门的公开数据集;04(注:请打开JupyterLab项目四:YOLO模型实现目标检测第一节)常用图像数据采集方法获取图像数据集方法:2).网络爬虫互联网的发展,网络上有很多的数据资源,图片也不例外,而从网络上高效获取图片的方法是使用网络爬虫工具,所以,网络爬虫也是一种获取图片数据的方法之一;04(注:请打开JupyterLab项目四:YOLO模型实现目标检测第一节)常用图像数据采集方法获取图像数据集方法:3).摄像采集有时候有些人工智能应用场景可能比较难找到合适的且符合场景的数据集,这时候就需要根据实际的场景进行数据采集,而采集的方法场景的就是使用摄像头进行需要的数据采集;04(注:请打开JupyterLab项目四:YOLO模型实现目标检测第一节)常用图像数据采集方法获取图像数据集方法:4).视频获取有些时候需要的图片数据可能在一帧帧的视频里,这时候就需要从视频里将图像数据提取出来。04(注:请打开JupyterLab项目四:YOLO模型实现目标检测第一节)常用图像数据采集方法获取图像数据集方法:5).摄像头图像数据采集摄像头在进行图像数据采集时候,需要结合软件进行相应的采集与处理,本次实验是使用opencv计算机视觉处理库,通过编写Python代码半自动的进行图片数据采集,采集符合要求的数据,减少数据清洗的工作量。05知识储备opencv2数据集1304什么是opencv?

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。大家在生活中有哪些地方遇到过或者使用过opencv的地方吗?04思考一下,我们在过去学习代码的时候有使用过opencv吗?什么是opencv?

OpenCV用C++语言编写,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和MacOS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令,如今也提供对于C#、Ch、Ruby,GO的支持。历史发展04OpenCV

OpenCV拥有包括500多个C函数的跨平台的中、高层API。它不依赖于其它的外部库——尽管也可以使用某些外部库。OpenCV为Intel®IntegratedPerformancePrimitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的IPP库,OpenCV将在运行时自动加载这些库。(注:OpenCV2.0版的代码已显著优化,无需IPP来提升性能,故2.0版不再提供IPP接口)最新版本是4.5。1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为Intel处理器做了特定优化。2000年6月,第一个开源版本OpenCValpha3发布。2000年12月,针对linux平台的OpenCVbeta1发布。2006年,支持MacOS的OpenCV1.0发布。历史发展04OpenCV

2009年9月,OpenCV1.2(beta2.0)发布。2009年10月1日,Version2.0发布。2010年12月6日,OpenCV2.2发布。2011年8月,OpenCV2.3发布。2012年4月2日,发布OpenCV2.4。2014年8月21日,发布OpenCv3.0alpha。2014年11月11日,发布OpenCV3.0beta。2015年6月4日,发布OpenCV3.0。2016年12月,发布OpenCV3.2版(合并969个修补程序,关闭478个问题)2017年8月3日,发布OpenCV3.3版(最重要的更新是把DNN模块从contrib里面提到主仓库)历史发展04OpenCV

OpenCV使用类BSDlicense,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考license)OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和ARM嵌入式系统中,这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。优势04OpenCV

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:1、研究代码(慢,不稳定,独立并与其他库不兼容)2、耗费很高的商业化工具(比如Halcon,MATLAB+Simulink)3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(IntegratedPerformancePrimitives)得到更快的处理速度。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集基于opencv的色块图像采集自动化脚本编写204任务实施opencv保存图像方法1机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)我们该去如何完成实验呢?

需求描述:通过opencv调用摄像头,每10秒保存当前捕获的图片,并按顺序进行命名,保存10张后停止。具体步骤如下:步骤一:导入必要的依赖库:importcv2importtimefromthreadingimportThreadimportipywidgetsaswidgets

fromIPython.displayimportdisplay机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)我们该去如何完成实验呢?

需求描述:通过opencv调用摄像头,每10秒保存当前捕获的图片,并按顺序进行命名,保存10张后停止。具体步骤如下:步骤二:编写线程异步函数装饰器:defasync_call(fn):

"""异步装饰器:paramfn:函数:return:"""def

wrapper(*args,**kwargs):th=Thread(target=fn,args=args,kwargs=kwargs)th.start()returnwrapper机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)我们该去如何完成实验呢?

需求描述:通过opencv调用摄像头,每10秒保存当前捕获的图片,并按顺序进行命名,保存10张后停止。具体步骤如下:步骤三:构建显示图像函数:image=widgets.Image(format='jpg',height=480,width=640)机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)步骤四:编写opencv调用摄像头函数:

1.cv2.VideoCapture(0)调用设备摄像头的功能2.capture.read()读取一帧的图片

3.cv2.imencode('.jpg',frame)[1].tobytes()读取图像数据并转换成图片格式并转成bytes数据。@async_calldef

save_img():#保存图像函数capture=cv2.VideoCapture(0)#采集图像

globalret,frame

whileTrue:ret,frame=capture.read()#读取图像

ifnotret:time.sleep(2)

continueimgbox=cv2.imencode('.jpg',frame)[1].tobytes()

globalimageimage.value=imgbox机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)步骤四:编写opencv调用摄像头函数:

1.cv2.VideoCapture(0)调用设备摄像头的功能2.capture.read()读取一帧的图片

3.cv2.imencode('.jpg',frame)[1].tobytes()读取图像数据并转换成图片格式并转成bytes数据。机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)步骤四:编写opencv调用摄像头函数:

1.cv2.VideoCapture(0)调用设备摄像头的功能2.capture.read()读取一帧的图片

3.cv2.imencode('.jpg',frame)[1].tobytes()读取图像数据并转换成图片格式并转成bytes数据。机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)动手练习1:1.在<1>处,填写opencv使用usb摄像头代码。2.在<2>处,填写将opencv读取图像数据并转换成图片格式并转成bytes数据。@async_calldefsave_img():

<1>

globalret,frame

whileTrue:ret,frame=capture.read()

ifnotret:time.sleep(2)

continue

<2>

globalimageimage.value=imgbox机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)步骤五:保存图像前先清空save_img文件夹:#慎重执行,否则会清空你采集好的图像数据!rm-rf./save_img/*.png机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)步骤六:显示图像与保存图像:采集图像建议使用电脑与开发板直连的方式进行,电脑使用无线方式连接路由在采集图片时会因为传输原因摄像头画面延迟比较严重。frame=None#图像全局变量ret=Nonesave_img()#执行调用摄像头获取图片函数display(image)#显示图片num=1#计数变量whileTrue:image_name='./save_img/'+str(num)+'.png'#图片名称构建,将图片保存在save_img目录ifnotret:continuecv2.imwrite(image_name,frame)#保存图片print(str(num)+'.png')num+=1time.sleep(2)ifnum>10:#大于10张图片后退出循环print("图像采集完毕!")break注意:图像采集完毕,重启内核,释放摄像头资源,防止占用摄像头导致后续实验无法进行。如图所示。机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)动手练习2:在上面的opencv保存图片代码的基础上,修改下代码,让其可以通过手动控制进行图片保存(将摄像头变成一部自制的照相机)。1.在<1>处,添加代码,是TakePhoto具备异步的功能。2.在<2>处,添加代码,保证照相开关可以正常恢复。2.在<3>处,添加代码,使图片可以正常保存。机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)动手练习2:frame=None#图像全局变量save_img()#执行调用摄像头获取图片函数display(image)#显示图片take_photo=None#照相开关exit_var=None#退出开关

<1>defTakePhoto():global<2>print("等待照相.....")num=1#计数变量whileTrue:image_name='./save_img/'+str(num)+'.png'#图片名称构建,将图片保存在save_img目录if(frameisNone):continueiftake_photo:#照相开关打开机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)动手练习2:<3>print("{0}拍照成功".format(str(num)+'.png'))num+=1take_photo=Noneprint("等待照相.....")ifexit_var:#退出循环breakdefbutton():'''照相按钮'''globaltake_phototake_photo=True

TakePhoto()机械臂色块分拣图像采集任务一opencv保存图像方法(详细实验请参考第四章中任务一部分)动手练习2:#慎重执行,否则会清空你采集好的图像数据!rm-rf./save_img/*.png保存图像前先清空save_img文件夹。重复执行button按钮代码框,可重复拍照。button()05任务实施2opencv保存图像方法13基于opencv的色块图像采集自动化脚本编写色块图像采集实验教学分析我们要怎么设置使用opencv?我们要怎么去通过opencv去进行色块图像采集自动化?在生活中有哪些运用到了色块图像采集自动化?基于opencv的色块图像采集自动化脚本编写05通过上面的思考,你是否对本任务要完成的任务有所了解?让我们一起来学习如何使用基于opencv的色块图像采集自动化脚本编写吧!05基于opencv的色块图像采集自动化脚本编写基于opencv的色块图像采集自动化脚本编写05步骤一:导入必要依赖库importcv2importtimefromthreadingimportThreadimportipywidgetsaswidgetsfromIPython.displayimportdisplay

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?基于opencv的色块图像采集自动化脚本编写05步骤二:编写线程异步装饰器函数defasync_call(fn):"""异步装饰器:paramfn:函数:return:"""defwrapper(*args,**kwargs):th=Thread(target=fn,args=args,kwargs=kwargs)th.start()returnwrapper

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?基于opencv的色块图像采集自动化脚本编写05步骤三:构建显示图像窗口image=widgets.Image(format='jpg',height=480,width=640)

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?步骤四:编写opencv调用摄像头函数@async_calldefsave_img():capture=cv2.VideoCapture(0)globalframewhileTrue:ret,frame=capture.read()ifnotret:time.sleep(2)continueimgbox=cv2.imencode('.jpg',frame)[1].tobytes()globalimageimage.value=imgbox基于opencv的色块图像采集自动化脚本编写05步骤五:定义采集参数1、color_list要采集色块的颜色种类2、单种颜色采集图片数量3、take_img保存图片开关color_list=["green","yellow","red","blue"]img_num=100take_img=None

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?基于opencv的色块图像采集自动化脚本编写05步骤六:定义功能函数@async_calldefcollect():globaltake_imgforcincolor_list:foriinrange(1,img_num+1):image_name='./image/'+c+'_'+str(i)+'.png'print("等待{0}保存".format(c+'_'+str(i)+'.png'))whileTrue:iftake_img:cv2.imwrite(image_name,frame)#保存图片print("{0}保存成功".format(c+'_'+str(i)+'.png'))print("*"*30)take_img=Nonebreak

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?基于opencv的色块图像采集自动化脚本编写05步骤七:定义保存图片开关defbutton():globaltake_imgtake_img=True

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?步骤八:定义保存图片开关frame=Nonesave_img()display(image)collect()步骤九:保存图像前先清空image文件夹#慎重执行,否则会清空你采集好的图像数据!rm-rf./image/*.png基于opencv的色块图像采集自动化脚本编写05步骤十:保存图片选择合适的图片jupyter单元格选中在下面button按住ctrl+Enter即可保存要采集的图片:

接下来我们要基于opencv进行色块图像采集,那么我们要怎样去实现他呢?button()职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一基于新大陆AI开发板实现离线ASR任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分

理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)完成实验,了解YOLO,了解opencv,完成opencv图像采集方法,完成基于opencv色块采集自动化实验。(40分)40分

完成实验,了解YOLO,了解opencv,完成opencv图像采集方法。(25分)完成实验,了解YOLO,了解opencv。(15分)没有完成完成opencv图像采集方法的实验。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分

具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)能够主动学习并收集信息,有请教他人进行解决问题的能力(10分)不主动学习(0分)4课堂纪律(20%)设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分)20分

设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分1、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集任务小结07

在大家学习完本任务后,是否还有许多为解决的问题?那么接下来我们来进行任务小结,通过流程图了解本章学习了什么,对相应知识进行巩固复习,并对下一章的学习做好准备。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务一机械臂色块分拣图像采集任务拓展08在此任务中学习了opencv图像采集自动化的实验,那么大家通过本节的学习,大家能够编写相应代码吗?请动手试试吧!1复习opencv图像采集原理;1.opencv图像采集原理;解题

思路提示任务要求2复习opencv色块图像自动采集实验。谢谢大家学习项目四机械臂色块分拣深度神经网络模型训练创灵实验平台机器人色块分拣图像数据集标注任务二职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注掌握精灵标注助手标注工具使用,在Window10上安装图片标注工具;学习并了解目标检测图像标注要求;掌握语音识别关键字匹配;掌握标注数据转换,使用图片标注工具进行相应分类图片标注,并能够自行编写Python脚本,自动化处理标注数据。掌握精灵标注助手标注工具使用掌握目标检测图像标注要求掌握标注数据转换职业能力目标01实验目的实验内容职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注

此任务要求同学们掌握精灵标注助手标注工具使用,在Window10上安装图片标注工具;学习并了解目标检测图像标注要求;掌握标注数据转换,使用图片标注工具进行相应分类图片标注,并能够自行编写Python脚本,自动化处理标注数据。任务描述任务要求掌握精灵标注助手标注工具使用,完成工具安装;掌握目标检测图像标注要求,学习如何对图像数据进行类型标注;标注数据并完成数据转换。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注任务分析思考一下,数据标注在生活中还应用于哪些方面?根据自己的了解,为什么要将标注数据进行转换后再进行模型训练?任务分析与计划03任务计划表项目名称创灵实验平台任务名称机器人色块分拣图像数据集标注计划方式自主设计计划要求请用6个计划步骤来完整描述出如何完成本次任务序号任务计划1

2

3

4

5

6

通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注04知识储备数据标注2目标检测1标注数据转换3什么是目标检测?04

目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割。它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。目标检测04目标检测常用的评价指标有:交并比,准确率,精度,召回率,FPR,F1-Score,PR曲线-AP值,ROC曲线-AUC值,mAP值。交并比:检测结果的矩形框与样本标注的矩形框的交集与并集的比值。准确率:最常见的评价指标,就是被检测正确的样本数除以所有的样本数。精度:真正的正样本数除以预测为正样本的样本数。召回率:预测正确的正样本数除以所有真正的正样本数。FPR:指实际负例中,错误的判断为正例的比例。F1-Score:精确率和召回率的调和平均数,最大为1,最小为0。PR曲线-AP值:精度与召回率的曲线,以精度为纵坐标,召回率为横坐标,AP值也称为平均准确率,是对不同召回率点上的准确率进行平均,在PR曲线图上表现为PR曲线下面的面积。AP的值越大,则说明模型的平均准确率越高。ROC曲线-AUC值:以FPR为横坐标,以TPR(灵敏度)为纵坐标。AUC是Areaundercurve的首字母缩写,即ROC曲线下的面积,介于0和1之间。mAP值:即平均精度均值,指不同召回率下的精度的平均值。目标检测任务的六大难点与挑战041.待检测目标尺寸很小,导致占比小,检测难度大;2.关于小目标检测的问题,可以参考:深度学习检测小目标常用方法;3.待检测目标尺度变化大,网络难以提取出高效特征;4.待检测目标所在背景复杂,噪音干扰严重,检测难度大;5.待检测目标与背景颜色对比度低,网络难以提取出具有判别性的特征;6.各待检测目标之间数量极度不均衡,导致样本不均衡;7.检测算法的速度与精度难以取得良好平衡。04知识储备213数据标注标注数据转换目标检测04什么是数据标注?

数据标注是指给原始数据(如图像、视频、文本、音频和3D等)添加标签的过程,带有标签的数据被称为训练数据,这些标签形成了数据属于哪一类对象的表示,帮助机器学习模型在未来遇到从未见过的数据时,也能准确识别数据中的内容,训练数据可以有多种形式,包括图像、语音、文本或特征,这取决于所使用的机器学习模型和手头要解决的任务。它可以是有标注的或无标注的。当训练数据被标注时,相应的标签被称为GroundTruth。04数据标注

图像数据标注包括2D包围框标注、多边形标注、语义分割标注、关键点标注、折线标注、立体框标注等。语音/音频数据标注是对来自人、动物、环境、乐器等的音频成分进行分类和转写。文本标注类型较为丰富,但不论哪种类型,它背后的主要意图是让机器学习算法能够理解文本背后的语义含义。思考一下,如果数据集中存在错误标注会有什么影响?有什么解决方案?04知识储备213目标检测数据标注数据转换什么是数据转换?04

数据转换是将数据从一种格式或结构转换为另一种格式或结构的过程。数据转换对于数据集成和数据管理等活动至关重要。数据转换可以包括一系列活动:可以转换数据类型,通过删除空值或重复数据来清理数据,丰富数据或执行聚合,具体取决于项目的需要。请根据自己的了解,解释一下我们为什么要进行数据转换?这不是会增加计算量吗?为什么要进行数据转换?04

软件的全面升级,肯定带来数据库的全面升级,每一个软件对其后面的数据库的构架与数据的存诸形式都是不相同的,这样就需要数据的转换了。

主要是由于数据量的不断增加,原来数据构架的不合理,不能满足各方面的要求。由数据库的更换,数据结构的更换,从而需要数据本身的转换。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注图片标注205任务实施安装图片标注工具1安装图片标注工具步骤一:下载精灵标注助手安装包可到上下载对应window10版本的安装包,或使用实验提供的资源包里的安装包进行安装安装图片标注工具步骤一:下载精灵标注助手安装包可到上下载对应window10版本的安装包,或使用实验提供的资源包里的安装包进行安装步骤二:安装精灵标注助手双击安装包,选择我接受,如下图:步骤三:选择安装目录点击安装,进行软件安装,如下图安装图片标注工具步骤三:选择安装目录点击安装,进行软件安装,如下图。安装图片标注工具步骤四:打开安装好的精灵标注工具,如下图。安装图片标注工具注:可以正常打开安装后的软件,则表明安装成功图片标注205任务实施安装图片标注工具1步骤一:打开安装好的精灵标注工具,如下图。图片标注步骤二:新建一个标注项目(图片数据在同级目录下image.rar)图片标注步骤二:新建一个标注项目(图片数据在同级目录下image.rar)图片标注步骤三:导入要标注的图片(注:导入的图片路径不能有中文),分类值填写【red,green,yellow,blue】(注:直接填写单词,中间使用英文逗号间隔,不需要附带引号),点击创建。图片标注步骤三:导入要标注的图片(注:导入的图片路径不能有中文),分类值填写【red,green,yellow,blue】(注:直接填写单词,中间使用英文逗号间隔,不需要附带引号),点击创建。步骤四:标注框选择后,标注信息填写选择对应的类别,然后按住ctrl+s完成标注保存。图片标注步骤五:完成所有的数据标注后点击中间的菜单,导出标注信息xml文件,如下图:图片标注导出标记信息步骤六:完成所有的数据标注后点击中间的菜单,导出标注信息xml文件,如下图:图片标注选择确定导出步骤七:最后我们要完成我们的数据标注并检查,我们要得到我们对应分类好的数据:

也就是我们设置的red、green、yellow、blue等颜色分类数据,便于我们在下一章使用模型训练工具。图片标注模型训练工具职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分

理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)安装图片标注工具,完成图片标注,并将标注结果导出。(40分)40分

安装图片标注工具,完成图片标注。(25分)安装图片标注工具。(15分)没有完成机机器人色块分拣图像数据集标注实验。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分

具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)能够主动学习并收集信息,有请教他人进行解决问题的能力(10分)不主动学习(0分)4课堂纪律(20%)设备无损坏、设备摆放整齐、工位区域内保持整洁、无干扰课堂秩序(20分)20分

设备无损坏、无干扰课堂秩序(15分)无干扰课堂秩序(10分)干扰课堂秩序(0分)总得分1、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注任务小结07

在大家学习完本任务后,是否还有许多为解决的问题?那么接下来我们来进行任务小结,通过流程图了解本章学习了什么,对相应知识进行巩固复习,并对下一章机械臂色块分拣深度神经网络模型训练的学习做好准备。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务二机器人色块分拣图像数据集标注任务拓展08按上述分类数据标注的方法,将自己采集到的色块图片使用精灵标注助手进行分类标注,并将标注结果导出1了解目标检测图像数据标注要求;1.数据标注工具使用步骤;解题

思路提示任务要求2复习标注数据转换。谢谢大家学习项目四机械臂色块分拣深度神经网络模型训练创灵实验平台机械臂色块分拣深度神经网络模型训练任务三职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练了解YOLO的模型结构,学习目标检测算法;学习并了解caffe框架下的色块模型训练;下载安装模型训练工具,了解并掌握模型训练工具的使用,完成数据集配置,数据转换,数据标注,模型训练等。了解YOLO的模型结构掌握caffe框架下的色块模型训练掌握标注数据转换掌握模型训练工具的使用职业能力目标01实验目的实验内容职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练

此任务要求同学们了解YOLO的模型结构,学习目标检测算法;学习并了解caffe框架下的色块模型训练;下载安装模型训练工具,了解并掌握模型训练工具的使用,完成数据集配置,数据转换,数据标注,模型训练等。任务描述任务要求了解YOLO的模型结构,对YOLO的架构有个简要的了解;掌握caffe框架下的色块模型训练,完成对应实验;完成模型训练工具的模型转换、模型训练等功能。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练任务分析思考一下,YOLO模型对比其他模型在目标检测上有什么优点或者有什么不足之处?根据自己的所学知识,我们能否改进YOLO模型,使得模型更加精确?任务分析与计划03任务计划表项目名称创灵实验平台任务名称机械臂色块分拣深度神经网络模型训练计划方式自主设计计划要求请用6个计划步骤来完整描述出如何完成本次任务序号任务计划1

2

3

4

5

6

通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练04知识储备YOLO模型2深度神经网络1模型量化3什么是深度神经网络?04

深度神经网络(DeepNeuralNetworks,以下简称DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机。DNN内部的神经网络层可以分为三类,输入层,隐藏层和输出层。感知机04

输出和输入之间学习到一个线性关系,得到中间输出结果:

感知机的模型,它是一个有若干输入和一个输出的模型,如下图:感知机04

这个模型只能用于二元分类,且无法学习比较复杂的非线性模型,而神经网络则在感知机的模型上做了扩展,主要有三点:加入了隐藏层;输出层的神经元可以有多个输出;对激活函数做扩展。接着是一个神经元激活函数,从而得到想要的结果1或者-1。深度神经网络04一般来说第一层是输入层,最后一层是输出层,而中间的层数都是隐藏层。输出层也可以有多个输出。04知识储备213深度神经网络YOLO模型模型量化04什么是YOLO模型?

YOLO是目标检测模型。目标检测是计算机视觉中比较简单的任务,用来在一张图篇中找到某些特定的物体,目标检测不仅要求我们识别这些物体的种类,同时要求我们标出这些物体的位置。目标检测算法在人们的日常生活中有着许多应用实例,如自动驾驶、行人检测、农作物检测等。思考一下,目标检测除了可以使用YOLO模型外还有哪些算法模型可以使用?04什么是YOLO模型?

YOLO的网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层,对于卷积层,主要使用1x1卷积来做channlereduction,紧跟3x3卷积。对于卷积层和全连接层,采用LeakyReLU激活函数:max(x,0.1x)max(x,0.1x),最后一层采用线性激活函数。04YOLO模型结构04YOLO模型结构介绍04知识储备213深度神经网络YOLO模型模型量化什么是模型量化04

模型量化即以较低的推理精度损失将连续取值(或者大量可能的离散取值)的浮点型模型权重或流经模型的张量数据定点近似(通常为int8)为有限多个(或较少的)离散值的过程,它是以更少位数的数据类型用于近似表示32位有限范围浮点型数据的过程,而模型的输入输出依然是浮点型,从而达到减少模型尺寸大小、减少模型内存消耗及加快模型推理速度等目标。。模型量化的优点与缺点04优点1.减小模型尺寸,如8位整型量化可减少75%的模型大小。2.减少存储空间,在边缘侧存储空间不足时更具有意义。3.易于在线升级,模型更小意味着更加容易传输。4.减少内存耗用,更小的模型大小意味着不需要更多的内存。5.加快推理速度,访问一次32位浮点型可以访问四次int8整型,整型运算比浮点型运算更快。6.减少设备功耗,内存耗用少了推理速度快了自然减少了设备功耗。7.支持微处理器,有些微处理器属于8位的,低功耗运行浮点运算速度慢,需要进行8bit量化。缺点1.模型量化增加了操作复杂度,在量化时需要做一些特殊的处理,否则精度损失更严重。2.模型量化会损失一定的精度,虽然在微调后可以减少精度损失,但推理精度确实下降。职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练05任务实施数据集配置、数据转换下载模型训练工具1模型量化3234模型训练、模型评估任务三机械臂色块分拣深度神经网络模型训练下载模型训练工具在本任务同级目录下载“模型训练工具”。任务三机械臂色块分拣深度神经网络模型训练模型工具说明(此训练工具为旧版,仅适用于3559A的开发板)一、界面介绍。任务三机械臂色块分拣深度神经网络模型训练二、主要功能介绍本工具仅限于caffe物体分类模型训练,步骤流程:数据集配置、数据转换、模型训练、模型评估。1、数据集配置:选择图片数据、选择标注数据、生成文本路径;2、数据转换:设置类别名称、选择caffe工具包路径,生成caffe数据库;3、模型训练:选择模型、设置训练类别数量、设置训练迭代次数,开始训练模型;4、模型评估:选择要评估的模型、选择deploy路径、加载图片、开始评估模型。任务三机械臂色块分拣深度神经网络模型训练三、步骤详解(详细内容请参考Jupyter中2.2模型训练工具中的第三点)1.准备项目文件步骤一:下载并解压【tool】,点击【./ModelTool/caffetools.exe】,运行模型训练工具。步骤二:在windows10任意盘新建一个项目文件夹,以英文形式命名,本操作文档项目文件夹为ToolTest。步骤三:在模型训练工具中点击浏览,选择步骤2创建项目路径,并在状态提示区展示相应提示。05任务实施数据集配置、数据转换下载模型训练工具1模型量化3234模型训练、模型评估数据集配置步骤一:点击数据集配置选项卡进入数据集配置界面,如下图所示。数据集配置、数据转换数据集配置、数据转换数据集配置步骤二:按界面信息,点击浏览选择标注精灵生成的标注数据,路径选择成功后会在项目路径step1中生成XMLLabels文件夹。(配套数据源路径:./train/data/outputs)数据集配置、数据转换数据集配置步骤二:按界面信息,点击浏览选择标注精灵生成的标注数据,路径选择成功后会在项目路径step1中生成XMLLabels文件夹。(配套数据源路径:./train/data/outputs)数据集配置步骤三:点击浏览,选择图片数据路径。选择成功后会在项目路径下step1中生成JPEGImages文件。(配套数据源路径:./train/data/image)选择数据图片路径数据集配置、数据转换数据集配置步骤三:点击浏览,选择图片数据路径。选择成功后会在项目路径下step1中生成JPEGImages文件。(配套数据源路径:./train/data/image)数据集配置、数据转换数据集配置步骤四:点击生成路径文本。执行成功后会在项目路径下step1中生成trainval.txt,test.txt两个文件。生成文本路径数据集配置、数据转换数据集配置步骤四:点击生成路径文本。执行成功后会在项目路径下step1中生成trainval.txt,test.txt两个文件。生成文本数据集配置、数据转换数据转换步骤一:点击下一步或者点击数据转换选项卡进入数据转换界面。界面如下所示:数据集配置、数据转换数据转换步骤二:设置类别名称,以半角逗号隔开。如下图所示:数据集配置、数据转换数据转换步骤三:点击浏览,选择caffe工具包路径。(配套工具包路径:./caffe)数据集配置、数据转换数据转换步骤四:点击生成脚本,应用会在项目路径下step2中生成creat_lmdb.bat文件、totxt文件。如下图所示:生成脚本数据集配置、数据转换数据转换步骤四:点击生成脚本,应用会在项目路径下step2中生成creat_lmdb.bat文件、totxt文件。如下图所示:生成脚本路径数据集配置、数据转换数据转换步骤五:点击运行脚本按钮,应用会自动运行creat_lmdb.bat脚本,系统弹出命令窗口执行脚本。如下图所示。执行成功后会在项目路径下step2中生成test_lmdb、trainval_lmdb文件。运行脚本数据集配置、数据转换数据转换步骤五:点击运行脚本按钮,应用会自动运行creat_lmdb.bat脚本,系统弹出命令窗口执行脚本。如下图所示。执行成功后会在项目路径下step2中生成test_lmdb、trainval_lmdb文件。数据集配置、数据转换05任务实施数据集配置、数据转换下载模型训练工具1模型量化3234模型训练、模型评估模型训练、模型评估模型训练步骤一:点击下一步或者模型训练选项卡,进入模型训练界面。如下图所示:模型训练步骤二:输入训练类别数,本次案例训练类别数为4类(blue,green,yellow,reed),输入4即可。模型训练、模型评估模型训练步骤三:设置训练次数,为了方便演示,本次训练次数设置成10次,训练方式可根据机器配置选择GPU或CPU进行训练。如下图所示:模型训练、模型评估模型训练步骤四:点击保存参数,系统会在step3中生成如下图中的文件:模型训练、模型评估模型训练步骤四:点击保存参数,系统会在step3中生成如下图中的文件:

模型训练、模型评估模型训练步骤五:点击开始训练模型,系统会弹出命令行窗口开始训练模型。训练成功后,会在step3中生成模型文件、日志文件。

模型训练、模型评估模型训练步骤五:点击开始训练模型,系统会弹出命令行窗口开始训练模型。训练成功后,会在step3中生成模型文件、日志文件。

模型训练、模型评估模型评估步骤一:关闭训练窗口,点击下一步或者模型评估选项卡进入模型评估界面。模型训练、模型评估模型评估步骤二:点击选择模型按钮,选择模型。选择本次训练生成的模型,模型评估选择已训练好的模型,如下图。选择模型模型训练、模型评估模型评估步骤二:点击选择模型按钮,选择模型。选择本次训练生成的模型,模型评估选择已训练好的模型,如下图。模型评估选择已训练好的模型模型训练、模型评估模型评估步骤三:点击deploy路径按钮,选择deploy路径。如下图所示:模型训练、模型评估模型评估步骤三:点击deploy路径按钮,选择deploy路径。如下图所示:模型训练、模型评估模型评估步骤四:点击加载图片,选择需要识别的图片,如下图。模型训练、模型评估模型评估步骤五:点击验证模型按钮,开始模型验证,当精度超过50%识别结果会保存至step4中。模型训练、模型评估模型评估步骤五:点击验证模型按钮,开始模型验证,当精度超过50%识别结果会保存至step4中。注意:若提示识别准确率低于50%,请优化模型精度,可自行增加训练数据进行迭代训练,提高模型识别精度。模型训练、模型评估任务三机械臂色块分拣深度神经网络模型训练动手实验将下载的tool.rar工具包中的自带的色块图片、标注数据,使用模型训练工具进行如下操作:1.数据集配置2.数据转换,生成模型训练参数与网络结构3.填写模型训练参数,进行模型训练4.使用工具包对训练的模型进行模型评估,判断模型的精度05任务实施数据集配置、数据转换下载模型训练工具1模型量化3234模型训练、模型评估模型量化使用RKNNToolkit工具对模型进行量化步骤一:在Window10系统上安装【RKNNToolkit】工具1.在Window10上安装Python3.6.5在本任务同级目录下载Window10Python安装包模型量化使用RKNNToolkit工具对模型进行量化步骤一:在Window10系统上安装【RKNNToolkit】工具1.在Window10上安装Python3.6.5双击安装包,将Python添加到环境变量中,然后点击安装。模型量化使用RKNNToolkit工具对模型进行量化步骤一:在Window10系统上安装【RKNNToolkit】工具1.在Window10上安装Python3.6.5安装完成后打开cmd输入python,出现如下结果,则Python安装成功。模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具1).下载本任务同级目录下的【packages.zip】安装包,并进行解压模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具2).用Python在解压后的packages目录下创建虚拟环境,【python-mvenvenv】在packages目录下创建虚拟环境模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具3).进入虚拟环境,安装RKNToolkit。启动虚拟环境。模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具3).进入虚拟环境,安装RKNToolkit。启动虚拟环境。

注意:若启动虚拟环境时,提示【无法加载文件.....因为在此系统上禁止运行脚本】的报错提示。解决方法如下:Windows+x打开面板,选择以管理员身份运行PowerShell,输入:set-executionpolicyremotesigned,接下来输入“y”表示执行。注意:若正常进入虚拟环境,则跳过上述步骤。更新pip工具:【python-mpipinstall--upgradepip】模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具4).安装RKNToolkit,执行命令:【pipinstall--no-index--find-links=./pip_packages-r

requirements.txt】模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具5).启动RKNNToolkit,执行命令【python-mrknn.bin.visualization】。模型量化使用RKNNToolkit工具对模型进行量化2.安装RKNNToolkit工具5).启动RKNNToolkit,执行命令【python-mrknn.bin.visualization】。模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化1).下载模型训练数据集模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化2).解压train.rar文件使用上面模型训练下载的数据集,在数据集目录下打开powershell,执行pythoncreate_test.py脚本,生成模型量化需要用到的测试数据集。模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化3).打开RKNNToolkit工具,如下图模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化4).选择caffe模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化5).填上对应的值,如下图。填写完成后下滑滚轮,点击下一步。根据图表填上对应的值,详情可以参考Jupyter模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化5).填上对应的值,如下图。填写完成后下滑滚轮,点击下一步。选择训练生成的caffe模型模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化6).填完值后点下一步,进行模型量化。模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化7).量化完成后点击下一步,进行模型转换模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化8).转化完成后在设置的目录下可以看到生成的rknn模型模型量化使用RKNNToolkit工具对模型进行量化步骤二:使用RKNNToolkit进行模型量化与转换1.模型量化8).转化完成后在设置的目录下可以看到生成的rknn模型文件夹中生成对应的test.rknn模型职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务三机械臂色块分拣深度神经网络模型训练任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分

理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)下载模型训练工具,完成数据集配置和数据转换,对模型进行训练和评估,完成模型量化。(40分)40分

下载模型训练工具,完成数据集配置和数据转换,对模型进行训练和评估。(25分)下载模型训练工具,完成数据集配置和数据转换。(15分)没有完成机械臂色块分拣深度神经网络模型训练实验。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论