初探机器学习之使用百度EasyDL定制化模型

时间:2022-01-10 06:03:17

一、Why 定制化模型

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

  初探机器学习之使用百度EasyDL定制化模型

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

  (1)图像分类

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

  初探机器学习之使用百度EasyDL定制化模型

  (2)物体检测  

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

  初探机器学习之使用百度EasyDL定制化模型

  (3)应用案例

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

二、第一个物体检测模型

2.1 创建模型和数据集  

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

  初探机器学习之使用百度EasyDL定制化模型

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

  初探机器学习之使用百度EasyDL定制化模型

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

2.2 迭代打标签

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

  初探机器学习之使用百度EasyDL定制化模型

初探机器学习之使用百度EasyDL定制化模型

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

2.3 训练模型

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

  初探机器学习之使用百度EasyDL定制化模型

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

  初探机器学习之使用百度EasyDL定制化模型

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

  初探机器学习之使用百度EasyDL定制化模型

2.4 校验模型

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

  初探机器学习之使用百度EasyDL定制化模型

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

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

  初探机器学习之使用百度EasyDL定制化模型

三、小结

  本文主要记录了一个使用百度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. php数组合并&去重&恢复索引demo

    <?php $tmp = array('a','b','v'); $tmp_1 = array('a','s','asdf'); $res = array_merge($tmp,$tmp_1); ...

  2. 【温故而知新-Javascript】图片效果(图像震动效果、闪烁效果、自动切换图像)

    1.当鼠标指针经过图像时图像震动效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quot ...

  3. Summarize code for the three presentation experiments

    Image Picker Controller @IBAction func experiment() { let controller = UIImagePickerController() sel ...

  4. 瑞柏匡丞&lowbar;免费app开发是否可行

    随着移动互联时代的到来,手机APP软件开发已成为一大商机.当众人纷纷涌入这一领域“淘金”时,有人则做起了“卖水”的生意.无需编程知识和开发成本,只需要输入简单的文字指令,三分钟的时间就可以生成一个AP ...

  5. 【转帖】C&num; DllImport 系统调用使用详解 托管代码的介绍 EntryPoint的使用

    1      DLLImport的使用 using System; using System.Runtime.InteropServices; //命名空间 class Example { //用Dl ...

  6. &lbrack;设计模式-创建型&rsqb;工厂方法&lpar;Factory Method&rpar;

    概括 名称 Factory Method 结构 动机 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method 使一个类的实例化延迟到其子类. 适用性 当一个类不知道它所必 ...

  7. Swift 路由机制设计

    设计模式 APP设计模式多种多样,从最初的MVC到MVVM,再到MVP,VIPER等.越来越多的设计模式被开发出来并得以应用,但不论我们用到哪种设计模式,只需要记住高内聚.低耦合那边是好的设计模式.在 ...

  8. JSP7(Cookie与javamail)

    一.cookie是什么意思? 英文直接翻译过来的意思呢就是小甜品 Cookie英文意指饼干,不过在电脑术语中它可不像饼干那么简单.简单的说,Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务 ...

  9. 一个servlet处理多个请求或者叫方法

    http://blog.csdn.net/qq_25201665/article/details/52037607

  10. 3--Selenium环境准备--Eclipse 引入 selenium-server包

    1.下载selenium-server包   selenium-server-standalone包是Seleniumd的核心jar包,其中包含了各种元素定位和调用浏览器的方法.下载jar包后,在ID ...