一、Why 定制化模型

  一般来说,各大云服务厂商只会提供一些最常见通用的AI服务,针对具体场景的AI应用则需要在云服务厂商提供的服务之上进行定制。例如,通常的图像识别只能做到分析照片的主题内容,而我的需求是给定指定场景的图片,能够分析出其中的各个物体,并指出他们是什么,以便我后期能够给出相似的图片内容实现猜你喜欢及拍照识图并进行相关物品的推荐等功能。因此,这里介绍一下百度AI平台的EasyDL定制化AI服务,主要会Focus在定制化图片识别这个方向。

  

  对于EasyDL定制化图像识别,百度主要提供了两个可定制的模型:

  (1)图像分类

  图像分类指识别一张图中是否是某类物体/状态/场景,可以识别图片中主体或者状态单一的场景,如下图所示:

  

  (2)物体检测  

  物体检测是指定制识别出图片里每个物体的位置、名称。可以识别图片中有多个主体、或者要识别位置及数量的场景,如下图所示:

  

  (3)应用案例

  家图网是使用EasyDL定制模型的一个典型案例,详情可以点击这里浏览

二、第一个物体检测模型

2.1 创建模型和数据集  

  这里我模仿家图网,也来训练一个家居场景下的模型,我的目标是多目标物体检测,因此创建一个模型。

  

  有了模型,还需要数据集,因此我创建了三个数据集(这里Demo只会用到两个,三个的话训练太花时间),分别用于上传需要训练的图片:

  

  PS:用于训练的图片需要和实际的场景图片一致,而且训练的样本数量越多精确性越高,我这里只上传了30多张。

2.2 迭代打标签

  接下来的工作就比较反锁了,我们需要迭代地给训练样本打标签,告诉机器,某个图片某个部位是什么,在下一步训练时让机器可以自纠正改进自己的算法。

  

  然后就是循环反复地为训练样本打标签,是一个体力活。

2.3 训练模型

  有了打好标签的数据集,就可以开始训练了:

  

  第一个版本训练之后的结果:精确率21.9%,不忍直视

  

  于是将未识别的图片及新增一些训练样本,再次打标签,再次训练之后的结果:提升了很多!为了节约时间,就不再训练了。当然,实际中需要增加尽可能多的训练样本,并多次训练以求得一个更好的识别模型。

  

2.4 校验模型

  下面就是见证奇迹的时刻(请不要选择训练样本进行校验,选择非训练样本进行校验):请原谅我的无知~哭~

  

  可以看到,我们的模型准确的识别到了沙发和吊灯。当然,还有很多没有完整的识别到两个物体,就需要将它作为训练样本加入数据集打标签,以便下个迭代里模型能够正确识别相关类似的图片内容。

  如果有一个较好的模型,我想我也可以实现类似于家图网的看图识物并推荐相似物体的热门产品了。当然,家图网可是数以万计的训练才得出的识别模型,我们在做的时候也是需要花费很多精力去调优的。Anyway,万里长征也算走出了第一步。

  

三、小结

  本文主要记录了一个使用百度AI平台的EasyDL进行定制化模型的过程,全篇无干货,只是单纯的实验而已,希望对你有用。

作者:周旭龙

出处:http://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

初探机器学习之使用百度EasyDL定制化模型的更多相关文章

  1. 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法

    [目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...

  2. 初探机器学习之使用百度AI服务实现图片识别与相似图片

    一.百度云AI服务 最近在调研一些云服务平台的AI(人工智能)服务,了解了一下阿里云.腾讯云和百度云.其中,百度云提供了图像识别及图像搜索,而且还细分地提供了相似图片这项服务,比较符合我的需求,且百度 ...

  3. 如何使用百度EasyDL进行情感分析

    使用百度EasyDL定制化训练和服务平台有一段时间了,越来越能体会到EasyDL的易用性.在此之前我也接触过不少的深度学习平台,如类脑平台.Google的GCP深度学习平台.AWS深度学习平台,但我觉 ...

  4. Gradle 实现 Android 多渠道定制化打包

    Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...

  5. AI应用开发实战 - 定制化视觉服务的使用

    AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...

  6. 自动化部署必备技能—定制化RPM包[转载]

    回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...

  7. 自动化部署必备技能—定制化RPM包

    回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...

  8. Python笔记 #11# 统计图定制化

    将数据可视化有许多选择: 图的类型 定制化方式 选择什么样的表现方式通常取决于: 数据 你想表达什么 1.Labels # Basic scatter plot, log scale plt.scat ...

  9. ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

    DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...

随机推荐

  1. MVC-AOP思想-Filter 三种注册方式

    在ASP.NET MVC框架中,为我们提供了四种类型的Filter类型包括:IAuthorizationFilter.IActionFilter.IResultFilter.IExceptionFil ...

  2. Java并发-任务执行

    大多数的应用程序都是围绕"任务执行"来构造的:任务常常是一些抽象的并且离散的工作单元.我们把应用程序的工作分解到多个任务中,可以简化程序的组织结构,提供一种自然的事物便捷来优化错误 ...

  3. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  4. linux基础-系统安装教程篇(centos6.5)

    一.linux系统简介: Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程 ...

  5. Python--Seaborn绘图和可视化--基本语法

    博客地址:http://www.cnblogs.com/yudanqu/ Seaborn是对matplotlib的extend,是一个数据可视化库,提供更高级的API封装,在应用中更加的方便灵活.下面 ...

  6. Python_将指定文件夹中的文件压缩至已有压缩包

    from zipfile import ZipFile from os import listdir from os.path import isfile,isdir,join def addFile ...

  7. Nordic官网/Infocenter/Devzone/Github简介

    1. Nordic官网及资料下载 Nordic官网主页:https://www.nordicsemi.com/,进入官网后,一般点击"Products"标签页,即进入Nordic产 ...

  8. js基础进阶--关于Array.prototype.slice.call(arguments) 的思考

    欢迎访问我的个人博客:http://www.xiaolongwu.cn Array.prototype.slice.call(arguments)的作用为:强制转化arguments为数组格式,一般出 ...

  9. 关于office在卸载了某一应用之后无法试图使用的功能所在的网络位置

    我出现这个问题是在卸载了某一个微软的办公软件之后,所有的办公软件都会产生这个问题. 处理的方法是将之前的安装包解压,然后找到所出现的msi文件,点击确定就ok了. 所以说,安装文件最好还是放在一个地方 ...

  10. Fastjson 专题

    JSONObject.toJSONString(Object object, SerializerFeature... features) SerializerFeature有用的一些枚举值 Quot ...