- 06/04
- 2020
-
QQ扫一扫
-
Vision小助手
(CMVU)
近年来,以深度学习为代表的人工智能(Artificial Intelligence)技术在工业机器视觉领域获得了充分地重视。通过分类、检测以及语义分割算法,基于深度学习的机器视觉在工业领域中可以实现缺陷检测与分类、缺陷面积计算、OCR(光学字符识别)、物料与成品计数等功能,从而减少产线中上述岗位的人员数量,实现工业企业成本的降低和生产效率的提升。
高精度的深度学习算法往往具有非常高的计算复杂度,从而需要专门的AI计算加速卡。例如:分类网络Resnet50的计算量为7.7GOPS,目标检测网络Yolo V3的计算量为71.4GOPS,而语义分割网络U-Net的计算量甚至达到上TOPS。因此,高性能算力的AI加速卡成为深度学习应用系统中必不可少的关键部件。
相较于其他的AI应用领域,工业机器视觉具有明显的行业特殊性,从而对该领域的AI加速卡也提出了特殊的要求,具体分析如下:
1、工业机器视觉系统/解决方案需要高实时性
工业机器视觉系统往往需要配合自动化产线工作(非全自动化产线也有生产效率的要求),为了适配产线的运行速度及生产效率要求,需要机器视觉系统具备高实时性的处理能力。不同产品自动化产线的运行速度虽然不尽相同,但是总体趋势是不断加快。当前大量的产线在单个工位上已要求毫秒(ms)级的处理速度,即在毫秒(ms)级的时间内,工业视觉系统需要完成图像采集、传输、智能分析以及结果反馈的全部任务。而图像智能分析因为涉及高计算复杂度的深度学习算法,往往占用的时间比例最高,从而要求工业视觉系统配置的AI加速卡具有高实时的处理能力,即处理延时要非常小,如毫秒(ms)级。当前大部分AI加速卡多强调吞吐率性能,在架构上采用大规模并行方式提高吞吐率,但对于处理延时往往重视不足,从而延时指标较大,难以满足工业AI的实时性需求。
2、工业机器视觉系统需要在低batchsize下实现高性能
工业机器视觉领域处理图像(或者视频)时的batchsize往往比较小。与安防及智慧城市等典型的视觉AI应用领域不同,在多数工业视觉应用场景下,光学系统采集单幅图像后即马上进行处理,即batchsize=1。即使在多相机场景中,相机数量往往也不多,如10个左右,即batchsize约为10左右 。而当前在安防及智慧城市等领域广泛应用的AI加速卡大多是在较大的batchsize(一般大于64)时能够实现较大的吞吐率性能,在低batchsize时性能下降剧烈,从而难以满足工业AI的性能需求。
3、工业机器视觉系统的可靠性要求高
大量产线为24小时不间断工作模式,产线故障导致的产能损失非常巨大,作为产线上的核心部组件,工业机器视觉系统应具有较高的可靠性,如平均无故障工作时间(MTBF)大于3年,可用率优于99.99%等。但是与数据中心等典型的需要高可靠AI算力的场景不同,工业领域一般难以提供恒温恒湿的工作环境。且工业领域的计算机系统一般为工控机形式,对其中嵌入的AI加速卡能够提供的供电功率、散热能力以及空间尺寸等都较为有限,这要求工业视觉领域的AI加速卡除保证非常高的AI可靠性之外,还需要满足低功耗,小尺寸的要求。
综合考虑上述工业场景下对AI加速卡的特殊要求,家用商业级显卡虽然在工业领域有一定范围的应用,但其性能特点并不匹配工业落地需求,且可靠性风险较大,而数据中心级显卡缺乏必须的工作环境且性价比较低。
鲲云科技针对工业领域提供基于全球领先数据流架构的星空三代AI计算加速卡,该加速卡对batchsize不敏感,可在batchsize=1时实现毫秒(ms)级的AI实时处理能力;峰值功耗仅为45W,且为PCIe半高半长单槽模块,采用工控机中的PCI3.0×8(或×16)插槽即可供电,无需额外供电;其MTBF=45000 hours(5年),可用率优于99.999%,大幅提高集成AOI设备的使用寿命及其可靠性。上述技术特征保证了星空三代AI加速卡能够良好适配工业领域机器视觉的AI算力需求。目前,该AI加速卡已成功应用于3C产品生产制造、电容电阻生产制造、灌装产线以及SMT产线等领域,可为不同工业行业提供高性能、低延时、高可靠且高性价比的AI算力。
鲲云科技核心技术及AI产品优势
1、定制数据流AI计算架构
AI计算加速卡的核心为AI计算芯片,目前该领域普遍通过提高芯片峰值算力来提升芯片性能——采用昂贵的7nm等最新芯片制造工艺并增加芯片的面积,从而造成芯片成本的大幅提升。鲲云科技的AI芯片采用具有自主知识产权的定制数据流结构(CAISA),从提高芯片算力利用效率的角度来提升AI加速卡的实际使用性能,即在同等峰值算力下,提供更高的实测算力,从而为工业用户提供具有更高算力性价比的AI产品。
定制数据流架构(CAISA)架构示意图
该架构采用无指令集设计,将深度学习的各种算子抽象为不同的Kernel,并以定制数据流的方式实现不同的Kernel,不同的Kernel之间可进一步通过片上网络实现互联构成Engine,从而支持不同结构的深度学习网络。该架构具有低延迟,高通用,高算力利用率的特点。
2、端到端开发工具链
基于定制数据流架构(CAISA)架构,鲲云科技提供通用的端到端开发工具链RainBuilder,可以将用户基于深度学习框架(TensorFlow、Caffe、Pytorch、ONNX等)开发训练的模型,自动编译转化成在数据流计算平台上高效运行的应用,支持像用CPU、GPU一样使用CAISA架构。其通用性和易用性节省产品研发和算法部署时间,缩短了AOI设备的上市时间。
端到端开发工具链RainBuilder结构示意图
RainBuilder包括三层:
Compiler层:实现对输入的深度学习模型的解析,获得模型结构和参数,完成量化和结构优化,输出用于下一层的中间表达(IR);
Runtime层:在IR的基础上,生成深度学习模型运行的API;
Driver:适配不同的操作系统,在Runtime的控制下,控制鲲云星空加速卡的硬件资源完成计算过程。
RainBuilder工具简单易用,使用该工具进行深度学习算法在鲲云星空AI加速卡上的部署仅需要两步,如下图所示。
第一步:输入深度学习模型,通过Compiler工具进行模型解析,该步骤可以通过鲲云提供的脚本自动完成。
第二步:调用Runtime生成的API完成应用程序的编写,推荐使用C++。鲲云提供API的使用说明及示例应用程序。
RainBuilder工具链主要具有如下技术特点:
与TensorFlow、Caffe、Pytorch、ONNX等深度学习开发框架无缝链接
简单易用,C-like模式编程,简单两步无需了解底层技术操作
通用性高,支持VGG, YOLO, ResNet等各种CNN类算法的推断模型,且支持Linux和Windows操作系统
鲲云星空三代AI加速卡及Benchmark测试结果
面向工业机器视觉应用,采用定制数据流架构的鲲云星空三代AI加速卡采用了标准的PCIe3.0×8接口,方便适配到具有PCIe3.0×8(或×16)接口的工控机、服务器或者PC机中使用。其主要技术参数包括:
采用鲲云星空三代AI加速卡针对分类、目标检测以及语义分割等常用的深度学习Benchmark算法进行了测试,测试结果如下表所示。
注:上述测试均在batchsize=1的条件下进行,除最后两个标识*号的网络外,其他网络均为公开网络,且采用公开数据集测试。
鲲云星空三代AI加速卡技术优势
鲲云星空三代AI加速卡具有以下技术优势:
延迟低:在分类网络中,可最快实现5ms的延迟;
算力利用率高:算力利用率在73%-94%之间,可实现算力所购即所得;
Batchsize 不敏感:小的Batchsize不会降低吞吐率
低延迟:最低3ms分类延时,更适合实时应用;
低功耗:45W,PCIe供电,无需额外升级电源;
小尺寸:半高半长单槽位,更加紧凑;
高可靠性:可支持7×24小时连续工作;
通用性高:可以支持分类、目标检测以及语义分割类深度学习算法。
鲲云星空三代AI加速卡
鲲云科技在工业AI领域基于深度学习的应用案例
1、基于分立电子元器件生产的实时OCR(光学字符识别)检测
电容、电阻等分立电子元器件在生产过程中,往往需要采用视觉方法对其上激光蚀刻或打印等方式实现的字符进行识别,即OCR。目前深度学习算法已经广泛应用于OCR领域,解决了传统视觉OCR难以解决的字符缩放、形变、扭曲以及间隔变化等导致的识别率低的问题。
鲲云科技与合作方针对某电容上激光刻蚀字符推出基于深度学习的OCR识别方案,识别算法采用了深度学习方法,可识别字母、数字以及数十种特殊字符,字符识别精度可达到99.99%。采用鲲云星空三代AI加速卡后,识别延迟可以降低到50ms,识别速度可达到20pcs/s,使得产线设备更加经济高效和智能化。对于更小的batchsize鲲云的CAISA架构仍可确保高算力利用效率,满足实时OCR检测的算力需求。具体应用场景如下图所示。
2、PCB缺陷实时检测
PCB板经过SMT过程后的缺陷检测和定位是质量控制的必须步骤,传统采用目检的方法效率低且容易漏检,而传统视觉方法的虚警率较高,且模板难以迁移。
鲲云科技联合合作伙伴采用深度学习方法解决了上述问题,在算法实现上采用了由粗到细的设计方法,首先定位风险区域,进而识别风险区域中的缺陷种类,最后对发现的缺陷进行定位。
在某PCBA的缺陷检测中,可以实现10种缺陷的检测和定位,且总体漏警率低于1%,虚警率低于3%,检测速度优于1pcs/s。