摘要:结合华为云API开放平台API Exploer实现照片分类系统。
API能为我们带来什么?
有了 API,可以创建管理云服务器、云容器、云硬盘,提高工作效率;可以接入图像识别、情感分析、内容审核等能力,不懂 AI 照样玩转各种 AI 技能;还可以快速实现视频点播、对话机器人等成熟应用能力……
但是国内的API生态尚处在初期发展阶段,许多优秀的API还是沧海遗珠,很多企业在创新中也常因为不了解有现成可用的API而进行重复开发。
API经济时代下,为了让大家更好的了解API以及它的应用,本次“互联网+”大赛从实际问题出发,推出了相关赛题——结合华为云API开放平台API Exploer实现照片分类系统。
本文从赛题介绍、说明和要求说起,梳理解题步骤和关键思路,以及相关开发工具的使用指南和样例。希望这份赛题解答攻略,可以帮助广大参赛选手取得佳绩。
赛题介绍:用API解决现实问题
一个典型的中国家庭包括4位老人、2位成年人和1位孩子(4+2+1),并且人手一部手机,他们在日常生活以及工作学习中会用手机拍摄大量照片,这些照片基本存储在各自的手机中,然后通过微信、微博、抖音等社交APP进行分享。但这样会存在很多问题,比如不方便批量分享、手机本地存储空间不足等。
本赛题旨在借助华为云相关API,例如图片识别能力给照片进行智能分类,分类后通过集中存储在云端,用户还可以给照片设置隐私,不分享。选手可以在API Explorer平台查看学习相关的云服务API来完成赛题。最终的作品形态不限,可以是移动应用、小程序、云服务、web、桌面应用等。
赛题解读:厘清三步思路,用对开发工具
在解读赛题前,先为大家科普一下华为云的API Explorer平台,API Explorer是为开发者提供一站式API解决方案的统一平台,它集成华为云服务所有开放API,支持全量快速检索、可视化调试、帮助文档、代码示例、Mock等能力,帮助开发者快速查找、学习API和使用API开发代码。目前有17大类、100+产品服务、3800+开放API。
本赛题的核心就是借助华为云的API能力实现应用的开发,下面我们进一步分析一下赛题说明,主要分为四个步骤:
- 将多个家庭成员的手机照片集中备份到云端上;
- 通过图片识别能力给照片进行智能分类;
- 分类后通过集中存储在云端,可以通过大屏等终端共享给家人;
- 可以设置隐私标签,让图片无法分享。
其中,我们提炼出几个关键词:图片识别、图片分类、图片存储,其实关于图片的处理也是这几年AI技术关注研究的重点,从这个角度看,这个赛题考查的不仅仅是API的应用,还有与计算机视觉相关的技术能力。
总结一下,参赛选手如果想要借助API构建满足要求的应用,可以参考下面这个思路:
1、通过调用OBS的API接口,去访问和操作云存储中的图片数据;
2、通过调用图片识别的API接口,对图片进行打标签;
3、通过调用ModelArts的API接口,对图片进行进一步分类,并识别去除隐私图片。
其中提及到的华为云产品有:OBS、图像识别、ModelArts。
OBS是一款云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据。
ModelArts是面向开发者的一站式 AI 开发平台,提供海量数据预处理、智能标注、大规模分布式训练、自动化模型生成和端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。
这些产品的能力都已经“打包”成开放的API接口,选手可以在API Explorer中查看、学习和使用。除此之外,参赛选手可以通过DevStar/DevCloud快速开发应用(APP/小程序/Web等)。
其中DevStar提供了Web、App、微服务等不同类型的80+通用框架模板,选手无需从零开始开发应用。DevCloud是一站式云端软件开发平台,可随时随在云端交付软件全生命周期,覆盖需求下发、代码提交、代码检查、代码编译、验证、部署、发布。
下面,我们将着重介绍此次赛题的主要产品API Explorer的使用方法以及相关案例。
API Explorer使用指南
从华为云官网——开发者——资源工具,即可进入到API Explorer页面,这里包括华为云开放的所有API信息,选手在这个平台上可以快速的查看、搜索API文档,以及可视化调试API,具体的关键能力如下图所示。
首先是支持开放API的在线检索和可视化调试, 可以定位到相关云服务,快速查询云服务下所有开放API。回到本次赛题,选手在API Explorer搜索“ModeIArts”,即可在界面中看到模型部署的API文档。
通过API文档可以获取更详尽的信息,包括接口约束、请求参数说明、示例、返回参数以及SDK等非常全的信息。选择API后,通过填写参数,可以直接进行在线调试,查看API的调用返回结果。
如果调用接口返回了错误码,可以在错误码中心快速找到对应的错误详细信息以及处理措施建议,快速解决API调用出现的问题。
当熟悉API功能后,需要用代码来调用API,则能通过API Explorer查看SDK代码示例,支持Java、Python、Go等七种主流开发语言,通过引入对应语言SDK即可快速在应用程序中调用API,而且所有SDK代码已通过GitHub开源。同时,API Explorer还提供了其他云上/云下CLI、API Mock、场景示例等特性,方便开发者使用。
关于API的一些应用案例,可以参考华为云社区的云享专题:【技术补给站】第7期:20个超实用API应用案例,开启API进阶之路(内附资料下载)。
什么样的作品容易拿高分?
上述提到的华为云产品,都可以提高大家开发应用的效率,但是最终呈现的结果如何,还是要看各位选手对于技术的理解掌握,解题思路的创新,项目的完成度等等。
从大赛的评分维度来看,作品的创新性、技术实现和交付、商业性以及团队的分工配置都非常重要。
以创新性为例,包括图片分类算法的准确度,API的设计调用等等;团队方面,分工协作要清晰,组织架构、人员配置要合理。项目的技术路线清晰明确,技术工具成熟可靠。另外,有设计完整、可行的商业模式得到高分的可能性更大。
最后,再次提醒大家本次“互联网+”大赛的时间安排:报名和作品提交时间截止到8月31日,初赛复赛截止9月30日,预计10月中下旬举行全国总决赛。参赛的小伙伴们,赶快用手中的代码感受API的魅力吧。点击进入大赛页面,了解更多信息。