华为“网红”博士的机器视觉之路

2020 年 3 月 4 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货


本文转自华为人心声社区。不仅是作者的职场心路,也可让大家一窥华为如何用机器视觉技术控制生产质量。强烈推荐!


2016年7月,26岁的我从华中科技大学博士毕业加入华为制造部,做机器视觉开发。部门报到第二天就来活儿了:移动营业厅的手机,背面竟打着电信的LOGO!买到手机的同学不但怀疑人生,甚至怀疑买到了“假手机”和“山寨货”。


当然,这些不是假手机或山寨货,而是华为手机在生产过程中“盖戳”出错了,这样的事件对华为手机品牌影响很不好。当时也有严格的检测流程,每生产一部手机,都需要人工目检外观。但工作强度大,易疲劳,一双肉眼难免漏检错检。公司希望引入机器视觉来自动检测,防止不良品流出工厂。


由于之前并没有专职做视觉检测的同事,于是,我这个新员工就这样赶鸭子上架了。





女友来电,让我灵感闪现




机器视觉说来并不陌生,比如人脸识别、车牌识别应用已十分广泛。我做的机器视觉主要应用在工业领域,记得刚来时领导的鼓励: 如果把制造比作人体,机器视觉就是火眼金睛,智能制造离不开机器视觉


给设备装上“眼睛”,让机器“看见”,并非那么容易。我们找了很多设备供应商,起初都抱有强烈的兴趣,可听完我们的要求后都纷纷摇头。华为手机产品型号多、同一种型号材质多、同一种材质颜色多,供应商表示做不了软件算法。视觉检测设备的核心就是图像处理算法,如果没有软件,无异于雄鹰没有翅膀,老虎没有牙齿。自力更生、自主开发整套视觉检测方案,成了我唯一的选择。


我从产线借了两个报废物料,搭建好了硬件实验平台,很快就设计出了一种图像比对算法,拍摄一张良品图像做模板,每次放入一部手机都与模板进行像素间的比对,比对后算法给出相似度分值,如果分值低于设定的标准则认为是NG(不良)。问题这么容易就解决了?设备供应商只知道吓唬人,我心里还有点小得意。


可是随着实验样品的增多,我发现问题并不那么简单:检测结果常常不稳定。检测同一部手机上的图案,有时OK ,有时又报NG。我这就纳闷了,明明是同一部手机,怎么会有两种截然不同的检测结果呢?


通过分析采集到的图像,我发现是光源出了问题。就像拍婚纱照一样,图像检测也得有专业的“打光”。但手机电池盖是有一定弧度的,如果两次放置的位置稍有不同,拍出来的图像就时亮时暗。一片黑的时候还怎么检测?但办法总比困难多。我重新设计了一种亮度自适应比对算法,该算法类似人眼的瞳孔。光线亮时瞳孔缩小,光线暗时瞳孔放大,并不会因为图像变亮或变暗而影响检测结果。


光线问题刚解决,新的问题又接踵而至。我发现有几类电池盖的图像质量非常差,检测结果再次变得不稳定。这类电池盖采用了磨砂工艺,任意两部手机的磨砂颗粒分布都不可能完全一样,因此待检测图像中存在大量随机噪点,就像人脸上突然长了很多麻子,机器认不出来了。真是“刚翻过了几座山,又遇到了几条河”,新的问题使方案再次陷入了困境。


晚上回到宿舍,我还一直惦记着这个问题,正当我一筹莫展时,手机响了。原来是女友找我视频聊天,告诉我送她的华为手机到了。视频中我发现她比从前漂亮了很多,痘痘也不见了。原来华为手机使用前置摄像头时自动开启美颜模式,人像变得美白清晰!这时突然一个灵感从我脑海中闪现,为什么不能对手机电池盖图像进行“美颜”呢?第二天回到实验室,我查阅了美颜算法的相关论文,编写了一种高效的图像滤波增强算法,给图像“美颜”,把一脸“麻子”抹掉。重新实验了磨砂电池盖,图像噪点消除了,检测稳定了。






催命的“十道金牌"




经过三周的代码编写和测试,整机软件第一个版本开发完毕。我联系了终端车间三条产线进行试用验证。“新手”上战场,难免出问题。有时软件死机,有时控制器没反应,有时相机掉线,有时报警灯乱叫,各种莫名其妙的问题,经常按下葫芦起了瓢。


有一天出了问题,我从南方工厂B区坐穿梭车赶往C区处理,短短十五分钟的路程,现场打了十个电话,真是“十道金牌”呀。刚到现场就被工艺的、质检的、生产的同事团团围住,工段长大声吼道:“能不能搞好,搞不好叫你们经理来搞,再搞不好让你们部长来搞”。当时真被那阵势吓到了!我询问了情况,原来是临时排产了一批国外手机,按照所在国的法律,手机背面印了型号、制式、环保属性等大大小小十几种图案,每一项都要检测是否正确。技术员吐槽到:“你的软件这么复杂,这么多图案要检测,让我怎么用”!原来软件界面上密密麻麻的视觉参数,非专业人士难以下手。为了快速解决问题,5分钟内我配置好了参数,生产恢复了正常。


那天我意识到:生产线就是“印钞机”,停线一分钟就要损失X万元,耽误十五分钟那就损失了几十万元。这就像救火一样,能抢一分钟是一分钟,能抢一秒是一秒。必须要给出一个长期解决方案,容不得丝毫懈怠。回去后我优化了算法,可以自动计算大部分参数,需要手动设置的参数也给出了参考范围,简化了操作过程中对专业知识的要求。中午作业人员休息,我提前借好物料,争分夺秒的实验和收集数据,晚上修改代码,终于推出了适合技术员使用的软件。


“对自动化设备开发部LOGO检测设备异常频发的红牌通报”,2017年3月16日,早上一上班就被一则醒目的邮件惊到了。原来是几条产线频繁报NG,但实际是良品。设备不是一直都运行良好吗?即便是有机械和电气故障,现场维护的兄弟也都能及时处理,怎么突然就被红牌通报了呢?


起初我认为是图像处理算法错误,后来发现即便是图像质量非常好也会误报。为了弄清原因,我在生产一线蹲点了一周时间,深入了解各种情况,经过调研分析,梳理出设备异常的主要原因。原来相对于两个月前,工厂生产的手机型号发生了较大变化。同一细分型号的来料,图案大小、字体笔画粗细及间距都存在一定差异。


图案大小和字体笔画粗细及间距的细微变形,都是符合外观标准的,并不影响客户的感知。但这种无规律的变形难以用具体的数字量化,在保证不良品百分百拦截的前提下,如果仅仅调节现有算法的参数,根本不能解决问题。既然传统方法能力有限,为什么不改变固有思维寻求新的技术呢?还好我们部门就是一个技能“百宝箱”,既有做机械的,软件的,也有光学的,更有AI、大数据的。这相当于在一个部门就打造了一支高精尖的智能制造团队,这在其他公司是很难想象的。


带着问题我找到了吴博。吴博是海归专家,他说可以将设备看成是调皮的小孩,有时经常犯错误,很难用具体的数字告诉小孩应该怎么做。但可以通过不同的学习榜样教育他、引导他,通过不断学习,他就可以成为一名优秀的学生。


讨论完后,吴博发给我一篇机器学习的文献,读后我深受启发。结合工厂的作业特点和华为产品的形态,提出了学习型缺陷检测的策略。如果现场确认物料没有问题,设备误报了NG,可将该图像标记为良品,并追加到良品学习样本库。随着样本的积累,检测变得越来越准确,机器具备了学习能力,误报率自然大幅度下降。


就这样一点一点的优化、改进,完成了164项改善任务,最终将检测误报率从10%以上降低在2%以内,满足了产线需求,解除了投诉红牌。后来,手机LOGO检测设备实现了全面复制和推广。现在每部手机都必须经过我的软件检测,“假手机”事件再也没有发生过。   





我像个“网红”,火了




新人初来乍到,别人不认识,生产线有需求也不知道找谁去。这种情况下,我不能像刘备似的,一会儿找袁绍,一会儿找曹操,必须主动出击,先把荆州抢过来再说。


于是我揣了一大叠名片,到生产线当起了推销员,“有视觉图像方面的需求可以找我。”一大叠名片发完后,不仅终端制造找我,其他各类产品制造部门也陆续有需求传递到我这边。


渐渐的,越来越多的人找到我,“自动化设备开发部有一个张步阳博士,做视觉的,有需求就扔给他。”突然间我像个“网红”,火了。但毕竟我只有一个脑袋,两只手,每天不吃不喝不睡也处理不来这么多需求啊。于是,我们花了一年的时间,做了一个视觉工具平台


机器视觉听起来“高大上”,但归结起来无非是图像采集和图像处理。视觉工具平台就是为了实现这两个过程的标准化和通用化而打造的。图像采集就是使用相机对目标进行拍照。但是相机种类繁多,有彩色的、有黑白的、有USB的、有网线的,不同相机厂家的软件协议各不相同,真可谓“七国八制”。业界普遍的做法是尽量采用同一品牌的工业相机,避免过多的适配开发。但是弊端太大,如果遇上供应商缺货,将直接影响项目交付。长此以往,相机厂家变成了“大爷”,服务越来越差,价格却居高不下。根据华为制造的业务场景,我制定了一套采图协议,实现了采图逻辑与相机硬件的解耦,国内外厂家纷纷加入“张博协议”。公平的竞争机会,使相机供货价大幅度降低,甚至降到以前的一半,在为公司节省了开支的同时,进一步丰富了机器视觉在华为的应用场景。


在此基础上,我们对所有的视觉需求进行了梳理,并总结为:定位、测量、检测及识别四大类应用场景,开发了50多种通用的图像处理工具。每一种工具相当于手机应用商城里的一个APP小程序。有了它,人人都是视觉工程师。通过下载不同功能的“APP”并进行简单的组合,无需编写代码,就可快速完成视觉系统搭建,即便是生产线的操作人员也可以轻松上手。


现在我们部门每年交付1000到2000台自动化装配与检测设备,每台都搭载了视觉工具平台。这个牛我相信可以吹一辈子:松山湖华为工厂生产的每一个产品都是由我的视觉工具引导装配完成的!






手不“抖”,眼不“花”,脑子清楚了




华为产品越来越精细,标准越来越严格,对制造技术提出了更高的要求。2019年,我们遇到了一件相当棘手的事。那是一个芯片封装项目,我们给机械臂加上“眼睛”,让机械臂能抓起一个微小的传感器,并放置到另一个器件上。产线误差要求是20微米以内。不仅如此,每次都要求放在中间位置,不能这次是1微米误差,下一次是19微米误差。虽然1微米和19微米误差都不会对产品有影响,但华为制造就是要求这么严苛,要最大程度确保产品生产的稳定性。这种微米级别的精度要求,我们此前从未碰到,参数优化等手段全部无效。搞了两个月,怎么改进都达不到指标,最后产品线甚至连物料也不再给我们提供了。


团队里有的成员也打了退堂鼓,认为根本做不出来。但在我眼里,这又不是遇上了摩尔定律极限,只是个工程问题,怎么会做不出来呢?我打算挑战不可能,将信将疑的同事也被我拉着继续干下去。这个问题的难度在于,我们压根找不到原因。“眼睛”明明看得挺清楚的,怎么就会出现偏差呢?


我们一步步剖析,发现不能只盯着图像视觉这一点,得系统分析。这就像人一样,眼神虽然好,但手哆嗦也不行啊。我们认为机械臂在运动控制上有问题,放置东西时会“哆嗦”。我们找了自动化机械设计的专家,对机械臂的抖动做了抑制,不再“哆嗦”。光学上也做了优化,此前的光学设计不合理,它要求的是5.0的眼睛,结果我们是一个近视眼。在此基础上,我们综合运动控制、光学上的误差,做了算法上的适配。


最终手不“抖”了,眼不“花”了,脑子清楚了,结果变得很稳定。





做“顶天立地”的学问




其实,我之前并没有打算来华为。我研究的机器视觉比较前沿,国内制造业普遍处于中低端,我深怕没有用武之地。本打算博士毕业后继续攻读博士后,多发些论文,出来当个老师。如果那天没有去听华为的招聘宣讲会,我现在应该是“张老师”,在三尺讲台前口沫横飞,一边讲段子一边传道授业。


但华为改变了我的看法。华为既有精益生产、智能制造、精密制造等理念和前沿研究,也有足够多的业务场景让我们实战,更有跟我专业百分百吻合的岗位让我发挥。所以听完宣讲会后,我就下定决心要到华为大干一场。还记得当时跟导师提出要到企业去时,他很支持并告诉我说,华中科技大学有一种精神叫顶天立地,做学问既要做最前沿的、顶天的学问,也要能接地气,把学问用到实际中去。


现在国内做工业机器视觉的公司,很多是基于A国的一个算法库来开发的。这个算法库类似于手机的安卓系统。2019年,我们也开始自研底层的算法库,打造工业机器视觉的“鸿蒙”。


“想飞上天,和太阳肩并肩,世界等着我去改变。想做的梦从不怕别人看见,在这里我都能实现。” 三四年过去了,我庆幸当初的选择。学有所用,华为使我成为了一个顶天立地的人。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、传感器、检测分割识别、三维视觉、医学影像、GAN、自动驾驶、计算摄影、算法竞赛等微信群,请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿也欢迎联系:simiter@126.com

长按关注计算机视觉life

推荐阅读


实战 | 相机标定

实战 | 图像矫正技术

实战 | Unity下ARKit与OpenCV的结晶

实战 | 基于SegNet和U-Net的遥感图像语义分割

实战 | 文字定位与切割

实战 | 源码入门之Faster RCNN

实战 | 自己实现扫描全能王

实战 | 用OpenCV轻松生成微信国庆版头像

实战 | OpenCV 实现多张图像拼接

实战 | OpenCV相机标定与畸变校正

实战 | 教你自动查找拍糊的图

我用MATLAB撸了一个2D LiDAR SLAM

实战 | 哪个瞬间让你突然觉得CV技术真有用?

干货 | 史上最全 OpenCV 活体检测教程

解决方案 | 如何用普通手机准确测量物体体积?

Mask-RCNN模型的实现自定义对象(无人机)检测

scikit-image图像处理入门

还在用肉眼找不同吗?这个技术轻松搞定

OpenCV测量物体的尺寸技能 get~

超详讲解图像拼接/全景图原理和应用 | 附源码


最新AI干货,我在看  

登录查看更多
0

相关内容

机器视觉通常用于分析图像,并生成一个对被生成图像物体或场景的描述,这些描述最终用于辅助或决定机器人控制决策。 一门基于计算机图像识别和分析的技术。主要用于自动检测,流程控制或机器人引导等。
专知会员服务
39+阅读 · 2020年6月19日
【纽约大学】最新《离散数学》笔记,451页pdf
专知会员服务
123+阅读 · 2020年5月26日
专知会员服务
109+阅读 · 2020年3月20日
中科大-人工智能方向专业课程2020《脑与认知科学导论》
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
347+阅读 · 2020年2月15日
【机器视觉】机器视觉全面解析
产业智能官
11+阅读 · 2018年11月12日
【质量检测】机器视觉表面缺陷检测综述
产业智能官
30+阅读 · 2018年9月24日
【机器视觉】机器视觉技术在工业检测中的应用综述
机器视觉技术的农业应用研究进展
科技导报
7+阅读 · 2018年7月24日
【机器视觉】表面缺陷检测:机器视觉检测技术
产业智能官
25+阅读 · 2018年5月30日
【机器视觉】整合:机器视觉基础知识汇总
产业智能官
8+阅读 · 2018年1月22日
【机器视觉】人脸检测与识别总结
产业智能官
7+阅读 · 2017年12月6日
Arxiv
5+阅读 · 2019年2月28日
Adversarial Metric Attack for Person Re-identification
Conditional BERT Contextual Augmentation
Arxiv
8+阅读 · 2018年12月17日
Arxiv
7+阅读 · 2018年3月22日
VIP会员
相关资讯
【机器视觉】机器视觉全面解析
产业智能官
11+阅读 · 2018年11月12日
【质量检测】机器视觉表面缺陷检测综述
产业智能官
30+阅读 · 2018年9月24日
【机器视觉】机器视觉技术在工业检测中的应用综述
机器视觉技术的农业应用研究进展
科技导报
7+阅读 · 2018年7月24日
【机器视觉】表面缺陷检测:机器视觉检测技术
产业智能官
25+阅读 · 2018年5月30日
【机器视觉】整合:机器视觉基础知识汇总
产业智能官
8+阅读 · 2018年1月22日
【机器视觉】人脸检测与识别总结
产业智能官
7+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员