课程实录-质检系列之医药物流药盒检测软硬一体方案
May的山楂木 发布于2020-05 浏览:4870 回复:1
1
收藏
最后编辑于2022-08

主题:医药物流中的药盒检测软硬一体方案

时间:2020年5月13日

主讲人:浙江工业大学信息工程学院 付明磊老师

              百度高级研发工程师 哈利老师

 

亲爱的各位朋友大家晚上好,我是来自浙江工业大学的付明磊,非常荣幸能够参加AI快车道EasyDL应用产业系列公开课。今天我分享的是医药物流行业分拣现状及痛点与EasyDL检测软硬一体方案

今天我会首先介绍医药物流行业分拣的现状和痛点,再重点讲解如何使用EasyDL专业版进行检测模型的定制和部署。

现在我国各地区均建有医药物流配送中心,来对接各大医院和药店。根据售订次数和订货量,我们把药品分为A、B、C三个等级:其中A类实物量少,但是价值高,出货方式是整箱出货;C类药品品种多,实物量多,价值低,往往是零散出货,B类在AC之间。今天分享的就属于C类分拣,出货量大,但是出货频率低,以往都是人工分拣方式,并且每个供货分拣的区域比较大,这种人工分拣加人工复核的方式,使得药盒分拣效率低。

近年来,随着互联网医药的快速发展、医药流通市场的逐步规范,以及两票制推行,我们的医药物流显现出两个明显的特点:第一是拆零占比大,也就是说整箱药品被拆开进行零散分拣的比例越来越大;第二就是订单的碎片化程度高,因为我们可以看到,有越来越多的药店可以从医药物流企业进货,这种商品的分拣和复核给物流企业带来了巨大压力,因此采用机器人替代人工复核的呼声越来越高。

药盒检测是我们实现机器人分拣的技术难题之一。我给大家介绍三点原因,第一就是药盒的种类非常多,现在在我国最新的医保目录内药品有2643种,目录外药品更多,我看到一个数据,我们国内现在各类药品加起来可能超过了10万种,而且不断有新药在研发。第二,药盒检测的背景比较复杂,大家可以看到中间这张图,药盒是分层堆积在药箱里的,下层会对上层的药盒产生比较大的背景干扰。第三,要求检测速度比较快。正是因为这三个原因,所以药盒检测对我们工厂是有难度的。

随着机器学习,特别是深度学习在复杂数据上的表现越来越优秀,很多企业希望把人工智能的方法、深度学习的成果应用到自己的产品和服务中。但是,即使使用了预训练模型或者开源框架,对许多不了解深度学算法的人来说仍很有挑战,另外机器学习不是产品的核心技术,而我们需要额外维护深度学习的算法团队,付出的成本也是非常高。因此,需要找到一种能够快速使用,高性能,深度学习,而成本低廉的方法。

大家可能会问,我们现在在GitHub上已经有很多优秀的开源项目,我们可以找到高度分装的算法和大量开发的数据集,成本不是更低吗,为什么还要使用EasyDL?大家知道,如果你想用这些开源的项目并复现它的效果,或者根据情况调整代码,开发者需要具备一定机器学习的知识,并且有很多开源项目的文档说明和技术支持不是持续的,需要使用者或者开发者一点点调试和试错才能正确实践和复现。更重要的是,我们辛辛苦苦获得了训练好的模型,但是将这些模型部署到移动端或硬件平台上将遇到很多的困难,主要是因为当前流行的深度学习框架并没有完美支持模型部署,所以在部署上仍会遇到问题。

所以说,对于不太了解深度学习或者机器学习的开发者而言,特别是我们的企业用户而言,最好能够把我们前面讲的这些过程自动化。比如我们可能只需要收集少量的数据,而且这些数据只要和任务相关就好,我们能够在一个成熟的平台上完成对于这些数据的标注,让系统帮助我们去选择合适的模型,并且进行参数的调试训练,最后帮助我们把已训练的模型直接部署到云端、API、或者打包成SDK。其实我们现在已经有一些平台能够完成这一系列过程了,比如百度的EasyDL,我们今天向大家介绍就是EasyDL的专业版。

其实我是在2019年正式接触到EasyDL,当时接触到的是经典版,在我们学校有一组大二的同学,他们希望参加中国高校人工智能创意赛,这些同学非常有创造力,他们根据无人超市缺乏补货机器人的应用场景,自己动手搭建设计了这个平台。但是遇到一个问题,怎么样能够识别我们这个超市里各种各样的货物呢,我向他们推荐了EasyDL,这组同学就使用了EasyDL的图像分类模型,并最终发布为API。补货机器人就能够识别货架上的货物,比如说可乐瓶,王老吉和酸奶瓶,可以非常精准地抓取这些货物,最终这组同学也得到了专家的认可,获得了2019年中国高校计算机大赛人工智能创意赛赋能组全国一等奖和全国三等奖。对于大二没有接触过深度学习的学生,他们可以通过EasyDL实现精准的抓取,那是否可以复用到要和检测中呢?2019年百度上线了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加速卡软硬一体方案上。

下面我们进入到演示环节,这个环节我们已经提前录制了视频和讲解。今天视频分四个部分,前三个环节分别向大家展示使用EasyDL专业版进行数据管理与标注的过程,第二是向大家展示使用EasyDL专业版进行模型训练的过程,第三是向大家展示如何将通过EasyDL训练出来的模型布置在EdgeBoard VMX加速卡软硬件一体部署方案上,第四就是我们把这个方案最终实现在了实验室的机械臂上,实现了药盒检测和分拣。

大家好,现在由我演示使用EasyDL专业版中的物体检测模型进行药盒检测的模型训练过程。首先我们可以登录百度大脑的AI开放平台,我们可以选择开发平台中的EasyDL专业版,然后选择开始训练,在这个过程中我们需要登录自己的百度账号进入这个界面,使用EasyDL专业版操作其实非常简单,你只需要通过三个步骤就可以完成模型的部署。第一个过程,就是数据服务,这个过程完成的是数据集的创建、上传数据和标注。第二个步骤,我们可以根据自己的业务需求选择技术方向,设置任务参数进行模型训练。完成数据集的上传和标注之后,我们就可以创建项目。第三就是模型部署,可以把你认为满意的模型发布成API/SDK或软硬件一体方案。

首先是数据标注,在EasyDL里提供了三种服务,今天演示是第一种服务,数据管理与标注,这是最常规的方法。这边大家可以看到是我之前训练的药盒检测模型上传的各种数据集,我根据图片复杂度分为简单、中等和复杂数据集。其中我们看一下导入数据的过程,首先选择创建数据集,我们对数据集命名,叫药盒检测演示。数据类型选择图片,标注类型选择物体检测,自动的标注模板就选择了矩形框标注,点击创建。

创建成功之后我们可以看到在整个的数据集里,在我的数据集菜单栏下面可以发现已创建好的空的数据集,在这里我们可以发现标注进程是0%,因为没有上传任何数据。然后点击导入,今天上传的是未标注数据,我们可以选择本地的方式进行导入,一个快捷方法就是上传压缩包,如果训练量比较小,也可以直接上传图片。上传数据后进入到这个界面,希望大家能够认真阅读页面提示,因为对于EasyDL专业版来说,其实编程量并不大,主要的工作其实是在数据的上传和标注方法,模型训练方面后面会提到。但是如果我们要保证模型训练效果,必须上传符合要求的数据。什么是符合要求的数据呢,这里有一段提示,为了保证模型的训练效果,所上传的图片应与实际场景图片尽可能一致,在哪些方面保持一致呢,在光线、角度和采集设备上面尽可能一致。当然,我们可以适当选一部分调整光线,因为在室内角度和光线都会发生一些变化。

我们上传的数据包目前只支持ZIP格式,支持图片格式有四种:jpg、png、bmp、jpeg,符合EasyDL图片要求后可进行上传。这边我们可以给它完成了这样一些菜单,我们通过英特尔的摄像头采集的数据。点击上传,这就是一个上传的过程。我们之前已经上传好的数据,有了一个数据包,我们看一下这个数据的样子。这是之前已经标注的数据集,我们看其中一张图,这张图是经过系统处理过,与原始图片不一样。这里有两个标签,说明它已经是打过标签的图片了。这边我用了三个标签,S1,H1,V1,一会我解释一下这什么意思,这是已经上传标的数据。

数据上传好了,我们怎么样进行标注呢,我们看一下上传的图片,现在已经标注成功了,我们看一下。这个是之前已经导入好的图片,这是一个复杂场景的图片,这个药盒是分层的,最底下的药盒对上面的药盒和有一个比较大的干扰。我现在向大家演示一下怎么样进行数据标注,我们定义了三个标签,比如分别是X1,H1和V1,添加标签,比如弄一个X2,建好就行了,这边我主要建了三个标签,什么意思呢,我这个药盒在检测过程中,我认为可以有三种状态,第一种就是横着放的状态,我们用X1,第二是竖的,我们用V1,第三是斜的,我们用X1标注,也就是说这是复杂场景下我们看到这三种图片,最主要是斜着的,我们可以用矩形框把图片放进去,选择合适以后就打好了。比如说另外这里也有,我们标为X1,这里可能也有一些药盒,就是用这个方法进行标注,当你觉得这个图片标注差不多了,当能识别五个位置,对机械臂来说已经够了,我就保存,这样就会自动进入到下一张照片,这个数据里我们已经标注的是6张,这些都是之前已经做好的图片。数据标注是很耗时间,难度不大,包括之前已经弄好简单的数据集,已经标注好了。EasyDL专业版是可进行多人标注的服务,大家也可以找更多的人,比如在大学里找一些同学在课余时间进行标注,帮忙做一些标注工作。

数据标注完以后,整个数据就创建好了,简单的就是每一张 图片显示一到两个比较好,背景是没有其他要素干扰的。中等的数据集是三种以上的样本,摆放比较随意,希望把各种能够想到的情况在图像中标注好,这是中等的。复杂的就是有背景干扰的,这个就是数据集的创建。

好,下面我们来演示一下模型训练。

在我们完成数据集的上传和标注之后,我们可以正式进入训练任务,可以在左边点击选择创建项目,这里可以输入项目的名称,今天我们可以输入药盒检测,在底下可以选择技术方向,今天是一个视觉的技术方向,选择物体检测,使用方式是使用脚本形式调试,这也是比较好的方式,应用场景选择第一个,功能描述可以简单描述一下解决的问题,希望完成药盒检测任务,这是一个基本的项目描述,然后提交项目信息,这里还有一个个人信息。创建之后可以看到有一个项目的ID,下面是我之前创建好的项目ID,遇到问题可以使用这个ID与百度技术人员进行交流,这里有一些工作群大家可以加进去,讨论遇到的问题。

当这个项目成立以后就可以新建任务,点击新建任务,我们已经选择了技术方向是视觉,默认的是第一个任务版本,V1,任务备注是第一次训练。第一步选择数据集,刚才已经做了很辛苦的数据标注,比如简单、中等、复杂,复杂这个没有弄完,就不添加了,就添加两个数据集,选择两个数据集的六个标签,确定,这样就勾选好了。数据增强策略就是默认,评测集可以加也可以不加,如果想加也可以,可以为自己的模型进行更好的训练。第二个是框架版本,EasyDL还有一个经典版,是无法选择网络的。专业版这边我们有四种网络可以选,SSD,YOLOv3,RetinaNet-ResNet50-FPN和Faster_R-CNN-ResNet50-FPN,如果有一些深度学习的图片,这个是内置好了。怎么样挑选网络呢,这边有个小提示,可以看到,百度给我们的信息,如果想做物体检测的话,如果重视是预测速度,优先使用SSD,这是速度最快的,如果重视模型精度,可以选择FPN,如果想在速度和精度做折中可以选择YOLO,我在技术人员建议下选择的是YOLO。语言版本,大部分是用Python3,下面是脚本的编辑,这是训练代码,代码的任务设置的非常清楚,每一行包括注意事项都会介绍一下要用到的结构,包括注释都非常清楚,我们就可以做一些修改,这边是默认的修改方式,大家在调试后期可以根据自己的需求来做,今天作为演示我们不改这些代码。包括后面的网络,大家如果有兴趣也可以把这个网络分别测试一下,看看效果怎么样。

最后选择运行环境,EasyDL中有三种运行环境:GPU V100,GPU P40和GPU P4,其中GPUP4,前100个小时是免费的,一般来说对我们初学EasyDL或者竞赛或简单应用,100个小时做EasyDL模型也是够了,后面如果有更大的任务可以选择V100或P40。今天我们设置成最长训练时间0.5小时,然后保存,提交训练任务。

提交任务以后模型就跑到了百度的云平台进行训练,这就是训练的状态,我们选择GPUP4,这个稍微差一点,训练时间长一点,大家可以不用等,你可以设置成短信,训练完成以后就有短信提示。这是我训练过的模型,我训练了5个模型,前4个都是用的FPN,我用了简单和中等两个数据,复杂的我没有标注完。网络选择就是这个FPN,语言版本就是Python3。另外,目前(英文)硬件是没有支持网络的,在百度工程师的支持下选择YOLO这个,就是换一个网络再训练,其他的都一样。这样训练出来的话,这个都可以用的,这个训练时间加了两个数据集,都是33分钟。

我看一下效果,点击查看结果,这边给出了模型的评估报告,这是mAP,这个是精确率,还有一个召回率,也是在不同阈值下的表现,这是一个报告。当然,你也可以对它进行模型的校验,看一下效果怎么样,我们可以把这个模型启动起来,选择一些测试照片,这是我选择的测试集,这些并没有出现在我们的训练集,而且比训练集的场景复杂很多,我们把阈值调高,看一下基本上有四个药盒,对机械臂的抓取来说,把这个矩形框可以提取出来,甚至把这个调到7的话,可以看到上面精准度更高了。我们看另外一个,像这种情况,这个跑下来更多了,我们还是把这个精确度提高,最底层的我不要了,把上面的抓取,所以其实我偷懒了,我用了一个简单和中等的测试,如果用复杂的数据集,仍然可以把这个做好。

我们再看一个YOLO,刚才也看到了,精度不一定很高,这个就属于差一点的,它能识别出来,因为我没有给它数据集。我们再换一张,这个是找来了3个。我们找一个其他的产品,可以看到这个属于中等难度的,这个是训练过的。好,这就是模型,训练的时候引入测试集,如果大家觉得这个模型训练的不错,我们花了那么多时间,准备数据,采集数据,标注数据,然后又训练,目的就是进行模型的部署。我们可以点击模型部署,也可以在刚才的页面点击操作,也是一样的,部署方式,我们是要进行软硬一体化方案,这是比较实用的方案。我们把选择好的模型部署到EdgeBoardVMX上,你个人想用Linux也可以,这两个都支持,然后点击开始部署,之后要提交申请,现在是在测试中,要通过24小时吧,可以跟他们的数据人员联系。

下面我讲一下VMX的部署,首先如果要进行专业的硬件部署,我们必须要有一张EdgeBoard加速卡,今天用的是VMX,大家可以在百度AI市场进行购买。加速卡拿到以后可以了解相关硬件的配置,这个主要芯片是英特尔做出来的,我们不读了,我们直接进行演示,主要是分简单的几个步骤。

第一个步骤,要先将加速卡连接到宿主机,要通过这个系统识别这张加速卡。我们这边可以打开Linux终端,使用Lsusb—v,然后可以识别这个硬件,可以看到制造商包括产品的名称,包括产品的序列号,这样这个系统就识别了加速卡,完成了第一步。

第二步,要安装SDK。在安装SDK前分为两步,第一步要安装OpenVINO服务器,大家可以点击一下这个链接就进入到toolkit过程,后面可以按照文档的方法把这个装好,提示大家一下,不需要把每一个步骤全部完成,包括我自己做测试的时候,我们可以不用做后续的部分。因为我装了OpenVINO,我们可以切到这个页面,提示出了OpenVINO的环境。第二步要从EasyDL控制台获得SDK。

在训练好模型以后可以获得SDK,正常如果审核24小时以后,可以在我的服务里看到SDK的下载链接,包括产品的序列号,这个之前的SDK我已经下载压缩以后就是这个目录,也就是自己训练好的第五版YOLO的药盒检测的模型,这里有两个模型,一个是Python,一个是RES,这里有三个安装包,在RES是模型的主要数据,这个就是整个SDK的安装方法。

下面就可以把SDK下载解压缩,同时购买EdgeBoard以后在SDK旁边就有序列号,你买了以后有两个序列号,大家可以试一下,我用的是第二个序列号。

最后一步就是测试硬件部署是否成功。首先要安装wheel包,通过Python3,大家安装适合自己系统的wheel包。这里有三个wheel包,我们可以做一个区分,cp37,表示是3.7的版本。如果这个版本选择正确的话,安装的过程是非常顺利的,中间不会有任何的报错,很快大家就能看到有一个百度AISDK的提示,说明SDK已经安装好了。第二步就是我们需要在刚才Python的目录下看到DemoPy,修改一下测试程序,如果正常生成的话旁边可以找到序列号。这个产品序列号都是唯一的,刚才我也说了,有两个序列号,大家可以试一下,如果是错误序列号,这个代码就会提示出错,这个是我们现在用的EdgeBoard序列号,放进以后保存就可以进行测试,我们看一下EdgeBoard,既然已经把模型配置到EdgeBoard里去,我们看一下测试是不是能够很好地执行。测试的代码大家可以认真读一下,我们这边可以帮我们提示一个药盒的位置,这边会有四个点出来,X1、Y1、X2、Y2,分别代表药盒的四个座标,我们可以把药盒的长和宽读出来,还有测序程序。第二个就是模型软件目录,因为我们训练好的模型就在这个参数下,最后就是要识别这个RES路径,可以把测试集导进来。因为这个命令比较长,我已经提前编好了,测试一下。

这个就是RES的目录,在SDK下,最后就是测试集的目录。这边选择了一张测试集,比如说86,刚才在进行模型校验的时候也用过这个图片,这个是有背景干扰的,我们想在硬件部署方面看看能不能达到和云平台一样的效果。在这里输入图片的名称,现在由加速卡进行识别。可以提示看到,首先要启动OPENVINO环境,然后校对序列号,下面进行DemoPy测试,测试完毕以后可以看到这边检测出来了一个框,也就是识别出了一个药盒,而且把这个药盒的标签是X1,说明检测到的是斜着放的药盒,同时有X1和Y1,代表左上角坐标,X2Y2代表右下角的坐标,我们可以看一下识别出来的图片,这里有86的图片。现在这个模型如果把位置坐标计算出来的话,我们就可以把这个坐标值,给做机械臂控制的同学,他们就可以使用坐标值计算药品中心的位置,我们吸盘可以吸取这个药盒。

我们也可以看一下第二个测试,这边也找了另外一个,这是设定的比较杂乱的药盒,种类特别多。在正常检测之后会检测同样一种药,这边为了测试模型的性能,我们把好几种药盒放在一起,我们也让它检测这样一张图片。可以看到结果,检测出来了4个药盒,包括每个药盒的状态,有两个H1,代表两个竖的药盒,还有V1代表两个水平的药盒,4个药盒的位置分别对应坐标,我们可以看一下结果,这4个药盒可以准确的检测出来。这个就是整个部署过程。

完成药盒检测模型部署以后,我们就把这个方法应用到了机械臂上,机械臂就可以根据识别出来的药盒位置,使用吸盘进行提取。

我们总结一下今天的报告。我们的视频和数据都会上传到网盘,大家可以下载,听起来更清楚一些。今天向大家介绍了使用EasyDL的专业版,药盒检测的软硬一体方案,这边有一些东西要提示一下。首先,我们今天做的检测场景需要保证训练场景和检测场景尽量一致,这样才能得到比较好的效果,如果数据来源不一样,比如一部分数据是用相机拍摄的,一部分是用手机拍摄的,甚至还有一部分是网上找来的,这样的数据源会影响效果。我们今天演示的模型并不是最完整的模型,这里也给大家一些建议,我们可以适当在训练中增加一些复杂模型的数据,可以进一步提高,有兴趣的同学可以比较一下EasyDL这四种网络的性能。还可以尝试去修改训练过程中的配置脚本,进一步优化检测能力。最后,也可以根据实际的情况选择离线部署的模式,确保预测的速度。

在这次讲座中可以看到EasyDL专业版的优势,可以看到使用EasyDL专业版在加上EdgeBoard VMX加速卡软硬一体化方案是非常便捷。就像前面讲的,可以说在很多行业中很难找到经验非常丰富的机器学习和深度学习的团队,我们本人也没有那么多精力,但是我们可以使用EasyDL的专业版模型,可以使用他们的物体检测,可以通过训练好的模型帮助我们解决好这个问题。同时我们可以把我们训练出来的模型,灵活地通过简单的操作就可以部署到VMX加速卡中,最终可以集成到机械臂吸盘中。整个操作非常简单,而且我们只需要提供少量的数据,最终可以实现高精度检测,包括部署灵活的产品方案。所以我们可以看到,使用EasyDL专业版,通过数据管理标注,模型训练,模型部署,简单的三部曲就可以完成从任务需求到任务实现的变化。

我们这个数据集包括我们刚才看到的视频,都已经做了百度网盘链接,大家都可以下载,下面也可以训练。如果有问题的话,大家也可以进入到微信群中,大家一起来交流,共同进步。

 

下面我们来有请百度研发工程师和我们分享一下EasyDL-VMX计算卡软硬一体方案

非常感谢付明磊老师的分享。我介绍一下EasyDL的VMX计算卡,它是基于英特尔芯片实现高性价的计算卡,算力可以达到1TOPS,可以简单实现EasyDL定制模型的离线计算,刚才有同学问模型的性能,我们看一下左下角,有一些参考,刚演示的是YOLOV3,模型推理速度是在1.7秒左右,这款计算卡本身参考价是699,就可以实现比较高精度的模型,性价比比较高,刚才演示的时候速度虽然慢一点,但是1.7秒的时间,如果希望达到更低的时间,比如我们定制调参,图像尺寸小一点,速度就会更快,比如我们再选更轻量级的模型,也可以达到很好的时延。在VMX使用什么样的模型,需要根据用户的场景。

此外,付明磊老师介绍了EasyDL很重要的特色,我们提供给用户非常多的预训练模型,本周EasyDL会进行一次重要升级,届时我们会提供更多的预训练模型,并且将百度更多的大规模预训练模型开放出来,模型的效果比业界开源的框架用的数据训练出来的模型还是要好很多的。我这边对计算卡的介绍就到这里,我们进入下一个环节。

 

下面就是QA环节,我们选择一些刚才直播间里和微信群里的朋友的问题。

Q: 模型能不能布置在云端,分在本地,在哪里看到本地部署的资料?

A: 刚才付明磊老师介绍了本地VMX计算卡在本地运行的视频,包括这些资料都是在设备SDK里就会提供给大家。

Q: 物体识别数据标注是人工标注的吗?

A: 刚才付明磊老师演示了数据标注的流程,就是需要进行人工标注。当然平台也是提供了智能标注的能力,用户只需要标注30%的数据,我们就可以把剩下的数据全部标注完。

Q: 数据上传是安全的吗?

A: 目前EasyDL是提供私有化部署的能力,如果客户场景比较敏感,安全性非常高的话,我们是利用我们的平台,我们训练出一个模型完全可以部署在用户的私有的服务器上的,如果您担心的是上传数据的安全性,我们百度本身是有非常严格的数据管理的机制,会对用户的数据做好隐私的工作。

Q: 是不是能够上传已经标注好的数据?

A: 这个是可以的,支持的,但是这个数据需要有一定的格式。

Q: 检测的精度是多少?

A: 我们本周会把模型的参考的性能会在文档里体现出来。检测的精度还是要看用户本身的数据集要先上传上来,在用户数据集上表现的精度,我们提供的模型在业界应该是非常领先的精度水平。

Q: 能不能上传我们的用户代码,用户训练的自定义?

A: 专业版有两种,一种是脚本调参,我们会提供预制训练代码模板,客户可以提供修改。另外提供一个Notebook,在Notebook环境里用户可以完全自定义训练的代码,就可以任由用户进行发挥,Notebook会提供一些算力,像V100之类的算力。

Q: 标注有没有语义分割?

A: 我理解这位朋友问有没有语义分割的模型,我们的经典版有图像分割的能力,具体来说语义分割能力本身,我们今后也会进行支持,现在平台图像支持是室内级别的分割。

Q: 标注系统能多人登录同时标注吗?

A: 是的,可以进行多人标注。

Q: 模型的原理是什么?

A: EasyDL也是在之前进行了一系列的直播课,有兴趣朋友可以翻一下B站上以前的课程,我们也讲过专业版模型的细节,一些原理,我们都讲过的。

Q: YOLOV4什么时候更新?

A: EasyDL开放的YOLOV3是百度训练好的,但其实百度本身也是出品了基于YOLOV3增强版的模型,这些模型效果从公布指标上来说是完全可以和YOLOV4媲美的,当然YOLOV4也有一些值得学习的地方,百度后续也会进行研究,可以把他们有益的部分融合到我们的模型中,后续也会进行开发。

Q: 图片位置转换真实位置是用的透视变换吗?

A: 这个就是做了相机的参数标定,就是使用比较成熟的标定算法,原理就是透视方法。

Q: 机械臂末端高度怎么控制?

A: 一个是很常见的机械臂的问题,我们也是根据实际的环境慢慢调起来的,采用了ROS中的Moveit。

Q: 标注能不能上传PASCAL VOC格式?

A: 我们平台支持的数据标注的格式和(英文)是非常类似的,用户也可以进行非常简单的数据格式的转换就可以转换成我们需要的格式。

Q: 配置的时候最长训练时长是怎么设置的,默认0.5小时够吗,还有计算节点,设置时间是什么作用?

A: 最长训练时长,因为在训练过程中,最长的训练时长保证用户的预期,比如说你定了一个小时,这样我们训练模型真正训练了一个小时就会结束,就是说你有多少预算吧,我们就会提供多少预算的模型。计算节点,如果用户数据量非常大或者用户想追求模型产出速度最快,我们可以提供更多的节点,同时相当于我们可以加速模型训练。简单换算就有两个节点模型的训练,基本上速度会比一个节点快很快,四个节点比两个节点更快,六个节点更快了。

Q: 本地安装是不是需要购买加速卡?

A: 我理解这应该是要的,因为我们本地的SDK本身是和加速卡进行绑定的,当然具体这个问题我们之后可以在后台确认以后再回答一下。

Q: 现在设备SDK不好用,一直启动不了?

A: 这个问题可以反应工单给我们的工程师,可以一起看一下原因,有可能是因为设备,也有可能是环境导致的原因,这个需要具体的排查。

Q: 公有云部署不用加速卡吧,仅本地部署用?

A: 我们的公有云部署指的是用户训练完模型以后,可以以API的方式进行部署,用户怎么调用呢,比如你有一个手机,我们只要简单的手机上点APP,APP向我们的API接口发送一张图片我们就可以预测出来,所以不需要进行部署,只需要有网络,有接口,有一些授权。

Q: 检测速度好慢实际生活环境没法应用?

A: 这个是针对付明磊老师VMX演示,一个变化的指标在PPT里写的,YOLOV3需要1.7秒,想缩短也是可以,比如训练的时候可以将训练尺寸下降,训练时长就可以降低,如果对速度还有进一步的要求,我们也可以选择,像提供SSD的模型,这个速度比YOLOV3快很多,延时就会快一些,具体还需要根据具体场景进行分析。

 

补充一个答案,刚才说到YOLOV3比较慢的问题,我们研发同步了,最新YOLO控制在300毫秒以内了,刚才演示的SDK还是老一些的。

 

主持人:谢谢老师的补充。我们现在推出了518大促活动,参与课程学院在5月13号到6月13号一个月内,购买任意EasyDL软硬一体方案,赠送专业版脚本调参等价训练时长。由于我们提供三种训练环境,不同训练环境价格不同,例如购买699元的EasyDL-VMX加速卡软硬一体方案,转换过来就是26小时的GPUV100或者是32小时的GPUP40时长,或者是41小时的GPUP4训练时长。可以扫描右侧二维码申请参与我们这次活动。

本次的作业是使用EasyDL专业版图像分类或物体检测模型训练检测模型,脚本调参/Notebook开发方式任选。训练数据可以选用老师提供的或采用自选数据。提交作业可以参与有奖评选。右上角有两个二维码,右下侧是提供的各种奖品。

综合模型数据质量、效果、应用能力等评选优秀作业,三节课后整体评选,奖励:

最佳应用奖,价值千元百度自研EasyDL软硬一体方案(VMX/FZ3随机发送)

优秀作业第1-2名,奖品京东卡1000元

优秀作业第3-4名,奖品京东卡800元

优秀作业第5-6名,奖品京东卡500元

优秀作业第7-10名,奖品百度网盘超级会员季卡

最佳布道师3名,分享课堂笔记、使用感受或教程、方案等,奖品百度网盘超级会员年卡。

早鸟奖1名,按照要求第一个提交作业学员,奖品百度网盘超级会员月卡。

 

周四晚8点,直播间不见不散哦!

地址:http://live.bilibili.com/21863531

 

收藏
点赞
1
个赞
共1条回复 最后由q17821959241回复于2022-08
#2wangwei8638回复于2020-05

很详细,药品分拣在有些医院已经应用了

0
TOP
切换版块