光学学报, 2020, 40 (13): 1306001, 网络出版: 2020-07-09   

利用神经网络实现多模光纤传输散斑的识别 下载: 945次

Realization of Recognition for Multi-Mode Optical Fiber Transmission Speckle Using Neural Network
作者单位
北京交通大学光波技术研究所全光网络与现代通信网教育部重点实验室, 北京 100044
摘要
搭建实验平台,把26个字母的图像传入光纤,并在输出端采集散斑图。把散斑图展开到HSV色彩空间中,单使用V分量进行分类能达到不错的分类准确率,且能缩减训练时长。在预处理后,分别使用具有不同层数卷积结构的神经网络、卷积神经网络和支持向量机(CNN+SVM)算法、SVM算法对散斑图进行分类。测试结果发现,使用4420张散斑图作为训练集,3层卷积结构的神经网络的识别准确率为88%,4层卷积结构的神经网络的识别准确率为95%,CNN+SVM算法的识别准确率为98%,而SVM算法的识别准确率达到了100%。实验结果表明,把机器学习算法应用在光信号上,同样可以对多模光纤散斑图进行分类,当图像特征相对明显时,直接使用SVM算法对光纤输出散斑进行识别,可以大大提升多模光纤输出散斑图的识别准确率。
Abstract
Setting up an experimental platform, we transmit images of 26 letters to the optical fiber and collect the speckle patterns at the output end. When the speckle patterns are expanded into HSV color space, the single use of V component can achieve good classification accuracy and reduce training time for classifying speckle patterns. After pre-processing, the network with convolution of different layers, the convolutional neural network and support vector machine (CNN+SVM) algorithm, and SVM algorithm are used to classify speckle patterns. The test results show that using 4420 speckle patterns as a training set, recognition accuracy rate of neural network with convolution of three layers can reach 88%, recognition accuracy rate of neural network with convolution of four layers is 95%, recognition accuracy rate of CNN+SVM algorithm is 98%, and recognition accuracy rate of SVM algorithm can reach 100%. The experimental results show that some machine learning algorithms applying to optical signals can classify speckle patterns in multi-mode optical fiber. When the image characteristics are relatively obvious, direct use of SVM algorithm to identify the optical fiber output speckles can greatly improve the recognition accuracy of multi-mode optical fiber output speckle patterns.

1 引言

光纤主要应用于通信、医学成像、传感器等领域。在医学成像方面,光纤常用于呼吸道、食道、尿道及无损手术操作的内窥镜成像[1]。在通信技术方面,为增加信息吞吐量,通过多模光纤(MMF)中的并行信道传输信息。多模光纤是一种高散射介质,相干光在其中的传输方向会被打乱,在光纤远端输出随机的图案,且因为多模光纤中传输模式居多,输出图案容易受到外界环境及模间色散的影响[2]。当在光纤输入端加入图案投影时,在光纤的输出端得到的往往是失去图案信息的散斑图。为了更好地识别多模光纤远端的散斑图,早期使用光纤传输矩阵计算的方式尝试恢复和识别远端的散斑图[2],但是随着深度学习技术的飞速发展,采用卷积神经网络(CNN)识别远端的散斑图成了最新的解决方案[3]

将多模光纤作为强散射介质来传输图像的方法首次在1967年被提出[4],而后使用两层神经网络就可识别10幅不同的散斑图[5]。Borhani等[6]使用U-NET模型对输入图像进行重建,然后利用CNN对输入端加入的10个数字的光斑进行分类,准确率达到了98%左右。此外,Wang等[7]在多模光纤的输入端加入有人脸和没有人脸两种不同类型的图片,利用AlexNet模型和支持向量机(SVM)相结合的方式,实现了两种不同类型图片的分类。由于多模光纤在传输光信号时受很多外在因素影响,输出端采集到的散斑图波动非常大,这就给多分类处理增加了难度,但是神经网络依然可以对有噪声的信号进行重建和分类。

本文基于识别多模光纤散斑图需要的计算时长和准确率的关系,从散斑图的角度出发,对输入神经网络的散斑图进行简单的图像分析,同时比较不同的CNN层数对识别结果的影响;而且使用SVM算法、CNN+SVM算法、决策树和K值临近网络(KNN)等传统机器学习算法对散斑进行了分类识别,根据实验结果,统计每种算法的分类准确率和运行时间来评估不同算法对散斑的识别性能。

2 实验和原理

实验系统结构如图1所示。光源使用的是红光激光笔,光源经凸透镜L1后,输入光变成平行光;然后加入有字母形状的隔板B,光通过隔板后,输入光信号携带了字母的信息;携带有图像信息的光信号经凸透镜L2在物镜处(MO1)会聚;在光纤远端加入另一个物镜(MO2),经过长度为10 m的多模光纤后,光信号被电荷耦合器件(CCD,USB CCD SN#23421型,北京弈德威电子科技有限公司)捕捉。光纤的直径为200 μm,数值孔径为0.37;MO1和MO2都是40×的物镜;凸透镜L1和L2的直径均为25.4 mm,焦距为100 mm。

图 1. 实验系统结构

Fig. 1. Structure of experimental system

下载图片 查看所有图片

将采集到的数据集分为26组,每组对应一个字母,每组字母采集200幅图片,输入端和输出端的图片分别如图2图3所示。图2为多模光纤输入端的10张图片,图3为多模光纤远端采集到的图像。远端得到的散斑图是人眼无法识别和区分的,而且在长时间的观测中发现,光纤远端采集到的图像波动非常大,但这种波动并不会影响最后的分类结果。两端采集到的图片大小为256×256,实验中把5200张照片分为训练集、测试集及验证集,在每一组中抽取10张共选取260张图片作为实验的测试集,其余图片作为训练集和验证集。

图 2. 光纤输入端的图片

Fig. 2. Pictures at input end of optical fiber

下载图片 查看所有图片

图 3. 光纤输出端采集到的散斑图

Fig. 3. Speckle patterns collected at output end of optical fiber

下载图片 查看所有图片

CNN是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一[8],可以对输入图像信号进行特征提取,图4为CNN提取到的不同多模光纤输出散斑的特征。CNN由卷积层、池化层、全连接层构成,图5为一次卷积操作的过程。输入端输入一张大小为64×64的图片和5×5×n的卷积核,其中5×5是卷积核的大小,n为卷积核的个数,为保证卷积后图片大小不变,在卷积前加入Padding层对图片进行补0操作。卷积后图片大小的计算公式为

N=W-α+2PS+1,(1)

式中:W是输入图片的大小;α是卷积核的大小;P是Padding层图片的像素数;S是卷积核每次向前移动的步长[9]

图 4. 神经网络输出的特征图

Fig. 4. Feature pictures of neural network output

下载图片 查看所有图片

图 5. 图片卷积计算原理图

Fig. 5. Schematic of picture convolution calculation

下载图片 查看所有图片

图 6. CNN原理图

Fig. 6. Schematic of CNN

下载图片 查看所有图片

卷积核的计算原理可以表述为

f(x,y)·g(x,y)=n1=-αα n2=-ααf(n1,n2)×g(x-n1,y-n2),(2)

式中:f(n1,n2)是原始图像中的一部分;g(n1,n2)是卷积核;n1n2均是卷积区域的卷积像素点;(x,y)是图片中的点坐标。

经一次卷积后生成的特征图的规格为64×64×n,再通过最大池化层,卷积的规格变成32×32×n。引入激励函数(ReLU)是为了减少网络的计算量,同时ReLU会使一部分神经元的输出为0,这样就使网络具有稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题[10]

f(x)=max(0,xi),(3)yi=f(iwixi+b),(4)

式中:xiyi分别是神经元的输入和输出;wi是网络的权重分量;b是偏置量;i是神经元的个数。

图6所示,以三层卷积神经网络为例,光纤散斑图在神经网络中传输后依次经过三个卷积池化层,最后输出若干张特征图,输出特征图的个数取决于卷积核的数目。再使用m个大小为1×1的卷积核和特征图进行卷积,假设每一张特征图的大小是k×k,则卷积后每一张特征图中可以得到k2个特征值,记作xi。全连接层输出为zj,因为实验共有26种不同的散斑图,故1≤j≤26。其中,

zj=wjxi+b,(5)y^=Softmax(zj)=Softmax(ωTx+b),(6)lloss=-1iiyilogy^,(7)

式中:ω是网络的权重; y^是神经网络的输出预测值;wj是每个神经元传递给下个神经元对应的权重;lloss是神经网络预测散斑的损失函数。(7)式给出了损失的计算方法,神经网络通过优化器不断减小lloss来生成权重ω,以达到学习的目的。将训练好的神经网络用于测试时,可以根据训练好的权重得到一组zj,再通过Softmax函数就可以得到该散斑图的预测值 y^

为了与深度学习的方法比较,使用SVM算法对光纤输出散斑进行识别。SVM算法被广泛应用于机器学习和各种监督学习中。在本次实验中,使用SVM算法对实验采集到的图片进行直接分类,同时也尝试在CNN后加入SVM分类器对特征图进行分类[11]图7为SVM算法的计算原理,其中“×”型样本代表+1,“O”型样本代表-1,b代表直线的截距,d代表两条线之间的距离。

图 7. SVM计算原理图

Fig. 7. Schematic of SVM calculation

下载图片 查看所有图片

设一条直线,该直线可以把两种不同的样本分隔开,并令这条直线满足约束条件:

ωTx+b1,yi=1,(8)ωTx+b-1,yi=-1,(9)

在满足约束条件的情况下,令两条直线的间隔达到最大值,这时就可以对两种不同样本进行分类。

在此基础上引出SVM算法进行多分类,如果SVM算法要对多个样本进行分类,则相当于每两个类之间需要进行一次二分类的SVM,原理如图8所示。其中dAB是A、B两类的决策边界,dAC是A、C两类的决策边界,dBC是B、C两类的决策边界。在得到三个决策边界后,根据约束条件和每个二分类的决策边界,就可以得到多分类的决策边界。

图 8. SVM多分类原理图。(a)分类前;(b)分类后

Fig. 8. Schematic of SVM multi-classification. (a) Before classification; (b) after classification

下载图片 查看所有图片

3 分析与讨论

对于多模光纤输出的散斑图,Borhani等[6]在输入神经网络时采用的是单通道输入,而Wang等[7]将多模光纤的散斑图映射到红色(R)、绿色(G)、蓝色(B)、Alpha四通道的色彩空间。每增加一个通道就意味着增加了计算机训练的计算量,为使输入散斑图时网络更加合理高效,就需要优化输入,去除冗余信息。对一幅散斑图进行色彩空间分解,可以得到其RGB三通道的像素值统计直方图,如图9所示。

图 9. 光斑图RGB颜色像素统计直方图。(a)红色分量;(b)绿色分量;(c)蓝色分量

Fig. 9. Statistical histograms of RGB color pixels in speckle patterns. (a) Red component; (b) green component; (c) blue component

下载图片 查看所有图片

图9可以看到,散斑图的R、G、B三个分量的像素值分布情况基本相同,三个通道可以合并成一个通道输入到神经网络中。H、S、V三个通道分别代表色调、饱和度、明度。其中V通道值的计算公式为

表 1. 不同色彩分量输入网络时的训练性能及时间

Table 1. Training performance and time of each color component when inputted into network

ContentRGB channelHSV channelH componentS componentV component
Accuracy /%94.692658295
Time /s164164125126126

查看所有表

表 2. 神经网络的训练性能及时间

Table 2. Training performance and time of neural networks

Number of training picturesNeural network with convolution of three layersNeural network with convolution of four layersCNN+SVMSVM
Accuracy /%Time /sAccuracy /%Time /sAccuracy /%Time /sAccuracy /%Time /s
200341045127018847
500551371237426887
1000641983407753968
20007536919688769613
3500845394120941219918
44208877951279813610024

查看所有表

v=maxR255,G255,B255,(10)

式中:RGB分别是红、绿、蓝三个颜色分量的值。散斑图中RGB三通道的像素值相似,所以取三者归一化后的最大值,该最大值可以代表图像的像素信息。在此基础上,把RGB通道映射到HSV色彩空间,得到的散斑图如图10所示。

图10中4种不同形式的色彩空间输到图11的4层卷积的神经网络中,取4420张图作为训练集进行训练,得到的测试结果如表1所示。

表1可知,针对26种不同的散斑,把HSV三通道输入神经网络后训练得到的预测准确率略低

图 10. 散斑图映射到HSV通道的色彩图。(a)HSV空间;(b)色调分量;(c)饱和度分量;(d)明度分量

Fig. 10. Color maps obtained by speckle patterns mapped to HSV channel. (a) HSV space; (b) hue component; (c) saturation component; (d) lightness component

下载图片 查看所有图片

于RGB通道,但是把V分量单独分离出来输入网络后发现,预测准确率和RGB通道基本相同,而且所用时间更短。由此直接使用V分量对输出散斑图进行训练和分类,这样可以提高训练效率。

接下来对比不同散斑图识别方法的优劣性。首先对比具有不同卷积层数的神经网络的分类效果,图11分别为4层卷积的网络结构和3层卷积的网络结构。对于光纤输出的特征图,在不改变网络输出特征图大小的情况下,3层卷积结构的神经网络在每次输入4420张图片的情况下,经过500次迭代训练后,识别准确率达到了88%,训练时长为77 s;而4层卷积结构的神经网络在经过500次迭代训练后准确率达到了95%,训练时长为127 s。这两种神经网络都能很好地区分和识别光纤的散斑图。之后还尝试5层卷积神经网络的分类情况,由于分类效果已经十分优越,再次加深网络层数后,训练准确率并没有得到大的提高,反而增加了训练时长。

图 11. 神经网络结构图。(a)4层卷积;(b)3层卷积

Fig. 11. Structures of neural network. (a) Four-layer convolution; (b) three-layer convolution

下载图片 查看所有图片

图12所示,当光信号经CNN传输后,在最后一个卷积层得到的是大小为8×8×128的26个不同字母的输出特征图。现用SVM对输出的特征图进行训练和分类,网络训练的准确率为98%,这证明SVM同样可以对多个相似的输出特征图进行分类。

图 12. 使用SVM的神经网络结构图

Fig. 12. Neural network structure diagram using SVM

下载图片 查看所有图片

当用于训练的图片数目不同时,训练准确率同样会波动。分别使用具有3层和4层卷积结构的神经网络、CNN+SVM算法及SVM算法对不同数量的训练集进行分类,得到的分类结果如表2所示。

表2可知,更深层的神经网络可以达到更好的训练准确率,但是同时会延长训练时间。四种算法的复杂度从简到繁依次为SVM算法、3层卷积神经网络、4层卷积神经网络、CNN+SVM算法,随着算法复杂程度的增加,神经网络的训练时长也增加。训练集中图片数目的增加会使网络训练准确率增加,要保证26个英文字母的多模光纤输出散斑图能够被识别,以识别准确率80%为及格线,则3层卷积神经网络需要约3500张图片,4层卷积神经网路需要1000张图片,CNN+SVM算法需要约2500张图片,SVM算法需要约200张图片。与具有不同卷积的神经网络相比,CNN+SVM算法的识别准确率都没有较大提升,而SVM算法在更短的时间内达到了更好的训练效果。

为探究单独使用SVM等机器学习算法对散斑图进行识别的可行性,利用K值临近网络(KNN)和决策树这两种机器学习算法对未经过预处理的散斑图进行分类,实验中使用4420张散斑图作为训练集、520张图作为测试集。测试结果为,KNN的训练时长为17 s,分类准确率为97%;决策树的训练时长为35 s,分类准确率为67%。结果验证了使用机器学习直接对多模光纤输出散斑图进行分类的可行性,并且,使用SVM算法对散斑图进行分类是一种准确率高且性能优异的方法。如果待分类的散斑特征可以被划分并存在一条清晰的决策线,那么散斑就可以被区分,当散斑种类数增加或不同散斑特征的相似性增加,那么使用SVM等机器学习算法来识别散斑会存在一定的局限性。

4 结论

通过对多模光纤输出散斑图进行识别的实验,证实了多模光纤输出的散斑图可以被神经网络识别。通过对光纤散斑图进行预处理,把RGB三通道图像映射到HSV空间中,发现选择V通道作为神经网络的输入通道可以达到较好的训练效果。在卷积层输出特征图大小相等的情况下,具有4层卷积结构的神经网络在识别准确率上要高于3层卷积神经网络,同时也需要更长的训练时间。在全连接层的输出端,把Softmax分类器改为SVM分类器后发现,在多分类的情况下,SVM对输出的特征向量有较好的分类效果。在最后的测试中,使用SVM算法对散斑图进行分类时发现,SVM算法不仅能更快地区分输入的散斑图,而且具有极高的分类准确率。这是因为在实验过程中,光路和光纤的状态都十分稳定,光纤末端得到的散斑图波动小;在光纤的输入端加入的光信号的区分度高,字母和数字都有极高的辨识性。但是如果输入的光信号比较复杂,使用SVM算法直接对输出光斑进行分类时,准确率会大幅下降[12]。所提方法可以应用于医疗诊断和失真通信信号的修复方面,未来还可以把机器学习技术用于光纤弯曲检测以及多模光纤非线性传输信号识别等领域[13],实现更多的功能。

参考文献

[1] Flusberg B A, Cocker E D, Piyawattanametha W, et al. Fiber-optic fluorescence imaging[J]. Nature Methods, 2005, 2(12): 941-950.

[2] Kim M, Choi W, Choi Y, et al. Transmission matrix of a scattering medium and its applications inbiophotonics[J]. Optics Express, 2015, 23(10): 12648.

[3] Takagi R, Horisaki R, Tanida J. Object recognition through a multi-mode fiber[J]. Optical Review, 2017, 24(2): 117-120.

[4] Borhani N, Kakkava E, Moser C, et al. Learning to see through multimode fibers[J]. Optica, 2018, 5(8): 960-966.

[5] Aisawa S, Noguchi K, Matsumoto T. Remote image classification through multimode optical fiber using a neural network[J]. Optics Letters, 1991, 16(9): 645.

[6] Borhani N, Kakkava E, Moser C, et al. Learning to see through multimode fibers[J]. Optica, 2018, 5(8): 960-966.

[7] Wang P, Di J L. Deep learning-based object classification through multimode fiber via a CNN-architecture SpeckleNet[J]. Applied Optics, 2018, 57(28): 8258-8263.

[8] Rahmani B, Loterie D, Konstantinou G, et al. Multimode optical fiber transmission with a deep learning network[J]. Light: Science & Applications, 2018, 7: 69-73.

[9] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.

[10] Chen Z, Ho P H. Global-connected network with generalized ReLU activation[J]. Pattern Recognition, 2019, 96: 106961.

[11] Cherkassky V, Ma Y Q. Practical selection of SVM parameters and noise estimation for SVM regression[J]. Neural Networks, 2004, 17(1): 113-126.

[12] Richardson D J, Fini J M, Nelson L E. Space-division multiplexing in optical fibres[J]. Nature Photonics, 2013, 7(5): 354-362.

[13] Kraus O Z, Grys B T, Ba J, et al. Automated analysis of high-content microscopy data with deep learning[J]. Molecular Systems Biology, 2017, 13(4): 924.

卢顺, 谭中伟, 刘艳, 杨婧雅, 张利伟, 牛慧. 利用神经网络实现多模光纤传输散斑的识别[J]. 光学学报, 2020, 40(13): 1306001. Shun Lu, Zhongwei Tan, Yan Liu, Jingya Yang, Liwei Zhang, Hui Niu. Realization of Recognition for Multi-Mode Optical Fiber Transmission Speckle Using Neural Network[J]. Acta Optica Sinica, 2020, 40(13): 1306001.

本文已被 4 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!