如何一步让你图像分类达到90%以上精准度

article/2025/8/19 8:11:44

这段时间一直在做图像分类相关的项目,也认识了很多这个领域的小伙伴们,有不少小伙伴们都是刚接触图像分类,对着各种个样的图像分类算法:AlexNet、VGG-16、VGG-19、ResNet…都是一脸茫然,到底针对我的图像分类项目,选哪个算法好呢,同时又能保证我的算法精准度呢?

今天就给大家分享,如何简单一步让你图像分类达到90%以上精准度,那就是使用百度EasyDL。

官方参考链接: 百度EasyDL图像分类介绍.

EasyDL简介

EasyDL是百度大脑推出的零门槛AI开发平台,面向各行各业有定制AI需求、零算法基础或者追求高效率开发AI的企业用户。支持包括数据管理与数据标注、模型训练、模型部署的一站式AI开发流程,原始图片、文本、音频、视频等数据,经过EasyDL加工、学习、部署,可通过公有云API调用,或部署在本地服务器、小型设备、软硬一体方案的专项适配硬件上,通过SDK或API进一步集成。

EasyDL优势——零门槛一站式AI服务

我觉得EasyDL最重要的优势就是非常友好,几乎对于刚入门图像分类的小伙伴们是零门槛。

EasyDL提供围绕AI服务开发的端到端的一站式AI开发和部署平台,包括数据上传、数据标注、训练任务配置及调参、模型效果评估、模型部署。平台设计简约,极易理解,最快5分钟即可上手,10分钟完成模型训练。

使用流程

让我们来看下百度大脑是如何让我们迅速建立高精准度的图像分类模型吧!
流程具体有4个简单步骤:
百度EasyDL使用流程

数据准备

创建图像分类数据集

首先想好分类如何设计,每个分类为你希望识别出的一种结果,如要识别水果,则可以以“apple”、“pear”等分别作为一个分类;如果是审核的场景判断合规性,可以以“qualified”、“unqualified”设计为两类,或者“qualified”、“unqualified1”、“unqualified2”、“unqualified3”……设计为多类。

注意:目前单个模型的分类上限为1000类

准备数据
基于设计好的分类准备图片:

  • 每个分类需要准备20张以上
  • 如果想要较好的效果,建议每个分类准备不少于100张图片
  • 如果不同分类的图片具有相似性,需要增加更多图片
  • 一个模型的图片总量限制10万张

图片格式要求:

  • 目前支持图片类型为png、jpg、bmp、jpeg,图片大小限制在4M以内
  • 图片长宽比在3:1以内,其中最长边小于4096px,最短边大于30px

图片内容要求:
1、训练图片和实际场景要识别的图片拍摄环境一致,举例:如果实际要识别的图片是摄像头俯拍的,那训练图片就不能用网上下载的目标正面图片
2、每个分类的图片需要覆盖实际场景里面的可能性,如拍照角度、光线明暗的变化,训练集覆盖的场景越多,模型的泛化能力越强

如果训练图片场景无法全部覆盖实际场景要识别的图片:1)如果要识别的主体在图片中占比较大,模型本身的泛化能力可以保证模型的效果不受很大影响;2)如果识别的主体在图片中占比较小,且实际环境很复杂无法覆盖全部的场景,建议用物体检测的模型来解决问题(物体检测可以支持将要识别的主体从训练图片中框出的方式来标注,所以能适应更泛化的场景和环境)。

EasyData数据服务中上传数据集

大家可以按以下流程上传数据集

  1. 创建数据集

创建数据集

  1. 导入数据集

导入数据集
导入数据
就这样简单几步就导入了训练集了,导入后,可以在EasyData数据服务中对导入的训练集进行数据质检报告、数据标注、数据清洗等操作,这点百度为大家考虑得还是很周到的,基本就是算法都集成到了系统里面,可以傻瓜化操作。*PS:*小伙伴们还可以使用这些功能,对自己对训练集数据清洗处理后再导出哦。

图像分类创建模型

数据集准备好后,就可以在模型中心,直接创立训练模型开始训练了。
不过目前单个用户在每种类型的模型下最多可创建10个模型,每个模型均支持多次训练。
图像分类创建模型

训练模型

选择训练方式

百度给大家准备了两种训练方式:可分别选择「公有云API」、「EasyEdge本地部署」进行训练。
训练模型
而且可以根据自己需求,选择训练的算法类型:
不同的部署方式下,可以选择不同的算法。每个算法旁边有一个小问号,可以查看详细说明。
例如:选择「公有云API」后,可以在「高精度」、「高性能」、「AutoDL Transfer」3种算法中选择。鼠标移动到「AutoDL Transfer」右侧的问号上,可以看到对AutoDL算法的详细说明。
通常,高精度模型在识别准确率上表现较好,但在识别速度上表现较弱。高性能模型反之。

添加数据集

下一步就是添加在EasyData数据服务中上传的数据集了。
先选择数据集,再按分类选择数据集里的图片,可从多个数据集选择图片
训练时间与数据量大小有关,1000张图片可以在30min内训练完成。
Tips:

  • 如只有1个分类需要识别,或者实际业务场景所要识别的图片内容不可控,可以在训练前勾选"增加识别结果为[其他]的默认分类"。勾选后,模型会将与训练集无关的图片识别为"其他"
  • 如果同一个分类的数据分散在不同的数据集里,可以在训练时同时从这些数据集里选择分类,模型训练时会合并分类名称相同的图片

训练模型

点击「开始训练」,训练模型。

  • 训练时间与数据量大小有关,1000张图片可以在30min内训练完成。
  • 模型训练过程中,可以设置训练完成的短信提醒并离开页面。

模型效果评估

可通过模型评估报告或模型校验了解模型效果:

  • 模型评估报告:训练完成后,可以在【我的模型】列表中看到模型效果,以及详细的模型评估报告。
  • 模型在线校验:可以在左侧导航中找到【校验模型】,在线校验模型效果。校验功能示意图:

整体评估
详细评估
定位易混淆分类
易混淆分类示例图
总之,百度的图像分类模型效果评估,还是非常强大的,基本可以确认好下一步训练集的收集处理方向,便于更高地提高精度。PS:刚入门的小伙伴们也可以运用好这个功能,为自己训练集整理方向提供参考哦

具体想要提升模型效果,可以尝试以下两种方法:
检查并优化训练数据

  • 检查是否存在训练数据过少的情况,建议每个类别的图片量不少于100个,如果低于这个量级建议扩充。
  • 检查不同类别的数据量是否均衡,建议不同分类的数据量级相同,并尽量接近,如果有的类别数据量很高,有的类别数据量较低,会影响模型整体的识别效果。
  • 通过模型效果评估报告中的错误识别示例,有针对性地扩充训练数据。
    检查测试模型的数据与训练数据的采集来源是否一致,如果设备不一致、或者采集的环境不一致,那么很可能会存在模型效果不错但实际测试效果较差的情况。针对这种情况建议重新调整训练集,将训练数据与实际业务场景数据尽可能一致。

模型发布

训练完毕后可以在左侧导航栏中找到【发布模型】,依次进行以下操作即可发布公有云API。篇幅有限,这里仅介绍公有云API发布方式,其它模型部署方式请参考文末提供的百度官方链接。

  • 选择模型
  • 选择部署方式「公有云部署」
  • 选择版本
  • 自定义服务名称、接口地址后缀
  • 申请发布
    发布模型

图像分类API调用文档

接口鉴权

1、在EasyDL控制台创建应用
创建应用
2、应用详情页获取AK SK
应用详情页获取AK SK
3、通过API Key和Secret Key获取的access_token

# encoding:utf-8
import requests # client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
response = requests.get(host)
if response:print(response.json())

4、请求API说明
提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。
提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。
提示三:请求image参数为base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,注意请去掉头部。

# encoding:utf-8
import urllib2
import base64
import json'''
easydl图像分类
'''request_url = "【接口地址】"with open("image.jpg", 'rb') as f:base64_data = base64.b64encode(f.read())s = base64_data.decode('UTF8')params = {"image": s, "top_num": "5"}
params = json.dumps(params)
access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
request = urllib2.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(request)
content = response.read()
if content:print content

本文只供大家学习相关知识使用,不以任何商业盈利为目的,转载或分享请注明相关来源。如涉及到相关侵权,请联系我删除。

欢迎志同道合者互相交流学习,微信:Zhihua_Steven


http://chatgpt.dhexx.cn/article/n3BDa5QX.shtml

相关文章

景联文智能标注平台将数据处理效率提升十倍以上!数据精准度最高可达99%

目前主流的机器学习方式是以有监督的深度学习方式为主,这对标注数据有着强较依赖性需求,未经标注处理过的原始数据多以非结构化数据为主,这些数据难以被机器识别和学习。这就需要标注员借助数据标注工具对数据进行标注。 使用高效率的标注工具…

智能制造 | 机器视觉系统,直击纺织行业人工质检痛点难点,提升缺陷检出精准度至99.9%

梭子来回穿过其间,双脚规律轻踩踏板,机杼声悠悠然传过耳边,这似乎是大多数人对于《木兰辞》中“唧唧复唧唧”的概念。古时候,纺织是重要的农业活动,现如今,纺织服装面料产品的质量也和人们的生活息息相关。…

如何提高项目估算精准度 关键有3方面

软件规模可以用多种方式进行估算,但是用功能点估算方式更准确,而自动估算让估算更快速,我们以CoCode需求分析工具为例来说明,如何提高项目估算精准度? 一、调整功能点数 要提高项目估算精准度,首先应该提高…

Python基础篇:某宝一键秒杀,毫秒级的精准度

某宝秒杀,用毫秒级的精准度来抢购! 前言 还记得前段时间情人节,各种产品活动秒杀。结果有对象的辣条自然少不了被对象一番折磨 (注意:不是new出来的哈,也不是橡胶的,实实在在的女朋友&#xf…

python比较两张图片并获取精准度

先安装依赖库dlib、face_recognition、cv2 下载wheel文件: python3.6: dlib-19.7.0-cp36-cp36m-win_amd64.whl: https://drfs.ctcontents.com/file/1445568/768652503/68cb5d/Python/dlib-19.7.0-cp36-cp36m-win_amd64.whl python3.7: dlib-19.17.99-cp3…

[其他]准确度与精确度的区别

一、摘要 本文是对Lesson2:Precision and Accuracy的翻译。查看原文请点击连接。 二、原文翻译 在日常口语中 精确度(precision) 和 准确度(accuracy) 一般表示相同的意思。但是在物理学科领域并不是这样的: 精确度(precision):表示经过一系列的实验测…

【算法】高精度

作者:指针不指南吗 专栏:算法篇 🐾不能只会思路,必须落实到代码上🐾 文章目录 前言一、高精度加法二、高精度减法二、高精度减法三、高精度乘法四、高精度除法 前言 ​ 高精度即很大很大的数,超过了 long …

寥寥几段文字就说清楚了什么是精确度和召回率

学习和研究机器学习、深度学习的人经常会需要对AI模型的效果进行判定,其中最常用到的判定依据是精确度(Precision,又称为准确度、精准度)和召回率(Callback)。到底什么是精确度和召回率?它们的本质区别是什么?本文讨论这些问题。 …

试验数据的精准度

文章目录 1 精密度2 正确度3 准确度【参考】【修改记录】 1 精密度 精密度(precision): (1)含义:反映了随机误差大小的程度。 (2)说明: 可以通过增加试验次数而达到提高…

宾馆客房管理系统Mysql数据库课程设计

引 言 随着全球经济一体化使酒店业客源更加丰富多样化,市场更加广阔多渠道的同时,酒店业更面临着日趋激烈的竞争环境和不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量、降低管理成本和提升客户满意度的新法宝来增…

酒店客房住宿预定管理系统(ssm,mysql)

酒店客房住宿预定管理系统(ssm,mysql) (毕业论文11589字以上,共32页,程序代码,MySQL数据库) 代码下载: 链接:https://pan.baidu.com/s/1TZKNh17VthZHIRpBLnsjGA 提取码:8888 【运行环境】 Idea Eclipse MyEclipse J…

酒店管理系统程序设计

酒店管理系统程序设计 随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。市场经济的发展,消费者消费意识的提高,酒店行业的竞争越来越激烈。为了…

JAVA酒店管理系统

目录 E-R图 数据库搭建 功能模块 代码部分 E-R图 数据库搭建 功能模块 1.首先要通过 JAVA 代码连接数据库,通过 jdbc 插件2.设计主菜单、子菜单,里面内容是管理酒店的各种操作,我会设置相应的功能模块完成操作。3.要使这个系统能够持续…

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店

酒店后台管理系统、客栈管理、入住会员、房间管理、房源、房型、订单、报表、酒店企业、短信模板、积分、打印、交接班、住宿、入住、锁房、收支流水、房间销售、消费项目、酒店管理、渠道销售、支付管理、连锁酒店 Axure原型演示及下载地址:产品大牛 - 让产品工作…

中小型酒店管理系统

[摘要]计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量。优秀的中小型酒店管理系统能够更有效管理用户预订酒店业务规范,帮助管理者更加有效管理用户预订酒店,可以帮助提高克服人工管理带来的错误等不…

ASP.NET-酒店管理系统

绪论 1.1本系统的课题背景 中国改革开放以后,我国大力发展经济、教育、旅游等先进产业链,人们对于外出旅游和群体聚餐的需求越来越大。而且我国的良好的科学教育水平和人民文化素质的提高,为酒店管理系统提供了良好的机遇和前景。 采用现代…

酒店客房预订管理系统简单实现

酒店客房预订管理系统 纯java实现,通过IO流对本地文件进行读取操作 需求分析 入住客人信息管理 管理所有入住客人的基本信息,包括开房登记、退房结账、查询、客人延期续费、按姓名详细查询等客人预订信息管理 管理所有预订客户的基本信息,…

简易酒店管理系统

简易酒店管理系统 个人独立开发者,只包括前台营业管理,系统开发过程参考多个酒店系统的优点,结合自身对此行业的理解开发而成。成都地区可以上门安装及培训。我只卖源代码,不负责具体现场实施 开发技术选型:基于.net4.…

sql酒店管理系统

简单sql server酒店管理系统 <1> 负责工作流和功能分析&#xff0c;E/R图设计 <2> 负责关系模式设计&#xff0c;存储过程&#xff0c;触发器&#xff0c;视图设计的使用 数据库概念模型设计 数据库逻辑设计 关系模型 酒店&#xff08;酒店编号&#xff0c;酒店…

课程设计---宾馆客房管理系统

课程名称&#xff1a; 数据库原理及应用 项目名称&#xff1a;宾馆客房管理系统 eclipse、Tomcat、MySQL8、Navicat【项目内容】 1、主要数据表 客户住房信息登记表&#xff0c;客房信息统计表&#xff0c;账目统计表等。 2、功能模块 1&#xff09;接待人员可以完成为客人预…