初探机器学习之使用百度EasyDL定制化模型
一、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进行定制化模型的过程,全篇无干货,只是单纯的实验而已,希望对你有用。
初探机器学习之使用百度EasyDL定制化模型的更多相关文章
- 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法
[目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...
- 初探机器学习之使用百度AI服务实现图片识别与相似图片
一.百度云AI服务 最近在调研一些云服务平台的AI(人工智能)服务,了解了一下阿里云.腾讯云和百度云.其中,百度云提供了图像识别及图像搜索,而且还细分地提供了相似图片这项服务,比较符合我的需求,且百度 ...
- 如何使用百度EasyDL进行情感分析
使用百度EasyDL定制化训练和服务平台有一段时间了,越来越能体会到EasyDL的易用性.在此之前我也接触过不少的深度学习平台,如类脑平台.Google的GCP深度学习平台.AWS深度学习平台,但我觉 ...
- Gradle 实现 Android 多渠道定制化打包
Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...
- AI应用开发实战 - 定制化视觉服务的使用
AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...
- 自动化部署必备技能—定制化RPM包[转载]
回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...
- 自动化部署必备技能—定制化RPM包
回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...
- Python笔记 #11# 统计图定制化
将数据可视化有许多选择: 图的类型 定制化方式 选择什么样的表现方式通常取决于: 数据 你想表达什么 1.Labels # Basic scatter plot, log scale plt.scat ...
- ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...
随机推荐
- 学习JavaScript最佳实践方法
首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门. 谈不上经验,都是一些教训. 这个时候有人要说,“靠,你丫半桶水,凭啥教我们”.您先别急着骂,先听我说. 你叫一个大学生去教小学数 ...
- DevOps之三 Git的安装与配置
Centos7 安装Git 一.卸载Centos7 自带的git # git --version git version 1.8.3.1# whereis gitgit: /usr/bin/git / ...
- ubuntu16+zabbix3.4+grafana环境搭建记录
最近研究了zabbix,稍后放上环境搭建教程,建议想学习搭建的同学记得参考zabbix官网
- JVM GC-----垃圾回收算法
说到Java,一定绕不开GC,尽管不是Java首创的,但Java一定是使用GC的代表.GC就是垃圾回收,更直接点说就是内存回收.是对内存进行整理,从而使内存的使用尽可能大的被复用. 一直想好好写一篇关 ...
- 小隐隐于野:基于TCP反射DDoS攻击分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...
- 用redis的scan命令代替keys命令,以及在spring-data-redis中遇到的问题
摘要 本文主要是介绍使用redis scan命令遇到的一些问题总结,scan命令本身没有什么问题,主要是spring-data-redis的问题. 需求 需要遍历redis中key,找到符合某些pat ...
- j2ee中spring的分布式事务实现及解决方案
1 java事务类型 Java事务的类型有三种:JDBC事务.JTA(Java Transaction API)事务.容器事务. 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供 ...
- (WCF初体验)WCF服务器诊断
WCF服务器搭建好之后,不管是客户端访问还是本地调试,出个问题抛出来的原因往往在我们看来都是不知所以然的,更可能是跑出来的问题和真正的问题差了很远,比如"通信对象 System.Servic ...
- 消息队列Queue大全
消息队列Queue大全 (http://queues.io/) 作业队列,消息队列和其他队列.几乎所有你能想到的都在这. 关于 那里有很多排队系统.他们每个人都不同,是为解决某些问题而创建的.这个页面 ...
- java.lang.IllegalArgumentException: Request header is too large
tomcat运行项目时,有一个请求过去后,后台报这样的错java.lang.IllegalArgumentException: Request header is too large原因:请求头超过了 ...