基于改进YOLOv3-Tiny网络的嵌入式物流商品查验系统设计与实现

2023-10-09 01:46周可鑫左云波李小群谷玉海
计算机应用与软件 2023年9期
关键词:服务端嵌入式卷积

周可鑫 左云波 李小群 付 勇 谷玉海

(北京信息科技大学现代测控技术教育部重点实验室 北京 100192)

0 引 言

近几年,随着互联网产业及相关技术的快速发展,电子商务逐渐成为人们日常生活中不可或缺的一部分。电子商务给人们的生活带来了极大便利,越来越多的人选择网络购物作为自己日常生活中最基本的购物方式。据统计,截至2019年6月,我国网上支付用户规模达到6.33亿,与2018年底相比增长约3 265万,与2017年底相比增长约1.02亿。与此同时,在网络零售业产生的交易额中,大致有40%的消费是由电子商务平台产生的刺激消费[1]。从数据中我们可以看出,电子商务在人们生活中扮演的角色越来越重要。因此对于电子商务经营者们来说,有效提高配送中心的效率就成为他们迫切需要解决的问题。

对于各电商平台的配送中心而言,配货发货的相关自动化技术已经逐渐成熟,并且大部分已经投入使用,在国内最具代表性的就是京东公司,京东公司拥有一套完整的拣货配货发货流水线。首先三轴并联机器人借助于3D视觉系统完成自动拣货,然后由AGV小车采用惯性导航和二维码识别技术,实现货物工位之间搬运,最后由无人车进行自主路径规划,选择最优路径完成配送[2]。在国外,亚马逊公司有一套基于Kiva机器人的智能仓储系统辅助配货员完成配货工作[3]。此外,Abbood等[4]设计了一个基于识别货物颜色和形状的实时分拣系统。首先,系统利用基于HSV模式算法建立的基于颜色的分类系统完成货品的实时分类,之后借助机械手,基于货品的形状属性、质心算法、边界提取实时将货品放置到指定区域,完成货品的分拣工作。Tessensohn等[5]以履带机器人为基础,建立了一套完整的配货系统。通过引入一种新的半开放排队网络(SOQN),优化三种决策变量(每个仓库的吊舱数量、提货站数量与补给站比率、每个吊舱的补给水平),使得整个系统的工作效率变得最优;Yoshitake等[6]设计了一种基于AGV小车集群的配货系统,依靠机器视觉,根据订单信息,实时完成商品配送工作等。尽管相关技术已经较为成熟,但是各大电商配送中心在发货前的验货工作,还是以人工查验为主,这种方式不仅成本高,而且效率低下,特别是在繁忙的节假日,出货量大,出错的概率也很高。因此,配送中心验货所花费的时间严重影响了配货发货的效率,那么对于商品查验自动化需求就变得越来越急迫。本文根据这一问题,为电子商务公司的配送中心提出一种高效的图像分析商品查验方式。

图像目标检测是计算机视觉领域中的一个重要分支,在生活中的很多领域都已经得到了应用,其任务主要是从图片中检测出物体名称信息以及位置信息[7]。近些年,深度学习在计算机视觉目标识别领域中取得了许多突破性的成果,如无人驾驶、车牌识别、人脸识别等。常见的基于深度学习的图像识别算法可以分为两类,即基于提取候选区域(Region Proposal)的两阶段(Two Stages)算法和基于回归问题的一阶段(One Stage)算法[8]。前者注重准确率,速度相对较慢,典型的相关算法有R-CNN[9]和Fast R-CNN[10]等;后者注重速度,但是准确率相较于前者来说较低,典型的算法有YOLO和SSD[11]等。2018年,华盛顿大学的Redmon等推出了YOLOv3算法,该算法是目前图像识别领域中性能比较强大的一种算法。同时,他们还提出了其简化版算法YOLOv3-Tiny,精度不被太大影响的同时,速度较YOLOv3有很大提升。而本文设计的商品查验系统对于速度有很高的要求,因此选择YOLOv3-Tiny算法为该系统的基础。该系统由用户端和服务端两部分组成,系统软件主体利用C/C++编程语言开发。系统功能主体部分开发完成后移植到Jetson nano嵌入式开发板上,结合摄像头构成系统的服务端。用户交互及打印输出部分在PC机运行作为用户端。通过实验表明,该系统可以实时高效地查验商品信息,实用性、准确性和鲁棒性都满足使用要求。

1 YOLOv3-Tiny网络及其改进

1.1 YOLOv3-Tiny网络

YOLOv3是YOLO系列的第三代算法,与前两代相比,其检测精度大大增加,并且检测速度依然高效[12]。在特征提取方面,主干网络选择使用由53层卷积层组成的Darknet-53网络。Darknet-53由大量3×3和1×1的卷积层组成。由于卷积层过深,容易出现梯度消失的问题,因此Darknet-53引入了残差结构[13]来解决这一问题,使得YOLOv3在精度提升的同时,速度也得到了提升。此外,YOLOv3还借鉴于特征金字塔网络(FPN),利用深层的高语义特征与浅层的高分辨率特征实现特征融合,并且在三种不同的尺度(13×13,26×26,52×52)的特征图上分别进行检测,对小目标的检测效果明显提升。

YOLOv3-Tiny是YOLOv3的简化版,在继承YOLOv3算法思想的基础上,结构更加轻便、简单。因此检测速度相对于YOLOv3来说更快。YOLOv3-Tiny用于提取图像特征的主网络由7层卷积层加池化层组成,并且依然选择借鉴特征金字塔(FPN)实现多尺度融合,最终输出的特征图为2个尺度(13×13,26×26),其中26×26尺度是由特征融合得到,检测网络也由原先的三个变为了两个,相应地,重新聚类出的anchor box数目及尺寸也有了变化,分别是(10×14)、(23×27)、(37×58)、(81×82)、(135×169)、(344×319),每种尺度依然分配三个anchor box。其他方面与YOLOv3完全相同。以检测单类为例,YOLOv3-Tiny的网络结构如图1所示。

图1 YOLOv3-Tiny结构

1.2 改进的YOLOv3-Tiny网络

对于YOLOv3-Tiny网络结构的改进主要包括两个方面,即网络中卷积层的优化以及特征融合部分的优化。

1.2.1卷积层优化

借鉴华为公司在2020CVPR会议上提出的线性扩展卷积层的思想(GhostModule)[14],考虑到卷积层生成的特征图中,存在大量的冗余特征图。普通的卷积层在生成这些冗余特征图时,使用了大量的卷积计算,使得网络在运行时计算次数过多而导致耗时较大。因此考虑在生成冗余特征图时,通过使用一系列简单的线性计算来生成,基于此想法,优化卷积层,将原先一步生成特征图的工作拆分为两部分进行。首先利用少量卷积层对目标图片进行操作,生成“固有”特征图;之后,这些“固有特征图”通过一系列的线性计算生成冗余特征图;最后将冗余特征图与“固有特征图”堆叠,完成特征图的生成。整个过程如图2所示。

图2 优化后的卷积层结构

1.2.2特征融合优化

原YOLOv3-Tiny网络是两尺度的检测网络,对于小目标物体检测来说,检测效果较差。因此考虑增加检测尺度来提升对小目标物体的检测能力。将网络浅层信息与深层信息进行再融合,生成第三个检测分支。虽然改进后的网络结构较之前来说层数增加,但是卷积层已经过优化,网络整体体积较之前来说更轻,结构更加紧凑。优化后的YOLOv3-Tiny网络的结构如图3所示。

图3 改进后的YOLOv3-Tiny结构

为了保持良好的性能,YOLOv3需要大量的计算成本以及内存占用,这意味着对于GPU性能的要求极高,而考虑到本系统需要在嵌入式平台上使用,如果选用YOLOv3的话满足不了使用要求。而改进后的YOLOv3-Tiny结构简单、网络轻便,容易在嵌入式移动端部署。同时,改进后的YOLOv3-Tiny具有很高的检测速度和精度,满足本系统使用要求,因此选择改进后的YOLOv3-Tiny网络为本系统的核心检测网络。

2 商品查验系统总体设计

本文系统需要借助拥有GPU的多核平台来使得自身性能发挥到最佳。因此,本文选择使用Nvidia公司2019年推出的Jetson nano嵌入式开发平台。Jetson nano的GPU以128核的Maxwell架构为主,支持运行YOLOv3-Tiny所需的CUDA并行运算架构,同时,Jetson nano外观小巧、性能强大、性价比高,非常适合作为该系统的核心板。Jetson nano其余技术参数如表1所示。

表1 Jetson nano参数表

系统由用户端和服务端两部分内容组成。用户端部署在PC端用于给服务端发出消息指令,并接收服务端的反馈信息,完成信息查验,显示结果。而服务端部署在Jestson Nano核心板,用于接收用户端指令信息,完成商品识别工作,并将结果返回。整个系统的连接框如图4所示。

图4 系统结构

服务端启动后,完成相应的初始化配置,主要包括加载目标检测网络以及权重文件,打开摄像头使得摄像头处于常开状态,并且实时更新视频流。在系统初始化阶段完成这些工作将大大缩减后续检测识别以及信息比对环节所花费的时间。服务端获取客户端发出的指令后,控制摄像头截取当前视频图像帧传入改进的YOLOv3-Tiny网络中,识别出图像中商品的种类、数目与位置等信息,将识别出的信息以及图像内存块打包,存储在服务端本地数据库,作为电子日志,同时反馈给用户端。用户端通过数据接口接收服务端发出的反馈信息后,与本地提供的订单信息进行比对,得到比对结果,显示工作结果,完成商品查验,最终将识别查验结果打包存储到数据库中。用户端和服务端设置在同一网关下,通过TCP/IP协议建立连接。整个系统的工作流程如图5所示。

图5 系统工作流程

3 商品查验系统功能实现

系统软件开发基于模块化开发的思想,使用C++语言,在Windows 10环境下的Visual Studio 2017平台进行。系统主软件可分为以下几个模块[15]:(1) 参数设置模块;(2) 图像信息采集模块;(3) 商品信息识别模块;(4) 信息查验模块;(5) 数据管理模块。软件的组成如图6所示。

图6 软件组成

软件支持跨平台应用。整个系统在Windows平台下开发完毕并测试。之后,将软件移植到Jetson nano平台的Ubuntu 16.04系统进行系统测试。

3.1 参数设置模块

系统通过读取配置文件,完成相关的参数配置。通信参数设置主要用于设定软件运行环境的IP地址以及端口,确保可以建立TCP连接。系统类参数设置包括视频流配置、图像配置、YOLO网络的相关配置。Debug设置用于控制过程信息监视开关。

3.2 图像采集模块实现

选择常见的USB工业广角摄像头作为图像信息采集器。利用OpenCV 4.1.1中的VideoCapture类函数实现摄像头的打开、录制视频流、截帧等功能。系统开始工作时,摄像头打开,不断刷新视频流,在收到截帧指令后,截取当前视频帧,保存到静态内存中,送入后面的商品信息识别模块。

3.3 商品信息识别模块实现

商品信息识别模块由YOLOv3-Tiny检测网络部分和输出信息打包部分组成。系统截取视频帧后,将帧图像读入内存送入YOLOv3-Tiny网络,识别出图像帧上的商品ID、商品目标标识框位置坐标、置信度。之后,将检测出的信息与图像内存块打包作为商品信息识别模块反馈信息反馈给用户端。该模块与用户端利用TCP/IP协议连接,需要定义适当的接口完成两者之间的信息传递,相关接口定义如图7所示。

图7 通信接口定义

可以看出,用户端向商品信息模块发出商品就位通知,商品信息识别模块做出消息反应,反馈给用户端一个用户端包有数据结构的消息。消息中包括经过YOLOv3-Tiny网络识别出的信息以及图像内存块,返回的具体结构体为:

YOLOv3-Tiny检测返回结构体:

typedef struct yoloDetector {

char id[32];

//商品名称。

char confidence[16];

//置信度。

int x;

//ROI矩形最小X坐标点。

int y;

//ROI矩形最大X坐标点。

int height;

//ROI矩形的高度。

int width;

//ROI矩形的宽度。

} YLDetec;

反馈消息输出结构体:

typedef struct OutputMsg {

YLDetec ydc[16];

//YOLO检测返回的检测结果数组。

int count;

//检测结果数量

char err[128];

//错误信息

int blen;

//图像内存字节长度

char buf[50 000];

//图像保存静态内存(字符数组)50 KB。

} OutMsg;

3.4 商品信息查验模块

用户端通过接口接收到客户端返回的输出信息后,将其中的商品ID及结果数量信息与本地数据库的订单信息进行比对,得出比对结果。最终结果显示在用户端的显示器上,包括所有的识别信息以及比对信息,通过显示的信息即可得知配货是否准确。

3.5 数据管理模块

数据管理模块用于实现系统工作过程信息打印、显示、数据存储等功能。数据以文件的形式进行保存,将信息验证结束时的日期作为文件名。存储的文件包括识别所用的图片以及信息验证结果。图片上标记有标识框及ID信息,方便日后进行数据查验整理工作。

4 实验测试

实验测试分为三个阶段:网络训练阶段、网络测试阶段、系统测试阶段。在网络训练和网络测试阶段中使用选用的数据集是旷视公司提供的RPC商品数据集。该数据集共含有200类商品,其中训练集包含图片55 536幅,测试集包含图片24 000幅。实验开始前,需要对RPC数据集进行格式转换,转换成供darknet框架使用的VOC格式。之后,将数据集部署到darknet框架环境下,用于实验测试。利用RPC数据集同时对原YOLOv3-Tiny网络与改进后的YOLOv3-Tiny网络进行实验,得到对比实验结果,并获得改进网络的最优权重文件,用于最终的系统部署。

由于原YOLOv3-Tiny的anchor box是根据coco数据集信息利用K-means算法得到的,因此在实验前还需要根据RPC数据集的标注信息聚类出新的最优数量和尺寸的锚框。

4.1 先验框获取与网络训练

本文选择了200类商品作为系统查验目标。根据RPC数据集的标注信息,利用K-means算法聚类出新的锚框用于后续实验,步骤如下:

(1) 确定锚框个数k。

(2) 从标注训练集中获取所有的标注框的尺寸信息作为集合B,从集合B中随机选取k个点为初始聚类中心。

(3) 求解集合B中每个元素与聚类中心的距离。根据结果将数据分为k个聚类。

(4) 求每个聚类集合的所有数据各个维度的平均值,求得的值作为新的聚类中心。

(5) 重复步骤(3)和步骤(4),直到聚类中心的位置不发生变化或者仅在阈值内发生变化为止,得到的k个聚类中心就是各个锚框的具体尺寸。

(6) 对所得的k个锚框进行尺寸大小排序,替换到网络配置文件中。

计算每个元素与各聚类中心的距离的函数为[16]:

d(box,centroid)=1-IOU(box,centroid)

(1)

式中:IOU(box,centroid)为B集合中的各元素与各聚类中心的IOU。规定每次实验设置召回率阈值为0.5,迭代次数为50 000,初始学习率为0.001,迭代次数达到45 000和48 000时更新学习率,学习率每次更新为前一次的1/10。进行网络训练的环境如表2所示。

原YOLOv3-Tiny网络与改进后的YOLOv3-Tiny网络的训练损失收敛变化如图8和图9所示。

图8 YOLOv3-Tiny网络训练损失收敛

图9 改进的YOLOv3-Tiny网络训练损失收敛

我们可以得出结论,原YOLOv3-Tiny网络训练情况较差,整个训练过程波动不稳定。改进后的YOLOv3-Tiny网络训练过程很平稳、波动较小。最终,原YOLOv3-Tiny网络最终训练损失值收敛到0.7左右,改进后的YOLOv3-Tiny网络最终训练损失值收敛到0.6左右。

4.2 网络测试

利用RPC数据集的测试集对两种网络测试,得到准确率、网络检测时间、网络单次运行计算次数及所占空间大小等指标。网络训练时,每经过4次epoch对测试集进行一次检测,记录总的平均检测精度(mAP),得到的mAP变化如图10所示。

图10 mAP变化

图10中虚线表示原YOLOv3-Tiny网络的mAP变化,实线表示改进后的YOLOv3-Tiny网络的mAP变化。可以看出,在前27 000次迭代中,原YOLOv3-Tiny网络对于测试集的检测效果要比改进后的网络好,之后,原网络对于测试集的mAP值突然降到了50%左右,而改进后的网络依然保持良好的检测性能,最终表现出比原网络更好的检测结果。选择各自最优的mAP值作为结果记录,原网络最优的mAP值为95.37%,改进后的网络最优mAP值为96.31%。不同的网络对于部分种类商品的检测精度(AP)如表3所示。这里记录的信息包括各个不同尺度大小的具有代表性的商品目标。其中:类别名为4_puffed_food、26_dried_food、15_dried_fruit的目标为大尺度商品目标;67_dessert、109_canned_food、50_instant_noodles的目标为中尺度商品目标;101_milk、131_chocolate、147_candy为小尺度商品目标。其他的指标记录中,两网络检测mAP如表4所示,单次检测时间如表5所示,单次运行计算次数如表6所示,单次工作所占空间大小如表7所示。

表3 不同anchor box数目下部分类别商品的检测精度(%)

表4 不同网络模型的检测mAP(%)

表5 不同网络单次检测时间对比单位:ms

表6 网络单次运行计算次数对比单位:BFlops

从表3可看出,原YOLOv3-Tiny网络对小目标商品的识别精度较差,最低达到了87.57%,这样的识别精度无法使用于商品查验系统中。而改进后的网络对于小目标商品的检测精度明显更优,有效改善对于小目标商品的漏检问题,且对于各个尺度商品目标的识别精度均在96%以上,满足实际商品查验的使用要求。表4是各网络模型对于RPC数据集的检测mAP。为了说明改进后的YOLOv3-Tiny网络的优越性,在比较实验中还加入了YOLO系列的YOLOv2-Tiny网络一起进行实验。可以看出,改进后网络的mAP比改进前的网络提升了0.78百分点,比YOLOv2-Tiny提升了7.46百分点。同时,从表5可看出,改进后的YOLOv3-Tiny在单次工作时间方面提升更为明显,与原网络相比时间减少了约560 ms。与YOLOv2-Tiny相比提升了60 ms。从表6和表7可看出,改进后的网络在运行时计算次数也大幅度减少,且所占控件大小仅为原YOLOv3-Tiny网络的1/4,更容易部署。通过综合比较可得出结论,改进后的YOLOv3-Tiny网络在进行商品目标检测时具有很高的检测精度,且效率极高、拥有更小的体积、容易部署在嵌入式平台或其他移动端,符合商品查验系统的设计要求。

4.3 系统测试

通过网络训练和网络测试,我们已经得到了经过优化处理的YOLOv3-Tiny网络以及相应的权重文件。最后一步就是将网络移植到Jetson Nano上,应用到商品查验系统中来进行实际场景的测试。图11为实景测试环境。

图11中的白色摄像头用于采集实时视频流信息。黑色箱体内的Jetson Nano为主工作区域,用于接收视频流信息并截取实时帧进行商品检测,反馈检测结果。PC机用于向服务端发送截帧指令并且接收显示反馈信息,并与订单信息比对,显示信息是否匹配。系统测试步骤为:

(1) 启动服务端,摄像头处于常开状态,在后台不断更新视频流。

(2) 启动PC机输入订单数据。

(3) 建立PC机与服务端的连接。

(4) PC机向服务端发送截帧指令,等待反馈信息,显示检测结果。

(5) 设置PC机等待反馈信息时间上限为1 s,若超过1 s,PC机断开与服务端的连接,并提示检测异常。若成功接收反馈信息,PC机自动再次发送截帧指令,返回步骤(4)。

(6) 订单数据匹配完毕。

实验时通过移动摄像头的位置获取不同的实时图像。共进行100条订单信息查验实验。每次实验完成后记录工作时间及运行结果。这里选取四种不同数量商品的查验结果进行说明,图12为系统运行的结果。图12(a)和图12(b)为系统查验少量商品的结果,商品的种类和数量较少,彼此之间尺寸相差不大。图12(c)和图12(d)为系统查验大量商品的结果,商品种类数目繁多,尺寸跨度大,用于查验的商品较丰富。

(a) (b)

图12(a)为系统查验少量商品配货正确的运行结果。图12(b)为系统查验少量商品配货不正确的运行结果。可看出系统没有出现漏检的情况,并且当实际配货信息与订单信息不符时,系统也明确作出了提示。图12(c)为系统查验大量商品配货正确的运行结果。图12(d)为系统查验大量商品配货不正确的运行结果。同样可看出系统在查验数量大、种类多的商品时依然表现出了高的准确性和鲁棒性。尽管商品之间间隔变小,且彼此之间覆盖,系统依然可以查验出实时图片中的所有商品,没有漏检情况发生,且各场景下的查验结果都是正确的。以上实验结果证明了该查验系统在不同查验环境下准确性高、适用性强。

从系统运行结果还可以看出,系统预设的功能已经实现,系统平均单次运行时间约为355~370 ms。同时,得益于系统将网络加载以及权重文件加载等工作都放在了初始化阶段,系统运行时,只需加载一次这些信息文件,大大缩减了系统运行时间上的开销。客户端与服务端的通信稳定,不发生系统无响应的情况,鲁棒性极佳,系统具有很高的实用性。

4.4 系统对比实验

为了说明本文系统的性能优越性以及实用性,本文选择与林付春等[17]设计的智能无人零售系统进行对比实验。该无人零售系统采用嵌入式的ARM9和各种传感器模块组成前端采集系统,在服务器上用训练好的卷积神经网络模型分别对物品进行动态和静态检测识别,然后将识别信息反馈给数据库,由数据库整理所有信息,最终确定顾客订单信息。林付春等设计的智能无人零售系统与本文的嵌入式物流商品查验系统总体的设计框架相似,且是目前为止一套较为完整的商品查验系统,因此选择与该系统进行对比实验,证明本文提出的嵌入式物流商品查验系统性能的优越性以及可实用性。

4.4.1核心商品检测网络比较

林付春等设计的智能无人零售系统的核心商品检测网络为Tiny-YOLO网络,在服务器上,利用RPC数据集中的训练集部分对Tiny-YOLO网络进行训练。之后将训练好的网络移植到Jetson Nano嵌入式开发板上,利用RPC数据集中的测试集部分对网络进行测试。两种网络的测试结果比较如表8和表9所示。

表8 两种网络模型的检测mAP(%)

表9 两种网络模型的检测时间比较 单位:ms

通过借助RPC数据集进行对比实验可以看到,在检测准确率方面,本文使用的核心检测网络准确率比林付春等使用的核心检测网络的准确率高出35.57百分点。同时,在检测所花费的时间方面,本文使用的核心检测网络平均检测速度要比林付春等使用的核心检测网络快160 ms左右。通过核心检测网络的对比实验我们可以得出结论,本文使用的检测网络性能更加优越,这将会进一步提升系统的性能。

4.4.2系统部署比较

林付春等设计的智能无人零售系统由两部分模块组成,其中前端采集模块部署在嵌入式ARM9和各种传感器模块上,目标检测网络模块部署在服务器上。前端采集模块将实时图片传入到服务器上的目标检测网络中,主要在服务器上完成商品目标检测查验以及最后的数据整理工作。整个系统部署起来成本较高,且灵活性较低,可维护性较差。而本文提出的商品检测系统核心部分部署在Jetson Nano板上,小巧灵活,易于维护,可使用在需要频繁更换工作地点的环境中。同时,系统部署的成本较低,可以很方便地进行批量部署。

4.4.3系统运行比较

从4.3节的实验结果可以看出,本文提出的嵌入式物流商品查验系统的单次运行时间在355~370 ms之间,同时在种类、尺度丰富的检测场景下,系统的漏检率极低,检测准确率高,已经满足了在实际场景中使用的基本要求。

为了验证本文提出的物流商品查验系统的优越性,本文模拟出了林付春等的智能无人零售系统,通过实景测试,验证两者在实景下的测试结果。如图13所示为模拟出的智能无人零售系统的运行结果。

可以看出,在RPC数据集下,智能无人零售系统体现出的性能较差。主要表现在漏检率较高,尤其是对小目标商品的检测,几乎全部漏检。同时,在检测时间方面,也是远远落后于本文提出的物流商品检测系统。通过从三个方面进行对比,说明本文提出的嵌入式物流商品查验系统具有很高的性能,其部署成本低、部署方便、使用方便,同时,单次运行的检测时间短,满足实时检测的使用要求,易于维护。通过一系列的实验证明了嵌入式物流商品查验系统具有很高的应用价值和应用前景。

5 结 语

本文基于优化了特征融合部分、网络卷积层、锚框数目尺寸的YOLOv3-Tiny网络,设计一款面向于电子商务公司配送中心的嵌入式商品查验系统。该系统实现了对即将打包入库的商品进行实时查验的功能,确保与数据库订单信息一致。通过实验测试,系统单次检测时间在355~370 ms之间,准确率为96.15%,满足实时检测的使用要求。同时,通过与同类型产品的比较实验,证明了本文提出的嵌入式商品查验系统具有良好的使用性能,更满足实际场景的使用要求,灵活性好。此外,本文系统可在Windows或者Linux环境下运行,灵活性和鲁棒性好。基于嵌入式平台的GPU技术在不断发展,未来的嵌入式平台的计算能力将大大提升,因此本文系统具有很广阔的应用前景。

猜你喜欢
服务端嵌入式卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
基于傅里叶域卷积表示的目标跟踪算法
搭建基于Qt的嵌入式开发平台
在Windows Server 2008上创建应用
嵌入式软PLC在电镀生产流程控制系统中的应用
一种基于卷积神经网络的性别识别方法
Altera加入嵌入式视觉联盟