王 君,梁文威,麦淳铭,宋泽生,梁薇薇,蒲 磊
(1.中山大学南方学院,广东 广州 510970;2.广州恒通智联科技有限公司,广东 广州 510630;3.南昌大学,江西 南昌 330027;4.重庆邮电大学,重庆 400065)
智能图像处理技术紧跟科技前沿,其算法被广泛应用于实际生产中,带来了很多的便利和经济价值,尤其是基于计算机视觉图像的识别技术。由于手机性能或者手机寿命等原因,产生了很多的弃用手机,废弃手机造成资源的浪费,污染环境[1-2]。而对手机检测和回收的机构企业较少,而且手机检测和回收的手段和技术相对落后,人工检测程度较低,客观性较差,难以提高检测回收速率,不能适应现代的自动化流水线[3]。
图像识别饮料瓶智能回收系统以搭载Linux系统的树莓派3B+作为主控制器,以32位ARMCotex-M3内核单片机为辅助控制器,构成具有上下位机交互的完整系统。上位机树莓派3B+主要为系统提供图像识别技术功能支持,对放入系统中的物体进行图像识别,判断其是否为瓶子。下位机通过分析上位机所识别的结果以及识别的数量进行金额换算,进而将金额数据传输到云数据库中。用户在手机APP端就可以刷新查看到当前自己用户账号的账户金额的变化。
对于可回收再利用资源,应加强对其的回收利用。回收系统可以降低人工分拣过程的劳动程度,提高整体工作效率,从而降低生产成本。用机器视觉对流水线上的手机实现不同类型的识别分类,用以实现将海量非智能手机和智能手机的分类处理回收,以提取贵重金属和稀有金属[4-5],充分利用资源。一般的机器视觉回收系统会采集回收物图像,经过图像处理可以得到其形状和尺寸的数据,最后按比例算出图中物体的长度信息并和标准范围作比对。机器视觉的手机识别与回收系统流程设计如图1所示。
图1 机器视觉的手机识别与回收系统流程
机器识别分拣[6],摄像头的摆放、光照、角度,都会影响检测的准确率[7-13]。基于机器视觉的手机识别与回收系统,以搭载Linux系统的树莓派3B+作为主控制器,以32位ARMCotex-M3内核单片机为辅助控制器,构成具有上下位机交互的完整系统。上位机树莓派3B+主要为系统提供图像识别技术[14],用两个摄像头,分别配以辅助补充光源,对放入系统中的物体进行正反面的识别,以相似度分类识别手机[15-17],如图2所示。
图2 基于机器视觉的手机识别与回收系统位置
树莓派3B+是基于ARM的微型电脑主板,外形比较小,却具有电脑的所有基本功能。基于云技术的数据传输与存储功能的设计,以树莓派3B+控制摄像头通Tensorflow来检测图像中的物体是否为手机。随后将所识别到的图像数据传输至OneNET云服务器上,判断该物体是否为非智能手机/智能手机,同时OneNET云服务器记录相关数据。流程如图3所示。
图3 图像识别模块和控制模块流程图
图像预处理将收集的图像数据灰度化,依据灰度图像直方图,采用自动增强对比度算法进行图像增强。然后,通过阈值分割提取目标二值图像,并通过均值滤波进行平滑去噪,对滤波后的目标图像求最小外接矩形,可以得到其形状和尺寸的数据特征和轮廓特征。
卷积神经网络算法是模仿脑神经元连接实现感性思维。神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。卷积神经网络是借助卷积核对输入特征进行特征提取(卷积、批标准化、激活、池化、舍弃),再把提取到的特征送入全连接神经网络进行识别预测。
本研究采集大量手机图片(输入特征,标签)数据对构成数据集→再把数据集投入到搭建好的神经网络结构→神经网络通过反向传播,从后向前逐层求损失函数对每层神经元参数的偏导数,而迭代优化参数得到模型→模型读取新输入的特征→输出识别结果,见图4和图5。
图4 手机图片识别的神经网络搭建
图5 非智能手机/智能手机轮廓特征提取图
通过神经元计算模型(MP模型)的全连接网络,可得输出结果y=输入特征x*权重w+偏置项b,见图6。
图6 简化的MP模型
运用梯度下降法,沿损失函数梯度下降的方向寻找损失函数最小值,得出最优参数权重w和偏置项b。梯度下降法更新参数计算公式见式(1)和式(2),其中lr为学习率,是一个超参数,是损失函数梯度下降的速度。学习率不能设置的过大或过小,当学习率设置的过小时,参数更新速度会变慢;当学习率设置的过大时,参数更新会跳过最小值。一般先设置较大的学习率,快速得到一个较优解,然后逐步减小学习率,使得模型在训练的后期趋向于稳定。
(1)
(2)
当损失函数最小时,则参数权重w和偏置项b会出现最优值,使得前向传播的预测值和实际的标准值无限接近,从而得到一个误差率最小的手机识别训练模型,提高手机识别的准确率。
Tensorflow训练法是比较有效的识别方法。Tensorflow是一种深度学习的框架,支持Macos、Ubuntu、Window等多系统运作,支持GPU、CPU运算。Tensorflow是一个人工智能学习系统,是用来实现神经网络的内置框架学习软件库,该系统被广泛用于图片识别等多个领域。
本研究需要收集大量的手机照片作为输入数据。选取1 000张不同的手机图片,分别是非智能手机500张和智能手机500张,并且把这1 000张图片以10∶1的比例分为训练、测试的图片集。同时在选择手机的图片时,必须要保证所选取的图片有一定的清晰度并具有多样性。
使用labelImg软件对选取的手机图片进行标记。当对一张照片完成标注时,所标注的图片会生成一个XML文件,图片和XML文件都是1∶1相对应的。XML文件是一种用于标记电子文件使其具有结构的标记语言,XML记录了标注文件的信息,如长度、宽度和像素等信息,XML文件对于要标注的识别物体的信息有非常重要的作用。
识别手机的类型如图7所示。
图7 识别手机的类型(非智能手机/智能手机)
如表1所示,经过对手机实物进行实际识别操作,手机识别准确率为90%以上,与预测值的准确率较为接近。总体上识别准确率较高,满足设计基本需求。个别手机识别不出来的原因为:手机图片输入进卷积神经网络的特征数量仍然不够,可以适量增加训练的样本,以提高模板库的特征;但为了满足单片机的实际应用要求,也要控制训练样本的数量。
表1 非智能手机与智能手机的识别准确率
最后,用STM32单片机的PWM信号是通过配置占空比来配置脉宽的输出配置,使能定时器和相关IO口时钟,初始化IO口为复用功能输出,初始化定时器ARR、PSR等,初始化输出比较参数,使能定时器TIM,通过不断改变比较值CCRx,控制占空比效果,从而控制舵机将识别出的手机送至回收箱。
以手机分类识别为例,具体展示了智能图像处理方法的实用性和方便性。分类识别中,用Tensorflow算法对手机的特征信息和标准模板库作范围比对,实现了手机图像识别,并以Linux系统的树莓派3B+作为主控制器,以32位ARMCotex-M3内核单片机为辅助控制器,完成手机识别与回收。测试证明,该系统稳定且手机识别准确率较高,识别稳定快速。该系统成本低廉,可节省分类的人力,且可流水作业,便于贵重金属和稀有金属的智能化回收利用,减少环境资源浪费。随着智能图像处理的广泛应用,必将极大提高生活品质。