模块8:产品智能分拣系统搭建-实操_第1页
模块8:产品智能分拣系统搭建-实操_第2页
模块8:产品智能分拣系统搭建-实操_第3页
模块8:产品智能分拣系统搭建-实操_第4页
模块8:产品智能分拣系统搭建-实操_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

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

文档简介

模块8:产品智能分拣系统搭建案例实现模块小结知识拓展PARTONEPARTTWOPARTTHREE案例实现:基于目标检测的商品识别功能实现人工智能边缘设备应用01基于迁移学习的电子产品分类在知识准备中,已经基本了解了产品智能分拣系统的意义与常用方法。在接下来的案例实现中,将围绕智慧零售场景下的商品智能分拣任务,使用人工智能边缘设备实现商品检测功能。同时,本次案例实现任务可作为中国大学生计算机设计大赛人工智能挑战赛智慧零售挑战赛竞赛任务实现过程的参考。中国大学生计算机设计大赛人工智能挑战赛智慧零售挑战赛,是由教育部高校与计算机相关教指委联合主办的国家一类(A类)赛事。(1)模型训练环境准备;(2)目标检测数据采集;(3)迁移学习模型训练;(4)测试模型训练结果。任务1:模型训练环境准备(1)创建交换空间模型训练过程中会占用大量计算资源,为保证模型在训练过程中不会因为计算资源不足导致中途停止,需要在模型训练前准备足够的计算资源。通过代码创建模型训练空间。接着在终端中输入以下代码,将交换空间挂在到人工智能边缘设备中。接下来在该文件的最后一行中添加代码,保证设备每次启动后都能挂载到该空间。sudofallocate-l4G/mnt/4GB.swap#创建一个大小为4G的文件sudomkswap/mnt/4GB.swap#在创建好的文件上建立交换分区sudoswapon/mnt/4GB.swap#启用这个交换分区sudogedit/etc/fstab/mnt/4GB.swapnoneswapsw00任务1:模型训练环境准备(2)创建模型训练标签本次任务将使用中国大学生计算机设计大赛人工智能挑战赛智慧零售挑战赛竞赛中提供的苹果(apple)、草莓(strawberry)、莲雾果(waxapple)三种商品目标作为检测目标类型,使用迁移学习方法,将开源大型目标检测型模型转化为高性能小模型。cdDesktop/projects/char8mkdirretailcdretailgeditlabels.txt接下来创建模型训练过程中不可或缺的训练标签文件,首先通过以下命令进入到具体路径下。通过命令创建本次任务对应文件夹并进入文件夹中。在该路径下,通过以下代码创建模型训练标签文件。在文件中输入需要检测的目标标签,即苹果(apple)、草莓(strawberry)、莲雾果(waxapple)。不同标签以enter换行间隔,保存即可。具体效果如下。任务2:检测目标数据采集(1)启动图像采集工具准备好模型训练环境后,接下来准备分类模型训练过程中需要的图像数据。在人工智能边缘设备中预置了图像采集工具,通过以下代码启动图像采集工具。打开图像采集工具后,右上角会弹出图像采集工具界面,右下角会出现相机实时视频流界面。图像采集工具界面如图所示;接着在“DatasetType”栏点击下拉框,选择“Detection”,如下所示。cd/jetson-inference/tools#启动相机捕获工具camera-capture--width=800--height=600--camera=/dev/video0#设定相机相关参数,相机显示界面宽为800像素,高为600像素,使用端口为video0的相机设备任务2:检测目标数据采集(1)启动图像采集工具参数介绍DatasetType数据集类型。该工具支持采集图像分类和目标检测两类数据集。默认值为Classification,表示图像分类。DatasetPath存放模型数据集的路径。ClassLabels存放模型标签的路径。CurrentSet训练类别选择,是模型训练需要的三种数据集采集的类别,下拉框有三个选项:train(训练集)、test(测试集)、val(验证集)JPEGQuality图像质量Freeze/Edit(space)点击该按钮或按下空格键键即可冻结该窗口进行数据标注任务2:检测目标数据采集(1)启动图像采集工具首先点击DatasetPath后方按钮,选择任务1中创建的图像数据集路径。任务2:检测目标数据采集(1)启动图像采集工具此时在retail文件夹中会自动新增Annotations、JPEGImages和ImageSets三个文件夹。接着点击DatasetPath后方按钮,如下图所示,选择任务1中准备的模型训练标签文件。任务2:检测目标数据采集(2)图像数据采集与标注本次任务中将采集与标注苹果(apple)、草莓(strawberry)、莲雾果(waxapple)三种商品目标的图像数据。由于商品检测场景下,存在多种商品同时存在的情况,即多目标检测识别任务,因此需要采集单目标图像数据和多目标数据。在本任务中,我们将采集以下7种类型的图像数据:(1)只有苹果的图像;(2)只有草莓的图像;(3)只有莲雾的图像;(4)苹果和草莓同时存在的图像;(5)草莓和莲雾同时存在的图像;(6)苹果和莲雾同时存在的图像;(7)苹果、草莓和莲雾同时存在的图像。每种类型大约采集10张图像数据作为train训练集图片、5张图像数据作为test测试集图片、3张图像数据作为val验证集图片。任务2:检测目标数据采集(2)图像数据与标注点击“Freeze”按钮或按下键盘空格键,冻结视频窗口,在视频画面中,使用鼠标左键,拉动标注框,框选苹果数据目标。需要注意的是,在进行图像数据采集时,以尽可能还原真实场景为数据采集原则,尽可能多地采集不同角度、不同光线场景下的目标图像数据,以提高模型应用效果。任务2:检测目标数据采集(2)图像数据与标注在进行图像数据标注时,标注框紧贴目标数据轮廓。图像采集工具中,标注框相关参数说明如下:①“Class”代表当前标注的数据类型,本任务中包含的数据类型包括苹果(apple)、草莓(strawberry)、莲雾果(waxapple)三种;②“x”表示标注框的横向位置,图像采集工具以视频界面左上角为原点建立直角坐标系,增加该数值标注框将向右移动;③“y”表示标注框的纵向位置,增加该数值标注框将向下移动;④“Width”表示标注框的宽值,“Height”表示标注框的高值。任务2:检测目标数据采集(2)图像数据与标注再次点击“Freeze”按钮或按下键盘空格键,解冻视频窗口,视频界面恢复实时视频流图像,此时JPEGImages、Annotations和ImageSets三个文件夹中会自动更新信息。其中JPEGImages文件夹将用于存放采集到的图像数据,根据图像拍摄的时间命名。Annotations文件夹将用于存放图像的标注数据,打开图像对应的xml标签文件,其中将包含标注的类型、标注框的位置等信息。ImageSets文件夹中的内容将用于模型训练时建立图像数据和标注数据的匹配索引。▲JPEGImages文件夹▲Annotations文件夹任务2:检测目标数据采集(2)图像数据与标注在进行多目标标注时,通过对图像采集工具中的标注框相关参数进行调整,对目标进行标注,具体效果如下图所示,接着点击“CurrentSet”后的下拉框即可选择数据类型。依次对上述7种类型的目标进行图像采集,大约采集10张图像数据作为train训练集图片、5张图像数据作为test测试集图片、3张图像数据作为val验证集图片。任务3:迁移学习模型训练(1)模型训练图像数据采集完成后,接下来进行模型训练。人工智能边缘设备中已经预置了基于迁移学习的目标检测模型训练程序,通过以下命令进入到该程序所在的文件路径中。通过以下命令启动模型训练程序。cdjetson-inference/python/training/detection/ssdpython3train_ssd.py--dataset-type=voc--data=/home/tringai/Desktop/projects/char8/retail--model-dir=/home/tringai/Desktop/projects/char8/retail--batch-size=4--epochs=30任务3:迁移学习模型训练(1)模型训练训练过程可在后台中查看,“Epoch”表示训练的轮次,每一个训练轮次都会将该轮次得到的模型进行保存,得到的模型文件为图中后缀为“.pth”的文件。本次任务中将对模型进行30轮训练,训练总时长将在10分钟左右。模型训练完成后,将在retail文件夹中生成30个模型文件,如图所示。每个模型文件名中均包含“Loss”值,“Loss”表示模型损失值,即使用测试集进行测试时,预测得到的目标类型与真实目标类型不一致的程度,该值越小代表测试过程中模型表现的性能越好。任务3:迁移学习模型训练(2)模型导出新建一个model文件,挑选Loss值最小的模型文件,与labels.txt文件一同存放至该文件夹,labels.txt文件中加入一行“BACKGROUND”用于模型检测无目标物体时不错误显示。模型导出效果如右图所示。人工智能边缘设备中预置了导出程序,通过以下命令进入到该程序所在的文件路径中并启动模型导出程序,导出结果如图。cdjetson-inference/python/training/detection/ssdpython3onnx_export.py--model-dir=/home/tringai/Desktop/projects/char8/retail/model▲导出结果,新增的ssd-mobilenet.onnx为导出的模型文件任务4:测试模型训练结果在人工智能边缘设备中已经预置了模型调用测试程序,首先在终端中输入以下命令,将模型路径地址赋值为NET。接着通过以下命令,执行模型推理程序detectnet。其中“$NET”表示引用了NET的赋值。“\”表示在终端命令中进行换行。运行结果如下图所示。NET=/home/tringai/Desktop/projects/char8/retail/modeldetectnet--model=$NET/ssd-mobilenet.onnx--labels=$NET/labels.txt\--input-blob=input_0--output-cvg=scores--output-bbox=boxes\/dev/video0▲实时检测结果,将视频流中的目标对象进行标记,标记结果中包含标注框、目标类别和预测为该目标类型的置信度模块小结人工智能边缘设备应用02模块小结在本模块的学习中,我们了解到了:产品智能分拣系统的特点以及对于其应用领域中相关行业发展的意义;产品智能分拣系统的常用方法,如条形码识别、RFID射频识别、图像识别等;通过某公司边缘设备的应用案例,来进一步加深对图像识别应用方法的掌握,然后进一步深入剖析目标检测的实现原理及逻辑;基于所学知识去了解和掌握如何搭建一个产品智能分拣系统。

温馨提示

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

评论

0/150

提交评论