改进Faster RCNN模型在棉花异性纤维识别中的应用 下载: 819次
1 引言
棉花中的异性纤维[1]是影响棉花质量的主要因素之一,在纺纱和织布过程中会导致纱线断裂和出现疵点等[2],国标GB 1103—2012中规定异性纤维含量是棉花等级评价的重要指标。异性纤维种类繁多,且各类异性纤维的理化性质不同[3],在纺纱和织布过程中产生的疵点数量及其危害程度相差较大[4],因此,基于机器视觉技术对每批棉花中的各类异性纤维进行识别,能获得各类异性纤维的含量,可以综合评定每批棉花的整体质量。
目前,国内外对异性纤维的检测主要采用基于机器视觉技术的检测方法[5-8],而对分类方法的研究较少。杨文柱等[9]使用彩色和黑白相机分别检测彩色和白色异性纤维,利用多特征多分类器集成的模糊方法进行分类,平均分类准确率可达到80%。Wang等[10]建立BP神经网络模型,对棉花中异性纤维的红色(R)、绿色(G)、蓝色(B)通道均值进行训练;利用概率统计方法计算特征向量的绝对值和方差,实现对棉花中异性纤维的分类。刘双喜等[11]将异性纤维轮廓的面积与周长平方之比作为力矩,根据不同种类异性纤维的力矩差别进行分类,分类准确率达到96%。Zhang等[12]基于最小冗余-最大相关性的特征选择方法确定异性纤维近红外高光谱图像中的最佳光谱波段;利用选定的最佳波长,使用线性判别分析和支持向量机(SVM)对异性纤维进行分类,其准确率达到95%以上。王金星等[13]利用改进的离散型粒子群算法,实现了对异性纤维特征的快速选择,且分类准确率达到93%。Du等[14]提出一种基于异性纤维颜色的分类模型,应用聚类方法实现异性纤维的分类。对异性纤维分类的研究成果主要分为两类:一类是基于异性纤维的颜色、形状和纹理等人工设计特征,结合聚类方法或分类器对异性纤维进行分类,但异性纤维特征具有多样性,且特征提取时受不同生产环境下光照的影响较大,人工设计的特征不具有普适性。同时异性纤维在图像中面积占比很小,需要将整幅图像分成小块才能确定异性纤维的位置。另一类是基于光谱信息差异进行分类,但光谱成像和光谱信息的获取速度较慢,而且设备成本较高,难以应用于实际生产环境的异性纤维识别。
相对于传统方法,深度学习方法通过对大量有标签样本进行训练,自主学习可以区分不同目标的最优特征,实现目标识别。当前,已有研究人员将深度学习目标识别技术应用到农业中,并取得了较好的效果。谭文学等[15]基于深度学习神经网络实现了苹果果体的病虫害智能监控。赵德安等[16]基于机器视觉和YOLOv3深度学习网络结构实现了水下河蟹识别。熊俊涛等[17]基于Faster RCNN网络实现了对树上绿色柑橘的识别。孙钰等[18]基于SSD目标检测框架实现了油松受害情况的检测。同时,深度学习技术已应用在各行业的研究中[19-29]。现在较为常用的网络主要有Faster RCNN、SSD、YOLO、Mask RCNN等,它们都有较为突出的特点,但上述模型都是针对Pascol VOC、COCO等竞赛类大数据集进行设计,数据集中目标的类间差距较大,类内差距较小,很难将模型直接应用到异性纤维识别中。
本文采用深度学习方法实现棉花中异性纤维的分类识别,将塑料薄膜、化学纤维、丙纶丝和羽毛4种最常见的异性纤维作为研究对象,提出基于Faster RCNN的网络框架,将改进的残差网络(ResNet)[30]作为异性纤维图像的特征提取部分,并基于k-means++[31]算法对候选框尺寸和数量进行改进,实现了小尺寸、大长宽比和密集分布等情况下异性纤维的自动化识别和定位,为综合评定棉花质量等级提供技术支持。
2 异性纤维数据集建立
2.1 图像采集
实验材料由北京大恒图像视觉有限公司提供,主要为湖北谷城银纺公司等10个棉纺企业的实际生产中从棉花中剔除的异性纤维,实验原材料如
2.2 数据增强
利用深度学习网络对样本进行训练时,经常出现网络层数较深且数据量不足导致模型过拟合的现象,为了保证训练后模型的泛化能力和识别效果,需要大量带有标签的数据样本。而图像采集耗时较长,因此采用数据增强手段对原始数据集进行扩充。
图 1. 实验材料。(a)实验原材料;(b)挑选出的材料
Fig. 1. Experimental materials. (a) Experimental raw materials; (b) selected materials
图 2. 图像采集设备和样本示例。(a)图像采集设备;(b)小尺寸样本;(c)中尺寸样本;(d)大尺寸样本;(e)密集分布样本
Fig. 2. Image acquisition equipment and sample examples. (a) Image acquisition device; (b) small size sample; (c) medium size sample; (d) large size sample; (e) densely distributed sample
异性纤维方向性的变化不会引起种类的改变,而棉花背景具有原始颜色的确定性,因此通过对图像进行翻转、亮度和对比度变换,以及放大后随机裁剪,将原始数据量扩增6倍,总样本图像数量为2800幅。
2.3 数据集建立
原始图像尺寸过大,导致模型训练时计算量增加,在不影响细节特征的情况下,将所有图像尺寸转换为640 pixel×468 pixel。使用labelImg软件标注图像,标注框为矩形,标注内容包括每个异性纤维的位置和种类。标注时以外接矩形进行位置标注,尽量减少标注框的背景信息,防止模型训练时将背景中的其他非异性纤维特征当作异性纤维特征进行学习,造成模型训练收敛困难和误检率提高。
图像标注信息采用Pascal VOC数据集[26]的格式,文件中包含所标注图像在计算机中的地址、图像尺寸、矩形标注框左上角和右下角坐标以及标注的种类。选取2400幅图像作为训练集,400幅图像作为测试集。训练集和测试集图像中都包含不同尺寸、种类、数量和分布的异性纤维。
3 异性纤维识别方法
棉花中异性纤维的尺寸、形状、颜色和分布具有很大的随机性,本研究基于Faster RCNN目标检测框架,使用残差网络代替原始的VGG16网络作为异性纤维图像的特征提取器,并对区域建议网络(RPN)进行改进,综合提高模型性能。
3.1 Faster RCNN网络结构
Faster RCNN是由生成目标候选框的RPN和利用这些候选区域的Fast RCNN目标检测器组成,将整个目标候选区域提取、深度特征提取、目标识别和检测过程融入到一个深度神经网络模型中,在保证检测精度的同时提高了处理速度。
首先将特征提取网络生成的一系列异性纤维特征图导入RPN,然后在每个3×3卷积核滑窗中心生成多个尺寸比例的候选框(anchors),最后分为候选框分类(cls)和位置回归(reg)两个支路。在候选框分类支路中,根据候选框与标记框(GT)的交并比(IOU),将候选框分为正样本和负样本,即含有异性纤维的目标和棉花背景。交并比的计算公式为
式中:RIOU为候选框与标记框的交并比;KGT为标记框;Aanchors为候选框。
训练时正、负样本数量应尽量相等,这有利于提高分类器区分正、负样本的性能,RPN在筛选出的正、负样本中各取128个进行训练。但当正样本数量不足时,则由负样本补齐。棉花中异性纤维面积占比较小,容易导致正、负样本不均衡,因此将与标记框重合最大或交并比超过60%的候选框标记为正样本,交并比小于20%的标记为负样本,其余样本不参与训练。RPN的损失函数分为异性纤维分类损失Lcls和边界框回归损失Lreg两部分,整体损失函数为
式中:i为候选框次序;pi为预测第i个候选框为正样本的概率;
将训练学习到的候选框位置与尺度变化规则应用到正样本候选框上,使其更接近标记框,再将特征图中的候选框映射回原图,并剔除严重超出边界的候选框。通过非极大抑制(NMS)方法对候选框进行筛选,输出建议框并将其作用于特征提取网络生成的特征图,直接提取出对应区域的特征,并用这些特征进行目标类别和边界框的预测。
3.2 改进的特征提取网络
为提高异性纤维模型的识别效果,理论上增加网络层数可以起到很好的效果,但模型训练时需要通过网络将误差反向传播进行权重更新,不断增加网络深度会使反向传播的梯度发生弥散或消失,导致训练误差增大。而残差网络采用捷径连接的方法将输入与输出进行叠加,加深其网络深度,提升模型识别效果,但训练模型的计算量和难度并没有提高。残差模块结构如
由
式中:σ为ReLU激活函数;W1为第一层网络权重;W2为第二层网络权重;WS为输入权重,以保持输入与输出维度一致。
若‖F(x)‖=0,输入与输出为恒等映射;若‖F(x)‖≠0,F(x)则作为残差模块需要学习的差别部分,也可以看作是恒等映射的扰动。使用ResNet-50作为异性纤维图像的特征提取器,由于部分异性纤维尺寸较小且密集出现,将原始ResNet-50特征提取步长由16 pixel减小为8 pixel,以提高特征提取密度,从而提升小尺寸异性纤维的检测效果。
3.3 基于k-means++方法改进候选框生成尺寸
原始RPN生成的候选框有三种规格,分别为128,256,512 pixel,每种规格的长宽有三个比例,分别为1∶1、1∶2和2∶1,共生成9种尺寸的候选框。由于数据集差异,原始候选框的尺寸和长宽比不能完全满足异性纤维数据集的要求。本研究采用k-means++算法对标记框的尺寸和长宽比进行分析,以避免k-means算法随机初始化聚类中心造成结果不可靠的问题。取聚类中心数k=12对标记框尺寸进行聚类,标记框尺寸聚类分析如
为满足数据集中样本尺寸要求,确定生成候选框的规格为64 pixel和128 pixel,长宽比为1∶1、1∶2、1∶3、1∶4、2∶1、3∶1和4∶1,改进前、后候选框生成尺寸对比如
表 1. 标记框聚类中心尺寸和长宽比
Table 1. Size and aspect ratio of the cluster center of mark box
|
图 5. 改进前、后候选框生成尺寸对比。(a)(b)改进前;(c)(d)改进后
Fig. 5. Comparison of anchors generation size before and after improvement. (a)(b) Before improvement; (c)(d) after improvement
4 实验与结果分析
4.1 模型训练与评价
以ResNet-50作为图像特征的提取网络,训练时采用小批量训练方式,每批次包含10幅图像,每训练一批图像,网络中各层权重值更新一次。同时使用随机梯度下降算法
为了验证模型的有效性,采用准确率A、精确率P、召回率R和F1得分等指标对模型进行评价,计算公式为
式中:i为异性纤维种类代号;NTP,i为正确识别的第i类异性纤维的数量;NFP,i为第i类之外的异性纤维和背景被预测为第i类异性纤维的数量;NFN,i为第i类异性纤维被预测为第i类之外异性纤维和背景的数量。
图像中异性纤维被识别出的认定标准以识别时具体判定为某类异性纤维的概率大小和识别框与标记框的重合程度来判断。通过分析样本情况,若正确判定异性纤维种类且判定概率和识别框与标记框的交并比同时超过50%,即认定该异性纤维被识别。
4.2 不同尺寸异性纤维的识别
由于异性纤维的尺寸呈现多样性,为进一步测试训练模型对异性纤维的识别能力,对不同种类、不同尺寸的异性纤维进行测试。以外接矩形的长边长度为标准,将异性纤维尺寸分为小、中、大3个等级,对应尺寸分别为<100 pixel、100~150 pixel和>150 pixel。训练后模型对不同尺寸异性纤维的识别评价参数如
棉层凸起处在光源照射下呈现高亮斑块,与较小尺寸且接近透明的塑料薄膜和丙纶丝具有相似性,因而出现了少量的误判。棉团相连处和多个相互粘连的丙纶丝可能会被误判为小尺寸化学纤维,从而导致精度值下降。而羽毛与棉花背景的差异较大,只在小尺寸异性纤维中出现漏检,在其他尺寸中的精确率和召回率都达到了100%。
表 2. 不同尺寸异性纤维识别评价参数
Table 2. Identification and evaluation parameters of different sizes of foreign fibers
|
典型识别错误示例如
4.3 模型有效性验证
为验证改进模型的有效性,采用改进前、后模型对4种异性纤维进行识别,改进前、后模型评价参数如
表 3. 改进前、后模型评价参数
Table 3. Model evaluation parameters before and after improvement
|
4.4 不同方法检测效果对比
为进一步验证改进后模型对棉花异性纤维识别的可靠性,分别与YOLOv3、SSD和HOG+SVM方法进行对比。YOLOv3是将DarkNet作为特征提取网络,通过3个不同尺度的特征图对目标物进行回归预测,该网络结构具有较好的实时性和较高的检测精度。SSD是一种单向多框检测器,基于前馈卷积网络,其产生固定大小的边界框集合和框中对象类别的分数,并通过非极大值抑制生成最终检测。HOG+SVM方法首先通过颜色空间归一化、梯度计算、方向梯度直方图(HOG)和重叠块直方图归一化提取出图像中目标物的HOG特征,并通过SVM对这些特征进行分类。
图 7. 改进前、后模型识别效果示例。(a)漏检,Faster RCNN;(b)误判为两个异性纤维,Faster RCNN;(c)重复识别,Faster RCNN;(d)未漏检,Faster RCNN Pro;(e)识别为一个异性纤维,Faster RCNN Pro;(f)未重复识别,Faster RCNN Pro
Fig. 7. Examples of model detection effect before and after improvement. (a) Missed detection in Faster RCNN; (b) misjudged as two foreign fibers in Faster RCNN; (c) repeat recognition in Faster RCNN; (d) not missed in Faster RCNN Pro; (e) recognized as a foreign fiber in Faster RCNN Pro; (f) not re-identified in Faster RCNN Pro
不同模型的评价参数对比如
表 4. 不同模型评价参数对比
Table 4. Comparison of different model evaluation parameters
|
5 结论
基于改进的Faster RCNN异性纤维识别模型通过自主学习训练集中的样本特征,避免了人工设计特征的局限性,实现了对4种异性纤维的准确分类和定位。
1) 针对棉花中最常见的4种异性纤维建立数据集,并通过数据增强手段进行数据集扩充,有效避免了训练过程中的过拟合。
2) 基于Faster RCNN目标识别框架,使用ResNet-50代替原有的VGG16网络作为图像的特征提取部分,同时将特征提取步长由16 pixel改为8 pixel,并基于k-means++方法对原始候选框的尺寸和比例进行改进,提高了小尺寸和密集出现异性纤维的识别效果。
3) 改进后的模型在验证集上的准确率达到94.24%,精度为98.16%,召回率为95.93%,F1分数为0.970,具有较好的识别效果。
4) 通过对比改进前、后模型的识别结果,发现改进后的模型对小尺寸、大长宽比和密集出现情况下的异性纤维识别效果要优于原始模型。相对于原始模型,改进后模型的准确率、精度、召回率和F1分数分别提高了3.21%、0.90%、2.51%和0.017。同时,与YOLOv3、 SSD模型和HOG+SVM方法进行对比发现,YOLOv3、SSD模型的识别效果与改进后的Faster RCNN模型识别效果较为相近,HOG+SVM方法效果最差,改进后的Faster RCNN识别效果最优。
经实验验证,Faster RCNN Pro可以准确地对典型异性纤维进行分类和定位,其分类识别率明显提高。
[1] 国家质量监督检验检疫局. 棉花细绒棉: GB 1103—2012[S]. 北京: 国家标准化管理委员会, 2012.
National QualitySupervision, Inspection and Quarantine Bureau. Fine cotton cotton: GB 1103—2012[S]. Beijing: National Standardization Management Committee, 2012.
[2] 盖文桥, 徐雷, 丁曰东. 浅析棉花异性纤维形成的原因、分类、危害和解决措施[J]. 中国纤检, 2017( 9): 85- 86.
Gai WQ, XuL, Ding YD. Causes, classification, harm and solutions of foreign fibers in cotton[J]. China Fiber Inspection, 2017( 9): 85- 86.
[3] 周志超. 异性纤维含量等级评价模型的构建[D]. 天津: 天津工业大学, 2019.
Zhou ZC. Construction of the evaluation model of the content grade of foreign fiber[D]. Tianjin: Tianjin Polytechnic University, 2019.
[4] 罗永恒, 杜玉红, 刘仁杰, 等. 粗集理论用于棉花异纤归类识别的讨论[J]. 棉纺织技术, 2015, 43(9): 73-76.
Luo Y H, Du Y H, Liu R J, et al. Discussion on rough set theory for classification and recognition of foreign fiber in cotton[J]. Cotton Textile Technology, 2015, 43(9): 73-76.
[5] 韦平, 张林, 刘翔, 等. 籽棉中异性纤维的双光源成像检测方法[J]. 纺织学报, 2017, 38(4): 32-38.
Wei P, Zhang L, Liu X, et al. Detecting method of foreign fibers in seed cotton using double illumination imaging[J]. Journal of Textile Research, 2017, 38(4): 32-38.
[6] 师红宇, 管声启. 基于视觉注意计算模型的棉花异性纤维检测[J]. 东华大学学报(自然科学版), 2016, 42(3): 400-405.
Shi H Y, Guan S Q. Cotton foreign fibers detection based on visual attention computational model[J]. Journal of Donghua University(Natural Science), 2016, 42(3): 400-405.
[7] 何晓昀, 韦平, 张林, 等. 基于深度学习的籽棉中异性纤维检测方法[J]. 纺织学报, 2018, 39(6): 131-135.
He X Y, Wei P, Zhang L, et al. Detection method of foreign fibers in seed cotton based on deep-learning[J]. Journal of Textile Research, 2018, 39(6): 131-135.
[8] 张林, 韦平, 伍剑波, 等. 基于线激光与LED的棉花中异性纤维检测方法[J]. 农业工程学报, 2016, 32(15): 289-293.
Zhang L, Wei P, Wu J B, et al. Detection method of foreign fibers in cotton based on illumination of line-laser and LED[J]. Transactions of the CSAE, 2016, 32(15): 289-293.
[9] 杨文柱, 李道亮, 魏新华, 等. 基于自动视觉检测的棉花异性纤维分类系统[J]. 农业机械学报, 2009, 40(12): 177-181, 227.
Yang W Z, Li D L, Wei X H, et al. AVI system for classification of foreign fibers in cotton[J]. Transactions of the Chinese Society for Agricultural Machinery, 2009, 40(12): 177-181, 227.
[10] Wang J F, Du Y H, Jiang X M, et al. Classification processing method of cotton foreign fibers based on probability statistics and BP neural network[J]. Applied Mechanics and Materials, 2014, 598: 428-431.
[11] 刘双喜, 王金星, 郑文秀, 等. 基于自适应域值分割与力矩的棉花异性纤维分类方法[J]. 农业工程学报, 2009, 25(S2): 320-324.
Liu S X, Wang J X, Zheng W X, et al. Classification method of adaptive threshold segmentation algorithm and moment for foreign fibers in cotton[J]. Transactions of the CSAE, 2009, 25(S2): 320-324.
[12] Zhang M Y, Li C Y, Yang F Z. Classification of foreign matter embedded inside cotton lint using short wave infrared (SWIR) hyperspectral transmittance imaging[J]. Computers and Electronics in Agriculture, 2017, 139: 75-90.
[13] 王金星, 李恒斌, 王蕊, 等. 基于BPSO的棉花异性纤维目标特征快速选择方法[J]. 农业机械学报, 2013, 44(2): 188-191.
Wang J X, Li H B, Wang R, et al. A fast feature selection for cotton foreign fiber objects based on BPSO[J]. Transactions of the Chinese Society for Agricultural Machinery, 2013, 44(2): 188-191.
[14] Du Y H, Ma T, Yang C W, et al. Detection clustering analysis algorithm and system parameters study of the near-point multi-class foreign fiber[J]. The Journal of the Textile Institute, 2017, 108(6): 1022-1027.
[15] 谭文学, 赵春江, 吴华瑞, 等. 基于弹性动量深度学习神经网络的果体病理图像识别[J]. 农业机械学报, 2015, 46(1): 20-25.
Tan W X, Zhao C J, Wu H R, et al. A deep learning network for recognizing fruit pathologic images based on flexible momentum[J]. Transactions of the Chinese Society for Agricultural Machinery, 2015, 46(1): 20-25.
[16] 赵德安, 刘晓洋, 孙月平, 等. 基于机器视觉的水下河蟹识别方法[J]. 农业机械学报, 2019, 50(3): 151-158.
Zhao D A, Liu X Y, Sun Y P, et al. Detection of underwater crabs based on machine vision[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(3): 151-158.
[17] 熊俊涛, 刘振, 汤林越, 等. 自然环境下绿色柑橘视觉检测技术研究[J]. 农业机械学报, 2018, 49(4): 45-52.
Xiong J T, Liu Z, Tang L Y, et al. Visual detection technology of green citrus under natural environment[J]. Transactions of the Chinese Society for Agricultural Machinery, 2018, 49(4): 45-52.
[18] 孙钰, 周焱, 袁明帅, 等. 基于深度学习的森林虫害无人机实时监测方法[J]. 农业工程学报, 2018, 34(21): 74-81.
Sun Y, Zhou Y, Yuan M S, et al. UAV real-time monitoring for forest pest based on deep learning[J]. Transactions of the CSAE, 2018, 34(21): 74-81.
[19] 杨薇, 王洪元, 张继, 等. 一种基于Faster-RCNN的车辆实时检测改进算法[J]. 南京大学学报(自然科学版), 2019, 55(2): 231-237.
Yang W, Wang H Y, Zhang J, et al. An improved vehicle real-time detection algorithm based on Faster-RCNN[J]. Journal of Nanjing University (Natural Sciences), 2019, 55(2): 231-237.
[21] 马晓云, 朱丹, 金晨, 等. 基于改进Faster R-CNN的子弹外观缺陷检测[J]. 激光与光电子学进展, 2019, 56(15): 151202.
[22] 林刚, 王波, 彭辉, 等. 基于改进Faster-RCNN的输电线巡检图像多目标检测及定位[J]. 电力自动化设备, 2019, 39(5): 213-218.
Lin G, Wang B, Peng H, et al. Multi-target detection and location of transmission line inspection image based on improved Faster-RCNN[J]. Electric Power Automation Equipment, 2019, 39(5): 213-218.
[23] 薛阳, 吴海东, 张宁, 等. 基于改进Faster R-CNN输电线穿刺线夹及其螺栓的检测[J]. 激光与光电子学进展, 2020, 57(8): 081008.
[24] 李东洁, 李若昊. 基于改进Faster RCNN的马克杯缺陷检测方法研究[J]. 激光与光电子学进展, 2020, 57(3): 031502.
Li D J, Li R H. Research on the mugs defect detection method based on improved Faster RCNN[J]. Laser & Optoelectronics Progress, 2020, 57(3): 031502.
[25] 华夏, 王新晴, 王东, 等. 基于改进SSD的交通大场景多目标检测[J]. 光学学报, 2018, 38(12): 1215003.
[26] 王俊强, 李建胜, 周学文, 等. 改进的SSD算法及其对遥感影像小目标检测性能的分析[J]. 光学学报, 2019, 39(6): 0628005.
[27] 徐乐先, 陈西江, 班亚, 等. 基于深度学习的车位智能检测方法[J]. 中国激光, 2019, 46(4): 0404013.
[28] 黄刚, 刘先林. 基于深度学习的道路标线自动提取与分类方法[J]. 中国激光, 2019, 46(8): 0804002.
[29] 戴媛, 易本顺, 肖进胜, 等. 基于改进旋转区域生成网络的遥感图像目标检测[J]. 光学学报, 2020, 40(1): 0111020.
[30] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[31] LattanziS, LavastidaT, MoseleyB, et al. Online scheduling via learned weights[M] ∥Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms. Philadelphia, PA: Society for Industrial and Applied Mathematics, 2020: 1859- 1877.
[32] Everingham M. Eslami S, van Gool L, et al. The pascal visual object classes challenge: a retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.
Article Outline
杜玉红, 董超群, 赵地, 任维佳, 蔡文超. 改进Faster RCNN模型在棉花异性纤维识别中的应用[J]. 激光与光电子学进展, 2020, 57(12): 121007. Yuhong Du, Chaoqun Dong, Di Zhao, Weijia Ren, Wenchao Cai. Application of Improved Faster RCNN Model for Foreign Fiber Identification in Cotton[J]. Laser & Optoelectronics Progress, 2020, 57(12): 121007.