【使用攻略】EasyDL物体检测智能标注
一、功能介绍
零算法基础训练业务定制物体检测模型,可识别图中每个物体的位置、名称,适合有多个主体、或要识别位置及数量的场景。
二、使用场景
1、结合内容审核平台,进行自定义图像审核过滤。
2、标识所给图片中的所有目标物体名称、位置。
3、在企业生产过程中,可以在产品质量检测方面发挥作用:通过对成品、合格品、不合格品的模型创建训练,拍照识别出当前检测的产品是否合格、质量是否过关,大大减少人工检测成本,提高质量检测效率;同时,也可以在产品数量统计方面发挥作用,拍照统计产品数量,大大降低人工统计的成本,提高统计效率。
三、使用攻略
(1)平台接入
登陆 百度智能云-管理中心 创建 “EasyDL定制化物体检测”应用,获取 “API Key ”和 “Secret Key”:https://console.bce.baidu.com/ai/?_=1537962688426&ed&no_xss&locale=zh-cn#/ai/easydl/overview/index
(2)接口文档
文档地址:https://ai.baidu.com/docs#/EasyDL_VIS_Detection_Intro/top
接口描述:检测图中每个物体的位置、名称。适合图中有多个主体要识别、或要识别主体位置及数量的场景。
请求说明
HTTP方法:POST
请求URL: 请首先在EasyDL定制化物体检测进行自定义模型训练,完成训练后申请上线,上线成功后可在服务列表中查看并获取url。
URL参数:
Header如下:
注意:如果出现336001的错误码很可能是因为请求方式错误,与其他图像识别服务不同的是定制化图像识别服务以json方式请求。
Body请求示例:
{
"image": ""
}
Body中放置请求参数,参数详情如下:
请求参数
返回说明
返回参数
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
**error_code:**错误码。
**error_msg:**错误描述信息,帮助理解和解决发生的错误。
例如Access Token失效返回:
{
"error_code": 110,
"error_msg": "Access token invalid or no longer valid"
}
(3)创建EasyDL定制化物体检测模型。
官方文档:https://ai.baidu.com/docs#/EasyDL_VIS_Detection_Intro/912b57d6
训练模型的基本流程如下图所示,全程可视化简易操作。在数据已经准备好的情况下,最快几分钟即可获得定制模型。
具体操作可以查看官方文档,这里简单介绍一下如何创建模型并发布:
使用流程主要分为5步:
(3-1)创建定制化物体检测模型
创建模型:https://ai.baidu.com/easydl/app/2/models/new
(3-2)上传并标注数据
选择数据集,进行数据标注/上传:https://ai.baidu.com/easydl/app/2/datasets/annotate
如果想要得到更加精确的模型效果,那么对参与训练的数据有一定的要求:
基于设计好的标签准备图片:
每种要识别的物体在所有图片中出现的数量需要大于50
如果某些标签的图片具有相似性,需要增加更多图片
一个模型的图片总量限制4张~10万张
图片格式要求:
1、目前支持图片类型为png、jpg、bmp、jpeg,图片大小限制在4M以内
2、图片长宽比在3:1以内,其中最长边小于4096px,最短边大于30px
图片内容要求:
1、训练图片和实际场景要识别的图片拍摄环境一致,举例:如果实际要识别的图片是摄像头俯拍的,那训练图片就不能用网上下载的目标正面图片
2、每个标签的图片需要覆盖实际场景里面的可能性,如拍照角度、光线明暗的变化,训练集覆盖的场景越多,模型的泛化能力越强
如果需要寻求第三方数据采集团队协助数据采集,可以加入官方QQ群(679517246)咨询。
图片标注Tips:
1、所有图片中出现的目标物体都需要被框出(框可以重叠)
2、框应包含整个物体,且尽可能不要包含多余的背景
3、如果图片中存在很多相同标签的目标物体,可以使用右侧的锁定按钮。锁定标签后,只需要在左侧框选目标物体即可,不用再重复选择标签
4、若需要标注的图片量较大时(如超过100张),可以启动智能标注来降低标注成本
启用智能标注:启动后,系统会从数据集所有图片中筛选出最关键的图片并提示需要优先标注。
创建标签、上传图片数据并对其中的图片进行标注分类,如果需要标注的图片数据很多,可以使用”智能标注“,降低标注成本,一般只用标注数据集30%左右的数据就可以训练模型,并且效果与标注所有数据后训练的模型效果几乎等同。(我原本也想试试的,只不过我每个标签的图片只有20来张(如果想得到较好的模型效果,一般一个标签的在所有图片中出现的数量要大于50,最好更多,并且相似性要小),启用“智能标注”,每次启用,要花费比较长的时间让系统筛选“优先标注”的图片,具体时间忘记了,10多分中应该要的,有这时间,我自己都标注完了,所以试了两三遍,就自己去标注了,但是如果每个标签有成千上万张的图片的话,启用“智能标注”就很有必要了)。
启用智能标注后,只需要等待系统筛选,系统会筛选出需要优先标注的内容,然后对优先标注的内容进行标注,标注完后,系统会再次筛选,然后标注优先标注的内容,如此重复多次,就能完成标注了,不过系统筛选需要优先标注的内容的时间消耗会比较大,要有耐心。当然,在系统筛选期间,你也可以正常进行其他未标注图片的标注 。
结束智能标注的话,可以等系统筛选完成,自动结束,也可以自己通过点击“智能标注中”-“结束智能标注”随时退出。
(3-3)训练模型
训练地址:https://ai.baidu.com/easydl/app/2/models/train
数据上传、标注好后,就可以选择模型,并进行模型训练了,由于本程序是采取在线API的方式调用,所以“应用类型”需要选择“云服务”,算法根据自己的需要选择“高精度”或者“高性能”。
(3-4)校验模型效果
校验地址:https://ai.baidu.com/easydl/app/2/models/verify
模型训练好后,就可以查看评估报告(如果单个标签的图片量在100张以内,这个数据基本参考意义不大 ),也可以选择图片看看训练效果如何,最后,可以“申请上线”,在线调用。
如果对模型效果不满意,可以通过扩充数据、调整标注等方法进行模型迭代。
(3-5)发布模型
发布地址:https://ai.baidu.com/easydl/app/2/models/deploy
训练完成,模型效果满意了,就可以选择发布模型,根据应用类型不同,有在线API、离线服务、本地部署三种发布方式,具体可以参考官方文档:https://ai.baidu.com/docs#/EasyDL_VIS_Detection_Intro/713a57ad
在线API申请发布后,通常的审核周期为T+1,即当天申请第二天可以审核完成。如果需要加急、或者遇到莫名被拒的情况,可以加入官方QQ群(群号:679517246)联系群管解决。
(4)使用体验
(4-1)H5体验
体验地址:https://ai.baidu.com/easydl/app/2/models/38588/iterations?deployType=1
对于审核通过,已发布的模型版本,可以选择“体验H5”的方法,去体验模型效果。
体验前需要登陆 百度智能云-管理中心 创建 “EasyDL定制化物体检测”应用,然后选择相应的APPID,个人每天有500次的免费调用次数,体验一次,会消耗一次调用次数。
填写相应的内容,就可以生成H5页面了,此时会获得一个二维码,用手机扫描二维码,就能够进行模型体验了。
(4-2)结合内容审核平台,进行图片审核过滤
内容审核平台地址:https://ai.baidu.com/censoring#/strategylist
在内容审核平台编辑相应的策略名称,选择启用“自定义图片审核-EasyDL”,并添加已发布的EasyDL模型,勾选需要过滤的详细类别,选择生成策略,就完成了内容审核平台对EasyDL定制化物体检测模型的支持了。
四、效果测试
1、页面:
2、识别结果:
2.1
2.2
2.3
2.4
2.5
2.6
2.7
五、测试结果及建议
EasyDL定制化物体检测总体使用起来还是挺方便的,从创建模型到发布模型,整个流程可以全部在网页上操作,大大降低了模型的使用门槛,可以让普通用户上手使用。
整个过程中,最复杂的部分要属于前期的图片数据收集,以及数据标注了。
数据标注的话,增加了一个“智能标注”功能,可以让你只需标注数据集30%左右的数据即可训练模型,且达到跟标注所有数据后训练所得到的模型几乎有一样的效果,这点真的很好,能大大降低标注成本 。
不过,“智能标注”的系统筛选时间比较久,希望能够对此进行优化,减少系统筛选优先标注的数据集的时间。
由上面的效果测试可以得出,EasyDL定制化物体检测模型的总体效果还是不错的,对于图片中主体明确的动物,基本上可以识别出正确的标签和数量,对于背景环境较为复杂,动物主体部分被遮掩时,可能会识别不出来,不过总体上效果还是不错的,因为我测试的这个模型每个标签所用到的图片只有20来张,且是从百度图片中随意下载保存的,没有经过刻意的挑选,在数量不足、图片质量一般的数据集下进行训练,训练后的模型都能正确识别图片中的物体标签,可以推测EasyDL物体检测模型的总体效果还是不错的。
不过,如果想要得到更加精确的模型效果,那么对参与训练的数据有一定的要求,而对于一般用户而言,采取高质量的符合要求图片数据可能存在一定的困难,所以,EasyDL定制化训练平台如果能够降低对图片要求,进一步优化算法,能以更少的图片获得更优的模型效果,那么就更加完美了。