人工智能在冶金自动化中的应用
人工智能在冶金自动化中的应用
时间:2017-03-16
来源:网络转载
导语:人工智能(ArtificialIntelligence,AI)在自动化方面的应用,即智能自动化,是一类无需人的干预就能驱动智能机器或系统自主实现其目标的过程和技术,是人工智能的一个重要应用领域,也是冶金自动化的重要发展方向。
人工智能(ArtificialIntelligence,AI)在自动化方面的应用,即智能自动化,是一类无需人的干预就能驱动智能机器或系统自主实现其目标的过程和技术,是人工智能的一个重要应用领域,也是冶金自动化的重要发展方向。
智能自动化能够进一步改善产品质量,提高经济效益,减轻劳动强度,保护生态环境,是国民经济可持续发展的必然选择,也是发展冶金自动化的必由之路。本文介绍智能自动化的主要领域和冶金智能化的进展,并提出冶金智能化发展的某些战略思考。
1智能自动化的主要领域
与冶金智能化比较密切相关的人工智能领域包括以下几个方面。
(1)专家系统(ExpertSystems)。专家系统是一类智能计算机程序系统,基于规则的专家系统是专家系统的典型代表,也是冶金专家系统的基础技术。
(2)计算智能(ComputationalIntelligence,CI)。计算智能是各种基于仿生算法的人工智能技术,它基于生物进化的进化计算机制和生理学的人工神经网络机制,依赖数据而不是知识进行思维行为研究。
(3)分布式人工智能(DistributedAI,DAI)。分布式人工智能是分布式计算与人工智能结合的结果。DAI在于构造描述自然系统、社会系统以及人-自然-社会关系系统的精确概念模型,研究由多个问题求解实体组成的系统中各实体间的交互作用以及知识和动作的分布与协作,以提高系统的整体性能。
(4)机器学习(MachineLearning)。机器学习是研究用机器模拟人类的学习活动、获取知识和技能,用于改善系统性能的学科理论和方法。
(5)机器人学(Robotics)。机器人学是一门研究机器人原理、技术及其应用的学科,也是一门高度交叉的学科,在各行各业获得非常广泛的应用。
(6)模式识别和机器视觉(PatternRcognitionandMachineVision)。模式识别是一门研究用计算机识别各种物理对象或过程的学科,它使计算机具有代替人类或帮助人类感知外部信息模式的能力,是对人类感知外界功能的模拟;机器视觉又称为计算机视觉,是计算机根据输入的二维图像来分析和理解自然的三维物景的过程和技术。
(7)智能控制(IntelligentControl)。智能控制是应用计算机模拟人类智能,实现人类脑力劳动和体力劳动自动化的一个重要领域,它代表了自动控制的最新发展阶段。冶金轧制和冶炼过程智能控制是智能控制的一个突出领域。
(8)智能决策与调度(IntelligentDecisionandScheduling)。智能决策系统是一种应用人工智能和智能系统技术协助管理和指挥人员进行决策的计算机程序系统。冶金工业的资源和生产智能调度是其中一个值得开发的重要课题。
(9)智能信息管理(IntelligentInformationManagement)。智能信息管理是人工智能、管理科学、系统工程、计算技术、通信技术、软件工程与信息工程等多学科、多技术相互结合和相互渗透而产生的一门新技术、新学科,是现代管理科学技术发展的新动向。
2冶金智能化的进展
智能化技术可以广泛应用于冶金自动化过程,例如,各种冶金专家系统、钢铁冶炼和轧制过程智能控制、矿井智能安全监控与灾害处置、基于模式识别和机器视觉的冶金生产系统、冶金智能机器人等等。
2.1冶金专家系统
专家系统已在冶金工业生产中获得十分普遍的应用。美国、德国、日本、印度和中国等国都开发和应用了许多先进的高炉系统,已把专家系统技术用于高炉建模、监控与诊断等。
利用知识与数学建模相结合方法建立的炼钢成分设计专家系统,能够协助工程师快速确定满足客户特殊要求的炼钢目标成分并优化热轧工艺,从而提高新产品的开发效率。
专家系统还广泛应用于冶金生产的其他领域,如转炉氧枪吹炼、炉外精炼、铁水脱硫、烧结矿配料优化、链条炉控制策略、冶金工厂设计、焊接工艺设计、冶金机械故障诊断、铝电解槽参数优化与控制等。
2.2冶炼和轧制过程智能控制
模糊逻辑、人工神经网络、进化计算及其集成智能化模型,已在冶金工业生产中获得,包括对冶金生产过程的建模和控制等。这些“软计算”已经用于轧钢产品质量建模、加热炉温度控制、电弧炉钢温控制、高炉炉顶压力控制、半固态镁合金板带双辊连铸控制、铝轧机双机架自适应张力控制、碳钢冷轧机煤气加压站控制、套窑温度均衡控制、铝电解厂排烟控制、转炉煤气温度控制、烧结过程控制等,取得了良好的现场应用效果。
2.3矿井智能安全监控与灾害处置系统
国内虽然对矿山智能安全系统的研究没有形成规模和广泛推广应用,但已经开始了矿山安全方面的研究,提出的基于神经网络的矿井安全预测方法能够降低人工救援风险,提高救援系统应对灾害的能力。矿井生产系统是一个涉及很多因素的复杂系统,不同因素之间存在相互关联,因此,煤矿安全预测是一个典型的非线性问题。而神经网络是一个典型的非线性动力学系统,能够利用历史的训练样例对未来趋势进行准确的预测,非常适于解决矿井安全预测问题。
针对煤矿环境提出的一种新型煤矿灾害处置系统,是基于模块化异构多机器人的煤矿灾害处置系统。该系统基于功能已知的基本单元,采用模块化组合构成不同结构的成员机器人,再由多个成员机器人形成多机器人系统。系统具有构建简单、模块体积小、模块结构多样等特点,适合煤矿井下灾害处置的需要。
2.4基于模式识别和机器视觉的冶金生产系统
模式识别已在国外冶金生产过程中得到广泛应用。国内基于模式识别和机器视觉的冶金生产系统包括冶金材料的结构识别与成分分析、冶金生产过程的监控及产品质量检验、蒸汽管网压降系数辨识等。例如,在宽厚板喷码自动识别系统、AOD炉终点预测、金属工件表面缺陷图像处理系统等领域均有良好应用。
2.5冶金智能机器人
工业机器人已在制造行业和其他部门,特别是在高温、有毒、危险等恶劣环境中获得日益广泛的应用。近年来,各个先进工业国家争先推出发展机器人学的雄伟计划,中国也制订了智能制造等发展战略。目前,冶金工业应用工业机器人还是不够普遍,除铸造、锻造、搬运等作业开始有应用智能机器人的试点外,还在矿井灾害处置和矿井安全预测方面采用机器人系统。
3冶金智能化发展的某些战略思考
冶金自动化已进入了发展的“深水区”,面临更大的难度与更高的要求。中国冶金智能化今后的开发与应用方向需要注意以下几方面:
(1)结合冶金工业实际,贯彻中央实行结构调整与转变发展方式的方针,推动冶金工业的科技进步和企业转型升级。
(2)继续开发各类冶金专家系统,例如,基于规则、模型和框架技术建立综合专家系统,对于某些应用,还可以结合网络技术建立基于Web的综合型专家系统,以不断提高专家系统的技术水平和经济效益。
(3)着力开发与应用基于计算智能技术的各种智能建模、优化与控制系统。
(4)推广应用冶金智能机器人。
(5)在现有的经验和技术的基础上,全面规划,加大全国冶金工业的智能化步伐,加速冶金智能化进程。
(6)积极进行冶金生产科学研究工作,开发过程软件,尤其是智能化软件。
(7)对已有企业信息管理系统进行更新换代的技术改造,采用更先进的现代管理理念和先进管理技术,实现对企业的智能化和人性化管理,为冶金智能化和现代化保驾护航。
(8)要高度重视冶金教育和人才培养。
中传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。
本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
下一篇:▪储能市场“解冻”,哪种电池能独领风骚?▪
液流电池也被称为氧化还原液流电池,是一种新型的大型电化学储能装置。
返回新闻首页人工智能在机械设计制造中应用
人工智能在机械设计制造中应用时间:2023-04-0803:06:09
摘要:随着人工智能技术在机械设计制造领域的应用和普及,人工智能技术的优势和作用也更加突出和明显,推动着机械设计制造行业的进一步转型和发展。本文基于人工智能技术在机械设计制造中应用的积极作用分析,探究了人工智能技术在机械设计制造中的具体应用,以此助力人工智能技术在机械设计制造中的更广泛应用和发展。
关键词:人工智能技术;机械设计制造;作用;应用
引言
我国传统意义上的机械设计制造过程,对人工劳动力的需求量比较大,而且在具体的设计和制造环节很多工作内容人工操作的危险性比较高,且精准性和合理性难以保障。人工智能技术在机械设计制造中的应用,不仅可以有效的降低人工成本,还可以推动机械设计制造的数字化、信息化和智能化,提高机械设计制造的效率和质量,推动机械设计制造行业的快速、健康发展。
一、人工智能技术在机械设计制造中应用的积极作用
1.在降低人工成本的基础上,大幅度的提升生产效率
传统的机械设计制造基本都是依赖于人工来完成的。一方面,要投入大量的人工成本。另一方面,很多环节的操作和设计受人工因素的影响比较明显。例如:设计和操作的精准度问题;复杂和危险环节的操作安全问题;人工所能完成的工作量问题等等都会成为影响机械设计制造工作效率和质量的因素。人工智能技术在机械设计制造中的应用,有效的解决了以上问题的出现。一方面,借助人工智能技术一定程度上降低了人工成本的投入,很多环节可以实现自动化和智能化。另一方面,也正是因为人工智能的自动化和智能化,系统不仅可以二十四小时正常运转,还可以更加精准、及时的预警故障问题,给出故障解决的建议;并且,在零配件和模具的设计制造方面,精准性和直观性更强。不仅可以在机械设计制造过程中降低成本投入,提升工作效率,还可以进一步保障工作质量,为实现企业经济效益打下坚实的基础。
2.简化和优化机械设计制造流程
传统的机械设计制造过程,很多环节需要人工的反复尝试和试验,才可以敲定设计方案,投入大规模的生产。在整个过程中,人工的消耗是非常大的,且因人工操作产生误差的可能性也是非常高的。人工智能技术在机械设计制造中的应用,推动了机械设计制造的数字化和智能化,在机械设计制造中很多环节基于强大的智能技术和信息系统就可以实现更科学合理的精准设计和测试,不再需要过多的人工参与和操作。很多制造设计流程被简化和优化,系统关系更加清晰,操作上更加便捷、顺畅。并且人工智能技术中的神经网络技术是对人脑的精准模拟,相比人工,工作反应速度更快、工作质量更高。所以,在机械设计制造中,人工智能技术的应用越来越广泛[1]。
3.刺激和推动机械设计制造行业的转型
任何行业的生存和发展都要顺应时展的规律。随着科学技术的飞速发展和进步,人类已然步入人工智能时代,人工智能也被更广泛的应用到社会的各行各业。但是,我国的机械制造设计行业中,还有很多中小型企业仍然在沿用传统的机械设计制造工艺。在激烈的市场竞争当中,生存和发展面临着严峻的考验。人工智能技术走进机械设计制造行业,推动着我国机械设计制造水平的进一步提升,也刺激着我国的机械设计制造行业实现转型、改造和发展。当今时代,社会需求在不断升级和变化,机械设计制造企业必须积极地去引进和采用人工智能技术,才能搭上科技飞速发展的“快车”,跟随时代进步,引领行业升级和转型,推动我国制造业的可持续发展。
二、人工智能技术在机械设计制造中的具体应用
1.模糊推理技术的应用
人工智能系统当中模糊推理技术能模仿人的大脑对数据信息进行判断和处理,并且分析和处理速度比人的大脑还要快,反应还要及时。经模糊处理技术分析和处理过的信息数据可以自动实现和学科知识的结合和转换,以确保传输数据的准确性和可参考性[2]。模糊推理技术是当前阶段人工智能技术领域最重要的技术内容之一。模糊推理技术复杂的数据分析功能能够在机械设计制造的过程当中对庞大的相关数据信息进行快速、精准的分析和整理。基于人工智能强大的模糊推理技术实现的数据分析和处理,能进一步保障机械设计制造的精准性,为提高机械设计制造的质量打下坚实的基础。借助模糊推理技术机械设计制造可以呈现连续函数的表达。但是,目前阶段,模糊推理技术在系统连接的稳定性方面还有比较明显的提升空间,也是接下来人工智能在机械设计制造中应用的一个重点研究方向。
2.神经网络技术的应用
一是,基于目前阶段人工智能中的神经网络技术可以将数据信息迅速上传网络,快速实现数据信息的保存、传播和共享。二是,神经网络技术也可以实现数据信息的动态处理。在机械设计制造中的应用就是对相关数据信息进行快速、准确的处理之后,将数据分析和处理结果转变成机械操作指令,自动完成机械操作任务。三是,所谓的神经网络技术,在一定程度上是对人体的神经系统的模仿,基于该技术的神经元反射特性技能自动实现数据分析结果的提取和处理,还能实现数据信息的保存和保护,就像我们人体,基于我们庞大的神经系统,可以感知指令,接受指令,并依据指令做出相应操作,也会对指令有所记忆。当前阶段,神经网络系统在机械设计制造中主要应用于设备管理。加工工艺方面,基于神经网络技术的工艺参数评定和误差预测功能,神经网络技术在机械设计制造中,也常常应用于机床运动过程中的误差补偿。在零配件设计和制造方面,神经网络技术也可以应用于指导齿轮CAD、齿轮形状、大小、强度的设计,一方面,提高设计的精准性和合理性。另一方面,在降低可能产生的经济损失基础上,提升生产效率和质量。
3.自动识别技术的应用
传统的机械设计制造中控制器的执行原理是先建立控制模型,然后利用动态控制方程开展动态控制。但由于动态控制方程的复杂性,一方面,部分机械设计制造工程现场不具备动态控制方程的控制操作条件。另一方面,传统的动态控制方程适应性一般,对机械工程预警的判断缺乏一定的合理性和精准性。人工智能自动识别技术应用于机械设计制造之后,传感器可以实现对机电设备相应参数的实时监控,一旦监测到参数异常情况,会自动触发系统的报警机制,同时实现自动停机。工作人员接到报警立即切断电源,进行检查。既保证了工作人员在安全的环境下进行工作,又保证了异常数据信息的及时发现和处理。同时,基于自动识别技术的自动识别—激光扫描--超声波传感在机械设计制造中可以保证对作业对象的精准识别,结合现代化的计算机系统,实现指令执行。既能提高动态控制操作的准确性和适应性,又进一步简化了动态控制流程,提高了动态控制的工作效率和质量[3]。
4.故障诊断技术的应用
机电设备在正常工作过程中的故障问题,是影响工作效率和工作质量的重点问题之一。所以,机械设计制造中故障诊断也是非常重要的一环。人工智能技术中故障诊断技术在机械设计制造中的应用,一方面,可以快速、精准的定位故障问题;另一方面,可以基于精准的故障预警,有效排除故障,协助故障处理,降低因故障可能产生的成本消耗,提高机械运转效率和质量。同时,人工智能的故障诊断系统可以实现机械设计制造方面相关故障信息和案例的收集、分析、总结和记忆,更提高了故障预警和故障检索的速度和精准性。在机械制造设计中故障诊断系统的应用操作一般是:用户通过人机交互对系统发出实时监控指令;系统在接收到指令之后,结合数据库中的资料信息对指令信息进行精准的分析和判断;然后,系统根据诊断结果,会自动实现与数据库中相关案例信息的参考和比对,依据精准诊断,确定故障问题,并给出建议性的故障解决方案。而此时,用户依据系统的判断和建议,就可以开展故障修复或者处理工作。一方面,降低故障处理和修复成本;另一方面,提高故障诊断和处理工作的便捷性和有效性,实现工作效率提升,保障工作质量。
5.虚拟现实技术的应用
从字面意义上判断,虚拟现实技术是一定程度上“虚拟”与“现实”的结合。虚拟现实技术在机械设计制造中发挥着重要的“工具”作用。机械工程师利用三维建模软件将产品画出来之后,借助虚拟现实技术的环境模拟功能,可以将三维画面更真实的展现出来。也就是将三维立体图形转变成“仿真”模型。基于这个仿真模型,可以更精准的展现产品的各方位细节,辅助定位产品的细节问题,以便及时发现问题,及时处理问题。所以,很多制造企业都可以使用虚拟现实技术先进行设计产品的反复仿真模拟测试,基于测试结果对产品设计进行进一步的优化和调整,得到更科学合理的设计方案之后,再进行模具生产。一方面,可以有效的降低制造模具的生产成本,避免了因设计不精准而造成的重复返工成本增加。另一方面,模具的精准性和科学性,是进一步保障产品质量的基础[4]。
6.机器人技术的应用
依据现阶段的科学技术,日常生活和生产当中,由于很多工作的复杂性和人工操作的困难性,会让机器人代替人工。在机械设计制造中,机器人技术往往也用来代替人工进行一些复杂的、安全性能差的工作。与人工相比,机器人的工作时间更长,工作状态更稳定,工作精准性更高。所以,机器人技术的应用,不仅可以提高机械设计制造部分工作的工作效率,还可以尽可能的避免在机械设计制造过程中可能产生的危险事故。以目前阶段的机器人在社会各行各业中的应用情况来看,机器人技术的升级和普及也是未来机械设计制造领域的一个重点发展方向。
三、结语
顺应时展的规律和要求,人工智能技术被更广泛的应用于机械设计制造行业,并推动着机械设计制造行业的快速、健康发展。因人工智能技术的加入,机械设计制造企业的工作效率和工作质量都得到了进一步的保障和提升,并带动了机械设计制造行业的转型、升级和发展。
【参考文献】
[1]刘宇祺.人工智能技术在机械设计制造中的应用[J].科技创新与应用,2021,11(22):172-174.
[2]李健生.人工智能技术在机械制造中的应用研究[J].中国设备工程,2021(12):24-25.
[3]刘建军.人工智能在机械设计制造及自动化中的应用[J].造纸装备及材料,2021,50(03):43-45.
[4]李雪琴.信息化时代机械设计制造中人工智能技术浅析[J].信息与电脑(理论版),2019(16):130-131.
作者:窦小刚单位:山西金阳器材有限公司
AI在自动化测试领域的应用
阿里QA导读:最近一两年随着深入学习技术浪潮的诞生,智能化测试迎来了新的发展,而AI也会引领下一代测试的新航向。Testin云测CTO陈冠诚先生的分享让我们看到AI在移动自动化测试领域里面的创新机会点。
一、技术方案大家早上好,我是陈冠诚,很高兴有机会来到阿里的主场参加TICA2019-阿里巴巴质量技术创新大会。最近一两年随着深入学习技术浪潮的诞生,图像识别和自然语言处理领域技术的发展使得智能化测试成为可能,今天我想跟大家分享AI如何引领下一代测试的新航向。我们这一块的分享是抛砖引玉的,我相信不管是阿里,还是业界的同行在整个测试开发领域里面,大家都做了很多的实践,所以我今天希望跟大家分享一下我的观点。
二、测试框架的痛点整个软件自动化诞生非常多的软件,不管是QTP,还是非常老的基于图形化的自动化测试的框架,这些框架都有非常多的痛点。
第一,学习成本高。需要一个具备测试开发能力的人写测试代码,我们知道测试分层,代码级的测试,服务级的测试,还有UI级的测试,我们把单元测试做得足够好,很多工作不用在接口层和UI层做,但是测试行业,因为人员结构的问题,不是所有的公司都是在阿里可以招聘很多有开发能力的测试工程师,作为初级或者说不太具备开发能力的从业人员,能否用一个简单的方法把自动化跑起来是一个问题。
第二个问题就是维护成本高,业务逻辑更新之后修改脚本花费的时间比较长,,脚本如何不用改,把维护成本尽可能降低到最低是第二个挑战。
第三个就是跨平台。测试脚本如何尽可能复用?我们看很多的APP,包括现在的小程序他们的业务逻辑是共通的地方。从技术角度上面去看未来,能不能实现跨平台和应用的复用,这一块是我们看到典型的问题。
三、AI测试方向可喜的是,随着深度学习的这一波浪潮,我们确实看到有一些问题可以在我们的量变基础上开始产生一定的质变。目前能够看到是,整个自动化测试领域里面,深度学习在视觉相关的处理,比如说图像的处理、文字的处理,包括整个测试的自然语言的交互上面,确实有可取之处,能够把我们整个自动化的水平往上提升一个台阶。
我们把整个方向分为四大块,第一大块,是机器像人一样看懂人话,比如说你告诉他说,你帮我测试我的登录功能,他帮助你测试,你告诉他说测试我的转账功能,你告诉他的逻辑之后,他可以帮助你生成各种各样的用例,当然今天我们没有完全做到这点,但我觉得这是未来大的方向,就是机器像人一样看懂人话。
第二个环节,是机器怎么样像人一样理解图形。在整个应用里面,随着多媒体、短视频和长视频出现在应用里面,不管你是搜索图标,还是一个图片,还是一个APP里面有导航栏、文字、图文典型的场景,人可以识别哪些是图哪些是文,那有没有可能机械像人一样知道哪些是图,哪些是文,知道哪些是导航。从未来来讲,随着整个自动化程度的越来越高,机器应该可以像人一样理解整个图形,包括整个版面的逻辑关系。
第三个环节是自定义图标,人不可能穷举各种各样的图标:因为图标是带灵感和创造性的,不可穷举。机器有没有可能对自定义的图标可以比较好的理解它,这是我们想要解决的第三个问题。
第四个问题就是机器有没有可能像人一样执行测试用例,其实核心点是有没有可能在执行过程当中对图片文字或者是业务逻辑进行很好的识别。
四、取得的进展跟大家分享我们取得的一些进展,第一个是自然语言的脚本,第二个是OCR文字识别,第三个是以图找图和通用图标的识别。
第一、自然语言脚本。在整个测试中有非常多的工作,我们核心目标是降低测试工程师编写脚本的难度,实现一个目标——会说中文,就能够写自动化测试。
如图所示,右边是我们可以做到的效果,左边这个大家都是熟悉的,写一段自动化测试代码,右边是我们iTestin实现的能力:比如说向下滑动的操作,只要写向下滑动这四个字就可以做向下滑动的操作。我们希望用纯中文的方式实现跨平台,无视控件变动,降低脚本维护成本,利用自然语言的优势,编写效率高,易理解,易维护。大家阅读别人阅读的自然语言的脚本,理解比较容易,维护难度也降低了。这是我们目前的语法规则,核心是会中文就会写测试程序,会用手机就理解别人写的测试程序。
第二块是在OCR上面做的事情。传统的OCR文字识别的方法,有很大的局限性,就是识别率不够高。我们面临的场景是应用的文字识别,首先是印刷字体。我们做测试的时候,很多时候基于业务功能做逻辑的回归,这个时候需要识别准确的对象,往往是核心功能的按纽,把这些按钮进行特征分析,会发现他们典型的特征是印刷字体。其次很多时候都是水平排列,或者是垂直排列,或者是带角度排列相对特别少。这牵扯到说我们做识别的时候,要做的任务存在哪个象限,就是在学界和工业界大家比较公认的OCR或者是文字识别的象限。最难就是右下角通用手写体的识别,你用手机拍的海报是毛笔字你怎么识别它,我们的手机截屏是属于右上角,属于第二个难度,不是属于最困难的一类。今年有一个专门的文字识别竞赛,这个场景下面目前来讲最高识别精度在70%左右。比较容易是左下角基于定制化的表格,他有很强的规则,比如说,身份证的文字有多少个字都是固定的。
首先讲文字识别,现在做深度学习是讲端到端,端到端可以分为两个环节,第一个环节文字检测,你标注出来应用的截屏哪些是文字块,哪些不是文字块,这就是文字的检测,第二个阶段把检测出来的文字块进行识别,识别出来这个文字块里面有哪些单词,加上标点符号组成。
文字识别在深度学习浪潮起来之前,有基于传统机器学习的方法,有两种是典型的,基于非常多的规则,包括精巧算法的设计,相对不是这么通用,但是垂直领域的使用下精度还好。但是一旦遇到自然场景,带角度、旋转、光线,因为他们不是靠训练数据驱动的,它的识别效果不如CPTN或者是EAST这种算法这么好。
但是我们识别的时候需要做精度和性能之间的平衡,后面两种方案最大的问题是必须要求GPU才有一个比较好的性能,有好的GPU才能有500毫秒的性能。我们这个产品可以云端部署和私有化部署,私有化部署如果要求客户配置一个GPU才能跑起来,对于有的客户来讲不能承受,我们内部实现多个版本,CPU和GPU方案都支持,可以根据用户的场景和预算灵活配置。
下面讲讲识别。文字识别是基于CRNN的模型做的。这是业界里面相对通行的方法。基于CRNN的思想,最核心点就是使用CNN的方法提取图像的特征,通过循环神经网络,利用OCR典型的特征去识别,不是一个一个的字符去识别,而是识别一个词,词有上下文的关联关系,登录是有上下文,循环神经网络可以实现。
我们在整个深度学习和机器学习里面有算法和数据,还有算力。这里面又牵扯到另外一个问题,数据怎么来的问题。我们知道最简单的方法或者是最容易想到的方法是做大量APP界面截屏或者是人工做标注,但是你想要拿到千万级别的训练数据,用人工的方式效率非常低。
我们考虑一点是说从手机的角度来讲,包括APP的角度上面来讲,我们用自动化测试的引擎,做大量App的测试执行。比如说有5万台手机可以做大量的手机的截屏,先做第一步的筛选,用控件树的信息,把文字的内容和控件的内容进行关联。再用机器做校验,然后用人工做校验。用OCR做检测,主要是对他位置的框定。把自己的传统的OCR识别匹配上面的信息给对应起来做框定,可以拿到很多数据。其实靠数据做检测不一定准,我们还有人工复核,我们请Testin云测的AI数据标注部门来帮助我们做这事情,机器生成之后机器做二次校验,人工再做校验,得到源源不断的数据。
还有一个有意思的点就是数据的泛化,有很多场景数据模拟显示不全,不同的背景,模拟分辨率低,模拟立体可以通用机器的方法实现,可以通过数据的变形之后拿到大量训练的数据样本。
这些都是跟数据训练相关,还有一块是性能。很多客户不具备用GPU部署的能力,我们在想有没有办法在CPU上面跑更好,OpenVINO是英特尔基于自身现有的硬件平台开发的一个框架。这是我们跟某一家云厂商的付费OCR高精度版本在APP上的测试结果,我们比他们在App和Web场景下精度更高。
第三,以图找图和图标识别。我们想要实现三个目标,看左边第一个图,这是一个典型的图文场景,我们看到手机的截屏,不管任何一个图片在屏幕上面的位置会发生变化,甚至背景颜色也会不一样,我们希望实现在不同的背景颜色下面找到同一个图。
第二个就是常见的系统按纽,典型安卓三个按纽,返回,主页,还有系统功能,有很多图标是通用的,比如说,主页加一个搜索图标,通用图标能不能做更好的识别。
在这个图标里面有一个问题,不同的设备上面,分辨率不同,识别图标的大小不一样,第二个很多的图标是非常简约的设计,特征点非常小,不像做猫或者是狗,目标和整个轮廓性比较丰富,我们很多图标只有一个线,非常的抽象,这个特征非常少的情况下,你怎么样对他进行识别,给我们带来非常多的挑战。
第三个就是场景或者是背景会发生变化,比如说暂停按纽在不同播放音乐过程当中背景发生变化,但是人眼可以看出来是同一个图标,但是机器怎么样进行识别。我们用的算法很简单,我们不认为深度学习就是唯一的方法,我们发现特征工程+深度学习结合更好,因为传统算法很轻量,这是我们不为深度学习论的最核心的原因,因为他需要GPU才能跑起来。第二点我们在整个全屏搜索上面我们做了大量优化,优化全屏搜索效率。第三个相似度的判别器。我们和行业大厂的以图找图的工具做过对比,他们的精度在68-70%,我们的以图找图精度可以达到97%。
还有一类是通用图标,这里使用100W+图标标注数据做训练。国外有学者做开源的数据集,他们也是用机器控件进行识别和人工标注的方式结合。这里回到另外一个问题,我们讲深度学习或者是AI有多少人工才有多少智能。我们人工标100万的图标级,比如说,典型的前进,搜索,收藏等等典型的图标。举一个应用的例子,比如说自动在整个应用里面找出哪些是“个人中心”的图标,“更多”这样的图标,包括“主页”这样的图标,还有“返回”的相关图标。
举一个真实QQ音乐APP的应用场景。你点击搜索,他直接点击搜索,通过OCR直接找点击搜索音乐这四个字,这时我们说输入周杰伦,他就会输入周杰伦在输入框里面。点击周杰伦《说好不哭》,他就会通过OCR里面输入周杰伦《说好不哭》,点击第三个《说好不哭》,第三个是我们的关键字,他会被点击到,这里有一个相对位置,我们在移动目标的下侧找另外一个目标,这是点击下侧,输入画像向右滑动,点击暂停按钮。这个时候,暂停按纽是人工标注好,点击分享按纽,分享按纽是我们识别过的这是一个分享按纽。
数据在这个行业里面是最大的壁垒,为什么这么说呢,因为我们去讲算法、算力、数据这三个要素。我认为今天来讲,算法可以通过招到优秀的人才可以解决,包括今天很多算法大家分阶段学界发表相关的论文,但是数据这个事情,相对来说壁垒更高的一件事情。我们有大量的真机,做了各种各样的自动化测试,通过这些测试,确实有可能让整个门槛变得更高。
比如说OCR,前几天遇到识别错误的Bug,用户用非常艺术化的字体进行识别,我们训练的字库里面没有这个字体。因为我们见到了这个字体,所以我们想到要把这个字体拿到我们的训练数据里面来,加入到OCR文字识别里面,让整个文字识别的精度更高,这是我发现数据在AI应用里面最核心的一个场景,或者是最核心的一个壁垒。
五、总结AI在自动化测试里面的一些工作,我觉得今天能够到测试的三大环节,一个是测试用例的生成,测试的执行,测试结果的生成。整个测试的执行环节,通过文字识别,图像的识别,图标的识别,让整个测试的执行变得更加稳定,兼容性更好,而不用基于传统机械控件的方式,因为OCR可以通过自动检测,哪怕你整个文字也好,包括你的控件在页面上换了位置,只要还在这个页面上,算法都可以自动进行检测,原来用控件的方式你要告诉整个脚本控件变成了什么,所以整个识别变得更加智能,包括说整个测试结果的解析上面,不管说自动进行UI异常的识别,兼容性的识别,崩溃的识别,还有各种数据的分享,把整个测试的结果变得更智能。
深度学习核心可以做的事情就是重复性的事情,比如说文字的识别,图标的识别,这些事情都是属于重复性的工作,什么是重复性的工作:汉字就10000个。我们对技术有深刻的信仰,相信技术能推动整个行业发展,不管是深度学习的突破或者是强化学习的突破,会在整个自动化测试行业上有更多的进展。我相信Testin云测也好,阿里也好,还是在座的各位同仁大家都应该做非常多的尝试,期待下一次有机会跟大家一起交流,向大家学习和分享AI怎么样把云测试变得更好。