直播知识点实录|百度大脑EasyDL产业应用系列 质检专场
日期: 2020-05-26 分类: 跨站数据 299次阅读
EasyDL产业应用系列【安全生产及数据处理】公开课,课程中不仅介绍了EasyDL在安全生产领域的落地案例与实战演示,还有新上线的EasyData智能数据服务平台功能与介绍。没有参加课程的小伙伴也不用担心,可通过实录完整解析 AI 巡检业务场景和定制 AI 解决方案,小时级成功变身 AI 应用专家! 同时,5月27日至5月29日为EasyDL-NVIDIA专场公开课,全面解析如何提升端/边/云高效协同,有效满足业务需求。开发者们可通过扫描下方二维码进行报名!
【质检专场】直播回放:
药盒质检-上:https://www.bilibili.com/video/BV1zK411W7VH
药盒质检-下:https://www.bilibili.com/video/BV1KT4y1g7dE
喷油嘴-上:https://www.bilibili.com/video/BV1cz411B7az
喷油嘴-下:https://www.bilibili.com/video/BV1xt4y1C7f5
视觉定位-上:https://www.bilibili.com/video/BV1mk4y167ao
视觉定位-下:https://www.bilibili.com/video/BV1SQ4y1A7aJ
【质检专场】课程笔记:
2020年5月13日
课程笔记——医药物流中的药盒检测软硬一体方案
讲师:浙江工业大学信息工程学院 付明磊老师
百度资深研发工程师 哈利老师
课程大纲:
1. 医药物流行业分拣的现状和痛点
2. 如何使用EasyDL专业版进行检测模型的定制和部署
现在我国各地区均建有医药物流配送中心,来对接各大医院和药店。根据售订次数和订货量,我们把药品分为A、B、C三个等级:其中A类实物量少,但是价值高,出货方式是整箱出货;C类药品品种多,实物量多,价值低,往往是零散出货,B类在AC之间。今天分享的就属于C类分拣,出货量大,但是出货频率低,以往都是人工分拣方式,并且每个供货分拣的区域比较大,这种人工分拣加人工复核的方式,使得药盒分拣效率低。
近年来,随着互联网医药的快速发展、医药流通市场的逐步规范,以及两票制推行,我们的医药物流显现出两个明显的特点:第一是拆零占比大,也就是说整箱药品被拆开进行零散分拣的比例越来越大;第二就是订单的碎片化程度高,因为我们可以看到,有越来越多的药店可以从医药物流企业进货,这种商品的分拣和复核给物流企业带来了巨大压力,因此采用机器人替代人工复核的呼声越来越高。
药盒检测是我们实现机器人分拣的技术难题之一。有三点原因,第一就是药盒的种类非常多,现在在我国最新的医保目录内药品有2643种,目录外药品更多,我看到一个数据,我们国内现在各类药品加起来可能超过了10万种,而且不断有新药在研发。第二,药盒检测的背景比较复杂,大家可以看到中间这张图,药盒是分层堆积在药箱里的,下层会对上层的药盒产生比较大的背景干扰。第三,要求检测速度比较快。正是因为这三个原因,所以药盒检测对我们工厂是有难度的。
随着机器学习,特别是深度学习在复杂数据上的表现越来越优秀,很多企业希望把人工智能的方法、深度学习的成果应用到自己的产品和服务中。但是,即使使用了预训练模型或者开源框架,对许多不了解深度学算法的人来说仍很有挑战,另外机器学习不是产品的核心技术,而我们需要额外维护深度学习的算法团队,付出的成本也是非常高。因此,需要找到一种能够快速使用,高性能,深度学习,而成本低廉的方法。
大家可能会问,我们现在在GitHub上已经有很多优秀的开源项目,我们可以找到高度分装的算法和大量开发的数据集,成本不是更低吗,为什么还要使用EasyDL?大家知道,如果你想用这些开源的项目并复现它的效果,或者根据情况调整代码,开发者需要具备一定机器学习的知识,并且有很多开源项目的文档说明和技术支持不是持续的,需要使用者或者开发者一点点调试和试错才能正确实践和复现。更重要的是,我们辛辛苦苦获得了训练好的模型,但是将这些模型部署到移动端或硬件平台上将遇到很多的困难,主要是因为当前流行的深度学习框架并没有完美支持模型部署,所以在部署上仍会遇到问题。
所以说,对于不太了解深度学习或者机器学习的开发者而言,特别是我们的企业用户而言,最好能够把我们前面讲的这些过程自动化。比如我们可能只需要收集少量的数据,而且这些数据只要和任务相关就好,我们能够在一个成熟的平台上完成对于这些数据的标注,让系统帮助我们去选择合适的模型,并且进行参数的调试训练,最后帮助我们把已训练的模型直接部署到云端API、或者打包成SDK。其实我们现在已经有一些平台能够完成这一系列过程了,比如百度的EasyDL,我们今天向大家介绍就是EasyDL的专业版。
专业版是针对AI初学者和专业工程师开发出来的,特点是只需要少量即可定制高精度的AI模型,原因是EasyDL中已经预置了由百度海量数据训练的预训练模型。目前,EasyDL的专业版支持视觉和自然语言处理两大技术方向,这也是现在AI领域中很热门的方向。EasyDL专业版目前为开发者提供了两种开发方式,脚本调参和Notebook开发方式,大家可以到官网进行详细了解。
因此,我们在做药盒检测的时候就使用了EasyDL专业版,我们采用的是EasyDL专业版中的物体检测模型。物体检测模型这里列出的三种,FasterRCNN、YOLOV3、mobilenetSSD。了解深度学习的朋友都知道这是非常有名,也是非常经典的三个主流物体检测模型。
那么,使用EasyDL如何开发专业版的药盒检测模型呢?总体流程是这样的:首先我们需要分析业务需求,EasyDL专业版里支持图像分类,物体检测,文本分类,短文本匹配等六种模型,对药盒检测而言可使用的是物体检测模型。
第二是准备数据,这个环节看上去很枯燥,但是大家一定要重视,在这个环节我们需要完成的是数据上传和数据标注,但是大家一定要注意,我们给模型提供的数据需要尽量与真实数据场景一致,比如说我们在药盒检测时候,我们的机械臂上使用的是英特尔的,我们在进行药盒采样和药盒原始数据集也都是用这个采集的。第三是创建项目,大家要根据自己的习惯和开发方式选择,刚才也提到了,这里支持脚本调参和Notebook两种方式。第四就是配置任务并启动训练,在这边我们需要配置训练集和评测集,评测集是可选的,需要选择预训练模型,大家可以根据自己的需要、训练精度和预测的时间等来选择预训练模型。现在物体检测有四种模型,之后就可以启动训练,交给百度的云平台后端进行训练。完成模型训练以后,我们可以通过模型训练的评估结果给出的评估报告,查看评估效果,大家也可以用测试集进行实际测试,看看这个模型能不能满足自己的训练要求。在这个过程中,EasyDL支持数据闭环,可以持续快速优化模型效果。
最后就是模型部署部分,当模型训练好以后,这里有四种模型部署方式,今天跟大家分享就是第四种,软硬一体方案。
下面我们看到就是流程里重要的三个环节,我们使用EasyDL专业版主要完成这三个环节,第一个环节就是数据上传和标注,这是我们进行药盒训练时候一个数据集,前面也提到了,使用英特尔三版相机,我们拍摄了不同数量,不同角度,不同背景的照片,我们给大家分享了简单的数据集,中等数据集和复杂数据集,在这个数据管理和标准环节要通过导入数据集进行标准,实现数据集的上传和管理。
第二个关键环节就是创建项目。这边可以创建项目,选择预训练模型,配置脚本,可以在一个项目里创建多个任务,可以不断地优化你的任务,直到你训练出来满意的模型为止,在整个训练过程中,可以设置短信通知,训练完成以后可以自动提示你,最终我们只需要看一下训练的结果。
最后一个关键步骤就是这个模型部署,也是最关键的环节,训练出那么多模型,最终还是希望部署在硬件平台上。这边给大家讲的就是可以把EasyDL训练出来的模型部署在EdgeBoard VMX加速卡上,另外还有EasyDL-FZ3计算卡和EasyDL-FZ5/FZ9计算盒软硬一体方案,今天给大家介绍的训练就是部署在EdgeBoard EasyDL-VMX加速卡软硬一体方案上。
下面我讲一下VMX的部署,首先如果要进行专业的硬件部署,我们必须要有一张EdgeBoard加速卡,今天用的是VMX,大家可以在百度AI市场进行购买。加速卡拿到以后可以了解相关硬件的配置,我们直接进行演示,主要是分简单的几个步骤。
第一步,要先将加速卡连接到宿主机,要通过这个系统识别这张加速卡。我们这边可以打开Linux终端,使用Lsusb—v,然后可以识别这个硬件,可以看到制造商包括产品的名称,包括产品的序列号,这样这个系统就识别了加速卡,完成了第一步。
第二步,要安装SDK。在安装SDK前分为两步,第一步要安装OpenVINO服务器,大家可以点击一下这个链接就进入到toolkit过程,后面可以按照文档的方法把这个装好。因为我装了OpenVINO,我们可以切到这个页面,提示出了OpenVINO的环境。
在训练好模型以后可以获得SDK,正常如果审核24小时以后,可以在我的服务里看到SDK的下载链接,包括产品的序列号,这个之前的SDK我已经下载压缩以后就是这个目录,也就是自己训练好的第五版YOLO的药盒检测的模型,这里有两个模型,一个是Python,一个是RES,这里有三个安装包,在RES是模型的主要数据,这个就是整个SDK的安装方法。
下面就可以把SDK下载解压缩,同时购买EdgeBoard以后在SDK旁边就有序列号,你买了以后有两个序列号,大家可以试一下,我用的是第二个序列号。
最后一步就是测试硬件部署是否成功。首先要安装wheel包,通过Python3,大家安装适合自己系统的wheel包。这里有三个wheel包,我们可以做一个区分,cp37,表示是3.7的版本。如果这个版本选择正确的话,安装的过程是非常顺利的,中间不会有任何的报错,很快大家就能看到有一个百度AI SDK的提示,说明SDK已经安装好了。第二步就是我们需要在刚才Python的目录下看到DemoPy,修改一下测试程序,如果正常生成的话旁边可以找到序列号。
这个产品序列号都是唯一的,刚才我也说了,有两个序列号,大家可以试一下,如果是错误序列号,这个代码就会提示出错,这个是我们现在用的EdgeBoard序列号,放进以后保存就可以进行测试,我们看一下EdgeBoard,既然已经把模型配置到EdgeBoard里去,我们看一下测试是不是能够很好地执行。
完成药盒检测模型部署以后,我们就把这个方法应用到了机械臂上,机械臂就可以根据识别出来的药盒位置,使用吸盘进行提取。
我们总结一下今天的报告。今天向大家介绍了使用EasyDL的专业版,药盒检测的软硬一体方案,这边有一些东西要提示一下。首先,我们今天做的检测场景需要保证训练场景和检测场景尽量一致,这样才能得到比较好的效果,如果数据来源不一样,比如一部分数据是用相机采集的,一部分是用手机拍摄的,甚至还有一部分是网上找来的,这样的数据源会影响效果。我们今天演示的模型并不是最完整的模型,这里也给大家一些建议,我们可以适当在训练中增加一些复杂模型的数据,可以进一步提高,有兴趣的同学可以比较一下EasyDL这四种网络的性能。还可以尝试去修改训练过程中的配置脚本,进一步优化检测能力。最后,也可以根据实际的情况选择离线部署的模式,确保预测的速度。
在这次讲座中可以看到EasyDL专业版的优势,可以看到使用EasyDL专业版在加上EdgeBoard VMX加速卡软硬一体化方案是非常便捷。就像前面讲的,可以说在很多行业中很难找到经验非常丰富的机器学习和深度学习的团队,我们本人也没有那么多精力,但是我们可以使用EasyDL的专业版模型,可以使用他们的物体检测,可以通过训练好的模型帮助我们解决好这个问题。同时我们可以把我们训练出来的模型,灵活地通过简单的操作就可以部署到VMX加速卡中,最终可以集成到机械臂吸盘中。整个操作非常简单,而且我们只需要提供少量的数据,最终可以实现高精度检测,包括部署灵活的产品方案。所以我们可以看到,使用EasyDL专业版,通过数据管理标注,模型训练,模型部署,简单的三部曲就可以完成从任务需求到任务实现的变化。
下面我们来有请百度研发工程师和我们分享一下EasyDL-VMX计算卡软硬一体方案。
非常感谢付明磊老师的分享。我介绍一下EasyDL的VMX计算卡,它是基于英特尔芯片实现高性价的计算卡,算力可以达到1TOPS,可以简单实现EasyDL定制模型的离线计算,刚才有同学问模型的性能,我们看一下左下角,有一些参考,刚演示的是YOLOV3,模型推理速度是在1.7秒左右,这款计算卡本身参考价是699,就可以实现比较高精度的模型,性价比比较高,刚才演示的时候速度虽然慢一点,但是1.7秒的时间,如果希望达到更低的时间,比如我们定制调参,图像尺寸小一点,速度就会更快,比如我们再选更轻量级的模型,也可以达到很好的时延。在VMX使用什么样的模型,需要根据用户的场景来决定。
此外,付明磊老师介绍了EasyDL很重要的特色,我们提供给用户非常多的预训练模型,本周EasyDL会进行一次重要升级,届时我们会提供更多的预训练模型,并且将百度更多的大规模预训练模型开放出来,模型的效果相比业界通过开源框架训练出的效果要好出很多。
了解EasyDL:https://ai.baidu.com/easydl/
详细查看软硬一体方案:https://ai.baidu.com/easydl/solution
时间:2020年5月14日
主题:经典版物体检测模型训练及FZ9部署瑕疵检测模型
讲师:广西科技大学物联网工程专业导师 李老师
百度高级研发工程师 木木老师
课程大纲:
- 喷油器阀座质检项目介绍,项目的来源和项目的难点、痛点。
- 使用EasyDL平台经典版部署一个喷油器阀座质检的模型,结合分拣机械臂使用。
这是一个校企合作的项目,我们的合作伙伴是柳州源创电喷技术有限公司,它属于汽车产业中的配套环节,生产汽车喷油器,它在整个汽车发动机里是很关键的部位,设备有着相当高的壁垒,长期被国外的企业把持住,源创电喷技术有限公司突破了这个壁垒,能够大量生产汽车和摩托车的喷油器,所以也是属于一家高新企业。
2017年,在质检环节上,人力成本达到60万,如果我们使用了这个平台做人工智能的图像识别,能够为它节省极大的成本。实施之后,我们就只需要有人关信息化设备就可以了,检验效率还是能得到整体的提高。
在传统的人检过程中,这个阀座是喷油器当中非常关键的环节,它有点像螺丝帽,所以我们要把这个类似螺丝帽外层和内部通道的瑕疵检测出来,所以我们分为两个步骤,第一个步骤,先对它的内层瑕疵做检测,用一个摄像头采集,上传到平台上检测。第二个步骤是对外层瑕疵做检测,检测完以后再进行一个复核检测,最终完成了这个检测过程,传统就是靠肉眼去做检测的。
在这个检测过程中遇到了很多问题,这些问题都是常见人工视觉检测遇到的问题,比如长期做一个动作容易疲劳,注意力容易不集中,也会导致效率低。我们在实际工厂需求调研的时候,发现检测工人在检测到一段时间必须要起来走动一下,视力会感到疲劳。而且随着人工成本不断增加,企业在这个环节需要投入的成本需要提高,并且检测生产率也相对不是很高。
目前市场上能够检测的这些设备都是非常昂贵的,都需要做到定制化,少则就要十几万,像康泰斯这样的企业,它还是做大的设备,就是广泛平台的。如果想要适配每一种阀座,它的设备研发成本是非常高的。所以我们想通过自己去做检测算法,就是用人工智能,尤其是深度学习的这些办法做检测,确实也能达到很好的效果。
这个是我们在设计过程中,用深度学习方式做的集成的自动化检测流程。首先第一部分就是通过一个抖料盘,不断的把零件抖动到上料等待区,有一个上料机械臂夹取零件放到摄像头等待区域,采集好以后我们用下料机械臂把零件放到等待区当中,在这个缓冲的过程我们会上传到EasyDL平台,然后会有一个API接口,我们会调用,再进行分类,就是上传识别,识别完以后我们就会进行分类,这是分类的分装盒。
我们的硬件设计的思路就是有几个组成部分,一个是上料机,第二部分就是机械手,分为两个,一个是上料机械手,一个是下料机械手。因为我们是要实现内外层的识别,所以我们会用到双摄像头的方案,现在我们在后期的更新当中,找到了一些大景深的摄像头,我们最后使用单摄像头进行数据采集和识别。最后在等待区当中就是等待识别结果,然后进行分类,这是我们硬件的设计方案。软件方面,主要是依托我们的EasyDL平台,EasyDL平台在训练模型上,因为它的底层系统设计的非常完善,可以快速上传训练集,然后进行标注,标注好了以后可以一键式地训练模型。第二步,需要我们做一个硬件的控制,有很多种方式,我们选择的是Qt软件。在设备兼容器上来说是非常好的,我们可以针对不同的阀座训练不同的模型,我们可以在Qt软件通过调用不同模型接口实现多种类型的检测,这么设计我们的UI界面也非常的人性化,操作起来也特别的简单。
在我们使用机器检测以后,和传统的人工检测相比,我们可以在检测率和检测时间上和检测间隔上有一些区别。人工检测率上准确率由于人类的特点,人眼长期检测会有一些疲劳,容易造成一些错检,所以复检的准确率一般在75%到85%之间,机械检测正确率保证在95%以上,也跟我们的训练模型是有关系的。这个阀座的检测上,检测时间机器慢一些,因为我们的机械结构决定的,因为要对内层和外层元件进行检测,要转动摄像头,所以生产节奏就被托慢了。检测的件数就不用说了,机器可以长时间不间断的进行检测,只要我们需要检测的物料能够持续供应,人工检测的话大概每天在1000到2000件左右。
首先,登录EasyDL经典物体检测模型平台,点击物体检测模块。创建一个阀座检测模型,创建好模型以后会把真实采集到的样板进行上传,并在线进行标注,标注好了以后可以点击训练,平台就可以自动帮我们训练,然后还会提醒我们,有短信通知告诉我们什么时候完成这个模型的训练,当时使用的是云服务API这个方式调用,就是我们在实际生产当中需要联网,联网之后通过API调用识别结果。当然在后期,咱们这里还可以选择设备端SDK的部署,服务器端SDK部署,以及硬件EdgeBoard的部署方式,这样的方式能实现离线预测,因为在实际生产当中,企业对于联网方式其实是不太喜欢的,首先是数据的泄露风险,第二个是在工厂当中要拉一条专线做联网,其实也是成本非常高的,在后期的实践当中我们也要推荐设备端的部署和EdgeBoard的部署方式。
在实际训练当中,我们采集了好几万张图片,工作量是非常非常大的。我们在瑕疵检测模型当中标注,比如像这里有一些图片,这个零件上很明显的,就是边缘部分有一些毛疵,这个就是我们可以标注为毛疵类型。右下角这个部分有一个很短很小的毛疵,在它的质检标准里不超过0.3毫米都认为是合格品,左下角这个因为过于长,所以认为这是一个严格意义上的瑕疵。还有一个就是刮痕,另外还有一些,在实际生产当中像锈点、黑点、白斑在外层看的更多,在内层的图片当中,很明显可以看到主要是毛疵和刮痕两种类型。我们训练好模型以后,在实际的图片校验过程中可以返回这个结果。这是大概的训练和实际使用部署的过程。
之后我们给大家看一下实际的情况。这个是把零件送到等待区,机械臂会把零件放到待采集的区域,这是一个上料的过程,因为涉及到内外采集,有两个摄像头采集,然后进行下料,放到等待区,回来以后进行分类,有些是组合的瑕疵,像毛疵加刮痕,处理方式不一样,就分开,黑点和锈点也是一组瑕疵。等待下料,这是我们采集训练的过程。
EasyDL的软硬一体方案介绍。
EasyDL软硬一体是高性能硬件与图像分类模型以及物体检测模型的深度适配,可应用于工业分拣,就像刚才讲的喷油器阀座的质检以及分类过程,就可以将软硬一体集成到机械臂中达到这样的一个效果,除此之外软硬一体方案还可以应用于视频监控方面,比方说在工业安全生产方面的监控,像口罩识别、安全帽识别等,还有道路车辆的监控,识别车辆等等这种应用在设备端的离线计算场景。
总之,EasyDL软硬一体方案能够实现项目的快速部署,并且还可以达到一个很好的效果。目前,针对不同的应用场景,EasyDL也推出了不同性价比的软硬一体方案,我们可以大致看一下,有英伟达的xavier、TX2、nano软硬一体方案以及百度大脑推出的EdgeBoard系列软硬一体方案,具体的价格和介绍可以登录EasyDL官网中的软硬一体介绍中查看,我们今天重点介绍一下EdgeBoard,EdgeBoard包含FZ系列和VMX系列,今天介绍FZ计算盒的软硬一体方案。
FZ系列又包括了FZ5和FZ9两种计算盒,使用的是xilinx zynq mpsoc高性能平台,其中FZ9性能是最高的,他的算力是3.6Tops,高于cpu 40倍的计算性能,并且软件上深度适配了EasyDL模型以及这种计算盒的设计可以直接并且快速的部署到应用场景,比如今天介绍的这种场景,预测速度要求毫秒级的,就可以使用。
这里给大家列出了FZ9常见的模型推理性能,图像分类模型像mobilenetv1的性能是5ms,模型越大,FZ9就越能表现出高性能的优势,比如说,常用于物体检测的模型yolov3,他的性能是在70ms左右,相比较其他离线设备来讲,性能可以说很高了,而且EdgeBoard的性能也在不断的优化,后期随着版本的升级,模型的性能也会越来越好,针对我们的软硬一体方案,在使用EasyDL的专业版训练模型时,可以对照这个性能列表,自主选择合适的神经网络进行训练
下面来简单介绍一下EasyDL模型如何部署到FZ9上,首先我们需要将训练好的模型先下载到本地,从本地上传到EdgeBoard的系统中,上传方式比较便捷的就是通过网络上传,可以使用FTP服务,也可以使用samba网络服务。后面这个图是EasyDL SDK的文件结构,我们看到一般里面包含三个文件夹,cpp是就是模型推理的相关程序,RES是模型文件,tools是模型更新的脚本文件。第一次使用SDK时,需要联网激活,首先需要将EdgeBoard的时间修改成当前时间,修改方式就可以参照下面这个命令,然后配置联网方式,EdgeBoard的网络配置信息是在etc/network/interfaces文件里,然后根据自己的路由器进行相关配置,可以是自动获取ip的方式,也可以设置ip和路由器在一个网段,然后,解压SDK中的cpp文件,出现demo工程,把EasyDL获取到的软硬一体序列号填写到demo的代码里面,保存,编译,编译完成后。再将预测图片放到工程里,执行demo程序就可以看到预测的结果。关于这部分我们也提供了详细的操作流程,EdgeBoard FZ系列的部署方式都是相同的,扫描右下角的二维码就可以观看。
下面给大家放个视频,这是一个用FZ9集成的AI抓拍机,使用软硬一体方案实现的螺丝螺母的检测和分类,并且将检测的结果实时的输出到显示器上。
2020年5月15日
主题:如何利用EasyDL进行视觉定位及生产质检
讲师:抖音AI网红 无魂胜有魂
百度高级产品经理
在生产加工中,可能会用到图像视觉以及图像定位进行质检,以及机械臂相关的一些应用的案例。
这是几个生产过程中遇到的场景,第一个图是溶喷布在电子扫描显微镜下的图像的样子,溶喷布在两个月以前,谁有能造溶喷布的机器就有印钞机,但是溶喷布生产出来以后要看纤维的粗细,以及整个溶喷布的质量,不管是生产的工厂还是进料溶喷布的工厂,都要对溶喷布进行检测,这上面有表,我也是从朋友那找的图,这个是4.39μm,要测量溶喷布纤维的粗细,如果超过一定范围,过细过粗或者密度不达标,他们要调整机器上的参数。第二是中药制剂,你们要去医院看病,如果开的是中药药方,最后要把这些中药的颗粒煮成中药,溶喷布现在都是人工在电子显微镜下测量观察粗细,还没有比较好的人工智能方法,因为这个事情来的比较急,短期内没有厂家做这个东西,通过AI视觉来自动的检测溶喷布,自动输出指标,现在都是人工来看。
第二,这个中药在煎制过程中,除了按照时间和文火武火煎制以外,在最后的时候还要把中药浓缩一下,术语叫收汁,罐子上有刻度,最后要把液体浓缩,浓缩到一定程度把这个药在机器下面进行封装。目前,全都是用人工的方式,人工方式可能一个人看很多台机器,也不可能一直在这盯着机器,所以相对来讲都是设定中药熬制的时间,凭借经验加多少水,有时候水会多,有时候水会少,如果水少再加一点水,如果水少可能装够7天用量的药包以后,剩下的药汤就倒掉了,目前都是人工操作的。
第三个,这有一个锯,自动锯金属的圆柱,切成一片一片的。比如切到某一片,锯的锯齿崩了,或者材料有杂质,各种各样的原因导致某一片出现问题了,机器本身还会自动往下切,它不会停下来也不会修改。
最后一个是CNC加工的机床,也就是所谓的数控机床,这个是精度很高的,价格应该是以百万元计算的,应该是精度可以到微米级的,但是如果这个精度要达到微米级,需要我们把它只能放在一落,不能放在楼房里,并且一楼的厂房还要在地下,灌很厚的水泥才能保证绝对的稳定,不会有像楼板的震动,一般的震动不会影响精度,实际如果放在楼房或者水泥填的不够,哪怕是旁过一辆卡车都会有影响。
视觉能够给机器在定位也好或者精度方面都能够提高很多,像刚才说到的CND的机器,如果达到很高的精度就要用非常好的电机,非常好的传动系统,还要有各种的对刀仪,甚至有温度传感器,如果温度发生变化还要进行温度的补偿,因为有热胀冷缩,有这些东西才能达到加工的精度。但如果只要有视觉呢,就像你睁着眼睛拿东西一样,直接就可以拿到,所以视觉是给了一些新的机会。就是说有了视觉,不光是以前的传统的工业上的视觉识别,还是现在这两年新出现的AI的视觉识别,就像生物进化有了眼睛一样,可以对设备的精度要求就可以不太高,只要我的摄像头的精度足够高,定位足够准确,机械油一定的分辨率,它就可以找到这个定位,哪怕是冬天和夏天温度不一样,热胀冷缩系数不一样,都可以找到精确的定位的位置。
传统工业里使用的视觉算法和现在AI算法的区别:
以前传统的视觉算法还有一个最大的问题,如果咱们今天比如进行了一个某一个型号的电容质量检测的模型,如果你过两天换了另外一个型号,尺寸变了,形状变了,算法模型要彻底重新开发的。所以,一般比较通用的软件要有大量工程师在前期进行大量的行业的调研,比如开发这个软件是只用于线路板焊接贴片的,就要各种元件库都要事先在算法上进行适配,所以工作量很高。并且如果将来有新的元器件诞生的话,还需要软件工程师、算法工程师继续调整识别模型。
近几年由于硬件的计算速度发展,所以我们有了AI的算法,也就是现在比较普遍的卷积神经网络算法,它对视觉识别一下把开发变得简单化了,也就是说把你应用软件开发和识别模型开发分开了,识别模型只需要做图像的标注和训练就可以了,即便不会代码的人也可以做这项工作。
几乎这一部分开发效率是很高的,不能说对人员的要求低,而是进行标注的这个人不需要懂得软件的原理,也不需要懂得如何写代码,不需要是软件工程师,需要他是行业的专家或者行业工程师,比如机械工程师或者质检的工程师。而且还有一个好处,我们只需要在软件里加一些简单的代码,可以将后续在使用过程中新发现的问题加入到AI算法数据集里,对这个算法进行迭代,这样我们可以使得AI识别越来越准,并且这个过程也是很简单的,只需要流水线工人发现某一次识别不太准,他可能直接只需要点击鼠标两三下就可以把这个图片准确的信息提交到图片集里,然后你再把模型重新训练一遍就可以了,这个就大大简化了你的软件在后续发现问题的时候迭代的方式,实际迭代在软件里是很重要的事情。因为没有软件能够在最开始就能够做的很完美,但是你只要能够迭代,你不断的发布,1.1、1.2、1.3版本,一年下来如果你能不断更新100个版本,那一定会大幅提升效果。
机械臂抓取物体应用的案例中可以看到是晚上昏暗环境下,用一个台灯的光源,不需要环形灯或者柔光灯进行补光,并且有很长阴影也不会影响抓取精度。在EasyDL训练的时候只用了三四十张图片,就可以在晚上和白天都可以精确的抓取同一个物体,不需要很多的图片就可以。在标注问题上,最少标注10张模型就可以开始训练了,而且训练出来效果还挺好的,mAP指标能达到90%以上。比如我第一次训练晚上用台灯牌照的情况,用10张相片就可以了,第二天是在白天日光情况下识别就不准了,但是当软件识别不出来的时候,软件自动把这个相片传到EasyDL数据集里,自动标注,我的数据集就可以不断累计,只要识别不出来的相片就传到数据集,不断累计,这是EasyDL比较方便的地方。EasyDL还有一点,它有一个智能标注的功能,如果我没记错的话,当一个物体标注超过40次的时候,就可以启用智能标注了。比如我后面积累照片已经到500张了,但大约只有前几十张是手工标注的,后面都是智能标注,只需要人工看一下画的准不准就可以了。所以在开发和验证阶段,可以用特别少的照片就可以了。我跟别人交流的时候,很多人一上来就是标注500张、800张,甚至几千张的照片,我跟他们说用EasyDL可能10张照片就可以,你在识别过程中把不准确的,写一个简单的代码把它传到数据集里就可以了。
还有一点,EasyDL有一个特点,它是一个定制识别的模型,它可能和之前接触的通用模型不一样,比如拿手机识别,这是一本书或者一只猫、一只狗,和这种情况不一样,因为在工业场景中,通常是在固定的环境下,比如只在这一个机器或者检测的工位上,一个模型我只需要辨别这一个物体或者几种情况就可以,我不需要把所有用到的物体都集中在这一个模型中,所以它是定制识别,就很少受到模棱两可情况的干扰,所以识别精度能够更高。
EasyDL还有一个好处,你只要训练一个图片集,可以有多种部署方式,从比较简单的云端计算,到用CPU计算也可以,显卡计算也可以,还有专门的软硬一体的方案。
云端计算有一个优势,实际用云端计算比自己搭建服务器要稳定多,一年7×24小时运行没问题。并且很容易区分是哪里的网络出问题,自己排查就可以了。还有一个好处,无需搭载运行环境,只需要调动HTB接口就可以了。
另外,升级和滚回也很方便,因为有可能你训练出来一个模型,你再部署到升级环境中,发现有问题,有些情况下它没有辨别出来,你可以很简单的在云端几步滚回到比如现在是V4版,回到V3版也是可以的。它是按使用量收费的,所以计费方式比较灵活,用的很少几乎就不花钱了,也没有硬件的投入,并且你拿单片机,如果是X86,有网络连接的能力,就可以直接调用接口,这都可以。
再说一下CPU计算,任何人只要有电脑就可以用CPU计算,只不过慢一点。我这边计算可能是两到三秒一张图片,比云端计算还要再慢一点,我感觉。
显卡计算会比较快,而且显卡有一个优势,第一可以买二手显卡,你也可以买新显卡,用两三年以后可以二手出掉,所以显卡的硬件资源很多。只不过目前百度这边的EasyDL只支持N卡,还不支持A卡,如果你要进行视频的识别,你需要很高帧率的识别,用显卡也可以用水冷的方式进行散热。
还有百度VMX加速卡,特点就是功耗低,能够在比较低的功耗下提供相对比较高的运算能力,后面会有百度专门的高级产品经理详细介绍这两个产品。我只说一下我自己的体验,我觉得这个东西比较适合用在树莓派或者是无人机、小车,比如你跟随一个小车,用这个卡很方便,而且很节能,对电池要求也不高。
后面这个FZLite这个卡本身就是LINUX主机,里面预装了系统,只要把这个模型拷进去再进行编译和部署就可以了,识别我一般都用的最高精度的识别,也就600多毫秒,1秒钟能识别接近于2张的速度,如果我是做一些定位的应用,基本上够用。并且后面这两种里面都包含序列号,也就是说你买了这两个卡以后直接就可以用,而且是无限制使用,不需要额外再付费,这是我自己觉得是挺好的,性价比挺高。
如果训练照片和实际应用使用的照片是不一样的,比如拿手机拍了一些相片就传到模型里进行训练。但他们实际使用的时候是用机械臂上的相机进行拍照,最后训练出来效果都不太好,就觉得AI算法不如以前工业级的识别软件好用。但实际上是需要训练图片与实际应用图片是一样才能对效果有保障。
训练结束后会得到报告,这个报告里会有一个mAP值,如果模型精度不高,可以查看是不是标注的问题。
最后在焊接完了以后,对线路板再进行一次拍照,把好的焊点和不好的焊点都识别出来,如果所有焊点都是好的,那就是一个绿颜色。这边有一个红色的焊点就不好,它就会有一个报错,目前我还没有做不良焊点的整理。如果是方向的问题,直接用两个进行定位就可以了。
再说一个案例,就是小龙虾的测量,测量物体大小的时候有两种方法,一种是测量同时加一个标注物,你给它一个标准尺寸,给你要测量物体一个参照。还有一个方法,比如相机镜头和被测物体的距离全都是固定的情况下,也可以直接把像素尺寸转换成实际的物理尺寸,直接转换也是可以的,你一定要先解决这个才可以。
镜头是固定焦距,在AI情况下也可以用虚焦,这个也可以识别出来,并且是钳子部位和小龙虾身体部位都可以识别出来。这个是小龙虾训练出来的模型的mAP值,我用了不到20张图,识别率都可以达到100%。这个是另外一个螺母和垫片,mAP值也可以达到100%。每一个大概是两到三个标注的项目,相对来说识别就很多,如果是几十个甚至上百个标注项目的时候,可能识别率就不会这么高了,建议特别在工业环境下,把它分解成不同的模型,每一个模型就识别某几种物体,你用一个总的模型来分辨,再用细分的模型进行每一个物体的单独的识别。
回归初衷,我们训练模型的目的是为在实际项目中使用,而现在实际项目部署方式大概有两种,一种是公有云部署,一种是私有化边缘化部署。
公有云部署最大的优点是方便、省心省力。它可以进行集中式托管、有网络即可接入、无需搭建环境、通过API调用,可以说是非常便捷。但公有云也有存在很多限制,比如数据安全、网络稳定性、流量带宽成本等问题,所以许多项目真正落地都是通过边缘部署这种方式,更加的实时、稳定、方案可控。
下面我重点介绍下EZDL的边缘部署硬件EdgeBoard
EdgeBoard是百度面向嵌入式与边缘部署场景打造的硬件加速方案,适用于机器视觉智能化监控与分析,具有高性能、低成本、使用简单等三大优点,可无缝兼容EasyDL模型训练平台。我们和世界最大的芯片厂商intel&FPGA芯片领域最大的厂家赛灵思合作,打造了两个系列硬件产品—FZ系列和VMX系列。硬件形态上有盒子形态、计算卡形态、也有加速卡形态。
下面是EasyDL&EdgeBoard软硬一体方案的几张小图。我们可以看到有盒子、计算卡和加速卡三种硬件形态,他们的算力分别是3.6T/1.2T/1TOPS,最便宜的型号VMX只要699元。这三款EdgeBoard已经对EasyDL图像分类/物体检测模型做了深度适配可应用于工业分拣、视频监控等多种设备端离线计算场景。
第一个是计算盒方案,是一款微型的边缘AI服务器。他有FZ5和FZ9两个型号。FZ9目前在折扣优惠中,FZ5含license只要4169元。单看解码能力,FZ5版本支持8路1080P解码,FZ9版本算力高达3.6TOPS,含预处理耗时,resnet50模型推理全流程可以做到60帧每秒。在满足实际应用场景需求的前提下,相较于GPU服务器,他的价格做到了20倍的节省。计算盒的体积也特别小,长宽高只有12105cm。质量只有200多克。特别易携带、易部署,功耗仅仅只有10-25W。如果我们有物体检测分类相关的项目部署,我特别推荐买它,非常适用于视频监控场景、边缘化部署。比如最近国家在推的名厨亮灶智能监控工程,一个餐厅后厨2-4个摄像头,配上一个盒子,在EasyDL上训练好模型后,即可直接使用,具有非常高的性价比和实用性。再比如电力施工监控,有些施工场所人迹罕至,交通极不便利,需要人工背负设备,并通过移动电源供电,这款盒子质量2-3百克,功耗低至10-25w,就非常合适。
大家可以通过二维码了解更多关于这个产品的信息。
第二个产品硬件是FZ系列的lite版,更低的尺寸、重量,也做到了更低的价格,含EasyDL license只要1179元起。目前在FPGA实现的加速方案硬件领域内,很少有能和FZ3 Lite做到品质价格相当的产品,可以说是业界良心,当之无愧。这个价格也适合开发者、高校师生用来教学学习。Lite版自带linux系统,有丰富的拓展接口,比如PCIE,JTAG,UART,GPIO等接口,非常适合用来打造智能化设备,比如智能抓拍机、智能菜品识别电子秤等,可以作为这些设备的主控板,在部署模型的同时,也能用来开发一些轻量型的业务程序。如果你想用来开发学习、打造智能化设备,推荐买它。同样,大家可以通过右下角的二维码了解更多硬件产品信息。
第三个型号,刚才无魂胜有魂老师介绍过,就是我们的这款VMX加速卡。采用了intel myraidX芯片方案,0.5-2.2W功耗做到了3TOPS综合算力,1TOPS神经网络加速算力。极低的功耗,4CM长宽极低的尺寸,通用的typeC接口,非常适用于存量设备的智能化升级。VMX是一款协处理器,它通过typeC接口连接宿主机,可支持linux/window等宿主机,对安卓系统我们也在适配中。含EasyDL SDK 699元的低价,不仅可以买来开发学习,插上个人电脑,就可以体验从模型开发训练到部署的整个流程,是AI学习利器。也可以用在存量设备的智能化升级里,无需更改设备,只要有usb或者pcie接口,就能平滑实现智能化升级。
三个硬件的一些相关的参数放到一块进行对比。EdgeBoard硬件形态形成了比较好的产品矩阵,普适于各种场景部署。
EasyDL与EdgeBoard软硬结合方案,极大的降低了AI开发应用门槛。我们只需要几个步骤就可以轻松上手EasyDL软硬一体方案,第一步在EasyDL选择对应的硬件方案SDK进行下载,如坐下有,下图所示,选择EdgeBoard硬件方案。第二步可扫码购买或者搜索购买EdgeBoard软硬一体方案,购买后可通过AI市场订单详情或者EasyDL控制台获得序列号,之后按照文档进行部署、激活、调试效果,短短几个步骤非常简单。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
精华推荐