Non-contact Liquid Level Detection Method Based on Multilayer Spiking Neural Network
-
摘要: 尽管基于深度学习的非接触液位检测方法能够较好地完成检测任务,但其对计算资源的较高要求使其不适用于算力受限的嵌入式设备。为解决上述问题,该文首先提出了基于多层脉冲神经网络的非接触液位检测方法;其次,提出了单帧和帧差脉冲编码方法将视频流时间动态性编码成可重构的脉冲模式;最后在实际场景中对模型进行测试。实验结果表明,所提方法具有较高应用价值。Abstract: Although the non-contact liquid level detection method based on deep learning can perform well, its high demand on computational resources makes it not suitable for embedded devices with limited resource. To solve this problem, a non-contact liquid level detection method is first proposed based on multilayer spiking neural network; Furthermore, spiking encoding methods based on single frame and frame difference are proposed to encode the temporal dynamics of video stream into reconfigurable spike patterns; Finally, the model is tested in the real scene. The experimental results show that the proposed method has high application value.
-
1. 引言
在许多工业和科学过程中,测量容器内的液位是一项重要任务。“液位”一般是指透明或非透明容器中液体的表面高度。现有的液位检测方法有基于电容电感[1,2]、电磁[3]、声学[4]、超声波[5]、光纤传感器[6,7]和浮球[8]等方法,但是基于电磁、超声波、光纤的方法不适用于含有泡沫的透明液体或蒸汽和灰尘等液体,基于浮球的方法不适用于黏性液体的液位测量,所有方法均不适用于腐蚀性和高温液体的液位检测[9]。然而,基于机器视觉方法独特的非接触性能有效地避免了这些问题。目前,基于数字图像的方法主要适用于具有特定形状的容器、简单的液位形状以及特定的液体颜色的检测。
随着人工智能(Artificial Intelligence, AI)技术的发展,尤其是深度学习(Deep Learning, DL)在一些认知任务中的表现已经超越了人类,例如,2016年AlphaGo击败了人类顶尖选手李世石,DL作为AlphaGo的主要模块,其强大的逻辑推理能力,引起了学术界的极大关注[10,11]。与此同时,DL也在图像分类[12–14]、目标检测[15,16]、语音识别[17,18]、机器人[19]等领域取得了长足的进步。在中国制造2025背景下,传统设备正在朝着智能化趋势发展,因此一些基于DL的方法也大量用于传统设备的智能化升级改造中。尽管基于DL学习的方法检测结果非常出色,但是,大多数基于DL方法的模型相对复杂且计算成本高,难以满足智能设备对低功耗要求。除此之外,DL所设计的神经元与大脑中神经元的工作模式相差甚远,前者以“重拟合、轻认知”为特点[20]。受脑启发的脉冲神经网络(Spiking Neural Networks, SNNs)作为第3代神经网络,在功耗上远低于传统的DL模型,十分适用于部署到轻量级边缘计算设备上,为机器实现智能化提供了新思路[21,22]。
第3代SNNs不同于第1, 2代人工神经网络,脉冲神经元模拟了生物神经元的脉冲发放机制和信息交换机制。信息交换过程中采用的脉冲序列(Spike Trains, STs)天然地涵盖了时间信息,使SNNs在处理多元时序信号时具有极大优势[23]。现有的深度模型只针对神经系统的模拟信号进行建模,而缺乏对生物神经元脉冲机制的模拟。目前,很多研究SNNs的学者结合DL与SNNs各自的优势,以第3代SNNs为研究对象,探究生物启发的多层SNNs模型、编码方式[24]、模型训练算法[25,26],促进模型在现实世界中的应用。SNNs由生物神经网络启发,其经典的生物可塑性脉冲时间依赖可塑性(Spike Timing Dependent Plasticity, STDP)学习算法[27]在模型学习能力上不如基于误差回传(BP)的深度学习方法,但SNN模型的时序表征能力、事件离散表达能力以及低功耗、低延迟等特性对工程应用十分重要。因此,Xu等人[28]在模型构建方面,提出了混合模型框架deep CovDenseSNN。此模型在编码阶段充分利用CNNs的特征提取能力,在学习阶段沿用了SNNs的无监督学习规则来处理特征;在神经编码方面,他们提出了一种转换编码框架,将多模态传感器信息编码为神经元发放的脉冲,然后利用脉冲重构输入刺激[29]。
基于此,我们结合深度模型的层次结构和SNNs的脉冲发放机制,提出一种多层SNNs的非接触液位检测方法。在模型构建方面,首先我们提出的方法并不是一个混合模型,充分利用了SNNs的优势;其次在神经编码方面,由于本文面向非接触液位检测问题,所提出的编码方法沿用了原有的神经编码原理,通过SNNs网络将输入信号进行编码和解码。本文所提出的模型首先将连续输入的图片像素转化为脉冲序列,不仅考虑了静置容器与动态液面之间的关系,突出容器与液面之间的区别,而且保证只有液面产生变化时产生脉冲信号,减少了神经网络的总体脉冲数量,降低了计算复杂度。本文的主要工作:
(1)针对深度模型计算成本高的问题,提出了一种轻量级的无接触液位检测方法;
(2)为解决杯体边缘与液面距离不断变化的问题,提出了单帧和帧差两种编码方法;
(3)基于所提的方法,创建了非接触液面检测数据集来验证模型的有效性。
本文的其余部分安排如下:第2节介绍液面检测的相关工作;第3节重点介绍所提模型构建方法以及实现方式;第4节介绍数据集制作过程以及对实验结果分析和总结;最后对所提方法进行总结。
2. 相关工作
许多研究者基于计算机视觉方式实现非接触式检测技术已经做了大量工作,主要可以划分为基于传统的数字图像处理技术和基于DL的方法。
基于传统的数字图像处理技术是利用多种常见的数字图像处理技术实现非接触式检测与识别。任明武等人[30]通过将标尺插入河水中拍摄刻度图像来检测河流水位来解决水汛期堤坝防守看护的问题,该方案首先拍摄标尺图像,然后对含有水位线的标尺图像进行形状校正,其次使用沈俊算子[31]获取边缘并使用链码跟踪去除无用边缘,最后将去除无用边缘后图像进行垂直投影获得水位线出现位置。黄玲等人[32]将标杆应用到测量透明瓶装液体上,标杆图像在透过透明液体后成像出现光路折射,利用此原理在透明瓶中搜索图像中标尺发生扭曲位置即为当前液位高度。李博文[33]从取水杯上方拍摄水杯,并利用Hough圆变换的原理,检测水杯内液位高度,研究出了取水杯智能水位检测系统。上述几种方法主要通过传统的图像处理算法,需要人为设计特征提取器、很强的专业理论知识支撑以及复杂的调参过程,每种方法都是针对具体应用设计,模型泛化能力和鲁棒性较差。
DL可以自动学习多尺度、多层次表示,并处理大规模数据。近年来,由于其强大的自动特征学习和分类能力,一些研究人员试图将DL引入非接触检测领域中。卷积神经网络(Convolutional Neural Network, CNN)作为最流行的DL模型之一,已广泛用于图像处理,它可以从高维中学习可识别的特征。廖赟等人[34]基于CNN网络提出了一种水位检测方法,利用ResNet50对输入图像进行特征提取,根据提取到的特征绘制当前水位线位置。Jiang等人[35]提出了一种使用CNN对相机捕获的RGB图像进行训练,执行非接触式检测食品水平的方法,以检测商店购买的容器中的食物水平。Wang等人[36]基于声学成像和CNN的滚动轴承非接触式故障诊断方法,使用麦克风阵列来获取滚动轴承辐射的声场,利用波叠加法(Wave Superposition Method, WSM)进行声学成像,利用CNN模型对输入图像进行特征提取。Qiao等人[37]为解决基于图像分析的水表读取方法存在的场景适应性差、鲁棒性弱等问题,提出了一种基于YOLOv5s的水位检测方法。该方法利用YOLOv5s提取原始视频图像中的水尺区域和所有标度特征区域,利用图像处理技术识别水面线的位置,然后计算实际水位高程。梁霄等人[38]提出了一种基于深度学习的红外图像液位检测方法,此方法需要结合红外图像采集设备来实现非接触检测。Huang等人[39]为了减轻静脉输液回血患者的痛苦,提出了一种基于深度学习的液位检测模型,该模型的检测准确率达到了97.68%。
尽管基于深度学习的模型为非接触液面检测领域取得了较好的结果,但各种方法却以大量的训练时间和硬件资源为代价。这些模型不能满足现代实际应用中超低消耗的要求。
3. 基于脉冲机制的非接触液位检测方法
3.1 问题描述
本文所研究的非接触液面检测系统包括容器、摄像头、液体加注器、容器内液体,如图1(a)所示。在预设场景下,我们发现向容器加注液体到液位到达与容器边缘同高的过程具有以下两个特征:
(1)在整个加注过程中,一旦容器被放置在固定平台上开始等待加注,则容器相关图像信息,如容器本体相对于图像视野中的位置、容器俯视角边缘位置等固定信息将不再发生变化,直到加注工作结束。此时,容器将处在相对静止状态,不仅符合实际应用场景,也符合化工、制药等行业中对实验室液体加注的基本安全规范。
(2)在加注装置加注过程中,随着加注液体体积的增大,图像帧流中液体的相对位置、液体亮度、液面反射以及其与加注水柱之间的互相扰动持续发生变化,这与整个加注过程中容器位置、图像特征相对静止的状态产生明显差异。
加注装置向液体容器不断加注的过程中,液体液面不断上升,视频采集装置获取得到的视频数据因物理光学原因使得加注液面与容器边缘存在碰撞距离,该碰撞过程和碰撞距离具备可被探测的数据基础,如图1(b)和图1(c)所示。根据这一现象,将非接触液面检测问题转化为动态液位边缘(Dynamic Level Edge, DLE)与静态容器边缘(Static Container Edge, SCE)的碰撞检测问题(Collision Detection Problem, CDP)。为了解决CDP问题,需要抽取原始视频中的容器边缘和液面边缘,本文中结合视频的空间和时间特性分别设计了静态容器边缘检测方法与液位边缘动态检测方法,利用脉冲滑动窗口获取脉冲信息最终实现目标问题的求解。
3.2 模型框架
本文所提出基于多层脉冲神经网络的非接触液位检测框架的总体结构如图2所示,模型结构一共分为6层。输入层实时接收摄像头采集到的视频信息,将输入的数据分别进行脉冲编码。在编码层,利用单帧图片的静态特性得到容器边缘信息,结合视频流动态时序特性得到液面信息。检测层针对容器边缘层使用具有侧向抑制的方法来提取容器边缘信息,而对液面边缘则只是根据“帧差”信息提取不断扩大的液面信息,并没有使用具有侧向抑制的方法,这可以通过LIF神经元的生物特性对噪声进行抑制使得提取的特征更光滑。在时空同步层,根据多个LIF感受野获取脉冲信息将时间与空间特征相结合。特征融合层综合考察局部(液面边缘)变化与全局(容器边缘)不变性之间关系并将两种进行编码融合,所提编码方法成功捕捉了特征间的差异性,为后续决策输出提供依据。最后在决策输出层依据神经元点火频率实现非接触式液面检测任务。
3.2.1 神经元模型
目前,SNN普遍采用LIF神经元[40]作为构建神经网络的基本单元,因其既具备IAF模型[41]的简单易用性,又能像H-H神经元模型[42]那样模拟生物神经元丰富的生理学特性。LIF神经元用一个线性微分方程来描述神经元膜电位变化过程,式(1)定义了常见的LIF模型
τmdVmemdt=−Vmem+Vrest+RmI(t) (1) 此时,模型中的电流I(t)是由通过一个电阻R的电流IR和通过一个电容C的电流组成IC:I(t)=IR+IC = (Vmem−Vrest)/Rm+Cm(dVmem/dt)。Vmem表示膜潜能值,τm=RmCm表示膜时间参数。神经元内膜潜能值会随着时间t进行累积,当达到阈值Vth时,会发放一个脉冲(Spike),随后它将被重置到静息电位,在接下来的数个时间步中进入绝对不应期,神经元不再对外界输入进行响应。
3.2.2 脉冲编码层
SNN与ANN的数据表示不同,信息是通过固定的动作电位或SNN中的脉冲来表示和交换的。脉冲序列的发射速率和时间结构都被认为是生物神经系统中的重要信息载体。如对液面检测问题的分析和模型框架所示,脉冲编码层主要有2个子层,其中容器边缘编码层从单帧视频图像中提取容器边缘信息,液面编码层从帧差图像中提取液面变化信息。本文基于脉冲时间的阈值编码(Threshold Coding, TC)思想,提出了单帧编码方法和帧差编码方法,如图3所示。
图3(a)展示了对视频流信息的单帧脉冲编码方法,上图展示编码具体流程;视频流经过Canny算子与单帧TC编码形成单帧脉冲编码。下图为编码视频流示意图,单帧编码更加关注视频流中不变特征,此通道上脉冲编码更容易表征容器边缘信息。图3(b)展示了对视频流信息的帧差脉冲编码方法,上图展示视频流经过帧差计算后的TC编码形成脉冲序列。下图为编码视频流示意图,帧差编码更加关注视频流中帧差变化信息,此通道上脉冲编码更容易表征容器中液面随时变化信息。
(1)单帧编码方法
假定图像采集装置采集到视频流的分辨率为N×N、帧速率为F、视频持续时间为T、帧采样间隔为G。根据图像采集装置相关参数,需要将采集到图像灰度化,此时图像可以抽象为一个3维(N×N×S)矩阵M,其中S=T/G。此时,M矩阵中的图像使用Canny算子提取图像边缘,得到当前图像边缘矩阵E,为避免噪声影响,丢弃视频流中的第1帧图像,因此边缘提取矩阵E的形状为:N×N×(S−1)。在得到边缘提取矩阵E之后进行TC编码,编码过程如式(2)所示
sti,j={1, pti,j>θ0, pti,j≤θ (2) 其中,θ表示脉冲编码阈值;pti,j表示边缘图像矩阵E中t时第t帧的序号;i,j表示边缘图像当前位置;sti,j表示单帧编码后产生的脉冲序列,即t时第t帧的边缘图像在i,j位置的脉冲值。边缘矩阵E在脉冲化后需要在首帧前添加一个全0的脉冲静息帧,目的是得到一个N×N×S的3维0−1的单帧编码脉冲序列Ssgl。此时,Ssgl不仅兼容SNN对于输入信号的要求,而且在时序上凸显了输入图像不断变化的关键信息。如上节所述,由静态容器具有位置不变性,Ssgl经过TC编码后静态容器开口边缘的特征将被增强。因此,单帧编码算法能够有效提取和增强容器边缘特征,为碰撞检测提供基础。
(2)帧差编码方法
为捕捉视频帧之间液面变化情况,本文采取对输入视频流进行帧差脉冲编码的方法。对视频流矩阵M在相邻两帧图像之间进行帧差计算,同时对计算结果进行TC编码,如式(3)所示
fti,j={1, |vti,j−vt−1i,j|>θ0, |vti,j−vt−1i,j|≤θ (3) 其中,θ表示脉冲编码阈值;当t>1时,vti,j表示边缘视频流中t时第t帧在i,j位置的像素点值;fti,j表示在单帧编码后t时第t帧的帧差图像中在i,j位置的像素脉冲值。由于液体在加注过程中,液面边缘呈不断向外扩增趋势,以一个伴随时序变化的图像差异在视频的逐帧之间体现。对于单帧编码用于检测杯口边缘,由静态容器具有位置不变性,不会随时间变化而变化,此时只需关注图像内的空间信息;而帧差编码方法不仅需要时时关注液面变化还需要体现出液面的空间信息,因此,帧差编码出来的脉冲模式既有时间信息又有空间信息。最终,单帧边缘脉冲矩阵对容器边缘进行脉冲空间编码,帧差脉冲矩阵对液面边缘进行了脉冲时空编码,模型将以上两组不同脉冲编码模式作为下游子模块的输入。
3.2.3 检测层
在特定输入层中,神经元的排布方式与输入脉冲序列的像素拓扑组织方式一致,即每个输入层具备N×N个LIF神经元,每一个神经元接受输入脉冲数据中特定位置像素的脉冲序列。由于边缘输入脉冲序列需要避免拓扑位置相邻神经元的错误点火导致边缘特征被放大。具有侧向抑制的脉冲层主要是提取容器边缘信息,接收矩阵S_single的输入。因此,将该神经元层内突触强度进行设置,保证非边缘神经元不会被误激活,具体突触配置方式如式(4)所示
wei,j,m,n={−1, d((i,j),(m,n))≤10, d((i,j),(m,n))>1 (4) wei,j,m,n表示具有侧向抑制的脉冲层中神经元(i,j)到神经元(m,n)的突触权重,d((i,j),(m,n))为神经元(i,j)和神经元(m,n)之间的欧氏距离。此配置方式是为避免与正确边缘位置相邻的其他边缘神经元点火,所采取的一种简单的层内局部抑制机制。神经元抑制过程如图4所示。
3.2.4 时空同步层
为了将脉冲序列时间特征与空间特征相结合,在时空同步模块设计了一种滑动的感受野核,用来统计感受野中所有输入层神经元的脉冲发放情况,当神经元发放脉冲的数量大于所设定的阈值Vth时,则发放脉冲,如式(5)所示
si,j={0, ∑k∈RFi,jfk≤Vth1, ∑k∈RFi,jfk>Vth (5) 其中,si,j表示时空同步层中滑窗所在位置i,j神经元的点火情况;RFi,j表示感受野在i,j位置的集合;Vth表示脉冲神经元脉冲发放阈值,其中,该层的容器边缘阈值为Vth(ves),液面边缘阈值为Vth(liq)。时空同步层将同时对容器边缘与液面边缘进行计算,其中滑动窗口尺寸均为k×k。
3.2.5 特征融合层
设计特征融合层同时接收时空同步后的数据,该层LIF神经元配置个数为N×N,每一个神经元对等接收时空同步层的神经元的输入,输入权重均为1,如图5所示。该层目的是将相同图像像素位置的“容器边缘特征”与“液面边缘特征”加以重合,若以上两组特征足够接近,则触发对应融合层神经元点火。因此,融合层特定位置神经元点火的行为表示在该位置出现了容器边缘与液面边缘的碰撞。在特定时间步t时,融合层的多个神经元同时点火表示多组图像提取后区域出现容器边缘与液面边缘碰撞信号。
3.2.6 决策与输出层
为有效检测融合层共同发放的神经元群,将融合层所有神经元以全连接的方式连接到一个输出神经元,输出神经元的激活函数为简单阶跃函数,如式(6)所示
O={1 , S > f (S=N∑i=1N∑j=1xij)0 , 其他 (6) 将S设定为融合层中当前时刻所有神经元的点火情况,f为决策输出层神经元在融合层点火神经元数目,如果S超过f时将会被激活,表明此时液面已经达到了与容器边缘接近高度。此时,决策输出层神经元的信号发放也代表整个算法结束。
4. 实验与分析
4.1 数据集制作
在进行基于多层脉冲神经网络的非接触液位检测方法的研究中,需要制作水杯数据集来获得模型的超参数,如点火阈值Vth、感受野尺寸。图像采集装置采集到视频流的分辨率为120×120、帧速率(fps)为25、视频持续时间为10 s、帧采样间隔为0.2 s。
在制作数据集前期我们采购不同颜色、形状、透明度、容量的杯子若干。水杯包括但不限于玻璃杯、阔口保温杯、不透明塑料杯、不锈钢杯、瓷杯、马克杯、纸杯、木杯等各种材质和颜色的杯子,还有圆形、方形、异形等不同形状。采集环境为无烟尘,无直射光,光线充足且稳定的室内,室温15~30°C。通过家用饮水机向杯子进行加水操作,同时利用V831硬件模组中的摄像头组件采集接水过程的图像数据,通过WiFi模块向服务器传输数据,采集装置如图6所示。
数据集制作过程中为保证问题建模和模型设计的鲁棒性,我们通过引入控制模块对摄像头安装位置进行设置。通过控制模块可以随机设置加注装置在采集图像中的方向,目的是向数据集中加入噪声,全方位地模拟了真实场景中在非接触接水过程中可能发生的每一种情况。同时,此操作也对图像数据预处理、图像数据编码、图像分割等子模块提出了挑战。每种水杯类型样本数量见表1。
表 1 各类型样本数量水杯类型 样本数量 玻璃杯 231 保温杯 30 不锈钢杯 93 马克杯 102 瓷杯 180 不透明塑料杯 102 纸杯 63 本数据集共采集到8种类型水杯在3种液体容量下的图像816张,其中8种类型的水杯包括玻璃杯、保温杯、不锈钢杯、马克杯、瓷杯、不透明塑料纸杯以及木杯,综合考察了“不同材质”、“不同形状”以及“杯体是否透明”对所提模型的影响。杯体内液体少于20%样本有174张,容量在20%~70%的样本有426张,大于70%的样本有216张。
为了提高模型的泛化能力,我们采用了常见的单张图像增强的方法对采集到的数据进行数据集扩增。本文使用了几何变换(平移、翻转、裁剪)、颜色空间变换(对比度、亮度、饱和度)以及像素点操作(模糊、锐化、加噪声)等多种图像增强算法。在保证样本标签的前提下,对每一个样本使用上述9种操作,此时,扩展后的数据集的样本量是原始数据集的9倍,样本从原来的816张图像变为7344张图像。
4.2 评估指标
所提出的方法能够识别水杯中水体状态:未满、满水。满水,是指水杯内水体超过杯内容积70%的状态,或者指杯内水面与杯子上沿的距离小于等于20 mm的状态。未满是指“满水”之外的其他状态。我们使用准确率(Precision) P来评估我们所提算法的性能。针对同一材质的同一容积范围内的不同杯子,算法识别到水体状态是未满和满水,P的定义为式(7)
P=12∑iPi (7) Pi=TPTP + FP (8) 其中,TP表示算法识别到第i类同时实际情况也是第i类的数量;FP表示算法识别到第i类,但实际情况不是第i类的数量。当水杯内的水满时,模型要给机器发出停水信号终止注水,那么及时停水提示率Ps公式为
ps=T/(T+F) (9) 其中,T为通过测试即水面未溢出杯口;F为测试失败即水面溢出。
4.3 模型参数
基于问题分析与模型设计,本文所提方法主要通过参数搜索来确定本模型中的超参。影响模型准确率的参数主要有:感受野核尺寸k和脉冲计数阈值S。为此,我们通过在k,S的适当取值范围中进行搜索,寻找在当前数据集下较优参数组合。神经元的个数设定取决于输入图片的尺寸,即N=120,实验中对感受野尺寸k值从3~8进行测试,在保证其他参数保持不变时,感受野步长为1。实验中采用日常生活中较为常见的瓷杯与纸杯,当水面超过水杯容器的70%的测试情况,表2给出了两种材质的停水准确率。
表 2 参数k在注水量>70%时平均停水率感受野尺寸k 纸杯(%) 瓷杯(%) 3 80 83 4 87 85 5 92 92 6 90 89 7 85 87 8 87 80 由表2所示,可见随脉冲计数感受野的尺寸从3开始增大,当其取值达5时,在纸杯容器和瓷杯容器70%注水量的平均停止准确率达到峰值92%。对于其他容器材质、目标注水容量百分比,也进行相应感受野参数k的优选,最终确定参数k为5。
由于不同容器材质在容器边缘编码层、容器边缘检测层等网络构件中所产生的容器边缘脉冲模式不同,因此需要结合各种材质的平均停水准确率对决策与输出层中脉冲计数阈值进行参数筛选,根据决策输出层前一层输入特征尺寸,决定在脉冲计数阈值130~160以步长为5进行参数寻优。在感受野核寻优实验下,继续测试脉冲计数阈值S在取值不同的情况下,模型停水准确率如表3所示。
表 3 参数S在注水量>70%时平均停水率脉冲计算阈值 纸杯(%) 瓷杯(%) 130 79 77 135 85 84 140 90 89 145 92 92 150 92 87 155 84 81 160 85 86 如表3所示,当输出与决策层脉冲计数阈值S从130开始,我们发现S的上升导致停水准确率上升,当S取值超过145之后,停水准确率在两种容器上均出现了下降。因此,选取S=145作为脉冲计数阈值。根据以上参数筛选过程,最终确定模型使用参数,如表4所示。
表 4 模型参数取值层 参数名称 参数值 容器边缘 TC编码阈值 0.5 液面编码层 TC编码阈值 0.5 容器边缘检测层 LIF神经元放电阈值 11 液面检测层 LIF神经元放电阈值 6 容器边缘检测层 侧向抑制范围 1 时空同步层 感受野尺寸k 5 输出与检测层 脉冲计数阈值 145 4.4 模型测试
为测试所提算法在实际应用场景是否可以真正实现机器自助接水,即用户将水杯放置在饮水机出水口下方,饮水机开始向杯体内注水,待杯内水体快满时停止注水,防止杯内水体溢出。表5列出在不同水量下的测试结果。在测试过程中,硬件模组可以通过GPIO控制LED灯调整亮度,结合摄像头模组能够实时获取图片数据,利用WiFi实现在同一局域网下服务器端与硬件设备端数据的实时交互。硬件实现方面使用嵌入式模组实时采集饮水机注水情况,具体的硬件间如何实现互联不在本文作详细介绍;软件环境则使用Maxipy3作为开发平台,Visual Studio Code作为应用软件进行测试。
表 5 测试结果序号 操作描述 数据示例 容器边缘编码 液面边缘编码 1 开始注水 2 <20%水量 3 20%~70%水量 4 >70%水量 根据测试用例,我们发现当采用不透明的纸杯进行模型测试时,刚开始注水时,模型能够较好地识别杯体边缘和液体,而随着持续注水,容器边缘编码受部分液体的影响产生了部分噪声。因此,后期在模型使用时,只进行一次单针编码。根据式(1)和式(2)计算出杯子容量与杯子材质之间准确率,根据式(3)计算出算法给出停水提示时,水面未溢出的概率即及时停水提示率Ps,如表6所示。
表 6 杯子容量—材质阶梯准确率及时停水提示率(%)容积材质 <20%水量 20%~70%水量 >70%水量 P Ps P Ps P Ps 马克杯 90 96 92 97 93 97 瓷杯 90 96 92 97 92 97 不透明塑料杯 90 96 93 97 95 97 纸杯 90 96 91 97 92 97 木杯 90 96 91 97 92 97 玻璃杯 – – 90 97 90 97 不锈钢水温杯 89 96 90 97 92 97 保温杯 – – 82 97 85 97 锥形玻璃杯 – – 82 81 83 81 注:表中的“–”表示该类型杯子在市面上不常见,无法采购得到。 5. 结束语
在本文中,我们首先提出了基于多层脉冲神经网络的非接触液位检测方法;其次,受脉冲阈值思想启发,提出了单帧和帧差脉冲编码方法。网络通过二进制的脉冲序列进行信息表示和交换,这有助于硬件实现。最后,在硬件设备的支持下,对所提算法在高、中、低款的不同类型水杯下进行模型测试。实验结果表明,本文所提出的算法从模型应用角度出发,能够实现智能化接水功能即达到杯满即停的效果,对实现设备智能化具有现实意义。在未来,我们继续将脉冲神经网络应用于非接触液位检测其他领域,实现传统设备向智能化升级。
-
表 1 各类型样本数量
水杯类型 样本数量 玻璃杯 231 保温杯 30 不锈钢杯 93 马克杯 102 瓷杯 180 不透明塑料杯 102 纸杯 63 表 2 参数k在注水量>70%时平均停水率
感受野尺寸k 纸杯(%) 瓷杯(%) 3 80 83 4 87 85 5 92 92 6 90 89 7 85 87 8 87 80 表 3 参数S在注水量>70%时平均停水率
脉冲计算阈值 纸杯(%) 瓷杯(%) 130 79 77 135 85 84 140 90 89 145 92 92 150 92 87 155 84 81 160 85 86 表 4 模型参数取值
层 参数名称 参数值 容器边缘 TC编码阈值 0.5 液面编码层 TC编码阈值 0.5 容器边缘检测层 LIF神经元放电阈值 11 液面检测层 LIF神经元放电阈值 6 容器边缘检测层 侧向抑制范围 1 时空同步层 感受野尺寸k 5 输出与检测层 脉冲计数阈值 145 表 5 测试结果
序号 操作描述 数据示例 容器边缘编码 液面边缘编码 1 开始注水 2 <20%水量 3 20%~70%水量 4 >70%水量 表 6 杯子容量—材质阶梯准确率及时停水提示率(%)
容积材质 <20%水量 20%~70%水量 >70%水量 P Ps P Ps P Ps 马克杯 90 96 92 97 93 97 瓷杯 90 96 92 97 92 97 不透明塑料杯 90 96 93 97 95 97 纸杯 90 96 91 97 92 97 木杯 90 96 91 97 92 97 玻璃杯 – – 90 97 90 97 不锈钢水温杯 89 96 90 97 92 97 保温杯 – – 82 97 85 97 锥形玻璃杯 – – 82 81 83 81 注:表中的“–”表示该类型杯子在市面上不常见,无法采购得到。 -
[1] AREEKATH L, LODHA G, KUMAR SAHANA S, et al. Feasibility of a planar coil-based inductive-capacitive water level sensor with a quality-detection feature: An experimental study[J]. Sensors, 2022, 22(15): 5508. doi: 10.3390/s22155508 [2] ISLAM T, MAURYA O P, and KHAN A U. Design and fabrication of fringing field capacitive sensor for non-contact liquid level measurement[J]. IEEE Sensors Journal, 2021, 21(21): 24812–24819. doi: 10.1109/jsen.2021.3112848 [3] ISMAEL M A, LAFTAH R M, and FALIH M N. Measurement of liquid level in partially-filled pipes using a noise of electromagnetic flowmeter[J]. Al-Qadisiyah Journal for Engineering Sciences, 2018, 10(4): 550–564. doi: 10.30772/qjes.v10i4.504 [4] 王路平, 魏勇, 汪玉祥, 等. 井下动液面声波信号处理方法研究[J]. 电子测量技术, 2021, 44(22): 87–95. doi: 10.19651/j.cnki.emt.2107326WANG Luping, WEI Yong, WANG Yuxiang, et al. Research on acoustic signal processing method of downhole moving liquid level[J]. Electronic Measurement Technology, 2021, 44(22): 87–95. doi: 10.19651/j.cnki.emt.2107326 [5] 贾静, 吉娇, 檀洋阳, 等. 基于超声波的液面位置测量方法研究[J]. 应用物理, 2022, 12(5): 233–238. doi: 10.12677/app.2022.125026JIA Jing, JI Jiao, TAN Yangyang, et al. Research on liquid level position measurement method based on ultrasonic wave[J]. Applied Physics, 2022, 12(5): 233–238. doi: 10.12677/app.2022.125026 [6] HE Runjie, TENG Chuanxin, KUMAR S, et al. Polymer optical fiber liquid level sensor: A review[J]. IEEE Sensors Journal, 2022, 22(2): 1081–1091. doi: 10.1109/jsen.2021.3132098 [7] LIAO Kaiyu, LI Yulong, LEI Min, et al. A liquid level sensor based on spiral macro-bending plastic optical fiber[J]. Optical Fiber Technology, 2022, 70: 102874. doi: 10.1016/j.yofte.2022.102874 [8] WEI Minghui, DENG Zigang, ZHENG Jun, et al. Magnetic float liquid level detection method for high-temperature superconducting flux-pinning maglev system[J]. IEEE Transactions on Applied Superconductivity, 2022, 32(4): 9000105. doi: 10.1109/tasc.2021.3131398 [9] LAN Yanling, HAN Ding, BAI Fengshan, et al. Review of research and application of fluid flow detection based on computer vision[C]. Proceedings of the 4th International Conference on Computer Science and Application Engineering, Sanya, China, 2020: 127. [10] SILVER D, HUANG A, MADDISON C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484–489. doi: 10.1038/nature16961 [11] SILVER D, SCHRITTWIESER J, SIMONYAN K, et al. Mastering the game of Go without human knowledge[J]. Nature, 2017, 550(7676): 354–359. doi: 10.1038/nature24270 [12] LI Shutao, SONG Weiwei, FANG Leyuan, et al. Deep learning for hyperspectral image classification: An overview[J]. IEEE Transactions on Geoscience and Remote Sensing, 2019, 57(9): 6690–6709. doi: 10.1109/tgrs.2019.2907932 [13] CHAN T H, JIA Kui, GAO Shenghua, et al. PCANet: A simple deep learning baseline for image classification?[J]. IEEE Transactions on Image Processing, 2015, 24(12): 5017–5032. doi: 10.1109/tip.2015.2475625 [14] ZHANG Jianpeng, XIE Yutong, WU Qi, et al. Medical image classification using synergic deep learning[J]. Medical Image Analysis, 2019, 54: 10–19. doi: 10.1016/j.media.2019.02.010 [15] JIAO Licheng, ZHANG Ruohan, LIU Fang, et al. New generation deep learning for video object detection: A survey[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022, 33(8): 3195–3215. doi: 10.1109/tnnls.2021.3053249 [16] 贺丰收, 何友, 刘准钆, 等. 卷积神经网络在雷达自动目标识别中的研究进展[J]. 电子与信息学报, 2020, 42(1): 119–131. doi: 10.11999/JEIT180899HE Fengshou, HE You, LIU Zhunga, et al. Research and development on applications of convolutional neural networks of radar automatic target recognition[J]. Journal of Electronics &Information Technology, 2020, 42(1): 119–131. doi: 10.11999/JEIT180899 [17] ESMAEILPOUR M, CARDINAL P, and KOERICH A L. Multidiscriminator sobolev defense-GAN against adversarial attacks for end-to-end speech systems[J]. IEEE Transactions on Information Forensics and Security, 2022, 17: 2044–2058. doi: 10.1109/tifs.2022.3175603 [18] ALI A, CHOWDHURY S, AFIFY M, et al. Connecting Arabs: Bridging the gap in dialectal speech recognition[J]. Communications of the ACM, 2021, 64(4): 124–129. doi: 10.1145/3451150 [19] 廖昭洋, 胡睿晗, 周雪峰, 等. 基于时空混合图卷积网络的机器人定位误差预测及补偿方法[J]. 电子与信息学报, 2022, 44(5): 1539–1547. doi: 10.11999/JEIT211381LIAO Zhaoyang, HU Ruihan, ZHOU Xuefeng, et al. Prediction and compensation method of robot positioning error based on spatio-temporal graph convolution neural network[J]. Journal of Electronics &Information Technology, 2022, 44(5): 1539–1547. doi: 10.11999/JEIT211381 [20] 张铁林, 徐波. 脉冲神经网络研究现状及展望[J]. 计算机学报, 2021, 44(9): 1767–1785. doi: 10.11897/sp.j.1016.2021.01767ZHANG Tielin and XU Bo. Research advances and perspectives on spiking neural networks[J]. Chinese Journal of Computers, 2021, 44(9): 1767–1785. doi: 10.11897/sp.j.1016.2021.01767 [21] LUO Xiaoling, QU Hong, WANG Yuchen, et al. Supervised learning in multilayer spiking neural networks with spike temporal error backpropagation[J]. IEEE Transactions on Neural Networks and Learning Systems, To be published. [22] MAASS W. Networks of spiking neurons: The third generation of neural network models[J]. Neural Networks, 1997, 10(9): 1659–1671. doi: 10.1016/S0893-6080(97)00011-7 [23] 胡一凡, 李国齐, 吴郁杰, 等. 脉冲神经网络研究进展综述[J]. 控制与决策, 2021, 36(1): 1–26. doi: 10.13195/j.kzyjc.2020.1006HU Yifan, LI Guoqi, WU Yujie, et al. Spiking neural networks: A survey on recent advances and new directions[J]. Control and Decision, 2021, 36(1): 1–26. doi: 10.13195/j.kzyjc.2020.1006 [24] HAN Bing and ROY K. Deep spiking neural network: Energy efficiency through time based coding[C]. 16th European Conference on Computer Vision, Glasgow, UK, 2020: 388–404. [25] ZHANG Lei, ZHOU Shengyuan, ZHI Tian, et al. TDSNN: From deep neural networks to deep spike neural networks with temporal-coding[C]. Proceedings of the 33rd AAAI conference on artificial intelligence, Honolulu, USA, 2019: 1319–1326. [26] KIM Y and PANDA P. Optimizing deeper spiking neural networks for dynamic vision sensing[J]. Neural Networks, 2021, 144: 686–698. doi: 10.1016/j.neunet.2021.09.022 [27] CAPORALE N and DAN Yang. Spike timing-dependent plasticity: A Hebbian learning rule[J]. Annual Review of Neuroscience, 2008, 31: 25–46. doi: 10.1146/annurev.neuro.31.060407.125639 [28] XU Qi, PENG Jianxin, SHEN Jiangrong, et al. Deep CovDenseSNN: A hierarchical event-driven dynamic framework with spiking neurons in noisy environment[J]. Neural Networks, 2020, 121: 512–519. doi: 10.1016/j.neunet.2019.08.034 [29] XU Qi, SHEN Jiangrong, RAN Xuming, et al. Robust transcoding sensory information with neural spikes[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022, 33(5): 1935–1946. doi: 10.1109/TNNLS.2021.3107449 [30] 任明武, 杨万扣, 王欢, 等. 一种基于图像的水位自动测量新方法[J]. 计算机工程与应用, 2007, 43(22): 204–206. doi: 10.3321/j.issn:1002-8331.2007.22.061REN Mingwu, YANG Wankou, WANG Huan, et al. New algorithm of automatic water level measurement based on image processing[J]. Computer Engineering and Applications, 2007, 43(22): 204–206. doi: 10.3321/j.issn:1002-8331.2007.22.061 [31] SHEN Jun and CASTAN S. An optimal linear operator for step edge detection[J]. CVGIP:Graphical Models and Image Processing, 1992, 54(2): 112–133. doi: 10.1016/1049-9652(92)90060-b [32] 黄玲, 张叶林, 胡波, 等. 基于机器视觉的透明瓶装液体液位自动检测[J]. 自动化与仪表, 2012, 27(2): 57–60. doi: 10.3969/j.issn.1001-9944.2012.02.016HUANG Ling, ZHANG Yelin, HU Bo, et al. Automatic detection of liquid level in transparent bottle based on machine vision[J]. Automation &Instrumentation, 2012, 27(2): 57–60. doi: 10.3969/j.issn.1001-9944.2012.02.016 [33] 李博文. 基于机器视觉的饮水机取水杯液位检测系统开发研究[D]. [硕士论文], 华南理工大学, 2019.LI Bowen. Development of the machine vision-based liquid level detection system[D]. [Master dissertation], South China University of Technology, 2019. [34] 廖赟, 段清, 刘俊晖, 等. 基于深度学习的水位线检测算法[J]. 计算机应用, 2020, 40(S1): 274–278. doi: 10.11772/j.issn.1001-9081.2019081360LIAO Yun, DUAN Qing, LIU Junhui, et al. Water line detection algorithm based on deep learning[J]. Journal of Computer Applications, 2020, 40(S1): 274–278. doi: 10.11772/j.issn.1001-9081.2019081360 [35] JIANG Yijun, SCHENCK E, KRANZ S, et al. CNN-based non-contact detection of food level in bottles from RGB images[C]. 25th International Conference on Multimedia Modeling, Thessaloniki, Greece, 2019: 202–213. [36] WANG Ran, LIU Fengkai, HOU Fatao, et al. A non-contact fault diagnosis method for rolling bearings based on acoustic imaging and convolutional neural networks[J]. IEEE Access, 2020, 8: 132761–132774. doi: 10.1109/access.2020.3010272 [37] QIAO Guangchao, YANG Mingxiang, and WANG Hao. A water level measurement approach based on YOLOv5s[J]. Sensors, 2022, 22(10): 3714. doi: 10.3390/s22103714 [38] 梁霄, 李家炜, 赵小龙, 等. 基于深度学习的红外目标成像液位检测方法[J]. 光学学报, 2021, 41(21): 2110001. doi: 10.3788/AOS202141.2110001LIANG Xiao, LI Jiawei, ZHAO Xiaolong, et al. Infrared target imaging liquid level detection method based on deep learning[J]. Acta Optica Sinica, 2021, 41(21): 2110001. doi: 10.3788/AOS202141.2110001 [39] HUANG Zeyong, LI Yuhong, ZHAO Tingting, et al. Infusion port level detection for intravenous infusion based on YOLO v3 neural network[J]. Mathematical Biosciences and Engineering, 2021, 18(4): 3491–3501. doi: 10.3934/mbe.2021175 [40] MAASS W and BISHOP C M. Pulsed Neural Networks[M]. Cambridge: MIT Press, 2001. [41] LAPICQUE L. Recherches quantitatives sur l’excitation electrique des nerfs traitee comme une polarization[J]. Journal of Physiol Pathol Générale, 1907, 9: 620–635. [42] HODGKIN A L and HUXLEY A F. A quantitative description of membrane current and its application to conduction and excitation in nerve[J]. The Journal of Physiology, 1952, 117(4): 500–544. doi: 10.1113/jphysiol.1952.sp004764 期刊类型引用(1)
1. 何赟泽,张天安,邓堡元,王洪金,王耀南. 基于双阈值的ANN-SNN转换方法优化. 计算机测量与控制. 2024(11): 271-277 . 百度学术
其他类型引用(0)
-