启智与昇思的开源力量:TCL工业研究院基于MindSpore实现工业AI算法库READ
启智与昇思的开源力量:TCL工业研究院基于MindSpore实现工业AI算法库READ


1. READ项目
工业AI是智能制造的一个重要发展方向,有望能有效地推动生产力的发展,也是未来国家间竞争的关键。 工业质检是工业生产中最重要的环节之一,也是工业转型升级的重要突破口。传统工业质检依靠人力,不仅效率低、出错率高,而且人力成本高,人员易流失。基于AI的工业视觉检测是工业AI的一个重要的内容,主要针对工业生产中的各种产品的进行品质监控,筛选有缺陷的产品。然而,在TCL自身的工业AI视觉实践中,我们发现由于工业生产场景自身的特点,缺陷检测任务经常缺乏足够的异常样本用作训练。因此,在工业质检领域,基于正常样本的弱监督/自监督/无监督算法有着相当重要的价值,甚至在一定程度上可以帮助AI算法在工业领域突破大规模应用的红线。
针对以上的问题,无监督缺陷检测算法在学术界获得了极大的关注同时涌现了大批先进的算法。无监督缺陷检测可以在仅仅使用少量正常样本训练的情况下完成缺陷定位及异常检测的任务。然而,工业视觉领域并不是一个非常开放的领域,社区也不是很活跃,缺乏优秀的开源项目。因此,为了推动无监督异常检测算法在工业视觉领域的应用和研究,在对无监督异常检测进行了大量的创新与实践之后,TCL工业研究院将自己的实践总结成了READ算法库,并启动了READ项目,旨在为工业检测领域提供一个无监督异常检测的框架。
READ专注于研发与集成基于无监督监督学习的大规模异常检测算法和模型,重点解决工业质检中小样本和数据长尾问题,通过针对不同行业的业务和数据特点,研发可在无异常(无缺陷)图像上进行自学习和自训练的异常检测技术。未来,READ项目将搭建工业级别的开源数据库和技术生态平台,寻找更加鲁棒的和自动化的自监督训练方法,建立工业异常检测的标准化流程及评测指标,提升工业异常检测技术的性能和跨行业扩展性。
Read(Reconstruction or Embedding based Anomaly Detection)项目作为第一个工业视觉无监督异常检测框架,目前已经集成了许多学术界前沿的优秀的无监督异常检测算法,可以在仅使用少量正常样本训练的情况下完成缺陷定位及异常检测的任务。主要涉及到的技术有迁移学习、表征学习、Transformer、标准化流、统计分布、无监督学习、弱监督学习等计算机视觉前沿技术。READ提供两个主要功能:1)用于实现新的异常检测算法的接口;2)用于封装各种异常检测任务的模板。考虑到使用的开发便利,READ框架架构简洁,使用一个统一的架构将全部的算法串接起来,代码模块化,可以使用简单通用的接口调用使用者需求的算法模型,更易调用和阅读。在精度层面,实现了大量sota算法,并保证实现的精度与原作的精度一致。READ框架具有的主要优势有以下三点:算法丰富、开箱即用、精度保证。READ同时支持PyTorch和昇思MindSpore框架的算法训练,适应了不同开发者的多种部署需求,在追求快速落地的同时又满足部分开发者将模型迁移至国产框架上的需求。
昇思****MindSpore版本链接:https://git.openi.org.cn/OpenI/READ\_mindspore

相关统计数据显示,中国每天在产线上进行目视检查的工人超过350万,其中仅3C行业就超过了150万人。这些质检人员每天都要花费大量的时间去判断工业零件的质量,不但有害员工视力,还会存在速度和稳定性差等问题,对检测效率和质量造成影响。同时,传统的工业质检方法是通过实验,人工用放大镜、显微镜等多种工具选取亮度、颜色、尺寸、形状等特征及其参数来设计判决规则,仅可判别定量缺陷检测、无法自适应,泛用性低,并且人工成本高。
2. 开发昇思MindSpore版本的初衷
接触到昇思MindSpore的契机是在港研所领导的推荐下,我们的开源项目在启智社区通过立项并且成功开源,在跟启智社区进行更加深入的合作之后,我们开始了解到了鹏城实验室的云脑计算资源、华为的昇腾设备和昇思MindSpore框架。在了解到华为为了达成全栈AI所进行的努力,并且已经为社区准备了相当完善的软硬件工具之后,我们的团队成员一致觉得我们需要使用华为的昇腾设备和昇思MindSpore框架来开发我们的项目。我们公司也希望能和多家公司机构合作,能促进共赢发展。从长远的角度出发,我们是为工业界产品服务,考虑到工厂的利益,我们选择国产的框架相对业界主流的国外研发的框架更加稳妥。考虑到近些年国际形势的不稳定,业界和学术界使用的一些开发平台和框架由于版权问题,被外国机构勒令禁止使用,严重影响和制约了我国制造业的发展。所以我们希望能在自己民族企业开发的框架上面开源我的项目。企业在使用我们开源项目的产品时,不用担心受到国外制裁的威胁,能够稳步的向前发展。在时代潮流之下,我国推崇民族企业,无论是产品还是技术,民之所向更坚定支持国产的产品。**华为是可信任的民族品牌,作为制造业民族品牌的我们也希望华为开发的昇思MindSpore的AI框架能够在国内外企业间遍布通用,使中国的产业能在未来推广至全世界。**综上所述,我们选择开发一套基于昇思MindSpore框架的开源项目,使华为和我们公司双方都能够从中获得更大的利益,共同保障我国在全球制造业智能化转型上的领先地位。
3. 团队介绍
我们的团队隶属于TCL工业研究院-香港研究所,TCL工业研究院是TCL集团的顶级R&D部门,主要聚焦聚焦人工智能及大数据、新型半导体显示技术和材料、智能制造和工业互联网、5G应用四大核心技术,专注于前沿科技的储备与探索,为TCL成员企业提供前瞻性的技术支持。TCL工业研究院-香港研究所的主要研究方向主要是在大数据、人工智能、AIOT等,而我们团队在港研所内主要从事AI在工业视觉领域的研究与落地工作,在工业视觉缺陷检测领域拥有多年的研究经历,深耕视觉和深度学习算法开发业务,在3C电子、半导体显示、汽车等行业都有AI算法的工厂落地的经验。团队成员都参与了TCL华星光电的ADC(人工智能自动缺陷分类系统)项目,ADC系统是国内半导体显示行业第一个真正落地的人工智能应用。ADC系统利用大数据、AI深度学习、机器视觉等最新技术,将产品图像与已知缺陷图像库进行比对,通过先进的算法模型,智能检测缺陷种类,自动分析异常并给出解决方案。通过该系统与现有检验流程的集成,还能够迅速启动和运行该解决方案。ADC应用每年可为TCL华星光电综合效益提升1500万元。

- TCL集团2020年研发投入85亿元人民币,累计专申请77600多件,TCL工业研究院工程师总数:350人
- TCL工业研究院-香港研究所2020年AI工程师总数49人+20人实习生团队

张潮**(帝国理工大学博士,项目组主要负责人之一)**
TCL工业研究院(香港)AI资深专家,主要致力于人工智能在工业检测与智能制造领域的落地和应用。2012年于西安交通大学获取本科学位,分别在2014年与2018年于英国帝国理工学院获取硕士与博士学位。曾在华为2012实验室与博世人工智能中心担任计算机视觉科学家,期间主导了多个基于AI的异常检测/缺陷识别系统的应用研发及落地。入职TCL后,负责缺陷检测的前沿研究工作与AI视觉系统在TCL工厂的落地应用。

唐高杨**(项目的负责人之一)**
TCL工业研究院(香港)AI高级工程师,主要负责基于深度学习的视觉落地项目。2018年于深圳大学计算机与软件学院获取硕士学位。曾在联想香港创投研究院和探智立方北京公司担任深度学习研究员,期间参与多个AI视觉落地项目及深度学习平台开发。入职TCL后参与多个AI视觉工业质检落地项目以及该领域的前沿技术探索。

杨捷文 (项目组成员)
TCL工业研究院(香港)算法工程师,主要负责人工智能在视频语义理解以及图像语义理解在智能产品上的应用研究与落地。2018年于华南师范大学获得本科学位,于2020年于英国卡迪夫大学获得硕士学位。在TCL任职期间完成了负责了多个项目的AI模型落地,擅长AI模型轻量化设计并能够完成AI模型在低算力设别上的部署和搭建;目前主要负责具体任务(手势,行为识别)的视频语义理解项目的研究以及相关项目。

刘军 (项目组成员)
TCL工业研究院(香港)资深算法工程师,主要致力于单目深度估计、物体检测以及图像质量评估的应用和落地。2012年于北京理工大学获取本科学位,随后保送本校攻读硕士以及博士学位。曾在深圳大学信息工程学院博士后流动站工作,期间发表中科院1区和2区论文各一篇。入职TCL后,负责的深度估计、图像检测的前沿研究工作,同时从事网络搜索NAS相关方面的技术落地。
READ团队还有多名实习生:宁锦来、陈大鹏、刘兰、莫承见
4. 开发过程中的心酸喜乐
唐高杨:“开发过程是漫长艰辛的,也是困难重重,主要是昇思MindSpore框架还没有稳定下来,我们的算法里面包含很多自定义的或者相对复杂的算子计算API,昇思MindSpore有些还没有实现到位,我们需要自己去“拓荒”,这个过程耗时耗力,往往还会遇到不少问题。开心的是,昇思MindSpore工作人员比较积极配合帮助,在昇思MindSpore和我们的共同努力下,双方都互利共赢,我们算法实现了,昇思MindSpore也加入更新了很多算子,更新速度也比较快。”
杨捷文:“从刚开始的欣喜若狂到后面的逐渐平静,开发过程大部分时间是枯燥乏味的。开发昇思MindSpore版本对于我来说就像在一片混沌中寻找光明,因为它没有前车之鉴,需要我们自己去寻找其中的玄机,我在黑暗中慢慢摸索,困难重重。幸运的是,经过不断努力,我们成功了,尽管过程不是那么让人愿意回味,但是不置可否,昇思MindSpore给我们带来了惊喜。”
张潮:“开发过程中的心酸主要是两方面的:一个是算法本身,另外一个就是框架了,哈哈。算法方面呢,我们设计的无监督异常检测需要在只有少量正常图片训练的情况下,完成异常检测和缺陷分割两个任务,在没有强监督的情况下完成这个任务确实不简单。现有的sota算法有基于传统算法的,基于CNN的,基于Transformer的,基于normalizing flow的,五花八门包罗万象,可以说是深度学习领域的万花筒了,我们团队在开发的时候经常需要像学生时代那样对着论文一句一句过,查漏补缺,基本上大部分主流的模型架构都重新熟悉了一遍。框架方面呢,由于团队成员一开始都是习惯使用的TensorFlow/PyTorch,对于MindSpore并不熟悉,同时由于昇思MindSpore还在快速发展时期,有时候我们需要从头实现一些函数,但是由于Mindspore的开源项目暂时也不是很多,所以我们可以借鉴的代码也比较少,因此有时候大量翻阅MindSpore的API文档也是家常便饭的事情。当然了,做READ项目本身还是一个充满乐趣的事情。对我个人而言,做开源项目最大的收获是获得对于很多的算法更深的理解,同时也确确实实地在社区里留下了自己的东西。”
5. 下一步工作
下一步我们会继续探索相关的算法,实现更多效果更好的工业视觉缺陷检测领域的算法,并开源到我们的READ上面去,两个版本的框架算法都会进行不断的更新完善,以便为广大的同行开发者服务。同时我们希望跟华为昇思MindSpore有更深一步的合作,互利共赢,我们在实现算法完善开发的同时,也能帮助MindSpore提供更多有帮助性的用户体验意见,也希望华为提供更多的资源,我们也会多根据不同的底层框架设计不同的开发模式,让算法的效率更高,鲁棒性更强,共同推动双方的项目产品能在业界里深根发芽。再往后的一步,我们希望我们的算法在三个平台(产业、科研、教学)都能有更全面的发展,我们除了希望我们的框架算法能帮助工业界更多的企业外,在教学平台这块,我们希望能够和更多高校和教育机构深度合作,为其提供更多最新且优质的算法供更多学者了解这个领域,领入并从事工业视觉检测领域,更进一步推动工业落地。同时提供完善的科研平台供科研工作者能花更少的时间和精力,使用我们的框架孕育出更多帮助工业视觉缺陷检测领域更具突破性的创新。我们的理想是能够为推动全人类工业制造4.0智能化发展贡献力量。
同时,随着近来视觉大模型和对比自监督训练方法的快速发展,也给计算机视觉领域带来了新的发展方面。现阶段的视觉大模型主要是针对自然图像的情况,对于工业领域的并没有进行相应的优化。未来,READ也希望能够加入更加适应于工业领域的对比自监督与视觉大模型的算法,促进工业视觉领域更加快速的发展。
欢迎投稿
欢迎大家踊跃投稿,有想投稿技术干货、项目经验等分享的同学,可以添加MindSpore官方小助手:小猫子(mindspore0328)的微信,告诉猫哥哦!
昇思MindSpore官方交流QQ群 : 486831414**(群里有很多技术大咖助力答疑!)**

官方QQ群号 : 486831414
微信小助手:mindspore0328
扫描下方二维码加入MindSpore项目↓

MindSpore官方资料
GitHub : https://github.com/mindspore-ai/mindspore
Gitee : https : //gitee.com/mindspore/mindspore
官方QQ群 : 486831414