CN111056183A - 一种基于zynq的实时智能垃圾自分类系统 - Google Patents
一种基于zynq的实时智能垃圾自分类系统 Download PDFInfo
- Publication number
- CN111056183A CN111056183A CN201911199233.8A CN201911199233A CN111056183A CN 111056183 A CN111056183 A CN 111056183A CN 201911199233 A CN201911199233 A CN 201911199233A CN 111056183 A CN111056183 A CN 111056183A
- Authority
- CN
- China
- Prior art keywords
- garbage
- image
- classification
- module
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65F—GATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
- B65F1/00—Refuse receptacles; Accessories therefor
- B65F1/14—Other constructional features; Accessories
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65F—GATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
- B65F1/00—Refuse receptacles; Accessories therefor
- B65F1/0033—Refuse receptacles; Accessories therefor specially adapted for segregated refuse collecting, e.g. receptacles with several compartments; Combination of receptacles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65F—GATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
- B65F2210/00—Equipment of refuse receptacles
- B65F2210/176—Sorting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于ZYNQ的实时智能垃圾自分类系统,该系统包含一个摄像头、两个主板和一个垃圾桶。本发明在第一主板上设置了图像采集模块和图像预处理模块,实现图像的采集和预处理。在第二主板上设置了LeNet‑5卷积神经网络垃圾分类模块和垃圾桶控制信号生成模块,实现垃圾的实时分类。经过测试,本发明提出的智能垃圾自分类系统使用更少的硬件资源和更简单的神经网络实现了93%的准确率。本发明解决了以前设计方案中分类实时性差,功耗高和计算资源占用率大的问题,满足了日常生活垃圾分类应用的实时性、低功耗和低成本的需求,具备很好的实用性。
Description
技术领域
本发明涉及日常生活垃圾自动化、智能化分类的技术领域,具体指一种基于ZYNQ的实时智能垃圾自分类系统。
背景技术
工业革命至今,人类文明的不断进步推动城市化的快速改革,期间人口、科技、工业化等水平均处于快速发展的阶段,随之而来的是严重的环境污染。研究表明,2025年全球范围内每年的固体垃圾将达到22亿吨,垃圾处理的费用将达到3755亿美元。由人类各类生活和生产活动而产生的固体垃圾逐年增加,已经达到威胁环境和人类健康水平的数量。而垃圾的不正当处理也会造成严重的环境污染,进而影响到人类的身体健康。城市固体垃圾的处理是垃圾处理最主要的成分之一,针对于城市固体垃圾,回收已是日常生活中常见且有效的处理方式。
垃圾被认为是被丢弃的资源,对可回收垃圾的分类回收、处理、再利用,以及对不可回收垃圾的分类处理不仅能缓解当前环境污染的问题,还能提升资源的利用率,节省自然资源的消耗。在垃圾处理及二次利用的过程中,分类是最为关键的步骤。按照传统的垃圾分类方法,垃圾可被粗分为可回收垃圾和不可回收垃圾两大类;进一步,垃圾还可根据外观、材料、化学和物理等性质细分为塑料、金属、纸、果皮等多个类别。一般的垃圾分类过程需要设置多个垃圾桶,依靠人们的意识将不同类别的垃圾投入到对应的垃圾桶中。由于该过程极大的依赖于人们的自觉意识和垃圾分类意识,因此传统的垃圾分类无法取得很好的效果。随着物联网、计算机科学以及图像处理等先进技术的出现,通过传感器实时检测垃圾的物理、化学等性质进行垃圾分类或通过图像处理的方法进行垃圾分类均可以提高分类的精度和细度。但前者由于垃圾的种类繁多、属性复杂,需要不同种类的传感器支撑,会大大增加该分类方法的成本;后者则由于图像处理的数据量大,算法复杂,需要高性能、高功耗的计算设备支持,无法满足垃圾分类的实时性和低功耗的要求,此外,由于传统图像处理算法的精度较低,无法对垃圾进行更为精细的分类。
随着计算机处理能力的不断提升,人工智能引来了它的高潮。其中深度学习算法的性能尤为突出。深度学习是一种机器学习形式,使计算机能够从经验中学习,深度神经网络是它的典型代表。深度神经网络例如卷积神经网络CNN,在图像分类、图像处理、计算机视觉等方面有着突出的表现。因此,很多研究者开始研究它在垃圾分类方面的应用,以求通过深度神经网络的自学习能力,学习垃圾图像的特征,从而实现垃圾的高精度、高细度分类,提高垃圾分类的效率和准确率,解决当前人为垃圾分类造成的效率低、效果差的问题,进一步做好垃圾的处理、回收工作。
由于深度神经网络计算复杂,运算量大,蕴含大量的累乘加操作;因此,需要高性能计算设备例如CPU、GPU、TPU等的支持。而CPU由于串行执行的特点运算速度较慢,GPU功耗、成本较高,TPU更是一种高成本的计算核心。因此,上述计算设备虽能运行深度神经网络模型,满足日常生活垃圾分类应用的准确率要求,但无法满足日常生活垃圾分类应用低成本、低功耗和高实时性的要求。
发明内容
本发明的目的是为了克服上述深度神经网络模型在垃圾分类的实际应用场景中高成本、高功耗和低实时性等缺点,提供一种基于ZYNQ的实时智能垃圾自分类系统,该系统解决了现有的基于深度神经网络垃圾智能分类系统无法满足日常生活垃圾实时分类应用的准确率、实时性、低功耗和低成本的要求。
实现本发明目的的具体技术方案是:
一种基于ZYNQ的实时智能垃圾自分类系统,该系统包括摄像头、第一主板、第二主板及垃圾桶,所述摄像头通过通用串行总线连接第一主板,第一主板通过高清多媒体接口连接第二主板,第二主板有线连接垃圾桶;其中:
所述第一主板包括:
一个软件处理系统(Processing System,PS),其内设有一个垃圾图像采集模块和一个视频输出模块,PS控制垃圾图像采集模块经通用串行总线实时获取摄像头采集的垃圾图像,并通过内存读写控制的方式把图像保存至共享内存中;同时,PS通过内存读写控制的方式获取共享内存中预处理完成的图像,经视频输出模块输出给高清多媒体接口,再经高清多媒体接口传输至第二主板;
一个可编程逻辑(Progarmmable Logic,PL),其内设有一个垃圾图像预处理模块,PL与PS之间通过共享内存实现数据共享连接,通过控制/数据总线实现控制连接;其中,垃圾图像预处理模块通过直接内存访问的方式获取共享内存中的垃圾图像,并对垃圾图像进行实时预处理;待预处理完成后把处理后的垃圾图像经直接内存访问重新写回共享内存中;
一个共享内存,用于PL和PS之间的数据共享连接,PS和PL能够同时访问共享内存中的数据,实现PL和PS之间的数据交互;
一个控制/数据总线,用于PL和PS之间的控制连接,PS可通过控制/数据总线控制PL的运行状态;
所述第二主板包括:
一个软件处理系统(Processing System,PS),其内设有一个视频输入模块;PS控制视频输入模块获取经高清多媒体接口传输来的预处理完成的垃圾图像,并通过内存读写控制的方式把图像保存至共享内存中;
一个可编程逻辑(Progarmmable Logic,PL),其内设有一个LeNet-5卷积神经网络垃圾分类模块及一个垃圾桶控制信号生成模块;PL与PS之间通过共享内存实现数据共享连接,通过控制/数据总线实现控制连接;LeNet-5卷积神经网络垃圾分类模块通过直接内存访问的方式从共享内存中读取预处理后的垃圾图像,随后进行LeNet-5卷积神经网络垃圾分类;待垃圾分类完成后,PS通过控制/数据总线获取LeNet-5卷积神经网络垃圾分类模块的垃圾分类结果,并通过控制/数据总线控制垃圾桶控制信号生成模块产生对应的角度控制信号,经有线方式将该角度控制信号传输给垃圾桶,控制垃圾桶旋转对应的角度,即旋转至对应的垃圾投放区域,把垃圾投放到该区域,实现实时智能垃圾分类;
一个共享内存,用于PL和PS之间的数据共享连接,PS和PL能够同时访问共享内存中的数据,实现PL和PS之间的数据交互;
一个控制/数据总线,用于PL和PS之间的控制连接,PS通过控制/数据总线控制PL的运行状态。
所述垃圾图像预处理模块完成:
(1)去除垃圾图像背景,提取前景图像;
(2)提取前景图像的纹理图像;
(3)调整纹理图像为1通道,宽和高均为32个像素点的灰度图像;其中:
所述去除垃圾图像背景,提取前景图像使用背景差分方法,具体过程为:把获取的第一帧图像做为背景图像,后续获取的图像做为垃圾源图像,使用垃圾源图像减去背景图像得到前景图像。
所述提取前景图像的纹理图像,使用图像边缘检测的Sobel算子,通过Sobel算子分别提取垃圾前景图像在水平和垂直方向的梯度,然后将两个方向的梯度融合;融合过程采用线性融合方式,融合公式如下:
image=0.5×gradient_h+0.5×gradient_w+offset
其中image表示融合后的垃圾纹理图像;gradient_h表示垂直方向的梯度;gradient_w表示水平方向的梯度;offset表示偏置。
所述调整纹理图像为1通道,宽和高均为32个像素点的灰度图像,具体过程为:首先对纹理图像进行图像通道分离操作,将垃圾纹理图像分离为R、G、B三个通道,随后再将三个通道的图像以线性的方式融合为单通道灰度图,融合公式如下:
其中gray_image表示线性融合后的单通道灰度图,r_channel表示垃圾纹理源图像的R通道图像,g_channel表示垃圾纹理源图像的G通道图像,b_channel表示垃圾纹理源图像的B通道图像;
对融合产生的单通道灰度图进行尺寸缩放操作,将其缩小为宽和高均为32个像素点的单通道灰度图。
所述LeNet-5卷积神经网络垃圾分类模块为一个7层的卷积神经网络模型,该模型包含2个卷积层、2个池化层和3个全连接层;采用高级综合工具将LeNet-5卷积神经网络模型各层之间的计算设计成流水线处理模式;其次,采用高级综合工具将该模型的卷积、池化和全连接层计算设计成6级循环展并行处理模式;对于该模型同一层中的每个神经元,其计算过程,也采用高级综合工具设计成6级循环展开并行处理模式;最后,采用高级综合工具将该模型同一层中不同神经元的计算设计成9级流水线处理模式;该模型中同一层的每个神经元,其计算公式如下:
f((∑w·x)+b)
其中f表示神经元计算中的激活函数,w表示神经元计算中的权重,x表示神经元计算中输入的图像像素点数据,b表示神经元计算中的偏置。
本发明利用垃圾图像预处理模块预处理后的垃圾纹理图像进行LeNet-5卷积神经网络垃圾分类,同时利用高级综合工具对垃圾图像预处理模块和LeNet-5卷积神经网络垃圾分类模块的计算复杂部分进行了实时硬件加速,将垃圾图像预处理模块和LeNet-5卷积神经网络垃圾分类模块设计成了硬件处理模块,利用FPGA高流水线和高并行的处理能力加快了垃圾图像预处理模块和LeNet-5卷积神经网络垃圾分类模块在嵌入式设备上的处理速度,满足了日常生活垃圾实时分类系统的准确率、实时性、低功耗和低成本的需求。因此,本发明可以被认为是一种新型的针对日常生活垃圾分类应用的实时智能垃圾自分类系统,具备很强的实用性。
本发明公开的一种基于ZYNQ的实时智能垃圾自分类系统具备93%的垃圾分类准确率,一秒钟处理36.443张垃圾图像的处理速度以及3.873瓦的系统功耗;其中,处理速度是传统CPU的21.709倍,功耗是传统CPU的1/17;解决了现有的基于深度神经网络垃圾智能分类系统无法满足日常生活垃圾实时分类应用的准确率、实时性、低功耗和低成本的要求。
附图说明
图1为本发明系统框图;
图2为本发明实施例的系统框图;
图3为本发明实施例的第一主板的处理流程框图;
图4为本发明实施例的第二主板的处理流程框图;
图5为本发明实施例的LeNet-5卷积神经网络模型框图;
图6为本发明垃圾图像数据集TrashNet的训练集部分图片。
具体实施方式
下面结合附图及实施例对本发明进行详细描述。
实施例
本实施例包括以下具体过程:
参阅2所示,本实施例的第一主板采用搭载ZYNQ(ARM+FPGA)异构处理器的AX7010开发板,它由软件处理系统(Processing System,PS)和可编程逻辑(Progarmmable Logic,PL)两部分组成。其中PS对应ARM嵌入式处理器,其内设有一个垃圾图像采集模块和一个视频输出模块(HDMI输出);PL对应现场可编程逻辑门阵列(FPGA),其内设有一个垃圾图像预处理模块。位于PS中的垃圾图像采集模块,通过通用串行总线视频设备驱动(UVC驱动)实时获取USB摄像头采集的垃圾图像,并通过内存读写控制的方式把图像数据保存至DDR3共享内存中,随后位于PL中的垃圾图像预处理模块通过直接内存访问(VDMA)的方式获取DDR3共享内存中的垃圾图像,对垃圾图像进行实时预处理,包括垃圾图像前景提取、垃圾前景图像纹理提取和垃圾纹理图像尺寸转换等步骤,最后把处理后的垃圾图像经VDMA重新写回DDR3共享内存中。PS通过内存读写控制的方式获取DDR3共享内存中预处理好的垃圾图像,并经视频输出模块(HDMI输出)输出至高清多媒体接口HDMI,再经HDMI传输给部署在PYNQ开发板的第二主板。其中,AX7010开发板的PS和PL通过DDR3共享内存实现数据共享连接,通过控制/数据总线(AXI4Lite/AXI4)实现控制连接。此外,在AX7010开发板的软件处理系统(Processing System,PS)ARM中,部署了简化版的Linux操作系统,基于操作系统编写了QT应用程序,QT应用程序控制垃圾图像采集模块使用UVC驱动获取USB摄像头采集的垃圾图像并使用内存读写控制的方式将获取的垃圾图像保存至DDR3共享内存中,同时从DDR3共享内存中获取由垃圾图像预处理模块预处理后的垃圾图像,并通过视频输出模块(HDMI输出)经高清多媒体接口HDMI将其传输至部署在PYNQ开发板的第二主板。位于PS的QT应用程序可通过控制/数据总线(AXI4Lite/AXI4)协议完成对垃圾图像预处理模块的数据流控制及调度。
部署在AX7010开发板上的第一主板,其处理流程如图3所示。位于AX7010开发板软件处理系统(Processing System,PS)ARM中的垃圾图像采集模块控制USB摄像头获取垃圾图像后将图像保存至DDR3共享内存中,直接内存访问(VDMA)自主地把图像数据传输至位于AX7010开发板可编程逻辑(Progarmmable Logic,PL)FPGA中的垃圾图像预处理模块。在垃圾图像预处理模块中主要完成了三个功能,首先是去除垃圾图像的背景,提取前景;其次提取垃圾前景图像的纹理;最后将垃圾纹理图像调整为1通道,宽和高均为32个像素点的灰度图。再由VDMA自主地把纹理图像保存至DDR3共享内存中,此时AX7010开发板的PS控制视频输出模块(HDMI输出)经高清多媒体接口HDMI将预处理好的垃圾图像传输给部署在PYNQ开发板上的第二主板。
位于AX7010开发板PL部分的垃圾图像预处理模块的处理流程,使用赛灵思的高级综合工具Vivado HLS设计成了流水线处理的模式,这样可以获得更高的处理速度、效率和数据吞吐量。由于FPGA不擅长浮点数的运算,为了获得更高的处理速度,还将图像数据转换成了8位的无符号整型数据,并在垃圾图像预处理模块中以数据流的形式进行传输。
最后,使用赛灵思的高级综合工具Vivado HLS设计实现了AX7010开发板PL部分的垃圾图像预处理模块。Vivado HLS可以将C/C++等高级语言编写的代码综合成硬件电路,从而实现硬件对软件处理过程的实时加速。首先使用C/C++编写垃圾图像前景提取、垃圾前景图像纹理提取和垃圾纹理图像格式转换等三个垃圾图像预处理过程的软件代码,随后使用Vivado HLS工具将软件代码综合成AX7010开发板PL(FPGA)可运行的寄存器描述级(RTL)硬件电路,最后封装成一个垃圾图像预处理硬件模块,该硬件模块的硬件资源消耗如表1所示。其中AX7010开发板搭载的ZYNQ处理器型号是Xilinx Zynq-7000 XC7Z010T-1CLG400异构处理器。
表1垃圾图像预处理硬件模块的硬件资源消耗
名称 | BRAM | DSP | FF | LUT |
消耗 | 36 | 66 | 6589 | 15679 |
总量 | 120 | 80 | 35200 | 17600 |
使用率 | 30% | 82% | 18% | 89% |
其中,垃圾图像预处理模块的处理流程包含以下具体步骤:
步骤1:垃圾图像前景提取使用背景差分的方法去实现,将USB摄像头获取的第一帧图像做为背景图像,后续获取的图像做为垃圾源图像,使用垃圾源图像减去背景图像得到前景图像。因为在智能垃圾自分类系统的运行过程中,通过实时抓取人们投放的垃圾图像来进行分类,而垃圾的投放区域是系统的固定区域,故背景是唯一的,可以很容易通过背景差分的方法法去除背景信息提取垃圾的前景信息。此外,提取垃圾图像前景信息的目的一是为了减少图像的数据量,加速系统的处理速度;二是为了排除背景对图像处理及后期分类的影响,提高准确率。
步骤2:垃圾前景图像纹理提取,为了进一步降低垃圾图像的复杂度,提升处理速度,对垃圾前景图像进行了纹理提取。该过程使用了Opencv库中的Sobel图像边缘检测算子,通过Sobel算子分别提取垃圾图像在水平和垂直方向的梯度,然后将两个方向的梯度进行融合。融合方式使用线性融合的方式,融合公式如下所示。
image=0.5×gradient_h+0.5×gradient_w+offset
其中image表示融合后的图片,gradient_h表示垂直方向的梯度,gradient_w表示水平方向的梯度,offset表示偏置。
步骤3:垃圾纹理图像格式转换,将步骤2中提取的垃圾纹理图像转换成1*32*32的灰度图像。首先对垃圾纹理图像进行图像通道分离操作,将垃圾纹理图像分离为R、G、B三个通道,随后再将三个通道的图像以线性的方式融合为单通道灰度图,融合公式如下所示。最后对融合产生的单通道灰度图进行尺寸缩放操作,将其缩小为宽和高均为32个像素点的单通道灰度图,供后期卷积神经网络垃圾分类模块分类使用。
其中gray_image表示线性融合后的单通道垃圾纹理灰度图像,r_channel表示垃圾纹理源图像的R通道图像,g_channel表示垃圾纹理源图像的G通道图像,b_channel表示垃圾纹理源图像的B通道图像。
这样做有两个好处,一是能减少垃圾纹理图像的数据量,降低第一主板AX7010开发板到第二主板PYNQ开发板的HDMI高清多媒体接口传输延迟;二是能匹配LeNet-5卷积神经网络垃圾分类模块的数据格式,LeNet-5卷积神经网络垃圾分类模块接收到垃圾纹理图像后无需进行数据格式转换即可进行LeNet-5卷积神经网络垃圾分类处理,这样避免了因格式转换带来的时间消耗。
最后,使用赛灵思的Vivado开发工具基于AX7010开发板搭建了第一主板的硬件处理系统。
如图2所示,本实施例的第二主板采用搭载ZYNQ(ARM+FPGA)异构处理器的PYNQ开发板,它也由软件处理系统(Processing System,PS)和可编程逻辑(Progarmmable Logic,PL))两部分组成。其中,PS对应ARM嵌入式处理器,其内设有一个视频输入模块(HDMI输入);PL对应现场可编程逻辑门阵列(FPGA),其内设有一个LeNet-5卷积神经网络垃圾分类模块和一个垃圾桶控制信号生成模块。PYNQ开发板的PS和PL通过DDR3共享内存实现数据共享连接,通过控制/数据总线(AXI4Lite/AXI4)实现控制连接。PS通过视频输入模块(HDMI输入)获取经高清多媒体接口HDMI传输过来的预处理好的垃圾图像,并通过内存读写控制的方式把图像保存至DDR3共享内存中。此时,LeNet-5卷积神经网络垃圾分类模块经直接内存访问(VDMA)从DDR3共享内存中读取垃圾图像数据,随后进行LeNet-5卷积神经网络垃圾分类处理,并把分类处理结果即垃圾分类结果经控制/数据总线(AXI4Lite/AXI4)传输给PYNQ开发板的软件处理系统(Processing System,PS)ARM。最后,PYNQ开发板的PS利用控制/数据总线(AXI4Lite/AXI4)根据垃圾分类处理结果控制垃圾桶控制信号生成模块产生相应的角度控制信号,控制垃圾桶旋转相应的角度,即旋转至对应的垃圾投放区域,然后把垃圾投放到该区域,实现自动化、智能化的垃圾实时分类。在PYNQ的软件处理系统(ProcessingSystem,PS)ARM中也安装了简化版的Linux操作系统,并基于操作系统编写了Python应用程序。Python应用程序可通过控制/数据总线(AXI4Lite/AXI4)对LeNet-5卷积神经网络垃圾分类模块的数据流进行控制和调度,控制垃圾桶控制信号生成模块产生相应的角度控制信号。
部署在PYNQ开发板上的第二主板,其处理流程如图4所示。来自第一主板AX7010开发板的垃圾纹理图像进经高清多媒体接口HDMI传输至DDR3共享内存,直接内存访问(VDMA)主动地把DDR3共享内存中的垃圾纹理图像传输至LeNet-5卷积神经网络垃圾分类模块,经LeNet-5卷积神经网络垃圾分类模块垃圾分类处理后产生一个3位的无符号整型数据以表示分类结果。在此选用3位定制型的无符号整型数据表示分类结果是因为本发明公开的智能垃圾自分类系统将垃圾分为了5类,只需要3比特位宽的整型数据即可表示所有分类结果,这样可减少数据的位宽,减少硬件资源的消耗,把硬件资源留给处理流程的核心部分—LeNet-5卷积神经网络垃圾分类处理。最后,LeNet-5卷积神经网络垃圾分类模块将产生的垃圾分类结果保存至寄存器中,并经控制/数据总线(AXI4Lite/AXI4)传输至PYNQ开发板PS中的Python应用程序,Python应用程序利用传输过来的垃圾分类结果经控制/数据总线(AXI4Lite/AXI4)控制垃圾桶控制信号生成模块产生相应的垃圾桶控制信号,控制垃圾桶实现智能化、自动化的实时垃圾分类。
其中LeNet-5卷积神经网络垃圾分类模块中的LeNet-5卷积神经网络模型,采用的是如图5所示的神经网络架构。正如图中所示,使用的是一个7层的卷积神经网络模型—LeNet-5,它包含2层卷积层,2层池化层和3层全连接层。其中2层卷积层和2层池化层本发明称之为特征提取1、特征提取2,表示对垃圾纹理图像的特征提取。同时,还改写了改LeNet-5卷积神经网络的输出层和池化方式,把输出层的神经元数量由原本的10个改为了5个;池化方式由原来的平均池化改为了最大值池化。
关于LeNet-5卷积神经网络垃圾分类模块在PYNQ开发板PL(FPGA)中的实现过程主要包含如下步骤:
步骤1:LeNet-5卷积神经网络垃圾分类模块的实时硬件加速。由于LeNet-5卷积神经网络垃圾分类模块中所使用的LeNet-5卷积神经网络模型的计算过程复杂,包含大量的累乘积操作,特别是卷积、池化和全连接操作会消耗大量的计算资源。这对于用来进行实时垃圾分类的智能嵌入式系统来说是很不利的。鉴于此,使用赛灵思的高级综合工具VivadoHLS将LeNet-5卷积神经网络模型设计成了FPGA硬件处理模块,利用FPGA高流水线和高并行化的处理能力实现对LeNet-5卷积神经网络模型的实时硬件加速。其具体实现过程如下:
(1)在LeNet-5卷积神经网络模型的层与层之间采用了流水线的处理模式。垃圾纹理图像数据在LeNet-5的各层之间以数据流的形式进行传输,这可以降低因数据等待而产生的延迟,提升整个LeNet-5模型的处理速度和数据吞吐量。
(2)通过分析LeNet-5卷积神经网络模型的处理流程发现卷积层的卷积操作、池化层的池化操作和全连接层的全连接操作是一种多层循环嵌套的计算形式,不存在数据依赖关系,具有很好的并行性。如采用串行处理的方式进行卷积和池化计算则延迟会大大增加,因此在LeNet-5卷积神经网络模型不同层的卷积、池化和全连接部分采用了循环展开(LoopUnrolling)的并行处理模式。关于循环展开的程度,在PYNQ开发板的PL(FPGA)硬件资源约束下,使用了6级循环扩展来实现最大加速。与此同时,LeNet-5卷积神经网络模型同一层各个神经元的处理是相互独立的;因为在单个神经元所需要上一层的输入值中,上一层的各个神经元对于该神经元而言都有一个独立的权重w、偏置b和图像像素点数据x;故对于同一层的各个神经元来说,其计算也存在很好的并行性,因此也采用了循环展开(LoopUnrolling)的并行处理模式对每一层的神经元处理进行了设计。最后,利用9级流水线的处理模式设计了LeNet-5卷积神经网络模型同一层中每个神经元的处理,提升了系统整体的数据吞吐量。其中,LeNet-5卷积神经网络模型同一层的各个神经元,其计算公式如下:
f((∑w·x)+b)
其中f表示神经元计算中的激活函数,w表示神经元计算中的权重,x表示神经元计算中输入的图像像素点数据,b表示神经元计算中的偏置。
步骤2:使用赛灵思的高级综合工具Vivado HLS设计PYNQ开发板PL部分的LeNet-5卷积神经网络垃圾分类模块。首先使用C/C++编写LeNet-5卷积神经网络模型的软件代码,随后将LeNet-5卷积神经网络模型的处理过程设计成步骤1中所述的流水线处理模式和循环展开并行处理模式,最后使用VivadoHLS工具将软件代码综合成PYNQ开发板PL(FPGA)可运行的寄存器描述级(RTL)硬件电路,并封装成一个硬件模块。该硬件模块的硬件资源消耗如表2所示。其中PYNQ开发板搭载的ZYNQ处理器型号是Xilinx Zynq-7000XC7Z020T-1CLG400异构处理器。
表2 LeNet-5卷积神经网络模型硬件模块的硬件资源消耗
名称 | BRAM | DSP | FF | LUT |
消耗 | 218 | 30 | 19580 | 48157 |
总量 | 280 | 220 | 106400 | 53200 |
使用率 | 77% | 13% | 18% | 90% |
最后,使用赛灵思的Vivado开发工具基于PYNQ开发板搭建了第二主板的硬件处理系统。
实施效果
本发明的目的是为了解决传统的基于深度神经网络的垃圾分类方法无法满足日常生活垃圾分类应用的实时性、低功耗和低成本的要求,而公开的一种基于ZYNQ的实时智能垃圾自分类系统。
针对本发明公开的一种基于ZYNQ的实时智能垃圾自分类系统,进行了相关实验,并对实验结果进行了分析。其中第一主板的硬件处理系统使用了型号为Xilinx Zynq-7000XC7Z010T-1CLG400的ARM+FPGA异构处理器,在搭载此芯片的黑金AX7010开发板上部署了本发明的第一主板硬件处理系统。而第二主板的硬件处理系统使用了型号为XilinxZynq-7000 XC7Z020T-1CLG400的ARM+FPGA异构处理器,在搭载此芯片的PYNQ开发板上部署了本发明的第二主板硬件处理系统。
实验测试了所公开的一种基于ZYNQ的实时智能垃圾自分类系统在公开垃圾图像数据集TrashNet上的处理速度、硬件资源消耗和准确率,其中处理速度和准确率的实验结果如表3所示,整个系统FPGA硬件资源消耗的实验结果如表4所示。其中,公开垃圾数据集TrashNet的训练集有5个类别的垃圾图像,分别是纸板(cardboard)403张、玻璃(glass)501张、金属(metal)410张、纸(paper)594张以及塑料(plastic)482张,共2390张;而测试集有137张图片,部分训练集图片如图6所示。在测试前,首先对图像的格式进行了转换,转换为3*1280*720的RGB图像;随后将转换后的测试集垃圾图像输入部署在AX7010开发板上的第一主板硬件处理系统,由第一主板硬件处理系统的运行作为整个系统运行的第一步,随后进行实验的测试过程。
表3基于ZYNQ的实时智能垃圾自分类系统(本发明)的性能测试结果
设备 | 基于ZYNQ的实时智能垃圾自分类系统(本发明) |
速度/ms | 27.440 |
准确率 | 93% |
表4基于ZYNQ的实时智能垃圾自分类系统(本发明)的硬件资源消耗
名称 | BRAM | DSP | FF | LUT |
消耗 | 254 | 96 | 2616 9 | 6383 6 |
总量 | 400 | 300 | 14160 0 | 7080 0 |
使用率 | 63.5% | 32.0% | 18.5% | 90.2% |
由实验结果可得,本发明公开的一种基于ZYNQ的实时智能垃圾自分类系统在公开垃圾图像数据集TrashNet上具备93%的垃圾分类准确率和36.443fps的垃圾分类速度。此外,由于本发明采用了异构处理器的设计方案,相比于现有基于CPU或普通嵌入式处理器(如ARM)设计的卷积神经网络智能垃圾分类系统,具备更低的硬件资源(计算资源)消耗。故本发明公开的一种基于ZYNQ的实时智能垃圾自分类系统能更好地满足日常生活垃圾实时分类系统的准确率、实时性、低功耗和低成本的需求。解决了传统基于深度神经网络的智能垃圾分类系统无法满足日常生活垃圾分类应用准确率、实时性、低功耗和低成本等要求的问题。拓展了人工智能(卷积神经网络)技术在嵌入式领域的应用范围。
Claims (6)
1.一种基于ZYNQ的实时智能垃圾自分类系统,其特征在于,该系统包括摄像头、第一主板、第二主板及垃圾桶,所述摄像头通过通用串行总线连接第一主板,第一主板通过高清多媒体接口连接第二主板,第二主板有线连接垃圾桶;其中:
所述第一主板包括:
一个软件处理系统即PS,其内设有一个垃圾图像采集模块和一个视频输出模块,PS控制垃圾图像采集模块经通用串行总线实时获取摄像头采集的垃圾图像,并通过内存读写控制的方式把图像保存至共享内存中;同时,PS通过内存读写控制的方式获取共享内存中预处理完成的图像,经视频输出模块输出给高清多媒体接口,再经高清多媒体接口传输至第二主板;
一个可编程逻辑即PL,其内设有一个垃圾图像预处理模块,PL与PS之间通过共享内存实现数据共享连接,通过控制/数据总线实现控制连接;其中,垃圾图像预处理模块通过直接内存访问的方式获取共享内存中的垃圾图像,并对垃圾图像进行实时预处理;待预处理完成后把处理后的垃圾图像经直接内存访问重新写回共享内存中;
一个共享内存,用于PL和PS之间的数据共享连接,PS和PL能够同时访问共享内存中的数据,实现PL和PS之间的数据交互;
一个控制/数据总线,用于PL和PS之间的控制连接,PS可通过控制/数据总线控制PL的运行状态;
所述第二主板包括:
一个软件处理系统即PS,其内设有一个视频输入模块;PS控制视频输入模块获取经高清多媒体接口传输来的预处理完成的垃圾图像,并通过内存读写控制的方式把图像保存至共享内存中;
一个可编程逻辑即PL,其内设有一个LeNet-5卷积神经网络垃圾分类模块及一个垃圾桶控制信号生成模块;PL与PS之间通过共享内存实现数据共享连接,通过控制/数据总线实现控制连接;LeNet-5卷积神经网络垃圾分类模块通过直接内存访问的方式从共享内存中读取预处理后的垃圾图像,随后进行LeNet-5卷积神经网络垃圾分类;待垃圾分类完成后,PS通过控制/数据总线获取LeNet-5卷积神经网络垃圾分类模块的垃圾分类结果,并通过控制/数据总线控制垃圾桶控制信号生成模块产生对应的角度控制信号,经有线方式将该角度控制信号传输给垃圾桶,控制垃圾桶旋转对应的角度,即旋转至对应的垃圾投放区域,把垃圾投放到该区域,实现实时智能垃圾分类;
一个共享内存,用于PL和PS之间的数据共享连接,PS和PL能够同时访问共享内存中的数据,实现PL和PS之间的数据交互;
一个控制/数据总线,用于PL和PS之间的控制连接,PS通过控制/数据总线控制PL的运行状态。
2.根据权利要求1所述的基于ZYNQ的实时智能垃圾自分类系统,其特征在于,所述垃圾图像预处理模块完成:
(1)去除垃圾图像背景,提取前景图像;
(2)提取前景图像的纹理图像;
(3)调整纹理图像为1通道,宽和高均为32个像素点的灰度图像。
3.根据权利要求1所述的基于ZYNQ的实时智能垃圾自分类系统,其特征在于,所述LeNet-5卷积神经网络垃圾分类模块为一个7层的卷积神经网络模型,该模型包含2个卷积层、2个池化层和3个全连接层;采用高级综合工具将LeNet-5卷积神经网络模型各层之间的计算设计成流水线处理模式;其次,采用高级综合工具将该模型的卷积、池化和全连接层计算设计成6级循环展开并行处理模式;对于该模型同一层中的每个神经元,其计算过程,也采用高级综合工具设计成6级循环展开并行处理模式;最后,采用高级综合工具将该模型同一层中不同神经元的计算设计成9级流水线处理模式;该模型中同一层的每个神经元,其计算公式如下:
f((∑w·x)+b)
其中f表示神经元计算中的激活函数,w表示神经元计算中的权重,x表示神经元计算中输入的图像像素点数据,b表示神经元计算中的偏置。
4.根据权利要求2所述的基于ZYNQ的实时智能垃圾自分类系统,其特征在于,所述去除垃圾图像背景,提取前景图像使用背景差分方法,具体过程为:把获取的第一帧图像做为背景图像,后续获取的图像做为垃圾源图像,使用垃圾源图像减去背景图像得到前景图像。
5.根据权利要求2所述的基于ZYNQ的实时智能垃圾自分类系统,其特征在于,所述提取前景图像的纹理图像,使用图像边缘检测的Sobel算子,通过Sobel算子分别提取垃圾前景图像在水平和垂直方向的梯度,然后将两个方向的梯度融合;融合过程采用线性融合方式,融合公式如下:
image=0.5×gradient_h+0.5×gradient_w+offset
其中image表示融合后的垃圾纹理图像;gradient_h表示垂直方向的梯度;gradient_w表示水平方向的梯度;offset表示偏置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199233.8A CN111056183B (zh) | 2019-11-29 | 2019-11-29 | 一种基于zynq的实时智能垃圾自分类系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199233.8A CN111056183B (zh) | 2019-11-29 | 2019-11-29 | 一种基于zynq的实时智能垃圾自分类系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111056183A true CN111056183A (zh) | 2020-04-24 |
CN111056183B CN111056183B (zh) | 2021-10-15 |
Family
ID=70299253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199233.8A Active CN111056183B (zh) | 2019-11-29 | 2019-11-29 | 一种基于zynq的实时智能垃圾自分类系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111056183B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639677A (zh) * | 2020-05-07 | 2020-09-08 | 齐齐哈尔大学 | 一种基于多分路通道扩容网络的垃圾图像分类方法 |
CN112241679A (zh) * | 2020-09-14 | 2021-01-19 | 浙江理工大学 | 一种垃圾自动分类的方法 |
CN112905450A (zh) * | 2021-01-31 | 2021-06-04 | 吴赛 | 基于模板变量替换的芯片寄存器自动开发系统 |
CN113731832A (zh) * | 2021-11-04 | 2021-12-03 | 南京信息工程大学 | 一种用于垃圾转运站的垃圾分拣处理方法和系统 |
CN115583448A (zh) * | 2022-10-17 | 2023-01-10 | 中国人民解放军海军工程大学 | 一种智能垃圾投放管理一体化平台及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657281A (zh) * | 2017-09-28 | 2018-02-02 | 辽宁工程技术大学 | 一种基于改进的卷积神经网络的图像识别方法 |
CN108182455A (zh) * | 2018-01-18 | 2018-06-19 | 齐鲁工业大学 | 一种垃圾图像智能分类的方法、装置及智能垃圾桶 |
US20180286250A1 (en) * | 2017-03-29 | 2018-10-04 | Panasonic Intellectual Property Management Co., Ltd. | Autonomous resort sanitation |
CN109034025A (zh) * | 2018-07-16 | 2018-12-18 | 东南大学 | 一种基于zynq的人脸关键点检测系统 |
CN109389161A (zh) * | 2018-09-28 | 2019-02-26 | 广州大学 | 基于深度学习的垃圾识别进化学习方法、装置、系统及介质 |
CN208922294U (zh) * | 2018-09-26 | 2019-05-31 | 苏州米特希赛尔人工智能有限公司 | Fpga实现的特征提取图像传感器 |
CN110084228A (zh) * | 2019-06-25 | 2019-08-02 | 江苏德劭信息科技有限公司 | 一种基于双流卷积神经网络的危险行为自动识别方法 |
-
2019
- 2019-11-29 CN CN201911199233.8A patent/CN111056183B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180286250A1 (en) * | 2017-03-29 | 2018-10-04 | Panasonic Intellectual Property Management Co., Ltd. | Autonomous resort sanitation |
CN107657281A (zh) * | 2017-09-28 | 2018-02-02 | 辽宁工程技术大学 | 一种基于改进的卷积神经网络的图像识别方法 |
CN108182455A (zh) * | 2018-01-18 | 2018-06-19 | 齐鲁工业大学 | 一种垃圾图像智能分类的方法、装置及智能垃圾桶 |
CN109034025A (zh) * | 2018-07-16 | 2018-12-18 | 东南大学 | 一种基于zynq的人脸关键点检测系统 |
CN208922294U (zh) * | 2018-09-26 | 2019-05-31 | 苏州米特希赛尔人工智能有限公司 | Fpga实现的特征提取图像传感器 |
CN109389161A (zh) * | 2018-09-28 | 2019-02-26 | 广州大学 | 基于深度学习的垃圾识别进化学习方法、装置、系统及介质 |
CN110084228A (zh) * | 2019-06-25 | 2019-08-02 | 江苏德劭信息科技有限公司 | 一种基于双流卷积神经网络的危险行为自动识别方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639677A (zh) * | 2020-05-07 | 2020-09-08 | 齐齐哈尔大学 | 一种基于多分路通道扩容网络的垃圾图像分类方法 |
CN111639677B (zh) * | 2020-05-07 | 2022-09-02 | 齐齐哈尔大学 | 一种基于多分路通道扩容网络的垃圾图像分类方法 |
CN112241679A (zh) * | 2020-09-14 | 2021-01-19 | 浙江理工大学 | 一种垃圾自动分类的方法 |
CN112241679B (zh) * | 2020-09-14 | 2024-02-20 | 浙江理工大学 | 一种垃圾自动分类的方法 |
CN112905450A (zh) * | 2021-01-31 | 2021-06-04 | 吴赛 | 基于模板变量替换的芯片寄存器自动开发系统 |
CN112905450B (zh) * | 2021-01-31 | 2023-11-03 | 吴赛 | 基于模板变量替换的芯片寄存器自动开发系统 |
CN113731832A (zh) * | 2021-11-04 | 2021-12-03 | 南京信息工程大学 | 一种用于垃圾转运站的垃圾分拣处理方法和系统 |
CN113731832B (zh) * | 2021-11-04 | 2022-02-15 | 南京信息工程大学 | 一种用于垃圾转运站的垃圾分拣处理方法和系统 |
CN115583448A (zh) * | 2022-10-17 | 2023-01-10 | 中国人民解放军海军工程大学 | 一种智能垃圾投放管理一体化平台及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111056183B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111056183B (zh) | 一种基于zynq的实时智能垃圾自分类系统 | |
Dundar et al. | Embedded streaming deep neural networks accelerator with applications | |
CN111210443A (zh) | 基于嵌入平衡的可变形卷积混合任务级联语义分割方法 | |
Park et al. | A 646GOPS/W multi-classifier many-core processor with cortex-like architecture for super-resolution recognition | |
Luo et al. | A hardware-efficient recognition accelerator using Haar-like feature and SVM classifier | |
Ning et al. | Very fast semantic image segmentation using hierarchical dilation and feature refining | |
CN110852199A (zh) | 一种基于双帧编码解码模型的前景提取方法 | |
Linares-Barranco et al. | Dynamic vision sensor integration on fpga-based cnn accelerators for high-speed visual classification | |
Yuan et al. | A lightweight network for smoke semantic segmentation | |
Wang et al. | Real-time block-based embedded CNN for gesture classification on an FPGA | |
US20190325250A1 (en) | Reconfigurable 3D Pixel-Parallel Neuromorphic Architecture for Smart Image Sensor | |
Dong et al. | GEBNet: Graph-enhancement branch network for RGB-T scene parsing | |
Sabater et al. | Event Transformer+. A multi-purpose solution for efficient event data processing | |
Chua et al. | Visual IoT: ultra-low-power processing architectures and implications | |
Zhao et al. | Overview of image segmentation and its application on free space detection | |
Schneider et al. | Waste object classification with AI on the edge accelerators | |
Yang et al. | Research and Implementation of Embedded Real-time Target Detection Algorithm Based on Deep Learning | |
Harish et al. | Real-Time Semantic Edge Segmentation Using Modified Channelwise Feature Pyramid | |
Jin et al. | An FPGA-based parallel hardware architecture for real-time face detection using a face certainty map | |
Zhang et al. | A lightweight network deployed on ARM devices for hand gesture recognition | |
Tatke et al. | Hybrid approach of garbage classification using computer vision and deep learning | |
Wang et al. | Multi-scale coal and gangue detection in dense state based on improved Mask RCNN | |
CN112802026A (zh) | 一种基于深度学习实时的交通场景语义分割方法 | |
Wang | Real-Time Object Detection Using a Lightweight Two-Stage Detection Network with Efficient Data Representation | |
Saidani et al. | Design of embedded architecture for pedestrian detection in image and video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |