水果分拣平台的开发设计—基于树莓派的机器视觉开发.doc

上传人:温桑 文档编号:49454515 上传时间:2022-10-08 格式:DOC 页数:41 大小:2.50MB
返回 下载 相关 举报
水果分拣平台的开发设计—基于树莓派的机器视觉开发.doc_第1页
第1页 / 共41页
水果分拣平台的开发设计—基于树莓派的机器视觉开发.doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《水果分拣平台的开发设计—基于树莓派的机器视觉开发.doc》由会员分享,可在线阅读,更多相关《水果分拣平台的开发设计—基于树莓派的机器视觉开发.doc(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、北京理工大学珠海学院2020届本科毕业生设计水果分拣平台的开发设计基于树莓派的机器视觉开发学 院: 工业自动化学院 专 业: 机械电子工程 姓 名: 韩佳乐 学号: 160404107140 指导老师: 文豪 职称: 讲师 中国珠海二二年五月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计水果分拣平台的开发设计基于树莓派的机器视觉开发是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日水果分拣平台的开发设计基于树莓派的机器视觉开发摘 要我国作为世界首屈一指的农业产品生产大国,在国际农业贸易市场

2、上的销售额却低于美国、英国等发达国家。在一段时间内,这令人十分感到困惑,在经过农业与市场的专家学者调研后发现,其背后的原因是,我国的水果在成熟后,缺乏相应配套的批量处理设施,特别是分拣部分,尚未完全实现自动化流水线作业。在此领域我国长期依赖手工作业,靠着大量的普通工人来对水果进行分类。而随着市场的变化,当前的分类要求也越来越细致,从传统的仅仅按照水果类别分类,如今已经开始按照水果的大小、个头、颜色饱和度等更具有个性化的指标来区分,这使得针对农业果类自动分拣平台显得日益迫切。结合当前国内外水果分拣的研究现状,本设计实现了基于树莓派机器的视觉开发,可以在水果分拣平台上得到很好的应用。关键词:机器视

3、觉; 水果分拣;分类;树莓派Development and Design of Fruit Sorting PlatformDevelopment of Machine Vision Based on Raspberry PiAbstractAbstract: As the worlds leading agricultural production country, Chinas sales in the international agricultural trade market are lower than those in the United States, Britain and

4、 other developed countries. For a period of time, this was very confusing. After investigations by experts and scholars in agriculture and the market, it was found that the reason behind it is that after the fruits of our country mature, they lack the corresponding batch processing facilities, espec

5、ially the sorting part. , Has not yet fully realized automated assembly line operations. In this field, China has long relied on manual work, relying on a large number of ordinary workers to classify fruits. With the change of the market, the current classification requirements are becoming more and

6、 more detailed. From the traditional classification based on fruit categories, they have started to distinguish according to more personalized indicators such as the size, size, and color saturation of fruits. It makes the automatic sorting platform for agricultural fruits appear increasingly urgent

7、. Based on the current research status of fruit sorting at home and abroad, this design realizes the visual development based on the Raspberry Pi machine, which can be well applied on the fruit sorting platformKeywords: Machine vision; Fruit sorting; Classification; Raspberry pie目录1绪论11.1研究意义及背景11.2

8、国内外研究现状及发展趋势21.2.1国外研究现状21.2.2国内研究现状21.3 本文的主要内容与章节安排32 系统框架设计42.1 系统总体设计42.2 系统硬件架构52.2.1 树莓派简介52.2.2摄像头72.2.3 笔记本计算机92.3 系统软件平台的构建102.3.1 笔记本计算机软件平台102.3.2 树莓派软件平台102.3.3 Open Cv概述112.4 本章小结123 图像的采集与预处理133.1 水果图像的采集133.2 水果图像的预处理143.2.1.图像灰度化143.2.2图像二值化163.3 本章小结174 水果实时分类算法的实现184.1 水果图像轮廓提取184.

9、2 水果特征提取204.3 水果实时分类算法的设计214.3.1 决策树算法224.3.2 基于决策树的水果实时分类算法实现224.4 本章小结245 测试与结果分析255.1 水果分类功能测试255.2 水果分类性能测试255.3 本章小结266 总结与展望276.1 总结276.2 展望27参考文献28致谢29附录130核心程序代码30附录2355种水果效果图351绪论1.1研究意义及背景我国一直是世界上水果种植产量排名较前的农业生产大国,自20世纪90年代后,由于大面积的化肥的使用我国的水果收获量一直处于世界前列。但由于工业的发展起步不够领先,相比于欧洲等老牌工业国家我国的水果成熟后加工

10、技术,配套的处理技术,一直处于一个较低的水平。也正是因为这种原因,一直无法在国际贸易市场获得优异的表现1。在2018至2019年,我国的生鲜苹果的出口量就有168万吨,而同比我国的果实产量却远高于此,除了部分果实是直接内销外,还有很多果实直接成为损耗成本了,因为我国一直采用人工的采集流水线作业,对比国外的全自动机械化流水线,我国的果实产业竞争力落后明显。在我国,果实从田地收获到包装出售,每一步均依靠技能成熟的工人手工作业,即使工人们均接受了一定程度的训练,拥有比较高的效率,但是在分类与打包环节,依然耗费了大量的生产时间,这倒是数量巨大的生鲜果实腐烂变质失去了食用价值。而随着人们对个人美食生活质

11、量的追求,人们购买水果除了在原有的种类维度上,还更加关注色泽、饱和度、尺寸等更加细分的维度,这些元素的增加,无疑给人工分类的难度又提升了一个台阶,势必导致效率进一步的下降,收获果实的有效产值更加低下。为了改善这种不良的竞争情况,我国一直在把提升果实产业的效益,降低损耗作为研究发展的主要方向。我国目前已经普遍可以购买到机械分类设备主要是依靠物体的重量来进行分类,显然,针对果实产业这种需要精细分类的情况,面对的问题与预想情况存在较大差距。针对这种具体的情况,有专家学者从视觉研究方向的角度提出,可以以图像的应用处理技术为理论基础,将原本应用于机器视觉领域的图像识别技术,移植应用到水果分拣领域,通过上

12、述理论基础建立起依靠机器视觉的自动化果实分类系统。该系统在一般情况是通过高清摄像头作为原始数据采集模块,采集果实或者其他物件的图像信息,然后传送后台的实时图像数据分析处理模块,得出原有的图像信息,将水果的像素分布情况、水果的外形特征数据、果皮的颜色饱和度数值、整体尺寸的大小等高维信息进行特征提取与数据处理,通过一定的映射关系将其转变为机器可以识别的数字化信号,从而让机器可以对这些图像有一个认识分类的前提,在获取大量特征数据后,我们利用高性能的服务器算力,对这些特征进行下一步的处理,最终使得机器能自动学习到某些特征与一类水果的归属关系,从而为一步流水线上的机械手分拣操作,打下基础。将前者与机械手

13、系统联合起来,整个系统就可以实现无人值守的自动化操作方式,流水线作业分拣水果,最大程度的降低收获果实的等待出库时间,显著提高了分拣效率。 国外已经有成熟的分类产品,但是此类设备进口价格非常昂贵,除了国内的小农户无法承担其价格外,还存在一旦出现问题的时候,会面临无人维护的麻烦局面。针对我国特有的小农户种植园的农产品自动化加工的需求,我们在研究了许多专家学者的论文和调研了实际市场情况后,对水果自动识别系统的研究开发工作,目的是希望能解决我国小农户种植园的痛点需求,成功设计出一款成本相对低廉,工作环境耐受度高,且分类效果好,识别率有一定保障的水果自动实时分类系统。系统硬件选择树莓派平台与树莓派匹配的

14、专用摄像头,结合本文设计的水果实时分类算法,实现多种水果的实时分类,系统在完成分类后将结果通过USB串口发送处理数据,使用更加统一化的USB口替代老旧的串口,除了可以提高信号的传输稳定性外,还可更加方便的适配不用的机械模块,便于后续的直接分类或是更复杂切割操作。通过模拟实验与测试,本文设计的水果分类系统面对常见的多种水果,能实现100%识别的精准分类。1.2国内外研究现状及发展趋势机器视觉被应用的范围非常之广,从农业到工业领域都有很大的应用面。正因为如此,世界上许多国家与地区都在此领域投入了巨大的人力与物力进行发展,并实现了一些成果,总体上来过,国外的老牌工业国家在此领域的整体技术是大幅领先于

15、国内同期的发展水平。早在20世纪60年中期,以欧美国家,特别是美国为首的高技术发达国家已经开始着手这方面的科学研究,其中美国学者罗伯兹在此方面的研究最为深入。因此,发达国家基于机器视觉的产业已经发展得十分完备,他们在各种复杂物体的识别上、机械部分的联动上,均有了一段时间的成熟应用。国外厂商推出的基于机器视觉的分拣系统具有噪音小、功耗低、机械手操作精准、物体识别精度高等优势,而同期国内的发展,仍处于研究发展初期,与顶尖的国际水准仍持有的不可忽视的差距,其主要难点在于,视觉模块的识别精度不够高,对图像的处理算法不够先进。所以我们机器视觉上的研究,对推进机器视觉的分拣技术的发展很有意义。1.2.1国

16、外研究现状目前,国外对机器视觉的研究现状已经逐步从实验理论走向了工厂实践,他们已经有了非常多的型号的成熟产品。其实以美国、日本、意大利为第一批队。例如英国的基恩士厂商,其机器视觉的实现不仅依赖于传统的图像识别,还增加光电感应与近距离接触感应,其销售产品遍布全球。意大利爱乐备公司推出的基于三维视觉的机械手臂同样具有非常高的技术水平,能够实现的全方位多角度的物料获取,在国际上属于领先水平,可以规划完成复杂多样的取件操作。,美国的康耐视公司更是机械领域的头部公司,公司旗下的视觉识别部门,专攻用于实现高精度、低误差的分类视觉系统。1.2.2国内研究现状由于我国的步入工业时代比较晚,早期时候,我国的生产

17、力主要以模仿制造为主,故在机器视觉技术上投入比例不大,研究的起步时间比较晚,相比于国外的情况,我国由于受一些历史局限性的影响,在此领域起步较晚,直到20世纪90年代才开始在这个领域投入资金与人力进行研究。而在研究初期,绝大部门研究单位主要集中在一流高校的实验室,其中主要以哈尔滨工业大学为首,后期开始才逐步将技术应用到民营企业。最近几年,我国在此领域小有成就的公司开始慢慢多了起来,例如深圳的慧眼机械公司、东莞的名赛机器人公司等。1.3 本文的主要内容与章节安排本文设计利用树莓派与搭载的摄像头器件,构建基于树莓派的机器视觉开发平台。其主要内容是,对原始图片要进行合理的预处理,否则原始输入的数据量过

18、大会导致树莓派过热死机,也会导致分类的速度过慢。然后在不失真的前提下尽量降低原始数据量,不能因为过度压缩数据而使得图片失真,要在预处理的图片选取具有足够代表性的特征维度,利用决策树算法能准确的分类识别水果种类,最后是重复第二步骤,反复尝试选择不同的特征,最终调整出最优的水果分类算法。本文共六章,各章节安排如下:第一章,绪论。从收集的资料与实际背景出发,结合我国当前针对小户农村的果实分类系统发展现状,从实际需求角度阐述了本次设计的必要性。第二章,系统的总体架构设计。本章主要从完整的系统角度出发,阐述总体的框架设计思路,并自顶向下逐一对各单元内容进行说明。结合理论指标与实际需求,在尽量控制成本的情

19、况下,确定最合适的实现方案。第三章,图像的采集与处理,对水果图像原始数据的预处理。本章根据不同种类的水果,提取不同的关键特征,并对原始图像数据进行降维。第四章,实时分类算法的实现。本章对预处理后的水果图像,输入到预先设定的训练模型,其主要算法是基于决策树改良而来的分类算法,通过调整超参数、优化输出情况,避免过拟合,实现高效的水果实时分类系统。第五章,测试与结果分析。本章对水果分类系统的实时性能与效率性能进行压力测试,数据来源为前期采集的数据,选出一部分原始采样数据作为测试数据,分析其最终实现的结果。第六章,总结与展望。本章本次设计论文的最终章,包含着对本次设计的系统性回顾,是对整个系统设计的一

20、次重新学习,分析欠缺的地方并结合当下前沿科技,提出展望。 2 系统框架设计针对小型农户的在水果加工销售环节中的分类需求,本文设计并实现了基于树莓派的视觉识别分类系统。本章根据所选水果的具体情况,简述系统各模块的实现方法,设计树莓派的程序算法,并选择合适的器件型号,开发所用的辅助工作软件与笔记本系统操作平台,进行实际调配后,完成整个系统开发软件平台的基础搭建。2.1 系统总体设计水果分类系统主要用于将需要分类的水果进行实时的检测识别,先通过前端的数据采集模块获取原始信息,然后依托于优化过的实时分类算法,匹配原始图像信息与水果的实际种类,最终将系统分类完成的结果数据,以有线连接-USB输出到上位机

21、的接收系统,以执行下一步的操作。系统主要分为三个模块,分别是图像采集与预处理模块、算法部分-水果分类识别模块、输出部分-分类结果输出模块。系统的整体设计框架如图2.1所示。图 2.1 系统总体设计架构其中图像采集与预处理模块的工作是利用高清摄像机直接获取原始图片,它们是系统测试用例与训练用例数据的来源,还有包含有图像数据作初步的预处理,通过一些简单的内置成熟的模块算法,初步对图片进行一些处理以降低后续树莓派的硬件运算压力,包括对原始图片进行轮廓检测、对原始图像数据进行降维。目的是减少输入的数据量,降低后端的负载,提升效率。第二部分-分类识别模块,这部分是本系统的核心模块。本文设计准备的分类算法

22、的核心思想是决策树算法,该算法性能稳定,分类效率高,且编写简单,十分适合本次设计。首先我们通过学习决策树的理论知识,然后根据本设计的实际需求,进行改进出适合本次的设计的算法,其主要功能是接受前一模块预处理过的数据2。利用特征工程,分析处理出每类水果的典型特征,并提出特征,最后通过分类算法进行分类,并将分类结果输出。2.2 系统硬件架构系统选用高性能的嵌入式设备树莓派(Raspberry Pi 3)作为数据处理平台,图像采集功能,通过其配套的RASPBERRY PI CAMERA V2 摄像头实现,另外惠普笔记本一台,用于编写程序,调试算法。系统硬件整体架构如图2.2所示。图2.2 系统硬件整体

23、架构示意图2.2.1 树莓派简介本系统使用的微处理器硬件开发平台为树莓派(A3+),其实物如图2.3.所示。截止到2020年,树莓派迭代已经超过四代,目前最新的型号为树莓派4,但是综合成本与需求考虑,本次设计最终选定为树莓派A3+。图2.3 树莓派A3+实物图本次选型的树莓派A3+,是树莓派基金会在2018第四季度发布,其尺寸是标准的树莓派A+尺寸,面积小巧,重量轻便。它继承了3代的双频2.4GHz和5GHz高速无线网络,同时蓝牙固件升级至低功耗的4.2版本,最重要的是,其处理器性有了更进一步的提升,拥有一枚主频为1.4GHz的四核处理器,并且引入焊钳工艺,增强了散热管理能力,相对于上一代,能

24、长时间的稳定在峰值功率,持续输出强大的运算能力,使得我们的实时算法运行更加稳定。其主要性能参数如图2.4所示。图2.4 树莓派性能参数2.2.2摄像头本系统选用的摄像头模块为树莓派的专用摄像头模块(RPC-V2),其实物如图2.4所示。目前摄像头技术已经发展得十分成熟,市面拥有多种性能优越、价格低廉的摄像头,但是不一定与本系统兼容,故综合考量,最终摄像头选型为树莓派的专用摄像头(RPC-V2)。图2.4 树莓派专用摄像头实物图该摄像头的感光元件采用索尼IMX219,支持最高分辨率为,支持最大的捕获帧率为30fps。相比于一代的摄像头,二代主要解决了失焦与延时的问题,新增了自动对焦功能。其具体的

25、性能参数如图2.5所示。图 2.5 摄像头性能参数图2.2.3 笔记本计算机本系统中的实时分类算法,其具体的编写工作主要在计算机平台上完成,其具体性能参数如图2.6所示。图2.6 计算机性能参数图2.3 系统软件平台的构建由于本设计中包含了嵌入式硬件,故系统平台需要在Windos与Linux上做一些交互。针对不同的硬件,需要安装不同的软件系统,以便完成所需的工作。2.3.1 笔记本计算机软件平台需要在笔记本上安装windows系统,以及开发软件Pycharm。它一款商业软件,为了避免使用盗版软件的不良现象出现,我们可使用它的免费社区版,虽然后者功能较于前者功能减少一些,但是核心功能均可正常使用

26、,可以满足本文设计的程序设计部分的需求。软件安装如图2.7所示。图 2.7 Pycharm启动图2.3.2 树莓派软件平台树莓派需要安装专用的系统,其官方系统Raspberry,其安装方法如图2.8所示。图 2.8 树莓派系统安装方法图2.3.3 Open Cv概述Open CV是一个用BSD协议开发源代码的计算机视觉库3,它起初是美国因特尔公司开发,截止到如今已有20多年的历史,在实时分类与图像处理,有着十分广发的用途。现在由美国WG提供主要支持。该库支持多种平台,故本系统的实时分类算法主要也依托于它来完成,其版本分发情况如图2.9所示。图2.9 Opev Cv版本分发图2.4 本章小结针对

27、小农用户对水果分类的实际需求,对应设计了嵌入式水果自动分类系统。本章完成了对整体系统进行了总体框架设计的叙述。包括从硬件选型的理由,出于出于性能和功耗综合考虑,我们选择嵌入式处理器选择树莓派(A3+),摄像头采用树莓派专用摄像头,将它们作为本设计系统的软件运行平台载体。从开发程序的平台软件上,针对不同的设备安装了不同的系统平台,并配置程序的开发编译环境与所需的图像识别库,以完成开发平台的搭建,最后是分类算法,虽然当下深度学习技术非常火热,基于深度学习的图像分类技术也是研究的热点,但是综合本次设计的分类需求与分类算法开发难度,本此设计最终选用较为传统的决策树分类算法,在其基础上改造出本次设计所需

28、的水果分类算法。3 图像的采集与预处理本章选取生活中常见的5种水果作为本设计的研究对象,首先需要采集一定量的样本图片,然后对其进行预处理。为了提取有效的水果图像数据特征与降低分类系统的运算压力,需要把彩色样本图片变成灰度图片,再二值化43.1 水果图像的采集水果图像的采集工作通过树莓派专用摄像头完成。该摄像头的性能参数,例如分辨率、传感器尺寸已在上文介绍。一个分类系统的最终建模好坏程度,不仅和算法本身的逻辑处理方式有关,更重要的是前期的训练数据的质量会直接影响分类器能优化的最后精度。故水果图像的采集是本文中重要的一步。一个好的图像采集需要性能优异的摄像头与合适的环境光装置。环境采光装置是摄像头

29、采集原始图像的前设条件,优秀的采光方案会让最后的训练数据也十分优秀,从而使得分类器的训练过程变得十分顺利。相反若是没有设置环境光装置,直接在没有人为干预的自然光环境下直接拍摄图像,可能会使得部分图像过曝或者失真,更加难以让人处理的是图像中可能存在部分肉眼难以识别的偏色,这会直接影响后续的灰度和二值化处理,尤其是对水果的轮廓处理。好的光源应该满足一下几点,第一是照明的流明度足够,足够的亮度才能保证摄像头的传感器能捕捉到足够的细节,第二是照明的均匀度要有保证,由于本设计的图像都要进行灰度处理,颜色不均会使得灰度化变得模糊不均,第三是照明系统要有良好的散热模组,以主动散热最佳,因为本设计需要拍摄大量

30、的照片,照明系统长时间在满额功率下输出,这会使得照片系统温度非常高,故必须配备散热模组。综合上述条件考虑,本次设计决定选择工业级的LED灯,并通过自己的手工改良在其后面板上装配主动式的风扇模组。本文实验所选择是水果是市场非常常见的5种水果,分别为:苹果、香蕉、草莓、葡萄、西瓜。对其中的每张水果均采样100张,合计500组,将这些水果图像参数组成训练数据集,用于后续的基于决策树的实时水果分类算法的实现与测试。5种水果实物如图3.1所示。图3.1 水果实物图3.2 水果图像的预处理经过树莓派专用摄像头直接拍摄的图片,其原始图片包含的数据量十分巨大,每张图片的体积达到10余兆,且每张图片均为彩色图片

31、,由于本文设计所编写的程序并没有关于颜色分量的处理,所以原始图片中的彩色信息对于本次分类识别的结果是完全没有影响的,但是处理彩色照片会比处理黑白照片消耗更多的处理器资源,对我们的图片数据处理会带来十分巨大的压力。更重要的是本文设计所选用的算法是基于决策树的分类算法,与目前市场上火热的深度学习算法不同,本文选用的算法不存在隐藏的参数模型,无法自动的从图像中提取数据,如果直接输入原始图像到分类系统中是无法顺利完成模型训练的,我们先对图像进行一定的预处理,通过一些前置手段将原本包含许多信息内容的原始图像,变化成只带有明显特征的图像,这样分类算法就可以根据这些特征来时识别水果的种类。另外由于本设计采用

32、的嵌入式处理平台,即使我们换用更加性能优异的算法,但是面对如此庞大的数据,如果直接输入模型训练,会导致训练时间异常久,且机器存在宕机的风险。最后就是图像的采集并不是一个严格的标准化流程,尽管我们额外配置了环境光源,选择了最合适的摄像头传感器,但是仍然无法避免每张图像都是一张合格的图像,如果拍摄的同类水果图像特征差异过大或者不同类的水果的差异特征不足,均导致分类失败。为了避免上述这些异常情况的出现,我们需要对摄像头直接采集的高清原始图片进行一定的降维5本文采用的方法主要是图像灰度化、图像二值化。3.2.1.图像灰度化图像灰度化,即将原本的包含彩色信息的图片转成仅包含亮度信息的图片。该操作的目的是

33、简化原始图像所包含的信息,灰度变换可以主动性的将图像中需要关注的地方进行着重色彩,而对不需要的特征进行抑制,使得经过处理后的图像与人眼看上去的特征关注处对应。我们把这种图像数据的转换过程被称为图像灰度化6色图片经过灰度化后,图像包含的信息会显著压缩,但是原有的特征不会消失,这样既可以不影响后续的分类训练,又可以提高训练效率。本文中对彩色图片进行灰度转换的流程如图3.2所示。图3.2 图像灰度化流程图可以从上述的流程图看到,我们原始摄像机拍摄的图像为彩色图像,也可以成为RGB图像,其红色、绿色、蓝色,三通道的信息数据是完成的,正是红绿蓝这三种原色的组合,才使得我们能看到不用的彩色。灰度化的处理逻

34、辑是,首先对每张相片以左上顶点为原点,建立直角坐标系,然后自上到下,从左到右,依次处理每一个像素点,将原有的红绿蓝三通道的饱和值,分别乘以0.3、0.59、0.11的系数,这实质就是降低了每一层颜色通道的饱和度,从视觉观看的感觉就是,图片失去了颜色变成灰色的一片,故我们将这个变化过程称为灰度化。因为对原始彩色图像直接进行图像处理的时候,计算机程序需要对每一层通道到数据依次处理,这样会到导致系统的运行速度缓慢,而且我们编写的程序没有针对颜色分量的处理程序,所以即使对每一层的通道信息进行了识别也不会对分类的精度有任何提高,只会徒增性能开销且额外增加系统负载,故灰度化图片是本次设计中一个不可缺少的部

35、分,而是后续进行其他处理的必须操作。3.2.2图像二值化图像二值化,即将图像中像素点的灰度值设置成0或者255。经过二值化转变后图像将变得黑白分明,其图像灰度信息只包含亮或不亮两种信息,类似比特信息里的0和1,作此种变换的目的是,更进一步的压缩图像体积,为后续的模型训练作预备,同时经过这种变换后的图像,其特征表现也会增强,便于提高模型的训练效率。针对全彩图像的灰度化处理方法有三种,一是最大数值法、二是通道分量法、三是均通平均法。图像二值化的流程如图3.4所示。图3.3 图像二值化流程图本文灰度化的处理流程如上,首先是设定好灰度阈值,综合本文采集图像的现场光源条件,本次阈值设置为150,然后扫描

36、原始图像的文件夹,将每一张超过阈值的图像进行处理,将其大于150的部分直接上升道255即纯黑,将低于阈值的部分全部置零处理。将所有的采集图片处理完成后再进行二值化处理,最终预处理后图像如图3.4所示。图3.4 灰度图片二值化3.3 本章小结本章主要介绍了图像的采集与预处理,其中图像采集需要做到保证采集的同类图片尽可能做到特征一致,不要产生较大的偏差,需要在合适的环境光照条件下完成图片的采集工作。预处理是为后面分类算法的实现准备的,因为在本次设计所选择硬件不具备处理完整彩色图像的能力,故我们需要提前对原始图像进行预处理,提前抽取出特征便于分类训练。最后我们选取5种常见的水果,通过树莓派的专用摄像

37、头批量采集原始图片,然后对原始图像进行预处理,在经过图像灰度变幻、二值化处理后,构成原始训练集。4 水果实时分类算法的实现本章将经过预处理后的图像,进行简单归并处理,利用滤波算法去除一些噪点数据,便于下一步完成特征提取的工作。对经过预处理后数据再次选取特征,从而得到具有一定区分度的特征数据后,经过数学归一化处理,最终完成分类算法的编写。先在X86平台上模拟测试一些数据,待确定模型算法无异常后,将并移植到linux开发平台-树莓派硬件,最终从而实现水果实时分类算法的实现7其主要流程如图4.1所示。4.1 分类算法实现流程图4.1 水果图像轮廓提取进行预处理后的图像,虽然颜色信息减少了,但是图像整

38、体尺寸仍然很大,故需要图像进行水果轮廓提取,在水果提取之前需要对图像进行去噪处理。在通过摄像头获取图像的过程中,可能由于光线变化或者其他一些不可预知的因素导致图像会带有一些噪点,这些噪点数据会直接影响最后的分类效果,故我们需要提前对这些噪点数据进行预处理。水果轮廓的提取可以分为两个步骤,第一个步骤是水果边缘的提取,第二步骤是在前者的基础上,进行轮廓的切割,提取出有效的黑色区域,去除白色的背景区域,以达到将近一步压缩输入图像信息量的目的。在OpenCV3.1,我们使用cvCanny函数,对图像进行第一步骤的操作,完成边缘切割,再利用cvFindContours函数8,完成第二部分,水果轮廓的提取

39、操作,其水果边缘切割与轮廓提取流程如图4.2所示。图 4.2 水果边缘与轮廓处理流程图对水果轮廓的提取工作,可以分为以下3个步骤,第一是检测出可能得范围,第二是将其数据存入缓存,遍历循环,第三是设定对应的规则。对于所有的数据,均重复着三个步骤,直到所有数据被遍历判断完成,轮廓提取的重点代码如图4.3所示。图4.3 水果轮廓提取重点代码图4.2 水果特征提取图像特征指原属图像数据的一部分具有代表性的数据,其特点是带有明显的个体标识性能,能通过此局部的信息,推测出原有的主体全部图像。图像的特征具有很多,例如颜色、大小、设备拍摄信息、甚至包括地点记录信息,其中常用于图像分类的特征有:尺寸大小、空间形

40、状与色彩信息9。选取越多的分类特征,就使得分类效果更好,但综合本设计考虑,选择过多的分类特征,也会导致处理器运算的负载增大,算法的复杂度升高。本次设计所选取的5种水果,其拍摄地点均为实验室,且使用同一设备拍摄,除了颜色特征有差异外,其形状也具有较大差异,故综合性能与效率考虑,本设计拟选取图像的轮廓面积特征,其具体参数包含面积、周长和曲直度。面积特征面积特征通常指经过一定的处理后图像,其实际包含有效信息的面积区域。在本文设计中主要是图像中实际为水果本身那部分图像,由于我们在前阶段的已经提取出轮廓的基础上,可直接调用CvContourArea获取有效的轮廓面积信息,该函数返回为一个精度16位的浮点

41、数,经过格式化后可以直接输入模型计算。周长特征周长数据为数据预处理阶段获得为上阶段获取的水果轮廓的周长,可直接调用cvarcLength函数获得,该函数同样返回为一个精度16位的浮点数,经过格式化后可以直接输入模型计算。曲直度特征通过下方的公式图可以看出,曲直度主要描述图像与正圆行之间的差距,其计算方法如式4.4所示:式4.4 曲直度计算公式由公式可知,在同等情况下,如果轮廓边缘越趋向圆形,则周长也越短,曲直度C值,趋向1。反之,若轮廓边缘为不规则形状,其曲直度C值也增大。基于此公式,我们用实际曲直度与圆形曲直度1的距离,可刻画曲直度参数。4.3 水果实时分类算法的设计图像的分类算法是当下的热

42、点研究领域,从早期的机器学习分类算法到如今的基于深度学习的三维卷积神经网络(CNN)分类算法10。由于深度学习目前的应用领域为复杂的图像分类领域,其需要的计算性能也极其庞大,需要使用专用的图像计算卡(TPU)实现。而机器学习领域,常用的分类算法有:决策树、遗传算法、K近领算法、支持向量机、朴树贝叶斯等算法。其中决策树算法是一种经典多分类算法,其实现逻辑可以抽象多层条件判断,在程序实现上也比较容易实现,其分类算法的智能程度可能没有基于深度学习的算法高,但是分类精度也满足本次设计的需求,故综合考虑本次设计选择该算法作为基础算法。特别是其基础理论较为清晰,实现步骤简单明了,更适合特征明显的简单图片分

43、类情况。本设计以决策树算法为基础,设计水果的实时分类算法。4.3.1 决策树算法该算法最早产生于上世纪60年代末期,其主要思想利用归纳算法生成一系列可读的规则,然后构建一棵树形结构的分类模型,该模型即为决策树分类模型。生成一棵决策树,需要先将所有原始数据提出具有代表性的特征数据,并将原始数据集按照一定比例划分为训练数据集和测试数据集,为避免出现过拟合的现象,需要多次反复调整参数,直至获得最优模型。图4.5为一棵简单的决策树。图4.5 简单决策树模型4.3.2 基于决策树的水果实时分类算法实现根据本系统实时性的需求,本设计以具有高效分类效果、低算法复杂度的决策树模型为基础,设计水果实时分类算法。

44、算法的主要思想如下:1, 基于本文提取的三个特征参数,面积、周长、曲直度来实现分类需求2, 把每种水果对应的特征参数划分成树形结构3, 逐一调整每一个特征参数的判断阈值,划分结果4, 选取最优参数,依次类推,划分5, 当所有参数均调整最优,完成建模本设计使用WEKA软件完成算法模型的构建,其算法语言用Python实现,数据缓存采用Redis,样本训练集存在MongoDB数据中。其中的每张水果均采样100张,合计500组。其中Instance模块用于样本训练集,模型前期所需的样本训练数据均从此模块抽,Classifier模块是WEKA软件自带的原生分类器,它是一个不带有任何特性的分类器学习框架,

45、类似计算机网站前端开发中的VUE框架,该模块的存在可令我们不需要从头到尾实现算法训练的程序编写,只需要在对应的结构中导入自己核心包就可以完成带有自己定制化的分类器。模型的训练数据读取工作由程序直接调用ArffLoader模块中的特殊方法-getDataSet实现,其中ArffLoader模块本软件的文件加载器。首先将前阶段采集的500组数据,分割成样本训练集与模拟测试集。其中200组用于样本训练,300组用于模拟测试,前者称为Instance。分类算法由Python语言实现,其分类器称为Classifier。数据载入由Redis实现,该结构称为ArffLoader。整体的分类模型构建流程如下图

46、4.6所示。图4.6 分类模型构建图部分水果实时分类代码如图4.7所示,通过该部分代码文件可看出,本次设计所构建的决策树以面积为根节点来划分属性,是本次设计中的核心判据。每次当次读入一个经过处理后的图像,对它按照下文代码部分的规则遍历每一个叶子节点,判断是否符合预设规则。以判据结果为草莓为例,首先进行判据的是面积因素,草莓的面积明显明显小于1,于是进入右节点继续判断,周长也小于30,继续向右游走判定,最后发现区直度小于0.5,则我们可以做出最终判定该水果为草莓,这样一次水果分类决策过程就完成的走完了,剩下的图像判断方法与上述是一致的。图4.7 部分水果实时分类算法代码4.4 本章小结本章结合实际需求出发,从性能功耗、运行效率、算法时间复杂度出发,选取了适合本系统的关键特征。在当下众多的分类算法中,综合本次设计考量,最终决定选取决策树算法作为基础,依托于此设计并实现了水果实时分类算法,并利用大量的训练样本,完成了本算法模型调优工作。5 测试与结果分析本章主要是对调优完成的水果分类算法进行实时测试,前期已使用模拟测试数据集进行测试,结果良好。(模拟测试集为前期采集阶段收集的300组数据),现使用采集模块,实时采集数据,进行测试,根据最终的测试结果,对该系统的实时分类结果简要分析。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com