本次百度EasyDL打造的【零门槛AI开发实训营】聚焦多个产业级经典项目,场景覆盖自动驾驶、智慧农业、视频流车辆行人检测、垃圾分类等实用案例,从AI开发流程入手,讲解不同环节需要关注的技术重点,配合模型开发实战演示,为企业AI应用开发者提供零门槛上手AI项目开发的实用课程!
主题:从小麦检测计数模型突破农业AI应用
时间:2021年4月28日
地点:线上
内容:
可乐:大家晚上好,我是今天的讲师可乐。今天为大家介绍一下从小麦检测计数模型突破农业AI应用,本系列课主要分为六节课,我们是第二节课,明天同一时间也会讲解【图像分类高精度垃圾分类模型开发与硬件集成】。
本系列课程有四大亮点:
零门槛:EasyDL零门槛AI开发平台,无需算法基础即可上手。
重实战:多个产业级AI项目开发实战,课后作业加强巩固,学习更高效。
讲技术:每个项目精讲一个技术点或应用场景,快速获取核心重点知识。
可落地:每节课配合不同部署方式讲解,贯穿企业模型开发应用全流程。
本节课的同学会有一些专项福利,一是完成听课打卡与作业提交,赠送10小时V100训练时长,社群不定时好礼掉落,参与社群互动,抽取多款百度定制的极客周边。
我们正式开始EasyDL零门槛AI开发实训营第二讲,从小麦检测计数模型突破农业AI应用,这节课由我和胶布一起和大家介绍。
分三个方面介绍,一二部分介绍一下小麦检测模型开发必备知识和如何提升模型的技巧。第三是实操演练,由我的同事胶布带大家一起实操。
首先介绍一下农业AI应用背景。小麦在实际生产中需要预估小麦的产量,其产量可由单位面积的小麦麦穗数侧面反映,可应用AI能力高效解决。如下图所示,可以评估每张图片麦穗的数量,然后进行产量的预估。在这个应用当中是一个比较复杂的任务,主要的难点是四个方面,一就是物体遮挡严重,不知道大家能不能看得清,这里的麦穗间是相互遮挡的,这边相互重叠。第二是物体密集,这个地方很多堆积在一起,比较难区分。第三是目标物体小,整个目标占整个图的比例比较小。第四是背景复杂,像下面这一点,我们很难一眼看得出来哪些是目标物体,这些背景成为比较强的干扰。接下来我会在后续的优化技巧中和大家解决这些难点。
首先我跟大家介绍一下物体检测的综述,包括什么是物体检测,物体检测的发展史以及物体检测的一些相关的通用框架。
物体检测是什么,是给定一张图片,对相应物体进行位置定位,并识别出图片中的物体属于哪个类别。比如我们会把定位物体,框起来,然后再进行分类,蓝色框是标记为羊,青色框是人,红色框是狗,其有定位+分类两个功能。
讲完物体检测是什么,再了解一下它的发展史,随着我们深度卷积神经网络发展,以及算力和数据的进步,基于深度神经网络的研究成为热门方向。物体检测也是在这个发展历史当中采用了一些深度学习神经网络的架构,比如说2013年RCNN当中,引入了RCNN的结构,大大提高了检测效率,这个结构也基本上相当于是颠覆了传统检测的方式,但它有一个明显的缺点,它不是端到端的方式,检测速度非常慢,基于它的缺点,我们在2015年提出了Anchor Boxes方法,随着我们研究的深入,2017年提出了特征融合的网络结构,包括SNIP、SNIPER,以及最近出来的CBNET和Swin—L,基于比较慢的问题我们提出了单阶段的检测器,从2014年的MultiBox,以及2016年的SSD YOLO,2017年的RetinaNet,2018年CornerNet,2019年的NAS,以及现在的Transformer,总之是朝着容易部署和容易落地的方向发展。
有人提出了一个问题,选择AI相关任务的时候如何选择用分类检测还是分割挑选任务?
刚刚提到检测任务有一个定位和识别功能,如果只是识别这张图属于什么类别,那你用分类就可以了,但是如果你有一个定位的需求,比如识别这个人是在什么位置或者这个羊在什么位置,有一个计数的需求,你可以用到检测,如果还有更高的需求,需要精确到像素级别的,就是说哪个区域属于人,这可以用到分割,可以把人的区域框出来,不会像检测一样框背景区域,这个主要看你的需求。当然,从分类到检测到分割算力要求会越来越高,对我们的部署难度也有一定的要求。
我们讲一下检测器的通用架构,首先会对体征进行提取,会接入一个BB Matching,Labeling and Sampling模块,这个模块会预制一个框,模型会利用这些框架作为基准,学习我们的目标框,BB Matching和Labeling,如图中蓝色以及黑色框。具体来说,模型的学习过程就是不断地去拟合这些蓝色和黑色的框。大家可以看到,这个图当中红色框比较多,直接拿去下一阶段的检测是有些问题的,所以这个地方要做一个平衡的采样,采样完了以后再输入到检测器当中,然后进行分类和定位,输出一个坐标XY,以及它的类别。
前面提到的那些网络非常多,特性也不一,如果我们逐一开发的话非常耗时耗力。下图展示的是百度飞桨PaddlePaddle具备的PaddleCV库,里面支持一百多种预训练模型,也包含一些全球竞赛冠军方案的模型,包括典型的二阶段FasteRCNN Series,Mask RCNN Series,Cascade RCNN Series,LibraRCNN Series,HybridRCNN Series,PSS-DetRCNN Series等模型。
EasyDL内部预制了这些网络结构,这是EasyDL总览图,EasyDL是专门为零门槛以及应用开发者定制的AI开发平台,不用写代码就可以简单地去训练模型并且部署模型,我们这边提供了数据准备,零代码训练以及模型部署三大模块,大家按照流程就可以得到相关部署的模型。
EasyDL因为是零门槛,所以最快可以15分钟获得一个AI定制服务,以工业质检零件分拣业务场景为例,用户可以先选择一个模型类型,比如物体检测模型,然后进行标注的上传。比如这个地方大家标注一下65张螺丝螺母,然后开启训练,之后大家会得到一个评估报告,里面会写明整体指标,大家点击发布即可发布为指定的设备的SDK,然后集成到各自的业务当中。因为EasyDL这样一个极简的设计,大家可以关注自己的业务,无需关心模型训练中的摸索的细节。
接下来我在EasyDL平台上,通过EasyDL的通用技巧告诉大家如何提高小麦检测以及其他检测模型的精度。
首先略去一些烦琐的细节,看一下模型优化当中有哪些关键的优化效果的机制。第一个就是模型类型的选择,我们可以选择二阶段的高精度模型,也可以选择一阶段的高性能模型。第二是我们要采集和标注数据,标注高质量的数据。第三是选择预训练权重,可以更快收敛到比较好的模型。第四是数据增强策略,可以通过手动数据增强拓展数据。第五是超参数调整,就是调整模型相关的参数获得较优的效果。接着就是模型的训练以及评估,还有Badcace的分析。
刚刚优化机制的整体介绍,在小麦这个案例当中首先要选择一个合适的模型,可以根据精度和时延选择,比如说下图右侧列出了典型的五个模型,前三个是单阶段模型,特点都是重视预测速度,速度比较快,精度稍微弱一点。下面两个是两阶段的检测器,预测精度比较高,但是训练时长和预测时长略高一些。接下来我会以两阶段这个网络做一个后续技巧的演示。
EasyDL也提供了多种模型的选择方式,包括通过预测时延选择模型,也包括直接选择高精度、高性能、均衡、高性能这些方式选择模型。
第二技巧就是高质量的数据。上一节课我们的同事木杉提到过,如何保证数据是高质量的,其中有三个维度,第一个是训练数据,它需要与业务数据尽量接近,数据分布尽量均衡。第二是数据标注,做到不错不漏,超过70%且具备明显特征的需标注。第三是数据划分,需要将数据细致有效划分为训练集、验证集和测试集。训练集就是训练模型的数据集,验证集就是挑选最佳模型的数据集,测试集是接近实际生产的数据集。
我们平台提供了EasyDL这个产品帮助大家更好更快地去提高数据标注的效率,并且针对在数据处理当中遇到的一些难点进行了一些针对性的功能提出,包括针对数据采集困难会通过SDK实现摄像头的实时采集,数据的质量评估提供了评估报告,数据的质检评估报告,缺少清洗工具,我们会提供数据清洗技术方案,标注效率低下会提供智能标注和多人标注等功能,并且还提供自动数据增强和数据回流,帮助用户提升数据的利用率。如果大家有兴趣可以参看上一节课的回放。
以小麦的案例为例,左边这个图原始的标注有些问题,大家有没有发现一些有问题的标注。首先是这个区域存在错标,因为目标是检测麦穗,每个麦穗是一个独立的个体,这里把两个麦穗标注成了一个独立的整体,这是错标,应该分开。第二是许多标注存在漏标的情况。第三是这个地方存在多标,因为把一个叶子标成了麦穗,当然还有一个地方,可能有同学发现这好像有一个麦穗,但是这里可以不用标,因为遮挡超过了70%,而且它不具备明显特征,这就不用标。修正以后这个数据集的标注就正常了,这些错误的地方我们都修正好了。
技巧三是超大规模预训练模型进行训练。这里涉及到迁移学习的概念,什么是迁移学习,是利用大数据预训练,小数据进行迁移的过程。如右图所示,这个地方传统的机器学习训练方式是每个数据集都会独立进行一次训练,但是迁移学习是在大规模的数据集上进行预训练,会得到一些先验的知识,指导我们的小数据集的训练。为什么我们要基于迁移学习,不可以从零开始吗?传统的机器学习有什么弊端?主要是有两个问题,第一个问题是数据集有稀缺性,如果从零开始需要非常多的数据才能让模型收敛到较好的效果,很多领域的数据其实非常难采集,并且标注量非常大,因此不建议采用从零开始的训练方式。第二是训练的时长,以前传统的机器学习因为数据量大所以可能是天级,但是采用迁移学习方法以后可以缩短到小时或者分钟级,但是迁移学习不是万能的,有一个前提,源领域与目标领域具有相似性,只是目标领域更加定制化和细分化。比如我们骑自行车,和骑电动车相似,但是骑自行车和开汽车有非常大的差异,这就是相似性和细分化的例子。
如何使用迁移学习呢,EasyDL内置海量的数据预训练视觉和自然语言处理模型。比如说图像分类,基于海量的互联网数据,以及百度自有10万+类tag,6500万张图片进行了训练得到了预训练模型,我们在平台多种任务类型上面进行试验,精度提升7.73%到3.24%。
物体检测领域基于还连互联网数据,拥有800类,170万图片,1000万个检测框,得到目标检测领域的预训练模型。在平台的数据集上进行验证,平均的精度提升1.7%到4.53%。
我们应用到麦穗检测这个案例当中,我们使用超大规模预训练模型以后,整个mAP相对于普通的预训练权重提升了0.2%
第四个技巧是数据增强。数据增强是对图片进行变换的操作,比如说旋转、缩放、色彩、扰动等等,本质是让有限的数据产生更多的等价数据,比如这个数据增强以后拓展了五倍,所以它的作用第一就是拓展数据集,第二是减轻模型过拟合程度,提高模型的泛化性。
目前EasyDL内置了40多种数据增强算法,大家可以配置化使用。在小麦麦穗的检测案例当中,我们增加了手动数据增强,效果提升了0.3%,达到了0.908,但是数据增强也依赖我们鲜艳知识,比如说以交通标志为例,如果原图是一个左转的标志,我们增加了一些水平翻转或者是讯转的数据增强算子,这个交通编制可能变成向右转或者直行,跟原始标注不吻合,导致我们训练的效果非常差,因此引入了自动数据增强的策略。
自动数据增强可以用右边这张图解释一下什么是数据增强,以及它的作用。这个地方黄色是业务场景空间,深蓝色是用户实际的数据,如果不适用数据增强可以看到数据相对于整个业务场景的数据量比较小,如果这个时候我们增加了一些随机的数据增强,因为随机不可控,所以它有一部分是不在乎用户实际场景的,因此可能导致模型效果的异常,就如左图的交通编制。如果采用自动数据增强以后,以模型肖像导向增加数据增强策略,大部分的算子都是在用户的业务场景中,因此它的优点就是可以扩充出更多于用户数据集属于用户场景的数据。
在这个背景下面EasyDL提出了自动数据增强的策略,是基于百度自研分布式智能搜索架构,支持多机多卡搜索,训练容错,支持多种搜索优化算法。目前支持在图像分类任务和物体检测上面进行自动数据增强搜索服务,未来也会拓展到图像分割和NLP当中,在线上业务当中进行的试验平均效果提升7%以上。在小麦麦穗的案例当中,我们将手动数据增强替换为自动数据增强以后,整体效果提升了0.5%,达到了0.913。
技巧五是超参数调整。针对大部分用户来说,深度神经网络是一个黑盒,我们一般调哪些参数呢,首先第一是Input size,模型输入大小,一般来说这个越大越好,但是越大对训练环境及显卡的要求越高,同时预测速度越慢,所以这个Input size建议在一个合理的范围取值。第二是Epochs整体数据被训练的总轮数,很多时候模型训练到一定的Epochs以后在局部的值里震荡了,这时候再训练就会浪费训练资源,Epochs也是根本实际需要调整的参数。还有优化器和学习率以及正则化方法。优化器是最小化目标函数的算法,右边这一幅图就是展示了不同优化器的优化性能,这里是一个损失函数的等高线图,从同一个位置经过不同路径达到较优的点,不同的算法达到最优点的速度不同,也是在我们训练过程当中不同的优化器能够在不同的Epochs达到较优值,一般来说工业中用的比较多的是momentum+SGD方式,这个依赖于调参的经验,如果大家希望快速得到一个叫优值,可以使用高级一点的优化器。学习率是梯度下降过程中更新权重时的超参数,它可能会在一个最优点附近进行震荡,所以学习率要配合学习调整策略一起使用。weightdecay是正则化方法,一般模型越大越容易出现迁移,建议在数据量小的时候调整它。还有一些检测模型特有的概念,比如说IOU,产生的侯选框与原标记框的交叠率,还有Anchor,预置的参考框,会通过高宽比和尺度进行确认。我们也可以调整这几个参数,因为目标比较小,可以把尺度调小一点,有一些麦穗高宽比比较极端,我们也可以把高宽比调的极端一点,耦合麦穗的数据。Scorethreshold置信度阈值。
我们刚也提到手工调参是需要人工经验,并且需要不断地去尝试,找到最佳的阈值,因此对我们的经验要求非常高,计算成本也非常大,耗时长,过程烦琐,因此需要自动调参搜索的功能,能够降低我们的经验要求,让整个搜索更加高效,过程更加自动化。基于此我们也提出了自动超参搜索的服务,基于百度自研的搜索模式,支持多机多卡的搜索,还有训练容错,避免出现因为某一次搜索失败导致整个任务失败的情况,节约训练资源,支持多种搜索算法,目前支持随机搜索,贝叶斯搜索和进化算法,还支持图像分类和物体检测任务,未来也会支持图像分割和NLP任务,在多场景的模型上面精度平均提升了10%,这是叠加了数据增强的效果。
当然大家也不要因为这些概念的深奥或者原理复杂觉得这个很难使用,我们EasyDL专门是针对零门槛用户,所以大家只要一键配置即可自动享受自动超参搜索的服务。我们开启自动超参搜索服务以后,相比我这边手动调参值又提升了0.5个点,它的搜索效果比我的人工经验还是要好很多的。
第六个技巧是训练参数可视化。为什么我们要进行可视化呢,因为是为了更有效监控模型地训练过程,它能够告诉我们模型训练中的指标是如何变化的,参数如何变化的,以及模型在训练过程中学习了哪些特征,模型如何对输入的数据产生响应。我们内置了飞桨的VisualDL,比如EasyDL内置了PaddlePaddle VisualDL可视化工具以后,用户可以直接地了解深度学习模型训练过程,进而实现高效的数据调优。
如果测试集的指标先上升后下降,说明整个模型是过拟合状态,如果我们没有这些图表,只是以日志形式展现出来很难捕捉到这些信息,有了这些图表可以直观看到它的变化趋势,以及收敛情况。
第七个技巧就是智能评估及归因助力模型优化。我们平台提供了总体指标和详细指标供大家看整个模型的训练情况,也正在推出混淆矩阵,热力图和噪声样本挖掘。混淆矩阵可以帮助我们优化这些案例,热力图可以帮助可视化模型对哪些区域感兴趣。噪声样本挖掘能够帮助我们快速地找到训练数据集中哪些数据存在问题,帮助我们快速修正数据集。
以麦穗检测为例,训练完了以后会得到一份评估报告,报告当中上半部分是整体的训练指标,包括mAP,精确率和召回率以及推荐的最佳阈值。每个类别详细的指标,以及它的错误事例,可以点击进行标签修正,还有混淆矩阵,告诉我们哪些类是相似的,大家可以下载完整的混淆矩阵进行更详细的指标的观看。
接下来由我的同事胶布跟大家介绍一下如何从训练到部署打造高精度小麦检测的实操演练。
胶布:接下来由我为大家演示如何从训练到部署打造一个高精度小麦检测与技术模型。在实际演示前我们先回顾一下EasyDL零门槛AI开发平台的全景图,各位使用的时候只需要关注自己的实际业务场景,准备好原始数据,在平台上进行训练,而不需要完成内部的各个逻辑,实际训练完得到模型以后,大家根据自己实际部署的业务场景选择模型与部署的方式,就可以很方便地将AI利用到自己的场景中。
我们先看一下EasyDL支持哪些部署方式,目前EasyDL是支持公有云API,本地服务器部署,设备端SDK和软硬一体产品,也是有各自的应用场景和特点。公有云API是利用百度云高可用云服务,弹性扩缩溶,自动数据闭环。本地服务器部署,一键打包,终身设备授权全面安全保障,设备端SDK,适配最广泛,支持15种芯片类型和四大操作系统,软硬一体化产品,主要厂商进行一些合作,或者是百度自研的硬件产品进行专项的适配和加速。
这里简单介绍一下软硬一体方案,共六大类产品,大致分为超高性能,高性能和低成本三大类。用户在模型部署阶段除了关心模型准确度之外,往往也会对模型的性能有很大关注,EasyDL通过结合自研计算图优化,模型压缩,端到端硬件加速,异构计算编排等机制,大幅度提升推理性能,保证模型损失度很低,基本上低于1%。
接下来进行实操演练,为了演练的流畅性,我这边准备了一个事先录制好的视频,大家可以跟着一起看一下,从训练到部署的完整流程。我们首先要准备好数据集,这边的数据集是来源于公开的数据集,大家可以看,这是全球的一些小麦的图片数据集。我们下载下来这个数据集,我这边已经下载好了,然后解压,可以看到这个数据集中包括一些测试用的图片,还有一些训练用的图片,训练的图片非常多,还包括一份标注的数据,可以简单看一下。这边标注的数据第一列就是图片的名字,然后是图片的宽度和高度,还有每个标注物的框。
接下来我们要把这个数据集上传到EasyDL平台,先打开EasyDL的操作台,这里要用物体检测,我们就选择物体检测,在数据总览中创建一个新的数据集,然后选择导入数据集。因为我们已经有标注信息,所以就选择有标注信息,同时是从本地导入压缩包的形式。可以看到EasyDL支持的几种数据集的格式,可以下载一个Json格式看一下是什么要求,可以看到这个格式要求每张图片有对应的标注信息的文件,我们下载下来的数据集其实不太满足这个要求,因为有一个文件包含了所有的标注信息,我们就需要对标注信息做一下转换,我这边准备了一个简单的脚本。我们运行一下这个脚本,把刚才标注文件拆成多个,每张图都有一个标注文件了。我们把整个文件夹压缩一下,将它通过平台进行上传,点击确认以后我们的数据集就开始进行导入了。
下面是我已经提前导入好的数据集,可以看到共三千多张图,可以点击查看,看一下每长图标注的对不对,可以看到都标注好了。准备完数据集以后下一步就开始训练,首先通过模型中心中,我的模型,创建一个新的模型,点击训练按钮,发起一个新的训练,这边看到部署方式为公有云部署和本地部署两大类,关于如何选择大家可以通过点击右边的链接查看详细的文档说明。我这边就选本地部署大类,下面分为服务器,通用小型设备,专项硬件设备三大类地每类还有不同的算法类型。关于如何选择部署在哪个设备上,以及选择哪个算法,大家可以通过右边的链接点开,看一下在不同硬件和不同的算法下一个大致的性能情况,再结合各位自己的业务要求选择合适的设备和算法。
这边演示好就选择高性能,还可以选择一些高级的训练配置,这也是刚才可乐提到的超参的配置,比如可以选择图片的分辨率,我这边选择默认的配置,选择用哪个数据集,就选择上传导入的小麦的数据集。也可以自定义验证集,自定义测试集,大家可以根据自己实际业务场景进行选择,我这边还是选择默认的配置进行演示,最后就是训练环境的选择,不同的GPU卡算力不太相同,大家可以根据自己实际情况选择。点击开始训练,然后进入了训练状态,大家可以勾选训练完成或者通过短信通知。下面这些是我已经提前训练好的模型,可以看到训练完成以后有一个模型效果的简单展示,大家可以点击完整的评估结果进行查看,这个刚才可乐是有介绍到的。
还有一些训练后的错误的信息展示,另外还有一个混淆矩阵,这也是刚才提到的,由于这边只有一个小麦这个标签,主要是小麦和背景的混淆矩阵,大家如果有多个标签会展示更多的信息。训练完成以后首先要发布成SDK,点击申请发布,这边可以看到支持的硬件系统和芯片,全部勾上,同时勾上获取加速版,点击发布。下面这是之前已经发布好的,我们点击服务详情,这边下载不同的SDK,当然在我们实际部署之前需要获得一个序列号,点击获取序列号可以跳到序列号管理的页面,在设备管理中是分为按单台设备激活,按多台设备激活,以及按产品线激活,这个一般用于移动端,比如安卓和IOS手机上,这边我新增一个序列号测试。这边也有文档的链接,可以告诉大家如何进行激活和使用。这边以(英文)版演示,这边我提前准备了一台(英文)机器,架构是ARM架构,解压开是有RES和CPP两个目录。
可能有点卡,我也把SDK放到这台机器上,我们把SDK解压开,可以看到有RES和CPP两个目录,RES是CPP文件,CPP是代码,RES是有两个版本,我们以ARM62演示,这边是分类(英文)四个目录,(英文)提供是实际代码,而其他三目录是大家自己开发过程中需要用到的,我们演示一下demo,基于(英文)构建,先创建一个应用目录,然后进行编译的操作。编译完以后有两个模式,我们以(英文)服务的模式进行演示,五启动服务,因为它没有外网连接,激活失败,我们通过一个代理连上外网,成功激活以后就可以打开demo页,选择提供的测试图片进行测试,这边已经可以看到测试的结果。同时,我们也可以先把服务停掉,通过不用代理的形式看看还能不能起来,可以看到是可以起来的,说明SDK协议提供的首次接获,后续纯离线使用的方式。
这边的实操演示就到这里结束。
我们再介绍一下课程专项福利,如果各位每节课都完成听课打卡和作业提交,可以获得10小时V100高速通道训练时长,参与社群互动,抽取多款百度定制的极客周边产品。
——Q&A——
Q:数据增强以后目标边框要对应修改吗?
A:数据增强算子分很多种,有些只是对应颜色修改的,有些会对目标框进行移动,这也是根据用户自己的需要手动配置,如果开启自动数据增强,后台会根据数据集的特征自动的选择相关的算子,这些用户不用关注。
Q:怎么理解数据闭环?
A:其实有的时候大家在训练的时候可能标注的图片并不是来源于实际生产环境中的图片,我们训练的模型效果比较差,我们将模型进行到生产环境进行实际预测以后可以将这些图片再重新回流模型训练中,可以增加模型精度。
Q:有用户提到怎么看热力图?
A:目前热力图只在EasyDL的图像分类上面上线,大家训练好以后在评估报告页面最下面就可以看到热力图结果。
Q:置信度怎么选择?
A:目前置信度在评估阶段以评估报告的指标展示给用户,用户可以不用自己选择。
Q:有同学问安卓可不可以跑PyThon SDK?
A:可以,可以选择设备端部署,发布的时候选择安卓系统,下载的SDK也是有提供PyThon的文件,就可以使用我们的能力。
Q: EasyDL是不是有云服务还是在本地?
A:EasyDL其实是公有云服务和本地部署都有提供。
Q:热力图是什么?
A:它是我们模型对图片不同区域的响应度的可视化结果,热力图值越大的地方或者颜色越深的地方,代表模型对这个区域响应更敏感,也就是对这个区域学习到的特征可能会更多一些,只是我们模型响应度可视化的结果。
Q:SDK能否在安卓系统设备上用?
A:这也是可以的,可能刚才实操演示有点卡,但是在发布的时候可以选择在手机上部署。
树莓派上目标检测大概什么速度?大家在训练的时候有一个关于不同设备和不同算法的性能的概览的链接,可以在那边点击看一下树莓派,比如说你要选择高性能训练它的实际的预测速度大概是什么样的。
Q:如何通过热力图调整模型?
A:刚说到热力图是模型对图片不同区域的响应大小,比如说刚刚有一个例子,这张图片有猫和狗,但目前模型对狗这个区域颜色是最深的,也就是对狗的识别能力是最强的,如果我想说这张图片识别猫,后续应该多补充猫的数据,我们对响应不太充分的区域或者物体多做一些数据的补充,也就是在数据集上的增补有明确的指导。
Q:可以输出训练好的模型结构吗?
A:目前EasyDL对用户是透明的状态,用户只要点击一些配置即可开启模型训练,目前是不对用户开放模型结构的。如果用户想知道或修改用户结构的话,推荐使用BML就是更高级更专业的开发平台。
Q:百度自研硬件EdgeBoard怎么购买?
A:大家去我们的AI市场就可以购买。
Q:监控视频如何划分训练集和测试集?你是想问如何用物体检测做监控还是说进行视频分类吗?
A:如果是想对监控视频进行抽帧划分训练集和测试集,建议用户把第一个场景的数据全部用于训练集,在开启自定义验证集、评估集,上传另一个监控镜头下面的数据集,因为同一个监控下面的数据可能存在非常多耦合以及重复的帧,这样可能对模型训练,对于挑选最佳模型会有一定的干扰,因为训练的结果是统一的分布,统一的场景,所以可能指标非常高,都拟合到了那些数据,建议用户以监控的场景为力度划分数据集。
Q:怎么在100多个模型中选择最适合的模型?
A:我们EasyDL后台做了一系列的模型挑选策略,包括根据预测时延和精度目标还有模型的特征进行模型的选择,大家也可以不用关心我们是怎么选,就根据大家预测的时延和目标的精度就可以了。
每天一小时,搞定产业级经典AI项目!速速扫码报名,加群和大家一起切磋进步喔!
提交作业
第二遍:实验一下
看了一遍