APP下载

基于Tensorflow的产品智能分拣系统

2019-08-08张野李帅刘跃林李乐张毅

电脑知识与技术 2019年18期
关键词:深度学习

张野 李帅 刘跃 林李乐 张毅

摘要:基于Tensorflow的产品智能分拣系统采用人工智能技术,通过对图像识别进行智能分拣,从而提高工厂产品的分拣效率,大大降低了人为产生的误差,实现工厂自动化。

关键词:tensorflow;深度学习;智能识别

中图分类号:TP311    文献标识码:A

文章编号:1009-3044(2019)18-0197-02

而非监督式就不需要人为的标签数据,它是监督式和强化学习等策略之外的一个选择。典型的非监督学习有聚类等,它是直接从数据中寻找相似性,即规律。

现在其实机器学习除了监督式和非监督式之外,还有增强学习。它是和监督式及非监督式都有些不同的一种方式。然后,但其实在工业界用得最多的,其实还是监督式学习的方式,非监督式和增强学习现在在工业界的使用还是相对比较少。本项目主要应用方向为工业生产,所以采用的还是监督学习。最终通过Tensorflow这一框架,实现深度学习的算法。

基于Tensorflow的产品智能分拣系统采用人工智能技术,首先利用Tensorflow技术对多类产品的图像进行离线学习,得到各种产品的模型;然后利用摄像头获得当前产品的图像;其次再利用习得的模型进行智能识别;最后根据不同产品的类别,为当前的产品指定正确的容器。从而精准无误地达到人工智能分拣系统的效果。

传统的产品、农作物等相关物品的分拣都需要通过人工操作,不仅浪费了大量的人力物力,没有使得资源得到合理的配置,不再符合当今机械化社会的发展水平,它所需要的是极大地便利操作;而且,人工分拣的过程中存在很多的不确定因素,不能准确保证分拣的种类都符合相关的要求,极大地阻碍了生产力的生产效率。随着经济和生产的发展,商品趋于“短小轻薄”,流通趋于小批量、多品种和准时制,各类配送中心的货物分拣任务十分艰巨,分拣作业已成为一项重要的工作环节。我国目前多数配送中心和物流企业都是人工分拣。显然,随着分拣量的增加、分送点的增多、配货响应时间的缩短和服务质量的提高,单凭人工分拣将无法满足大规模配货配送的要求。然而,当通过智能分拣系统来进行操作,能够极大地提高工作效率,节省大量的人力物力,充分发挥这一系统的独特优势。能够为工厂实现自动化推进一大步。

近年来,在传统带式输送机和现有智能分拣技术的基础上,利用先进的条形码识别技术和微控制器进行控制的智能分拣系统在物流企业的应用不断扩大。智能分拣系统分拣作业快速、灵活、准确,操作、维护简单、方便,大大减少了劳动力,提高了工作效率。

通过现有的的智能分拣系统而言,这已经在人工智能方面取得了巨大的进步。通过对人工智能方面的语言的学习,了解了一点与其相关的编程原理等知识。在现有的人工智能的基础上进行相应对的创新,以此达到完善,发展这一人工智能分拣系统的作用。

但是,当前已经转入智能分拣阶段,即依靠二维码、RFID或各种传感器来识别货物,再进行分类。但这种分拣系统的成本较高,对产品也有较多的限制(如二维码、RFID等)。这些限制阻碍了相关产品的智能分拣,需要对这一阶段进行优化,使它的功能更加完善,更能广泛地应用于各个领域。使得它能够具有低成本,高效率,宽领域等特点。因此,可以通过在现有的智能分拣系统上进行相应改进,完善。一定程度上减少了制作实施过程中的难度系数。

在了解了人工智能方面的知识,学习了与人工智能技术密切相关的编程语言:Python。当前人工智能分拣系统的基础上突破已有的限制,对其进行完善,使得它能够应用于多领域。对多类产品的图像进行离线学习。

智能分拣这一系统是基于人工智能技术,当前,国内外的人工智能技术都处于发展阶段,没有相对完善的技术系统,没有形成相应的体系来支撑人工智能技术的发展。在这方面的发展,人类还需要走很长的路,进行探索,不断进行完善,使得它形成具有特色,相对完善,相对前沿的人工智能技术。

在整个项目的进展前期主要是相关系统和软件、硬件的安装与配置,其中包括树莓派相关器械的组装;安装风扇用于避免树莓派温度过高,造成树莓派的损坏。之后需要对树莓派进行导入相关系统,导入之前需要一定的前期准备,需要下载SD Card Formatter、Win32DiskImager以及最新的树莓派系统等相关软件。SD Card Formatter用于格式化树莓派中的SD卡;Win32DiskImager用于将最新的树莓派系统镜像烧录到SD卡中,以此将树莓派系统导入树莓派。其次,需要将摄像头安装置树莓派,用于拍照來实现智能分拣的功能。安装完成后需要对树莓派进行相关配置的修改,通过python语言实现摄像头拍照并保存的功能。其间存在的问题主要是树莓派系统的导入,显示屏上不能显示树莓派系统界面,经过查找相关资料以及指导老师的帮助下发现插入树莓派的SD卡没有彻底格式化,起初认为通过电脑可以直接将SD卡格式化,但在导入系统时不能正确显示界面,因此电脑并没有将SD卡清理干净,需要格式化软件来进行操作,故而下载了SD Card Formatter。最后成功解决了显示不了界面的情况。以及树莓派线路连接过程中,HDMI接口并没有连接,起初以为会造成影响,但实验证明并没有对实验的结果产生影响。这些问题的存在在随着项目的推进并没有产生什么影响。

项目进展中期,主要是识别代码的编写。起初希望通过利用手写体数字识别过渡到图像识别,因此,中期花费了大量时间研究手写体识别,通过在网上查找相关资料来实现,但是由于代码的问题不能精准识别图片,因此,在老师的指导下找到了简单的代码并进行了相关学习,不久就实现了识别的功能。基于tensorflow的产品智能分拣系统关键在于识别,我们认手写体识别为后期的图像识别作铺垫,因此后期图像识别只需要修改一下数据集就可以解决,但事实远非如此。

项目进展后期,虽然中期完成了手写体数字识别,但由于手写体数字识别的数据集是集成好的,并没有制作过程,相对而言实现的比较困难,并没有起先想的那么容易。因此后期放弃了原先的想法,从另外一个途径入手。按照传统图像识别的步骤通过一步步编程来进行相关操作。编程涉及图片数据集的制作、图片的输入处理、建立网络模型、神经网络的训练以及对图片测试五个模块。数据集制作时主要是对图片进行预处理,但是起初在网上下载图片时并没有在意图片格式,因此在代码执行过程中出现了reshape问题的错误,通过在网上查阅资料以及对图片格式的比对发现编写的代码只能对.jpg格式的图片进行处理。图片输入处理的过程相对比较简单,主要是对指定大小的生成图片进行sample与label分类制作,获得神经网络输入的get_files文件,同时为了方便网络的训练,输入数据进行batch处理。网络模型的编写过程相对而言比较困难,由于是初学者,有关代码是通过老师或者网络资源获取的。其中涉及卷积层、池化层、全连接、softmax层、激活函数和损失函数。神经网络训练时为了提高图片识别的精准度会对图片进行多次训练。图片测试模块相对比较容易。最后主要是数据的采集,由于树莓派上带有摄像头,则可直接通过它来采集图片资源。因此就需要超高像素的摄像头,从而提高分辨率,减少识别过程中的误差。在拍摄过程中仍然需要注意其他因素对拍摄效果图片的影响,比如光线的强度、拍摄的角度等。这些存在的问题都会在制作数据集时产生影响。

本项目拟设计与实现基于人工智能技术的产品分拣系统。采用人工智能技术对产品进行智能识别,从而达到对产品的分类,进一步提高产品的分拣效率,节省大量的人力物力,降低分拣过程中存在的误差。促使这一人工智能分拣系统能够广泛应用于多领域,大大提高自动化水平。对产品的图像进行离线学习,以此来得到各产品的相应模型;利用摄像头获取并识别相应产品的动态图像;利用所得的模型进行智能识别。从而达到人工智能分拣的效果。通过人工智能控制策略实现产品在分拣过程中准确的信息采集、传输、反馈与控制。最终制作出智能识别零件产品的简易装置。

突破目前产品分拣系统中依赖二维码、RFID等主动信息的限制,依靠智能视觉来识别产品。本项目除了可以产品的分拣之外,还可以推广到农产品的分类等应用场景,极大地扩展了智能分拣系统的应用范围。对之前的分拣系统进行了改进,能够在不同的领域进行相应的扩展。具有高效率,低成本,宽领域等独具特色的特点,打破以往的智能分拣系统限制,使得这一人工智能分拣系统趋于更加完善。

该项目具体步骤为:

1)准备原始数据

准备好训练的原始数据,将原来大小不一的图片转换成规定的格式。各类图片放入同一文件夹下的不同文件夹中(成片放入成片文件夹,赝品放入赝品文件夹)。主要调用image.resize(width,length)方法,制作Tensflow数据集。

读取Tfrecords数据集获得image和label,打印验证并保存生成的图片,查看文件夹验证是否与图片对应。

2) 输入图片处理

获取上一步生成的数据集,对图片进行sample与label分类制作,同时为了方便网络训练对输入数据进行批处理,返回image_batch与label_batch。

3) 构造神经网络模型

卷积层与池化层凸显图片特征,激励函数用于将隐层与输出层结点的输入和输出表现出来,这些操作将原始数据隐射到隐层特征空间。全连接层用于将学到的分布式特征表示映射到样本标记空间,即将前面提取的特征综合起来,与卷积操作类似。

在此构造“卷积1*池化1*卷积2*池化2*全连接1*全连接2*回归层”回归神经网络结构。

4) 训练神经网络

训练神经网络主要分为三个步骤 1.定义神经网络的结构和前向传播的输出结果。2.定义损失函数以及选择反向传播优化的算法。3.生成会话并且在训练数据上反复运行反向传播优化算法。

用之前创建的数据集训练神经网络,保存训练后的网络参数。

5) 测试神经网络

从数据集中随机选取一张图片,送入神经网络中进行识别,输出最大概率的结果。

实验数据为工厂生产的产品:包括正品和次品两类如下图所示:

【通聯编辑:梁书】

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略