基于神经网络的籽棉颜色分级检测
2021-01-06徐守东冷奕锦吴国新
徐守东, 冷奕锦, 吴国新
(安徽财经大学 棉花工程研究所, 安徽 蚌埠 233041)
棉花的质量主要是通过对棉花颜色分级等质量指标的检测来确定的[1-3]。我国对皮棉颜色检测采用的是HVI检测仪器,籽棉基本靠感官检验[4-6]。事实上,皮棉品质的优劣主要取决于籽棉的品质,只有优质的籽棉才有可能加工出高等级的皮棉。因此,如何规范籽棉收购检验,科学进行籽棉颜色等级测量,是收购加工环节亟待解决的问题,也是实现棉花加工工艺精细化、智能化控制和保障皮棉品质的关键因素。籽棉颜色等级检测的难点在于,待测样品中的微小异物产生的颜色参数的奇点,造成颜色等级的不确定性过大。已有的有关棉花颜色等级的研究主要集中在皮棉方面:Thomasson等[7-9]研究了皮棉中的异物对颜色测量的影响,并通过构造一个不同于一般商用测色仪的复杂系统和图像检测方法,来解决颜色测量的不确定性问题;Kang等[10]通过使用图像测色仪和神经网络工具,解决了皮棉测色不确定度大的问题。显然,籽棉颜色测量是一个困难的问题,与皮棉相比,籽棉中的异物更多、尺度更大,造成颜色不确定度更大。
本文研究团队曾经设计过籽棉颜色分级检测仪,但因籽棉及其集合体分布的特殊性,难以实现精确测量。鉴于神经网络在棉花领域有较多成功案例[11-13],因此,设计了采用神经网络来改进籽棉颜色分级检测原理和方法。拟采用仪器自动检测籽棉颜色等级,以期在籽棉收购环节实现对籽棉颜色的仪器化检验,便于客观准确地判定籽棉颜色等级。同时,在棉花加工环节有利于确定籽棉和皮棉颜色等级的对应关系,这对改进加工工艺、保障加工质量,实现棉花加工提质增效和贸易公平具有重要意义。
1 硬件设计
1.1 系统结构
设备主要由机壳、光电检测装置、电源、液晶显示模块、控制按键和通信接口等组成,其整体结构如图1所示。
图1 籽棉颜色分级检测仪的整体结构Fig.1 Structure of seed cotton color grade detecting system
光电检测装置由光源、柔光版、颜色传感器和信号处理电路构成。光源采用十二个条形发光二极管(LED) 发光板,发出D65光线,经柔光版,使光线均匀照射到检测样品上,样品表面的反射光线反射到颜色传感器上。传感器采用TCS3200颜色传感器,接受被检测籽棉样品表面反射的光线,在单片机的控制下,读取和分析其光线的构成参数。
为保证LED发光均匀,采用恒流供电驱动方式,为避免LED发出的光直接照射到传感器表面,在每个传感器的外围设置了遮光板,如图2、3所示。微处理器采用T1公司生产的16位低功耗MSP430F249单片机,控制LED的开关、颜色传感器的数据读取、液晶屏模块的显示,以及与外部设备的通信。
1.2 硬件工作原理
籽棉样品检测时,将其放置在颜色分级检测仪的下方,微处理器在检测开始指令的控制下,控制LED发光,LED光源发出的光线经过柔光板,均匀透过玻璃底板照射到被测籽棉样品表面。光线经样品表面反射到颜色传感器的检测窗口,颜色传感器读取其光线的XYZ刺激值(标准色度观察者的光谱三刺激值),计算出籽棉的颜色特征,据此分析判定籽棉的颜色等级,并显示在液晶显示屏上。同时,通过CP2102USB模块和无线通信模块传输到外部设备。
2 软件设计
2.1 籽棉反射率与黄度检测原理
软件数据处理主要包括以下步骤:颜色传感器的白平衡校正。RGB(Red,Green,Blue)颜色传感器对着校验白板,微处理器读取颜色传感器的测量值,分别记为red0_base、green0_base、blue0_base,base为基准数据;颜色传感器的颜色识别。检测仪对着要检测的颜色,依次选通RGB颜色传感器中的3种滤光装置,测得三原色的检测值,在计算机中R、G、B三通道的取值范围皆为[0,255];微处理器对颜色传感器的颜色坐标进行转换。根据国际照明委员的标准给出的变换公式,可以将任意对象的颜色,从RGB空间,变换到XYZ颜色空间,然后再变换到L*a*b*颜色空间,该颜色空间可直接给出检测籽棉所需的反射率(Rd)和黄色深度(+b)。其中RGB为红绿蓝三原色,根据RGB的值可方便得到XYZ颜色空间的三刺激值X、Y、Z。三刺激值中的X不用测量,实际检验时,根据Y、Z刺激值就可以得到籽棉样品的反射率Rd和黄色深度+b。
2.2 基于神经网络的非线性校正
由颜色传感器获取的测量值(反射率、黄度)往往存在较大偏差,不能直接使用,必须借助标准色板进行校正。一般来说,颜色传感器的直接测量值与标准色板的标准值不会完全一样,需要进一步进行非线性转换。人工神经网络[14]被广泛应用于自然语言处理、深度图像识别等方面,其中反向传播(BP)神经网络[15-16]由于输入、输出均可以是实数,因而本文采用BP神经网络实现由颜色传感器的直接测量值到标准色板标准值的映射。
式(1)为Sigmoid函数的数学表达式,可见当自变量趋于正无穷时该函数的值趋于1,而当自变量趋于负无穷时其值趋于0,具有非线性饱和的特性,与生物神经元的响应特性非常类似,因而BP神经网络一般选用Sigmoid函数作为激活函数。在神经网络中:x表示前一级往本级的输入;f(x)表示本级的输出。
(1)
Sigmoid函数一阶导数的数学表达式为
f′(x)=f(x)(1-f(x))
(2)
神经网络的输入为
(3)
式中,Rd0、+b0指设备直接测量所得数据,即需要校正的数据。中间各级输出
A(m+1)=f(n(m+1))=f(W(m+1)A(m)+b(m+1))
m=0,1,…,M-1
(4)
式中:M表示神经网络的总层数(m表示第m层);A(m+1)及W(m+1)中的上标表示第m+1层的输出和权重,而不是表示幂数;b(m+1)表示第m+1层神经元的偏置。神经网络的最后一级输出一般直接用A表示,即
在初中班级管理工作中,班主任的作用无比重要且意义重大,班主任的工作用心与否关系到初中生的身心能否健康发展,并且班主任也是整个教学环境中的协调者,多方面关系的纽带和桥梁,因此,班主任应该不断更新教学观念,改变管理方式,从而提高我国中学生的综合素质。
A=A(M)
(5)
BP神经网络最后一层敏感性反向传输的公式为
(6)
式(7)是除最后一层以外的前面各层的敏感性反向传播公式,它与式(4)有明显的差异,因为最后一层使用的是线性函数,而前面各层使用的是Sigmoid函数。
(7)
式中:m=M-1,…,2,1;W(m+1)表示第(m+1)层的权重。
本文中为提高校正的效果,分别使用2个结构相同的神经网络校正Rd和+b及对样品进行分类,校正原理与过程如图4所示;网络结构用于对测量结果进行分类,如图5所示。
图4 比色板数据神经网络校正原理Fig.4 Principle of NN rectification of color board
初始时神经网络的输出结果与期望结果误差较大。为缩小误差,一般采用梯度下降法调节偏置和权重,如下式:
Wm(k+1)=Wm(k)-δsm(Am-1)T
(8)
bm(k+1)=bm(k)-δsm
(9)
式中:Wm表示第m层神经元的权重;bm表示第m层神经元的偏置;sm表示第m层敏感性;δ表示搜索速率。
由图4可知,每条训练数据由4个数组成,前2个数是直接测量得到的Rd、+b,后2个数是比色板的标称值,当把直接测量所得Rd、+b数据(Rd0、+b0)输入神经网络,理论上神经网络的输出应当等于比色板的标称值,初始时神经网络的输出与比色板的标称值一般有较大差异,这就需要用梯度下降法调整神经网络各个节点的权重和偏置值,直至神经网络的输出与比色板标称值的误差小于一定阈值为止。对于50条训练数据,当神经网络的输出都与标称值的误差足够小时,表明神经网络已经训练完成,可以用于实际棉样的测量。
因用于校正的标准色板只有5种,每种色板测量了10次,一共50个校准数据,这就要求神经网络中的未知参数最好不要超过50个,因此本文中采用2个2×4×4×1网络,即2个输入(颜色传感器直接测量到的值),2层Signoid非线性转换层,每层4个元素,1个输出(校正以后的Rd或+b),如图5所示。
图5 非线性校正用神经网络Fig.5 Neural network for nonlinear rectification
3 实验材料和方法
实验主要分4部分进行:实验材料的准备,也就是籽棉试样的制作;用标准色板和人工神经网络对自制色度检测仪做籽棉色域空间测量的可靠性验证;色度检测仪对籽棉色度测量的有效性验证;神经网络对籽棉样品进行分类与识别的正确性验证。
3.1 籽棉样品制作
由于籽棉个体成熟度等品质差异很大,含杂率较高,颜色分布不均匀,很难直接对其颜色等级进行准确测量。现行GB 1103.1—2012《棉花 第1部分 锯齿加工细绒棉》对皮棉分级做了详细的描述和规定,并具有文字标准、实物标准和颜色分级图。而对于籽棉,只是在附录里与各颜色级皮棉对应给出了文字描述,没有实物标准和其他定量依据。本研究所选用的籽棉样品,由河北省纤维检验局、安庆市纤维检验所和蚌埠市纤维检验所协助提供,均是2018年采摘的棉花,产地为新疆、河北、安徽。这些籽棉经过多名棉花检验专家依据籽棉文字标准,结合长期感官检验经验综合定级,制作成实验棉样,含12个颜色级别,包括白棉1级、白棉2级、白棉3级、白棉4级、白棉5级、淡点污棉1级、 淡点污棉2级、淡点污棉3级、淡黄染棉1级、淡黄染棉2级、淡黄染棉3级、黄染棉1级,共480个试样。每个试样放在30 cm ×30 cm的样品框中,备实验使用。黄染棉2级,因实际上基本不存在,未找到棉样。
3.2 色度检测仪对颜色测量的有效性验证
颜色测量是一个很复杂的问题,但并不需要自制检测仪能够实现全色域的颜色测量,只要能做到对籽棉色域空间实现色度准确测量即可。由本行业的经验可知,棉花总体而言是淡黄色的,使用Lab颜色空间的Rd和+b这2个指标,最能代表棉花的色度。皮棉就是使用这2个指标来反映棉花的颜色等级,并在实践中使用了50多年,因此,仅需要少量色板验证检测仪的测色有效性即可。蓝色、绿色等其他不会出现在籽棉中的颜色,不需要用对应色板来校正测色装置。
校准检测仪选用的一套标准色板有5块,分别是:棕色板、黄色板、白色板、灰色板和中色板。具体校准步骤是:对每块色板各测量10次得到测量值,再用前文所述的神经网络校正,作为检测仪对色板的最终测量值,数据见表1。该表中:离差是指测量值的平均值与标准色板值之差;离差百分比指测量值的标准值偏差除以标准值所得百分比。可以看到,反射率与标准值的绝对差值的最大值为0.168,黄度与标准值的绝对差值的最大值为0.031,相对偏差绝对值的最大值分别是0.21%和1.11%,均远小于5%。根据表1的实验数据可以看到,实验数据非常平稳。这反映出就色域测量范围而言,检测仪可以满足籽棉色度的色域检测。
表1 标准色板反射率与黄色深度的测量值和标准值Tab.1 Calibration of reflectance and yellowness measurements of standard color plates
3.3 籽棉色度测量值的有效性验证
自制检测仪能够满足籽棉色域测量要求,并不代表它能满足颜色测量要求,这是由籽棉色度分布特征和颜色测量的原理决定的。首先,籽棉含有杂质,所以其色度分布是不均衡的;再有,颜色传感元件的感光区,只有8 mm大小的窗口,即每次只能测量一个很小区域的颜色。这就是说,对籽棉而言,任意2次测量值不一样的概率很大。因此需要对一个试样进行多点测量,亦对一个试样做多次重复测量,然后取平均值,作为试样的测量值。本研究对各籽棉样品的测试值采用多次测量,然后取其平均值,期望这个平均值是稳定的,可以代表试样的色度。因此,需要证明单个试样合适的重复测量次数,本研究将测量次数设计了10、20、30、40、50次,从每个颜色级各取1个样品,每个样品连续测量50次,然后分别求其10、20、30、40、50次的平均值和标准差,实验数据见表2。对每个样品,通过对标准差的卡方分析发现,当测量次数大于10,其标准差不受测量次数影响。由此可以确认,对籽棉色度测量,每个样品做10次重复测量,并以其平均值作为1个样品的实测数据,是没有问题的。
表2 样品测量次数与结果之间的关系Tab.2 Relation between measurements and results
3.4 籽棉色度的神经网络识别
经过对480个试样的测量,得到480个籽棉颜色(反射率Rd、黄度+b)数据。神经网络识别的基础是对实验数据一定可分类,矛盾的数据一定要非常少,否则识别率会很低,甚至不能识别。分类成功率的高低,不但与基础数据有关,也与网络结构有关。经过反复实验和调整,借助于Python语言中的tensorflow库,建立了如图6所示的实际棉样分类用神经网络。它的输入端是仪器(经过图4的神经网络校正)测量所得色度(Rd、+b)值,输出端是12个棉花颜色级分类(11,21,31,41,51,12,22,32,13,23,33,14)。其中:按照棉花国家标准11、21、31、41、51分别表示白棉1级、白棉2级、白棉3级、白棉4级、白棉5级;12、22、32分别表示淡点污棉1级、2级、 3级;13、23、33分别表示淡黄染棉1级、2级、3级; 14、24分别表示黄染棉1级、2级。神经网络的输出分别以Grade11,Grade12,…,Grade41,Grade51表示。以Grade11为例,理论上若棉样是白棉1级则Grade11应该为1,其余所有输出均为-1。NN1,NN2,…,NN12表示12个子神经网络(neural network,简写为NN),这12个子神经网络组成一个大的能进行12种分类的神经网络。理论上若输入的Rd、+b属于籽棉某个颜色等级,则此颜色等级对应的子神经网络的输出为1,而其余子网络的输出应为-1。显然神经网络的实际输出不可能正好是这2个数。判断时首先看这12个子网络中,有哪些输出是大于0的。从这些输出大于0的子网中选择最大的数所对应子网的颜色等级,作为输入Rd、+b的颜色等级。若12个子网的输出都是负值,表示无法确定此组Rd、+b的颜色等级。经实验测试,若直接将Rd、+b作为神经网络的输入,分类的准确率非常低。因而需要先进行升维操作,将原来的2个数升维为15个数,再将此15个数作为12个子神经网络的输入。
图6 实际棉样分类用神经网络结构Fig.6 Neural network of seed cotton classification
表3示出籽棉样品分类准确率和随机识别率。可以看到实验数据的分类,总体上看效果是非常好的,多数准确率达到95%以上,不过白棉1级和黄染棉3级的分类效果稍微差一些,分类准确率在92%的水平。分类准确率表征了使用神经网络识别的成功率,但并不完全等价,还需要进一步做识别率的实验。先从480项数据中随机挑选80%的数据训练神经网络,再用剩余的96项数据测试神经网络对籽棉颜色等级识别的正确性。可以看到12个颜色等级的识别率都在90%以上,测试结果比较理想。
表3 籽棉样品分类准确率和随机识别率Tab.3 Classification and recognition of seed cotton %
4 结束语
在前期工作的基础上,对光源的选择、颜色传感器的信号采集、软件校正等方面进行了优化设计。经过人工神经网络校正后,对标准色板反射率检测的最大绝对误差为0.168,最大相对误差为0.21%;对标准色板黄色深度检测的最大绝对误差为0.031,最大相对误差为1.11%,检测结果达到了很高的精度。在此基础上,对12个颜色等级480个样品进行了测试,然后采用神经网络方法,实现了颜色等级90%以上的识别准确率。虽然试样量不够非常大,样品产地不够丰富,但实验结果表明,用神经网络方法给籽棉颜色定级并建立相应国家标准,是一个很有希望的方案。后续研究将进一步开展对比验证实验,分析籽棉样品试轧后的皮棉样品的测试结果的对应关系,建立籽棉颜色等级与皮棉颜色等级的关系模型,实现对籽棉颜色等级的准确测量。为真正实现贸易公平、优棉优价、优棉优用,以及实现棉花加工自动化、精细化、智能化控制提供技术依据和数据支撑。