Simple Summary

松球菌(Matsucoccus thunbergianae)是一种对黑松造成广泛损害的森林害虫;因此,监测这种害虫是必要的,以尽量减少环境和经济损失的森林。然而,利用信息素诱捕器监测昆虫是一项费时费力的工作。为了开发一个自动化监控系统,我们的目标是开发检测和计数的算法。基于深度学习的目标检测算法在信息素陷阱图像中的应用。训练基于深度学习神经网络的各种条件下目标检测模型,并对检测和计数性能进行比较和评价。此外,通过将图像裁剪到多个窗口,训练模型能够很好地检测出小目标。结果,基于深度学习神经网络的算法成功检测和计数了松球菌。这些结果表明,使用我们提出的基于人工智能的方法,准确和持续的害虫监测是可能的。

Abstract

松球菌是黑松的主要害虫,对森林造成严重的环境和经济损失。因此,监测 松球菌的发生和种群是非常必要的。常用的监测方法是利用信息素诱捕器。由于人类在这些信息素诱捕器中进行的昆虫计数是劳动密集型和耗时的,本研究提出了利用信息素诱捕器图像的自动深度学习计数算法。野外采集的信息素诱捕器在实验室拍摄,图像用于检测模型的训练、验证和测试。另外,考虑到m的尺寸较小,采用图像裁剪方法成功检测出图像中的小目标。 松球菌陷阱图像。对16个模型在8种模型条件和2种种植条件下的检测和计数性能进行了评价和比较,大多数模型的计数精度在95%以上。结果表明,本文提出的基于人工智能的害虫计数方法适用于害虫的持续、准确监测。

Keywords:pest monitoring; sex pheromone trap;Matsucoccus thunbergianae; deep learning; CNN;object detection; Faster R-CNN; SSD; insect counting

1. Introduction

松球菌是韩国黑松(Pinus thunbergii)的主要害虫。在韩半岛西南海岸首次发现黑松林灾害是在1963年的[1]。从那时起,松球菌已散布到朝鲜半岛的几个沿海地区。由于环境和经济损失严重,山林厅从1983年开始对黑松皮蚧进行了集中监测。对松球菌的主要监测包括测量松枝上的卵囊[2]。然而,这种方法耗时、劳动密集,并且需要熟练的监控。此外,很难监测位于高处的卵囊。因此,这种方法不能提供准确的监测数据

信息素诱捕器已被广泛应用于农业和森林害虫的监测。在我们之前的研究中[6,7],我们开发了一种简单的外消旋松子酮合成方法,并开发了一种有效的陷阱来监测黑松皮垢,并在野外实际应用。信息素诱捕器中昆虫的识别和计数主要由人工完成。这个过程是劳动密集型的,而计数的结果因[8]人的识别技能的不同而不同。特别是对于小型(1.5-2毫米)昆虫,如asM。由于识别技能和疲劳,计数结果存在较大差异。为了避免劳动密集型的人工计数,基于图像的自动监测方法已经在许多研究中被使用[9-18]。基于图像的方法捕获陷阱图像,利用图像处理对陷阱中的害虫进行识别和计数。通过这种基于图像的方法,计算系统承担了劳动密集型的工作,而且还可以使用相机捕捉系统在现场立即实现自动计数,而无需将捕捉器从现场带到圈内。此外,由于识别技能和疲劳程度的不同,在计数方面没有差异,根据算法可以缩短计数时间

近年来,基于卷积神经网络(cnn)的方法在视觉领域的分类、检测和分割等任务中表现出了很高的性能[19-21]。cnn由卷积和池等层组成,空间信息可以在网络中使用,就像图像处理中的滤波方法一样。在目标检测任务中,提出的基于cnn的目标检测器比传统的目标检测方法表现出更高的性能。基于区域的CNN (R-CNN)是一种早期的基于CNN的目标检测方法,它将CNN应用于图像中提出的区域,与现有的基于机器学习的方法[22]相比,性能得到了提高。因此,为了提高性能和速度,提出了快速R-CNN与RoI池[23]和快速R-CNN与RPN[24]。在R-CNN系列的两级目标检测器之后,开发了单级目标检测器,如你只看一次(YOLO)[25]和单次多箱检测器(SSD)[26],并与R-CNN系列相比减少了计算时间。最近,各种基于cnn的一级检测器已经被开发出来,如Retinanet[27]和EfficientDet [28]

这些基于深度学习的目标检测方法被应用于各种基于视觉的检测任务,如行人检测[29,30]、航空图像中的目标检测[31-33]、农业中的目标检测[34-36]。基于深度学习的目标检测方法也被应用于基于航空图像的野生动物监测研究中,类似于基于陷阱的害虫监测,并且比传统的图像处理和机器学习方法具有更高的性能[37-40]。基于图像的害虫监测研究使用了传统的图像处理方法和机器学习分类器[10-13]。然而,近年来基于深度学习的研究越来越多。传统的图像分类和检测方法需要人为选择图像特征,这与基于cnn的方法相比有局限性,后者根据任务自动学习合适的特征。Ding et al.[14]应用滑动窗口方法和CNN检测陷阱图像中的蛾子,Nam et al.[15]应用自适应阈值和CNN、SSD、滑动窗口和CNN方法检测害虫,并比较结果。

虽然已经进行了这些研究,但针对不同类型的森林害虫,基于图像的森林害虫检测的相关研究不足,提高小型害虫检测性能的方法研究也不足。为了优化检测模型,需要比较各种目标检测模型,并应用最新的检测模型。因此,在本研究中,我们采用深度学习计数方法进行监测松球菌。利用图像裁剪成功地检测出了小尺寸的图像。训练了Thunbergianae和8种基于深度学习的目标检测模型,并对其性能进行了评价。此外,还对每种裁剪条件和深度学习检测器条件下的计数精度进行了评价

2. Materials and Methods

2.1. Data Collection

2.1.1. Chemicals

(6R,10R/S)-松子酮的合成方案及黑松子皮鳞片性信息素的合成方法已在之前的文章[6]中作了介绍。松茸的纯度在97%以上。丁基羟基甲苯(BHT,≥99%)和己烷(98.5%)分别从Sigma-Aldrich(美国密尔沃基市,WI,美国)和大京化学金属株式会社(韩国,京畿道始兴市)购买。BHT被用作抗氧化剂

2.1.2. Trap Collection

陷阱收集在群山(35◦575500N, 126◦332000 E)的黑松林,全罗北道,韩国。野外试验采用八面粘捕器(韩国信息素研究所,大田市,韩国)(图1)。该陷阱由四个板(130毫米width×20毫米高度),这是插入交叉叶片。在安装信息素捕集器后,将覆盖每个板的黄色粘性两面(11 cm width×15.5 cm高度)的纸去掉。使用8.8 mm宽的扎带将捕集器的框架绑在松树茎上。将松酮(400µg)和BHT(400µg)溶解在己烷中,加载到橡胶隔膜上(Wheaton Scientific, Millville, NJ, USA)。2020年3月25日,在距离地面50厘米的地方安装了信息素陷阱。我们于2020年4月7日收集了盘子,并将其转移到实验室

2.1.3. Image Acquisition

采集的陷阱在暗室中使用4路LED照明的拍摄系统进行拍摄,如图2所示。系统顶部安装了彩色相机(α-6000,日本索尼公司,东京),以6000×4000像素的分辨率拍摄照片。图3显示了一些trap图像

2.2. Data Preparation

采集的50张trap图像对m的ground truth bounding box的4个坐标(xmin, ymin, xmax, ymax)进行标注。thunbergianae。在50张图像中,23,056个目标被标注,其ground truth bounding box的大小平均为60×60像素

将带注释的trap图像分为训练集、验证集和测试集,如表1所示。利用训练集对目标探测器进行训练,利用验证集根据参数变化对探测器进行评价,利用测试集对优化后的探测器进行性能评价。

2.3. Detector T raining and Evaluation

检测小目标是目标检测器中一个具有挑战性的任务,包括基于深度积累的检测器。与图像大小相比,物体越小,检测成功率越低。在我们的陷阱图像数据集,图像的分辨率为is6000×4000像素,而它们的大小。Thunbergianaeis只有60×60像素平均,这可能会导致检测性能下降。克服这个问题的一种方法是裁剪图像[40,41]。由于裁剪后的图像相对于未裁剪的图像有更大的物体尺寸,因此可以通过裁剪来提高检测性能。此外,裁剪和检测图像可以提高目标检测性能;然而,它有减慢检测速度的缺点,因为检测必须执行多次。考虑到这一点,为了比较裁剪条件下的检测速度和性能,我们通过在12×8和6×4条件下裁剪entire6000×4000图像来训练检测器。图4显示了两种不同种植条件下裁剪的圈闭图像。使用Quadro RTX-6000 GPU (Nvidia Corp., Santa Clara, CA, USA)进行模型培训、验证和测试

卷积目标检测模型在速度和精度上取决于模型[42]的配置。有几个因素会影响速度和准确性,比如元架构的类型、特征提取器的类型和输入的大小。需要选择和微调适合检测任务所需条件的模型。因此,在本研究中,我们使用了4种模型类型、2种投入规模和2种种植条件的16种模型条件。根据模型类型和输入大小,模型配置为Faster R-CNN Resnet 101,输入大小分别为1024和512;EfficientDet D0和D4的输入大小分别为512和1024;视网膜网络50,输入尺寸为1024和640;和SSD MobileNet 2,输入大小为640和320。这个过程的代码是基于TensorFlow对象检测API[42]构建的。(本研究构建的代码将于2021年作为软件获得版权,算法在获得版权后可申请使用)。为了提高模型的鲁棒性,利用预训练的权值对COCO数据集进行迁移学习,并采用垂直和水平翻转、随机剪裁和填充、对比度和亮度调整等数据增强技术。

使用平均精度(AP)度量对训练模型进行评估。平均精度是目标检测中广泛使用的一种评价指标,它是根据模型的精度-召回分布中召回值的变化对精度值进行平均值。在ground truth盒与被检测盒的匹配过程中,盒定位的接受程度根据union (IoU)阈值的交集而变化,被认为是正确的检测。借据是两个盒子重叠程度的指示器,通过将重叠区域除以联合区域来计算。在本研究中,ap计算IoU阈值为0.5和0.3。将阈值取值为0.3和通常使用的阈值取值为0.5的原因是,在计数的情况下,精确盒定位的重要性小于一般目标检测任务的重要性。公式(1)和(2)给出了计算AP的精度和召回率,其中TP为真阳性数,FP为假阳性数,FN为假阴性数。

2.4. Counting Accuracy Evaluation

对30个陷阱进行人工计数,评估计数精度。30个陷阱由10个陷阱组成,每个陷阱中的松球菌小于300个,300 ~ 500个,500个以上。计数是由一个善于计数的人进行的。作为评价检测模型计数精度的依据。

对原始捕获图像(非裁剪图像)进行检测,并采用滑动窗口法进行检测。对于每一种种植条件,扫描原始图像并进行检测,12×8种植条件为500×500, 6×4种植条件为1000×1000。将扫描重叠部分设置为100像素,这比松球菌的尺寸大,因此,M。因此,窗户的边缘可以完全包含在下一个窗口内。考虑到图像重叠,6000×4000 trap图像在12×8裁剪条件下扫描15×10 150次,在6×4裁剪条件下扫描7×5 35次。采用非最大抑制(Nonmaximum suppression, NMS)方法消除重叠区域的重复检测。如果在一个窗口的末端切割一个对象,则只检测到该对象的一部分。在这种情况下,检测框与下一个窗口中相同目标的检测框具有较低的欠条;因此,网管不删除重复检测。为了删除重复的检测,当方框坐标位于窗口的末端时,将删除检测方框。图5显示了我们的陷阱图像计数算法的流程图。

物体检测器可以通过调整检测评分阈值来调整检测强度,检测到的盒数根据该值变化。因此,我们使用30张图像中的10张来确定每个模型最优计数的评分阈值,并根据所确定的评分阈值对其余20张图像的计数精度进行评估。计数误差由式(3)计算。

3. Results

表2和表3分别列出了根据12×8和6×4裁剪条件训练的每个模型的测试结果。总的来说,基于12×8作物图像的检测器产生了更高的AP。在12×8剪切条件下,无论检测模型的结构如何,IoU阈值为0.5和0.3都会产生相似的ap。在SSD MobileNet v .2与320输入大小的情况下,推断时间比faster R-CNN Resnet 101与1024输入大小和EfficientDet D4模型快7倍,但ap类似。这一趋势类似于基于6×4裁剪图像的模型。在6×4剪切条件下,除了SSD MobileNet v .2具有320输入大小外,在IoU阈值0.5和0.3中,AP差异约为2-3%。在SSD MobileNet v .2与320输入大小的情况下,APs低于那些其他模型,当应用于6×4裁剪图像5-7%的IoU阈值为0.5和8-11%的IoU阈值为0.3。图7和图8分别是Faster R-CNN Resnet 101在12×8和6×4裁剪条件下,输入尺寸模型为1024的检测结果图像。

图9显示了在检测过程中发生错误的情况。图9a - c显示了目标对象未被检测到的错误情况。如图9b,c所示,当多个昆虫重叠时,这些假阴性主要发生。在许多情况下,即使是有经验的研究人员也很难区分它是否是asm。不是因为重叠的昆虫,而且大多数的检测错误都发生在这些情况下。图9d为被错误识别为asM的昆虫的翅膀。thunbergianae。与假阴性错误相比,这些假阳性错误发生的频率更低。12×8种植条件下and6×4种植条件下的误差类型相似,且在6×4种植条件下出现频率更高。

图10和表4和表5显示计数时间和计数误差关于种植条件和模型配置。与检测评价结果相似,12×8裁剪模型的计数误差为2-3%,低于6×4模型的3-9%的计数误差。在12×8裁剪模型中,输入尺寸为1024的Faster R-CNN Resnet101模型的计数误差最小,为2.11%,其他12×8裁剪模型的计数误差为2.35 ~ 3.69%。在计数时间方面,12×8裁剪模型的范围为3.63-14.14 s, 6×4裁剪模型的范围为1.19-3.92 s。计数时间的差异是因为12×8裁剪模型在扫描期间检查了150个窗口,而the6×4模型检查了35个窗口。在人工计数过程中,根据诱捕器中目标昆虫的数量不同,计数次数也有一定的差异。300岁以下、300∼500岁、500岁以上人群的平均计数次数分别为199次、198次、501次。这些计数时间大约8-27倍速度的计算时间R-CNN Resnet 101 1024输入的大小12×8种植条件(14.14)和85 - 276倍的时间比SSD MobileNet v的计数时间。2 640输入的大小6×4种植条件(1.4秒)。在检测准确性评估,除SSD MobileNet v .2输入尺寸为320外,在6×4裁剪条件下模型的计数误差相似。SSD MobileNet v .2在320输入尺寸下的计数误差为6.694%,比其他6×4裁剪条件模型高2-3%。除SSD MobileNet v .2在6×4种植条件下输入尺寸为320的模型外,两种种植条件下的模型计数精度均在95%以上。图11显示了滑动窗口算法检测到的trap图像(Faster R-CNN Resnet101,其输入尺寸为12×8裁剪条件的1024)。

4. Discussion

在本研究中,我们将基于深度学习的目标检测方法应用于害虫自动监测。特别是对于m的成功检测。将一种小型昆虫Thunbergianae的裁剪方法应用于原始图像。在此基础上,对2种种植条件和8种模型条件进行了检测和计数精度评价。由此验证了深度学习目标检测方法可以成功应用于监控。

我们的检测和计数性能结果表明,当种植数量足够时(在12×8 croppingcondition下),快速模型可以执行类似于慢模型。当将12×8的种植条件与6×4的种植条件进行比较时,12×8的种植条件导致了更高的整体AP,因为相对于图像大小的物体大小增加了。的6×4种植条件借据阈值为0.3,大部分的APs模型显示84 - 85%,显示一个小的差别与12×8种植条件相比,APs显示89%,但是SSD MobileNet v。2模型输入的大小320 AP显示低79.87%。这是因为6×4裁剪图像中的对象的大小对于轻模型来说太小了,比如SSD MobileNet v .2的320输入大小。在检测错误的情况下,假阴性错误比假阳性错误更常见。大多数错误发生在难以识别的情况下。因为一些昆虫重叠或昆虫的形状不清楚。AlthoughM。有各种各样的形状,还有许多其他被困的昆虫在外表上类似汤姆。大多数检测到的图像都显示了成功的检测。

使用深度学习对象检测方法的计数精度结果与检测性能评价结果有相似的趋势。总体而言,12×8裁剪条件下的计数误差小于6×4裁剪条件,SSD MobileNet v .2在6×4裁剪条件下,输入尺寸为320的模型计数误差大于其他模型。除SSD MobileNet v .2输入尺寸为320的模型外,其他模型的计数精度均为95.3-97.89%,说明基于深度学习的目标检测器可以成功地用于松球菌种群的监测。

本研究采用两种种植条件(12×8、6×4),证实12×8种植条件的检测精度和计数精度均高于6×4种植条件。但是,随着窗口数量的增加和裁剪数量的增加,图像处理时间更长;因此,检测速度降低。因此,有必要根据计算系统和所需速度确定考虑速度-精度权衡的种植条件和模型。虽然12×8栽培条件的综合表现高于6×4栽培条件,但6×4栽培条件的结果也具有较高的综合表现。虽然排除在本研究的结果之外,但在测试部分模型的3×2种植结果时,3×2种植条件的APs约为60-70%。因此,当作物产量小于6×4时,可以确定作物产量急剧下降,似乎在6×4种植条件和3×2种植条件之间的某处是这种急剧下降的边界。

近年来,基于深度学习的害虫检测研究已经有很多了[14-18]。研究结果在目标昆虫类型、大小、成像条件、类数、评价指标等方面存在差异;因此,很难比较研究之间的定量准确性。以往以类似方式评估计数准确度的研究中,计数准确度分别为90.86%[43]和92.6%[44]。我们的研究不同于以往的研究,是使用各种类型的深度学习对象检测模型进行结果对比,检测方法中使用的裁剪方法是针对小昆虫进行优化的。通过该方法,获得了95.3-97.89%的较高计数精度,并给出了考虑了模型速度和精度之间的权衡的结果。与人工计数过程中的人为误差相比,这些计数精度是很高的。

本研究中的陷阱图像是在实验室固定光照条件下拍摄的,这些图像用于模型训练和评估。因此,图像拍摄的环境比实际的室外环境更有组织,训练的模型在实际环境图像中的准确性可能会降低。此外,在本研究中应用的模型中,尤其是单阶段模型,存在检测多尺度目标的结构。在本研究中,目标物体相对于图像大小的大小几乎是确定的,因此可以通过结构修改进行优化。考虑到这一点,一些尺度参数进行了微调,但似乎有可能通过额外的结构修改来优化精度和速度。

在后续的研究中,为了获得可以在现场应用的模型,需要对从实际现场获得的数据进行添加和训练,并将其应用到验证和测试过程中。为此,还需要对最佳环境进行研究,如野外诱捕装置的配置或最佳摄像系统的选择等。在本研究中,由于使用了高分辨率的相机,可以通过裁剪图像来提高模型的性能。然而,在低分辨率图像的情况下,裁剪的性能提高可能很小。因此,根据相机系统的规范,有必要对图像的视场和裁剪条件进行优化。此外,考虑到目的和现场环境对速度精度的要求,有必要对模型结构进行优化。

5. Conclusions

针对费洛蒙诱捕监测中人工计数费时费力的缺点,本研究开发了利用费洛蒙诱捕图像进行m检测的计数算法。thunbergianae。detectM。Thunbergianae将各种深度学习对象检测模型应用于元架构、特征提取器和输入大小等条件。此外,对小目标的检测算法进行了优化,对图像进行了裁剪,并对模型的结果进行了比较。为了提高模型的鲁棒性,在训练过程中应用了迁移学习和数据增强,并通过验证过程微调超参数。训练后,对模型的检测和计数性能进行评价,得到各条件下的速度和精度。结果表明,在最高的模型中,熊分枝杆菌的计数精度为97.89%,说明深度学习目标检测模型和图像裁剪方法对熊分枝杆菌的计数是非常有效的。此外,由于模型的目标速度和精度可能因任务类型或计算系统性能的不同而不同,因此还比较了各种条件下的速度和精度。我们的研究结果证实,使用基于人工智能的害虫检测系统可以实现持续监测,并具有准确的性能。

利用深度学习对象检测器从信息素陷阱图像中自动计数松球菌监测相关推荐

  1. 谷歌利用深度学习结合荧光标记,准确预估显微图像

    文章来源:ATYUN AI平台 在生物学和医学领域,显微技术为研究人员提供人肉眼无法观察到的细胞和分子的细节.透射光显微镜能够将生物样本在一边被照亮且成像,技术相对简单,生物样本耐受度高,然而缺点是产 ...

  2. 利用深度学习自动评价数百万张酒店图像

    雷锋网(公众号:雷锋网)按:本文由「图普科技」编译自Using Deep Learning to automatically rank millions of hotel images 德国比价网站i ...

  3. 利用深度学习进行医疗图像分析【全】

    深度学习下的医学图像分析(一) | 雷峰网 https://www.leiphone.com/news/201706/UvZxrlbedfT7Meid.html https://www.leiphon ...

  4. 如何利用深度学习技术处理图像水印?

    作者 | 李翔 转载自公众号视说AI(ID: techtalkai) 作者简介:李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,主导并参与一系列图像智能化算法的研发与落地工作.在ICCV和C ...

  5. 今晚8点直播 | 双11的背后除了阿里还有顺丰,智慧物流是如何利用深度学习赋能的?...

    每年年底的双十一已成为盛大的购物节日.而有一个行业在这期间发挥着至关重要的作用--物流.近年来,深度学习已经应用到各行各业中,物流行业也不例外.智慧物流是"互联网+"高效物流的重要 ...

  6. 明晚8点直播 | 顺丰科技如何利用深度学习赋能智慧物流?

    每年年底的双十一已成为盛大的购物节日.而有一个行业在这期间发挥着至关重要的作用--物流.近年来,深度学习已经应用到各行各业中,物流行业也不例外.智慧物流是"互联网+"高效物流的重要 ...

  7. 利用深度学习(Keras)进行癫痫分类-Python案例

    目录 癫痫介绍 数据集 Keras深度学习案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 QQ交流群:903290195 癫痫介绍 癫痫,即俗称"羊癫风",是由多种 ...

  8. 深度学习数据驱动_利用深度学习实现手绘数据可视化的生成

    前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 Sketchify) 那么问题来了,很多的chart是以Canvas ...

  9. 【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统

                                                 新智驾按:本文为新智驾独家专栏,作者系佐思产研研究总监周彦武,新智驾经授权发布. 国内最牛的无人驾驶厂家的运算 ...

最新文章

  1. 【控制】二阶 UGV 的 时间-输入 指标性能最优解算
  2. 中小企业CRM评测-客户服务_企能
  3. CentOS 7 安装 Mysql5.5 或自定义版本 RPM 方式
  4. vboxdrv.sh failed modprobe vboxdrv failed. Please use 'dmesg' to find out why
  5. vmware传东西到linux后文件变小,在VMWARE的Linux虚拟机上删除大容量文件后硬盘空间大小还不变怎么办?虚拟机虚拟机的各种应用及问题...
  6. 20200922:leetcode35周双周赛题解记录(下)
  7. 可替代的C语言开发环境
  8. 1 javascript视频教程 初识javascript
  9. HDU操作系统课程设计实验一
  10. 计算机右键管理删除,【win7右键菜单管理】右键菜单的设置及清除
  11. 20款对设计师非常有用的在线配色工具
  12. 【二叉树:3】线索二叉树
  13. 独家:为了永不停机的计算服务 - 五月月刊 | 凌云时刻
  14. 【Linux】WSL
  15. 宇道生物完成复星医药Pre-A轮融资,专注药物研发信息化和智能化开发...
  16. vika维格表和飞书,多维表格如何改变我们的工作方式?
  17. windows下vs2015编译POCO及使用poco操作sqlite
  18. three.js中射线对性能的影响
  19. 不借助第三方变量交换两个变量的值(多种方法)
  20. dubbo框架中Main方法运行spring容器

热门文章

  1. 深入理解JavaScript系列(8):S.O.L.I.D五大原则之里氏替换原则LSP
  2. 内核 入门_好消息:奔跑吧Linux内核入门酱香篇配套视频可以下载啦
  3. 2020年C证(安全员)报名考试及C证(安全员)多少钱
  4. 盗墓小说和西高穴 真真假假曹操墓
  5. ThinkPHP校园后勤在线报修系统
  6. VR资讯——局势明朗下的前景展望(V客学院知识分享)
  7. 微信网页版营销软件 防撤回 自动同意加好友
  8. 正则表达式判断电话号码
  9. 字节飞书后端面经(已offer)
  10. 状态空间表示法----野人与修道士