智能喷洒:计算机视觉在农业机械自动化领域的小试牛刀

简介: 农业喷洒应用中的 AI 身影。

前言


喷洒 (spraying),主要指的是用农作物保护产品喷洒农作物。农作物保护产品的类型有很多,比如用来杀死杂草的除草剂、农药、营养液 / 化肥等。由于喷洒农药主要是为了保护农作物的生长,这一类操作也常常被称为农业植保(Crop protection)。在本文中笔者将集中讨论除(杂)草方面的自动化进程。
喷雾机器(sprayer),则顾名思义,是用于喷洒化学产品的设备。可能大家根据电视里想象的打农药的场景,一般是一个人背着带有喷枪的背包行走在田间,对左右两侧的作物进行喷洒。实际上,这类喷雾机属于体型较小的便携式单元,现代农业使用的喷雾机器已经发展为大型设备,主要可以分为三类——安装式(mounted)、拖挂式(trailed)、自走式(self-propelled),如下图所示。前两者不能自行移动,需要与拖拉机相连,而最后一类则整合了引擎、车厢等部件。安装式和拖挂式的区别在于和拖拉机的连接方式,可以理解为安装式喷雾器更像是一个「挂件」,而拖挂式喷雾器则自带轮子,可以连接在拖拉机的尾部。具体使用哪种喷雾器,则要根据实际需求和成本考虑。由于拖拉机在整个农业周期中都承载着众多的任务,是不可或缺的机器,而喷雾器只是在特定时期使用的机器,对于一些中小型农场来说购买安装式或拖挂式喷雾器是更加经济的选择。


微信图片_20211204211020.jpgimage.gif

喷雾器。左:安装式(mounted),中:拖挂式(trailed),右:自走式(self-propelled)。(图源:https://www.beyne.be/en


在喷雾器上,最惹人注目的部件应该就是喷杆(spray boom)了。根据作物的高度,喷杆一般安装在 1.2 到 9 米之间的高度,而其臂长可以轻易达到 10-20 米左右,甚至 40 米以上。在喷杆上,等距离的布有喷嘴(nozzle),用于促进液体分散到喷雾中。在本文探讨的智能喷洒(smart spraying)的产品中,对喷嘴的自动控制是开发过程中的一个重要环节。


微信图片_20211204211026.jpgimage.gif

自走式喷雾器展开的样子。模型:Case Patriot 4430 Sprayer w/120 Foot Booms(图源:https://www.youtube.com/watch?v=nfcbTHwPxi4


喷洒作业并不会涉及到非常复杂的流程,喷雾器的机械设计也很直观,但要实现智能喷洒,在实践过程中也有不少挑战需要解决。第一个挑战就是足够的农业知识——要进行杂草防治,首先需要对常见的农作物和杂草有一定的了解。从下图中可以看出,随着杂草开花并分支,其形态与幼苗时期的样子已经有了很大不同,而这还仅仅只是一种杂草。目前在欧洲范围内大概就有 30,000 种杂草 [1],更遑论全世界范围内了。许多杂草或与农作物的形态相似,或只在特定领域生长(比如美国的玉米农场就会生长一种在欧洲的玉米农田里见不到的杂草)。而十年前本地常见的杂草又和现在常见的杂草不一样。要收集高质量——覆盖范围广、有代表性、标注准确等——的数据,研发人员必须具有足够的专业知识或与农学家密切合作。


微信图片_20211204211034.jpg


此外,开发智能喷洒系统,并不仅仅只是为了取代目前的半人工喷洒,更是为了减少化学药品的使用。在食品受到严格监管的欧盟区,农业行业的发展很大程度上受到现有的或近期将会出台的法律法规的影响。从 2014 年开始,病虫害综合治理(Integrated Pest Management ,IPM)在欧盟成为强制性措施,其中就包括负责任地使用农药和植物生物技术解决方案。由于目前环境问题越来越严苛,在接下来的几年,预计会有更具体的措施出台来进一步限制化学药品的使用量。因此,喷雾器作业的精准度必须进一步提升——甚至达到厘米级的精度——来符合更高的环保要求。相应的,这也对模型的推理速度,包括相应的控制系统的响应速度都提出了比较高的要求。


平心而论,一个农业产品即便是要实时达到厘米级的精度,其难度仍然很可能低于自动驾驶领域的一个实时应用,因为农业器械的作业速度要远低于汽车驾驶的速度。比如喷洒除草剂时,拖拉机的时速一般不会超过 30 km/h。但这并不代表这样的要求就没有挑战性。首先生产商能够负担的硬件设备是有限的,而为了能够覆盖喷洒的所有区域,喷杆上一般需要每个几米安装一个相机和足够的算力来捕捉图像并进行模型推理,然后在喷雾器上再配备单一控制系统来完成 GPS Mapping 等任务并操控所有的喷嘴。总体计算下来,每个相机可能只能配备一个相当于 Nvidia Jetson nano 的算力的 edge device。这样的设备要运行进行图像分割的神经网络进行实时推理不是完全不会吃力的。实际上,Nvidia Jetson nano 并不总是工业自动化开发中一个好的算力设备选项。至少在农业领域,由于机器运行的环境可能会比较有挑战性,并且在作业时机器内部可能会形成高振动、高温或高湿度的环境,每个制造商都对使用的零部件有具体的要求——比如 IP 68 防水—— 而 Nvidia 家族的算力设备很多都没有满足生产商的要求。另外,智能喷洒对喷雾器原有的硬件也是一个挑战。笔者就见过喷雾器自带的 driver 相应速度不够快,导致喷嘴的控制速度跟不上模型的推理速度,或者喷杆太长导致末端的计算设备供电不足等各种始料不及的问题。一些其他的特定于植保领域的问题包括自然环境的挑战性——风会干扰喷洒的精确性等、田野末端的过量喷洒——当喷雾器在田野末端掉头返回田野的另一侧继续喷洒除草剂时,由于驾驶路线的重合,部分杂草会被重复检测到,从而造成除草剂的过量喷洒。

但另一方面,智能喷洒涉及到的行业知识相对其他任务来说已经较少,进入壁垒不高。这本身也是一个适合计算机视觉的任务,随着相关解决方案的成熟,目前市场竞争已经变得越来越激烈。宏观来看,现有的解决方案可以大致分为三类:在喷雾器上添加智能模块,田野机器人(field robot),无人机和喷雾器结合的解决方案。第一类一般是市场内现有的大型生产商主攻的方向,也有一些初创公司希望与生产商合作开发或直接将解决方案卖出,而不直接参与市场竞争;第二类则是很多初创公司或从其他领域转入的公司的主攻方向,它们一般希望能够参与市场竞争,与消费者有直接接触;后者则很多是现有的农业无人机服务商提供的新特征。接下来笔者将对每一类的典型产品进行讨论。


本文将集中讨论各种创新性的智能喷洒机器人。从如何在一般喷雾器基础上添加机器学习算法,到能够替代完全喷雾器的新一代田野机器人,以及在研发过程中面对的各种实际挑战。


在喷雾器上添加智能模块


微信图片_20211204211038.pngimage.gif


大部分产品的研发思路都是通过相机(RGB 或 Spectrum)拍摄喷雾器将要喷洒的区域,然后利用部署在相机上的计算机视觉算法识别区域内的杂草并计算杂草的相对或绝对位置,将该信息返回到控制系统中。后者会根据喷雾器自身的位置和速度以及杂草的位置,在到达杂草附近时开启喷嘴,喷洒除草剂。这个思路不仅仅是适用于为喷雾器开发智能模块,也包括开发机器人等其他手段,区别主要在于图像获取和推理的手段以及位置。


模型方面,各团队都大同小异,无非是常见的那几个图像分割神经网络,即便是非常简单的 UNet 也可以取得不错的表现。大部分工业界的研发工程师们对模型是不是足够创新、是不是 SOTA 模型不会特别在意,能不能轻易的整合到现有的产品框架中重要的多。实际上, UNet 及其变体 ENet 往往受到青睐,原因有三。其一,模型推理速度不错,并且结构简单,对其进行压缩、加速、优化等操作也非常方便;其二, 模型较小或者可以被轻易的缩小;其三,其使用的 operation 都比较基础,不容易出现将其部署到设备上时却发现设备不支持一些刚开发出来的 operator 的问题,如果使用 Tensorflow-Lite 等 framework 的话最终的需要运行 binary 也足够小,方便通过云端对设备进行远程更新。

至少在智能识别杂草模块上,如何获得更高质量的数据、如何快速迭代是比用什么神经网络重要的多的问题。一般来说,像这样标定在特定领域(domain specific)的产品,往往都是从一个很小的数据集起步直接训练模型,然后在自己的或者合作方的场地进行测试。如果产品的表现差强人意就可以部署到 edge device ,并建立相关的控制系统,来进行更大范围的测试。当在测试过程中发现问题时——比如异地测试发现模型不能识别当地的特殊杂草——再通过重新训练模型来优化产品表现。因此,如何在喷洒机器测试后,再高效地重新训练模型,这种关系到 AI 落地的问题,则是笔者在本文想主要讨论的问题。


在过去不久的 IROS 2020 会议上,波恩大学的团队提出了使用 Style Transfer 生成数据来用于重新训练模型而不必再收集数据 [3]。作者将已经收集并标记好的数据领域命名为源领域(source domain),神经网络需要重新训练的数据领域命名为目标领域(target domain)。源领域和目标领域区别可以在于杂草的不同、环境的不同(黄土地 VS 黑土地)、相机的不同等等等等。


用于语义分割 (semantic segmentation)的全卷积神经网络(FCN)就是前文提到的 UNet,具体结构如下文所示。

image.gif

微信图片_20211204211041.png

用于进行图像分割的 FCN 神经网络(图源:Gogoll, D. et al. (2020). Unsupervised Domain Adaptation for Transferring Plant Classification Systems to New Field Environments, Crops, and Robots. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).)


在目标领域内,由于数据已经被标记好,直接使用有监督训练就可以得到可用模型。当该模型被用于其他环境时,由于数据领域的变化,模型表现会下降,此时,作者使用 Cycle GAN 来将原有的数据转化为符合目标领域风格的数据。Cycle GAN 由两个生成器(genrators )G 和 F 组成。G 用于将图像从源领域转换到目标领域,F 则做反方向的转换。


假设在源领域内已有图像 x 和 Groundtruth S_x,在目标领域内有图像 y 但没有相应 groundtruth。则 Cycle GAN 中的生成器 G 会将图像 x 转换到目标领域生成 G(x),F 再将 G(x) 转换回源领域生成 F(G(x)),如下图蓝色圆环所示。接下来的循环中——如绿色圆环所示——生成器 F 将目标领域的图像 y 转换成 F(y),再有 G 转换回目标领域生成 G(F(y))。训练时使用的损失函数是 Cycle GAN 论文中原本使用的损失函数。


微信图片_20211204211045.png

用于生成仿真图像的 Cycle GAN(图源:Gogoll, D. et al. (2020). Unsupervised Domain Adaptation for Transferring Plant Classification Systems to New Field Environments, Crops, and Robots. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).)


这样训练虽然可以保证生成的图像和目标领域的图像具有一样的风格,却不能保证图像中重要的语意信息还能被保留下来。但如果没有语意信息,生成的图像就不能用于重新训练神经网络,整个工作也就毫无意义。为了解决这个问题,作者在两个领域内各加了一个用于图像分割的 FCN,结构和前文提到的 FCN 一模一样。在每个循环中,FCNs 需要对生成的图像进行分割,并与 groundtruth 对比计算 IOU 损失。由于目标领域内的图像 y 没有 groundtruth,源领域内 FCN f_x 在其上的预测结果 S_{F(y)} 将作为 grouthtruth。这样,在源领域内可以计算 FCN 对生成器 F 生成的图像 F(G(x)) 的预测 vs groundtruth S_y 的 IOU 损失;在目标领域内可以计算三个 IOU 损失,FCN 对生成器 G 生成的图像 G(F(y)) 的预测 vs S_{F(y)}、对生成的 G(x) 的预测 vs groundtruth S_y、 以及对图像 y 的预测 vs S_{F(y)}。


这些损失将被记入到损失函数中,以保证生成的图像仍保有重要的语意信息。

在下图中,作者展示了将 IOU 损失纳入目标损失函数所带来的效果,其中第一行和第二行代表了在不同地域收集数据所带来的数据变化(波恩 vs 斯图加特,苏黎世 vs 波恩),第三行实验了不同作物(甜菜 vs 太阳花),第四行则使用了不同的机器人,其上配备的相机不同(AD-130GE vs MAKO G-158)。除了第三行部分使用了太阳花数据,其他数据都是基于甜菜的,目标则是识别图中的杂草。从这里也可以一窥一旦地域扩大、时间拉长,杂草检测任务的复杂度也直线上升。


在前两行中,视觉上来看原本的 CycleGAN 虽然比不上作者改进的 GAN,但还不算太差。但当图像变得比较「稀疏」,特别是作物和杂草都变得很小时, CycleGAN 生成的图像就开始丢失很多语意信息,大大拉低了图像质量。由此导致重新训练后的 FCN 在预测时丢掉了很多细节,噪声也比较多。


微信图片_20211204211049.pngimage.gif

定性结果。第一行和第二行:不同地点;第三行:不同作物;第四行:不同镜头 / 机器人收集的数据。(图源:Gogoll, D. et al. (2020). Unsupervised Domain Adaptation for Transferring Plant Classification Systems to New Field Environments, Crops, and Robots. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).)


其他简单的方法还有直接将各种杂草「抠图」,然后拼接到此前拍摄的图片上,从而对需要重点关注的杂草进行训练。由于这类图片本身也是对着地面拍摄,景深并不复杂,拼接后的逼真度也是可以接受的。


田野机器人(field robot)


微信图片_20211204211053.png


在 VDI Land.TECHNIK 2020 会议上,ecoRobotix 分享了他们研发田野机器人用于全自动智能喷洒作业的经验 [2]。在产品还处于构思阶段时,ecoRobotix 主要考虑了动力系统、图像获取、机器人运输和安全问题。在设计动力系统时,一方面目前对清洁能源的要求越来越高,另一方面田野机器人作业的一大优势就是不需人力,如果在实际作业时需要人力时不时对动力系统进行维护这一优势就大打折扣了,所以 ecoRobotix 最终选择了电池加太阳能版的解决方案。图像获取方面,光谱图像(spectral image)相较于普通的 RGB 图像更有优势,但出于成本和训练神经网络的难易度等考虑,跟目前市面上的大部分解决方案一样,最终 ecoRobotix 还是使用 了 RGB 图像。实际对于智能喷洒这一任务来讲, RGB 图像就够了,成本也更低。但如果是检查作物健康,光谱图像就变得有些不可取代了,因为很多作物损失在可见光下是不可见的。执行任务时机器人需要到田野作业,而机器人又不能自主上路,因此最终的产品需要容易被运送。也就是说,机器人最好不需要过多的其他附件来执行任务,并且的形态设计上要容易被拖拽。这样可以通过拖拉机直接拖挂,然后运输到目的地。安全性则主要指的是大小和重量,特别是在目前相关的法律法规还不清晰的情况下,越轻、越小的机器越容易规避可能的风险。同时这对产品最终的成本也有很大的影响。


在 ecoRobotix 的第一版设计中,如下图所示,整个机器人的重量只有 140 千克。为了将重量和成本压得尽量低,整个机器人的设计非常简单,基本上可以理解为在四个轮子上架了电池和一块太阳能板,并在太阳能板旁边安装了算力设备、两个喷嘴和控制系统以及一个相机。


微信图片_20211204211056.jpgimage.gif

ecoRobotix 机器人第一版设计。(图源:Tanner, S. (2020). Experience gained in developing autonomous robots. International Conference on Agricultural Engineering.)


虽然成本很低,但该机器人的工作效率实在不高—— 一次只能喷洒 2 米内的杂草,工作速度最高也只有 1.8 km/h。更麻烦的是,在第一版的设计中机身上的相机在捕捉图像时主要依赖自然光,这就导致随着地形、天气和时间的变化获取的图像的质量会发生很大变化。即便通过曝光时长的不同相机能够分别对阴影处和太阳光直射的地方进行拍摄(如下图所示),最终合成的图像质量仍然不理想。


微信图片_20211204211100.jpgimage.gif

ecoRobotix 第一版机器人拍摄图像对于自然光不稳健。(图源:Tanner, S. (2020). Experience gained in developing autonomous robots. International Conference on Agricultural Engineering.)


由于这个问题的存在,ecoRobotix 对其机器人进行了重新设计,最终形成的第二版配有更多部件,当然也更大更重(净重 600 千克)。具体来说,第二版的机器人除了用太阳能版充当一个「顶棚」,还在旁边安装了挡板以阻挡自然光。相机则被安装在挡板下方,并配有照明系统来获取更稳定的亮度。相机的数量也增加到了两台,实时进行定位和杂草检测。在机器人的尾部布有高密度的喷嘴(25 喷嘴 / 米),从而保证厘米级精度的喷洒作业。在作业速度方面,虽然还是算不上理想,但作业速度也有提升一倍(3.6 km/h)。由于机器人可以 24/7 全天不停歇作业,也在一定程度上弥补了其工作速度过慢的缺陷。


微信图片_20211204211104.png

ecoRobotix 机器人第二版设计。(图源:Tanner, S. (2020). Experience gained in developing autonomous robots. International Conference on Agricultural Engineering.)


无人机


在无人机方面,由于现有的解决方案基本都是由商业公司自行开发的,很难找到如论文等具体的演示,但其模型原理不能猜想——无人机也需要对其捕捉的图像进行推理,并借助一些 GPS 软件对预测到的杂草进行定位,然后或直接进行喷洒,或在飞行完毕后生成报告,用户则可以将报告同步到自己的喷雾器中按规划好的路径进行喷洒。单纯使用无人机进行智能喷洒相比其他方法并没有很大优势,但考虑到无人机还可以进行其他植保作业——如喷洒营养液、作物健康检查等——用无人机进行智能喷洒就变得顺理成章了起来。


目前市场上不同的服务商的卖点不同。American Robotics 致力于提供可以完全自主操作的无人机 [4]。通过将侦察无人机安置在 ScoutBase 中,无人机可以自行返回 ScoutBase 进行充电或躲避恶劣天气。无人机本身并不执行任何实际作业,它们的任务只是侦察。ScoutBase 中还配有数据处理站,用于存储、清洗、计算、传送无人机获取的数据。用户只需要安装 ScoutView 就可以连接到 ScoutBase 随时获取想要的数据。根据这些数据,用户可以相应的安排喷洒工作。同样采取这一策略的还有 Volodrone [5] ,但它们的无人机仍然需要操作人员。Skyx [6] 则致力于飞行和作业一体化和高度定制化。Skyx 的无人机可以在检测到杂草的同时就喷洒除草剂,用户可以通过 APP 随时改变自己想要喷洒的药物量。相同类型的产品还有 DroneAG [7]。


结语


无人机的优点在于其灵活性,边边角角也能喷洒到,在不规则的农田里有优势。但其工作效率实在难以恭维,即使目前市面上的植保无人机的单机载重和续航能力相较以前已经大大增加了。从燃料消耗比来看,喷洒效率最高的无疑是传统的喷雾器,一次可以喷洒几十米,驾驶速度也快,机器人和无人机难以望其项背。在大型农场里如果单纯使用小型机器人,杂草的生长速度可以比喷洒完整个农田的速度还快。从无人化角度来看,相对于机器人和无人机,喷雾器的无人化进展更缓慢。机器人如果配有太阳能电池可以 24/7 工作,可以弥补喷洒效率低的缺陷。不需要操作人员的无人机在前文中已经提到了。


成本方面,三种产品不相上下。但喷雾器是市场上已经存在了很久的产品,其使用和维护都更容易上手。另一方面,由于体型和重量都更小,无人机和机器人在安全性上则占有巨大优势,这在目前相关法律法规还没有到位的情况下有助于规避可能的风险。


最后从环保角度来看的话,使用太阳能为无人机和机器人供能不是什么难题。但用清洁能源为喷雾器这类大型器械供能仍算小众,虽然目前各大生产商都在加紧研制更环保的机器,市场上的大部分产品仍然在使用柴油。


对于消费者来说,目前农业市场还处在转型过程中,不少农民对自动化解决方案还有顾虑,或认为其耐用性不足、或认为其用户体验不够好、或认为其成本过高。另外,相关的法律法规也不够明确,一旦出现事故,相关方如何定责是个难题。服务商如何处理其收集的数据、如何保护用户的隐私等,都是农民密切关注的话题。但智能喷洒可以将化学产品的使用量减少至多 90%,从这一点来看不论目前的产品还有多少不足,智能喷洒产品进入这个行业并逐步成为被农民们接受的解决方案是必然的。


而技术的飞速发展,也在推动政府和相关机构更加积极的去探讨监管机制。从笔者今年参加的各类会议来看,目前企业方研发人员都认为相关技术已经成熟,目前主要是在等待具体法规的发布。实际上,大部分从业者已经对将会出台的监管内容有一个比较明确的预期了,并认为几年内具体的条款就会发布。法规发布后,一到两年之内相关产品就能够完成准备工作进入市场了。随之而来的,产品的成本也一定会很快的降低到农民可以接受的程度。


自动化技术正在渗透进我们生活的方方面面,而改变,很可能会比很多人想象中来的还要快。


参考文献


[1] European Crop Protection Association(ECPA)  https://www.ecpa.eu/more-with-less[2] Tanner, S. (2020). Experience gained in developing autonomous robots. International Conference on Agricultural Engineering.[3] Gogoll, D. et al. (2020). Unsupervised Domain Adaptation for Transferring Plant Classification Systems to New Field Environments, Crops, and Robots. 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).[4] https://www.american-robotics.com[5] https://www.volocopter.com/en/volodrone/[6] https://www.skyx.solutions [7] https://droneag.farm 


分析师介绍


本文作者为 Yuanyuan Li。几次转行,本科国际贸易,研究生转向统计,毕业后留在比利时,从事农用机械研发工作,主要负责图像处理,实现计算机视觉算法的落地。欣赏一切简单、优雅但有效的算法,试图在深度学习的簇拥者和怀疑者之间找到一个平衡


关于机器之心全球分析师网络 Synced Global Analyst Network


机器之心全球分析师网络是由机器之心发起的全球性人工智能专业知识共享网络。在过去的四年里,已有数百名来自全球各地的 AI 领域专业学生学者、工程专家、业务专家,利用自己的学业工作之余的闲暇时间,通过线上分享、专栏解读、知识库构建、报告发布、评测及项目咨询等形式与全球 AI 社区共享自己的研究思路、工程经验及行业洞察等专业知识,并从中获得了自身的能力成长、经验积累及职业发展。


感兴趣加入机器之心全球分析师网络?点击阅读原文,提交申请。


阅读原文

相关文章
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
|
12天前
|
存储 弹性计算 运维
订单自动化处理与智能分析
【4月更文挑战第30天】
11 0
|
13天前
|
运维 Cloud Native 安全
【专栏】随着信息技术发展,运维正向自动化、智能化转型,云原生运维成为主流,大数据驱动运维决策,而安全运维日益重要
【4月更文挑战第29天】随着信息技术发展,运维正向自动化、智能化转型,云原生运维成为主流,大数据驱动运维决策,而安全运维日益重要。面对技术更新快、人才短缺和复杂性增加的挑战,企业需建立培训体系,加强人才培养,优化运维管理,以适应未来运维需求。随着这些趋势,运维领域将迎来更广阔的发展前景。
|
2月前
|
负载均衡 安全 Cloud Native
案例分享:F5助力车企打造智能高效自动化应用
案例分享:F5助力车企打造智能高效自动化应用
13 0
|
3月前
|
机器学习/深度学习 人工智能 供应链
阿里云 RPA:智能自动化的未来
随着科技的飞速发展,机器人流程自动化(RPA)正逐渐成为各行业提高效率和降低成本的重要手段。阿里云 RPA 作为领先的智能自动化解决方案,为企业和组织提供了强大的功能和无限的可能性。本文将探讨阿里云 RPA 在智能自动化领域的发展趋势、应用场景以及未来展望。
|
4月前
|
传感器 监控 自动驾驶
农业生成自动化
农业生成自动化
22 1
|
4月前
|
传感器 人工智能 自动驾驶
农业自动化
农业自动化
50 1
|
10月前
工智能或无人化、自动化技术改变世界
工智能或无人化、自动化技术改变世界
|
8月前
|
人工智能 JavaScript 前端开发
SAP 智能机器人流程自动化(iRPA)解决方案分享
SAP 智能机器人流程自动化(iRPA)解决方案分享
121 0

热门文章

最新文章