一、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. web端创建地图

    1>在首部引入标签 <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main111 ...

  2. .net捕捉全局未处理异常的3种方式

    前言: 我们在实际项目开发中,经常会遇到一些不可预见的异常产生,有的异常在程序运行时就对其进行处理(try)但是,有的程序不需要每一个地方都用try进行处理,那么针对这种情况,可以参照下面的方式,实现 ...

  3. 关于DataSet中Relations的应用

    using System; using System.Collections.Generic; using System.Text; using System.Data; namespace conn ...

  4. Flask入门之上传文件到服务器

    今天要做一个简单的页面,可以实现将文件 上传到服务器(保存在指定文件夹) #Sample.py # coding:utf-8 from flask import Flask,render_templa ...

  5. Mysql访问权限问题:Access denied for user 'root'@'XXX' (using password: YES)

    System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. Thi ...

  6. python_函数默认参数设计

    >>> def printMax(a,b): if a>b: print(a,'is the max') else: print(b,'is hte max') >> ...

  7. Oracle聚合函数

    max(),min(),avg(),sum() 其中 avg(),sum()只能操作数字  , max(),min()能操作数字.日期.字母 等.

  8. SSM-Spring-07:Spring基于注解的di注入

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解: 说起注解,哇哦,每个人都或多或少的用到过 像什么@Overried,@Test,@Param等等之前就 ...

  9. JavaScript的数据类型问题总结

    一    JS中有哪些数据类型? -- 共 6 种数据类型,其中 5 种基本数据类型Undefined,Null,Boolean,Number和 String,1 种复杂数据类型Object.因为EC ...

  10. 接口测试返回的json文件中字符串是乱序

    问题描述 接口测试中post方式匹配返回信息时显示不匹配, 但是statuscode明明是200, 而且用postman /restclient等工具测出来也是没问题的. 根本原因 封装了这么个方法来 ...