韩 爽,吕 军,丁志平,赵剑锋,陈旭东,周 强,张哲宇,姚 青
(1.浙江理工大学 信息学院,浙江 杭州 310018;2.张家港海关,江苏 张家港 215600;3.杭州箨草科技有限公司,浙江 杭州 311500)
中国作为濒危野生动植物种国际贸易公约(CITES)的缔约国,对濒危木材国际贸易有着严格的控制及监督要求,进出口濒危木材需要办理相关证明,并接受海关监管。但在进出口贸易中,高价低报、多进少报、夹带藏匿、濒危木材伪报成普通木材等现象屡见不鲜。由于木材种类繁多,且不同材种之间物理化学性质差异很大,因此对海关的木材鉴定能力提出了极高要求。通常人们会通过花朵、果实和树叶形态识别树木种类,但当树木被砍伐成为木材后,对树木种类的识别则变得异常困难,此时需要依靠宏观结构及微观结构特征等进行辨认。因每种木材具有特定的宏观及微观结构,木材分类专家首先利用放大镜、体视显微镜和生物显微镜观察木材结构,然后通过不同木材宏观及微观结构特征的对比及木材自身特征鉴定木材种类。然而,由于国内木材分类专家稀缺,而木材种类繁多,在日益增长的木材进出口交易中,基于专家人工的木材鉴定手段已无法满足快速、实时鉴定的需求,因此亟需构建一个快速自动识别木材种类的系统,以辅助海关检查人员快速鉴定木材种类。随着图像处理与机器学习技术在多个领域的深入应用,利用木材宏观及微观结构图像识别木材种类成为了可能。如Mallik等利用扫描电镜获得7 种放大1 500 倍的木材横截面图像,提取木材纹理、管胞形状、数量及分布等特征,并训练多种分类器对其进行分类,结果表明,支持向量机和神经网络模型在7 种树种分类上获得了最高准确率,分别为81.0%和80.0%;Khalid 等利用纹理特征与神经网络模型对20 种热带木材解剖图像进行分类研究,获得了95.0%的准确率;周书仁等和Ojala 等使用局部二值模式(LBP)提取木材横截面图像局部纹理特征,相比于均值、方差等方式,局部二值模式可获得分布更均匀的特征值,从而获得更好的分类效果。但以上方法大多借助显微摄影获取木材图像信息,需要在实验室中进行操作,且研究停留在算法阶段,实时性与便携性较差,无法应用于实际场景中。
为提高海关木材鉴定效率及准确率,本文在张家港海关国家材种鉴定与木材检疫重点实验室拍摄的木材横截面宏观结构图像基础上,结合基于深度学习的图像识别技术,构建基于Web 的木材图像远程自动鉴定系统,从而为海关木材检测人员提供远程、快速的木材种类智能鉴定辅助工具。
木材远程鉴定系统主要包括Web 端、木材数据库和服务器端3 部分,其中服务器端包括应用服务器与算法服务器。海关检查人员通过Web 端上传木材横截面放大图像,并通过网络协议传输到服务器。为提高系统承载能力,本文将数据先经过一层负载均衡器,将数据请求均匀分布在多个服务器上。服务器端接收到请求后先通过Spring Security安全框架验证请求是否合法,以提高系统安全性。安全验证通过后,服务器调用木材识别模型对图像进行识别,针对识别结果在木材数据库中查询相关信息,最后将结果返回给Web 端用户。该系统还提供了专家在线技术支持功能,海关检查人员可通过图片、文字、语音、视频等多种方式寻求专家的远程指导。
Fig.1 Structure framework of remote identification system of wood images图1 木材图像远程鉴定系统架构
系统Web 服务平台前端利用HTML、CSS 和JavaScript等技术开发系统Web 服务平台,采用Vue-CLI 搭建系统框架,以及Element UI 设计界面,将前端各功能模块化。系统使用ES2015+标准,并向下兼容ES5,适配所有主流浏览器。使用Vue Router 作为路由管理器,支持路由∕视图表嵌套、模块化组件配置、导航细粒度控制等功能。网络请求使用基于HTTP 协议的Axios 网络请求,支持XMLHttpRequests、转换请求数据与响应数据、自动转换JSON 数据及防止XSRF 攻击等功能。通过Token 保存识别信息,并减少不必要的交互信息,以提升系统健壮性。前端开发时使用Mock.js 模拟数据响应,使前、后端开发完全分离,实现整个系统高度解耦。
图2 给出了系统Web 端设计路线图。用户登录成功后,服务器将根据用户权限返回对应功能列表和Token。管理员可对所有用户信息、权限等进行操作,普通用户则无法操作。Token 利用服务器对每个用户单独生成一个专属字符串,Web 端发起请求时将Token 封装在HTTP 请求头,服务器通过Token 信息对用户信息进行安全与权限验证。图像识别时用户通过Form 表单形式将图像封装入HTTP 请求体中,服务器接收图片,识别完成后返回木材信息、相关走私案例与海关资讯信息,将信息渲染在网页上供用户参考。若用户需要浏览木材信息,Web 向服务器发起请求。因木材信息数量较多,需要对信息进行分页查询浏览,且在请求参数中需要携带pageNum 和pageSize 字段,分别代表当前页号和一页包含的信息条目数,服务器返回对应数据供用户浏览与参考。若对识别结果有疑问,可通过专家在线支持功能向专家提问,提问方式分为图文和音视频两种。图文方式中,用户填写问题描述及上传相关图像,Web 将信息封装入HTTP 请求体中并上传至服务器,服务器存储数据到数据库,专家查看问题后给出指导意见,用户可在自己的提问记录中查看专家意见。如果用户需要在短时间内获得专家支持,可选择音视频方式与专家面对面交流遇到的问题。
Fig.2 Design route of system Web client图2 系统Web 端设计路线
目前常用的关 系型数据库有MySQL、Oracle、SQLite等。其中,MySQL 具有开源、免费、适配度高、性能较好等特点,是目前使用最广泛的关系型数据库,因此本文使用MySQL 构建木材远程鉴定系统数据库。
木材远程鉴定系统数据分为用户信息和木材信息两部分。用户信息数据存储采用RBAC(Role-Based Access Control)模型,通过角色关联用户,利用角色关联权限方式管理用户相关信息。图3 展示了系统中用户相关信息表结构,sys_user 表中存储用户信息,包括用户ID、工号、用户名、密码等,sys_role 表中存储角色权限信息,如权限名称、权限关键字等,sys_menu 表中存储系统中所有功能接口,通过与sys_role 表关联确定用户所属权限信息。
木材信息存储参考RBAC 模型,木材信息表包括木材名称、分类、产地等信息,走私案例信息与海关内部资讯信息分别存储在其它两张表中,再通过两张关联表关联木材与查发案例及咨讯信息。同时,采用Redis作为缓存数据库,将热点信息存储在Redis 中可提升系统处理高并发用户请求的能力,从而提升系统稳定性。
后台服务是基于Spring Boot 框架实现的,Spring Boot在Spring 基础上实现了很多框架的自动配置,同时内置Tomcat 服务器,极大地简化了开发与部署工作量。Web 与服务端交互使用RESTFul 格式请求,用户请求通过HTTP协议发送至服务器端。请求首先通过Nginx进行负载均衡,然后通过轮询方式转发到后台服务。接收到用户请求后,使用Spring Security 并结合JWT进行用 户认证与授权。Spring Security 是Spring 提供的一个安全管理框架,可用来过滤非法请求及验证用户信息是否正确,验证成功后再进行相关业务处理并返回至Web 端。在用户进行木材图像识别时,后台接收到木材图像,先对图像合法性进行验证,确认没有问题后转发到Django 服务器。Django 是Python 的一个Web 框架,本系统使用Django 框架,以避免语言直接互相转换带来的性能损耗。Django 服务器接收到图像,调用木材图像识别模型得到预测结果,并返回给Spring服务器。Spring 接收到识别结果,提取相关信息并从数据库中查询该木材对应的拉丁文名、木材产地、分类地位等信息,将这些信息封装后以JSON 格式返回至Web 端,用户即可在Web 端看到识别结果,整个过程耗时约1~2s。
Fig.3 User information table structure of remote identification system of wood images图3 木材图像远程鉴定系统用户信息表结构
Fig.4 Flow of wood image identification in the Web client图4 Web 端木材图像识别流程
2.4.1 木材图像数据
木材横截面图像来自张家港海关国家材种鉴定与木材检疫重点实验室中通过手机拍摄的120 种木材横截面放大图像,共计55 594 幅图像,按照9∶1 的比例随机分配训练样本及测试样本数量。
2.4.2 图像预处理
为提高模型的鲁棒性和泛化能力,对木材图像进行水平翻转、垂直翻转及亮度调整3 种数据增强处理操作(见图5),以增加模型的训练样本量。
Fig.5 Data enhancement results of wood cross-sectional images图5 木材横截面图像数据增强结果
2.4.3 基于ResNet101 的木材识别模型
目前,图像识别效果较好的卷积神经网络模型有AlexNet、VGGNet、GoogLeNet等,但这些网络在训练时会产生精度退化问题。He 等提出深度残差网络ResNet,通过Residual Block 的设计,调整残差块内的输出通道数量与堆叠的残差数量,以及网络宽度和深度,解决了深层网络的退化问题。本文采用ResNet101 训练木材识别模型。
ResNet101 网络结构如图6 所示,输入层是一个卷积核大小为7×7、步长为2、通道数为64 的卷积层,然后是不同数量的残差块(Residual Block)堆叠组成的4 部分:[1×1,64;3×3,64;1×1,256]×3,[1×1,128;3×3,128;1×1,512]×8,[1×1,256;3×3,256;1×1,1 024]×36 和[1×1,512;3×3,512;1×1,2 048]×3,输出层为7×7 的平均池化层与Softmax全连接分类层,其中Conv3_1、Conv4_1 和Conv5_1为下采样层。
Fig.6 Architecture of ResNet101 network图6 ResNet101 网络结构
图7 给出了ResNet101 中Residual Block 的结构,由3个卷积层组成。第一层卷积核大小为1×1,第二层为3×3,第三层为1×1,输入特征经过3个卷积层与原始输入特征叠加,这种跳跃连接方式可提高模型泛化能力。
Fig.7 Structure of Residual Block图7 Residual Block 结构
在模型训练中设置初始学习速率为0.001,采用随机梯度下降法,每次只随机选择一个样本来更新模型参数。速率衰减策略为multistep,设置gamma 为0.1,步长为50 000和80 000,动量为0.9,权重衰减量为0.000 5,迭代次数为100 000 次,输入图像预处理大小为224×224。最后为softmax 输出层输出相应种类进行木材图片分类。
木材远程鉴定系统Web 端功能包括用户登录、木材图像智能识别、知识字典、专家在线支持、部门与人员管理等功能。图8(a)展示了Web 端木材图像智能识别界面,图8(b)为知识字典中的材种图文库概览界面,图8(c)为详细木材图文信息界面。若用户对木材识别结果存在疑问,可在线提交图文信息,专家将在线进行指导与鉴定,如图8(d)所示。
为评价ResNet101 模型对120 种木材的识别效果,利用平均准确率和平均召回率作为评价指标。准确率表示识别为某种木材中正确识别的比例,召回率表示某种木材被正确识别的数量占该木材总量的比例。平均准确率表示120 种木材准确率的平均值,平均召回率表示120 种木材召回率的平均值。
采用数据增强前后获得的两个ResNet101 模型对120种木材进行识别,平均准确率和召回率如表1 所示。
Fig.8 Web interface of remote identification system of wood images图8 木材图像远程鉴定系统Web 端界面
Table 1 Recognition results of 120 kinds of wood cross-sections by ResNet101 model表1 ResNet101 模型对120 种木材横截面的识别结果
经过数据增强,ResNet101 模型的平均准确率和召回率分别提高了7.5%与9.1%。
在被误判的木材图像中,紫檀属中刺猬紫檀、大果紫檀、染料紫檀在样本总量分别为495、479、502 的情况下平均识别率分别为72.4%、71.3%、75.5%,低于平均识别率,主要因为这几种木材的纹理与颜色特征相似(见图9),难以识别。因此,对于相似木材的种类识别,需要采集更多木材图像,扩充训练集以提高识别准确率。
Fig.9 Wood images of 3 kinds of Pterocarpus species图9 3 种紫檀属木材图像
基于Web 的木材图像远程鉴定系统包括Web 端、数据库、后台服务器及深度学习识别模型,具有木材图像智能识别、木材信息浏览查询、专家远程在线支持、用户识别历史浏览等功能。当工作人员遇到难以辨别的木材时,可将采集的木材横截面图像上传至服务器,服务器在1~2s 内即可将识别结果反馈给用户。对于有疑问的地方,还可申请专家进行远程在线鉴定。
由于珍稀与濒危木材样本难以获得,存在部分木材图像数量不足的问题,本文通过图像增强的方法扩充训练样本量,以提高木材识别率与模型泛化能力,最终120 种木材的平均识别率为95.7%。后续随着该系统的推广与应用,将进一步增加相关木材图像的样本量,从而进一步提高木材识别率。但该系统仅作为海关工作人员查验进出境木材的辅助工具,为木材检测人员快速提供木材种类信息作为参考,从而提升海关工作效率,若对识别结果存在疑问或发现未在数据库中的木材种类,需要通过专家作进一步鉴定,确保无误才能通关。
本文只针对海关中常见的120 种木材建立木材图像远程鉴定系统,但在实际场景中,木材种类很多。因此,下一步将收集更多木材图像,完善木材图文数据库,以识别更多种类的木材。