数据洞察创新挑战赛-智能创作赛训练营:课时1:网盘与相册服务PDS 智能创作赛参赛指南
网盘与相册服务 PDS 智能创作赛参赛指南
内容介绍
一、 注册用户并登录
二、 上传文件
三、 获取文件列表
四、 创建自定义故事
五、 进阶操作
一、 注册用户并登录
1. 创建参赛实例
(1) 组办方提前创建 PDS 参赛实例
(2) 开通该实例增值服务-图片处理等相关功能
2. 注册用户
(1) 参赛者提供手机号
(2) 组办方使用该手机号替参赛选手注册用户
(3) 提供用于接口访问的 access token
3. 登录实例
(1) 组办方提供比赛实例及 BasicUI 登录地址
(2) 参赛者使用提供的手机号登录BasicUI
BasicUI 地址:https://hz11233.apps.aliyunpds.com/
点击通用登录后会跳转到验证码界面,输入手机号和验证码完成登录后进入自己的个人空间,除了使用 BasiicUI 登录,参赛者也可以使用个人空间右上角下载端的按钮下载对应平台的桌面应用。
二、 上传文件
方法一:使用转存的方法转存组办方提供的图片素材
组办方会通过分享链接的形式分享比赛会用到的图片素材库,参赛者点击分享链接后输入正确的分享秘密即可进行提取
选中整个文件夹后点击保存到我的空间
选择保存目录即可完成转存
在个人空间中就会显示转存的文件夹
方法二:使用 BasicUI 上传本地图片
如果用户要上传本地的图片用于训练测试,可以通过 BasicUI 或客户端上传本地图片,下面以 BasicUI 上传为例。
进入自己的个人空间点击左上角的上传按钮
选择文件或者文件夹,筛选要上传的文件或者目录点击上传按钮完成上传
下面以上传文件夹为例,右下角传输列表显示传输进度
点击该文件夹即可查看自己刚刚上传的文件列表。
方法三:通过 SDK 上传本地图片
SDK 可以通过官网链接获取,SDK 具体的上传步骤也可以参考官网的最佳上传实践的文档
三、 获取文件列表
1. 通过 ListFile 接口获取文件列表
api文档:
https://help.aliyun.com/document detail/440397.html
下方为示例代码,首先使用之前注册用户提供的 Access Token 创建client,通过client 和 ListFile接口获取文件目录,所有个人空间的目录 look 都是 root ,ParentFileId 为 root ,可以从根目录开始编辑个人空间的所有文件。
其中 Access Token 为用户注册时由举办方生成,仅在比赛期间有效
该 Access Token 所拥有的权限列表为:
l Drive.All
l File.All
l Batch
l Share.All
l Image.All
ListFile的根目录为 root,可通过 root 目前层层遍历所有文件
(2)通过 SearchFile 接口获取文件列表
api文档:
https://help.aliyun.com/document detail/440391.html
搜索最佳实践:
https://help.aliyun.com/document detail/175890.html
通过搜索条件来查询文件列表,以查询所有带有人像标签的图片为例,具体的接口描述和搜索实践可以参看官网文档。
四、 创建自定义故事
api文档:
https://help.aliyun.com/document detail/2369338.html
以创建人像故事为例:
1. 通过 SearchFile 接口查询空间下所有人像图片
2. 通过 CreateCustomizeStory 接口创建故事
3. 通过 GetStory 接口获取故事详情
以下为 SearchFile 的例子
在拿到合适的图片列表后,想要通过这些图片创建自定义故事,我们需要用到 CreateCustomizedStory 接口,如果想要创建一个包含所有人像的故事,在通过 SearchFile 接口拿到文件列表后,调用创建自定义故事接口完成故事创建,该接口为 StoryId,使用这个 StoryId 可以通过 GetStory接口查看创建的故事详情。
五、 进阶操作
1.相似图片去重
去重相似图片,有时创建一个故事,为了满足故事的多样性,同一组相似的图片一般只取其中分数最好的一个,这时我们要用到相似图片聚类相关的接口,具体的流程是创建相似图片聚类任务,等待任务运行完成再通过 SearchSimilarImageClusters 接口获取个人空间上的所有相似图片的聚类任务.
以下是代码示例,我们创建相似图片聚类任务后可以拿到任务Id,使用该Id通过 GetTaskStatus 接口查询任务的运行状态,待聚类任务完成后再查询聚类结果。
2. 获取人脸分组
当我们想要创建一个人物故事时,一般只想对某一个人或者某几个人创建相关的故事,此时需要我们使用人脸分组相关的接口去筛选不同人物的照片
以代码举例,当我们上传一堆图片后我们可以通过 ListFaceGroups 接口拿到个人空间下所有的图片中的人脸分组,其中人脸分组的深层需要满足一定的算法条件,比如同一个人需要三张及以上的照片才会产生人脸分组,在我们拿到人脸分组列表后可以通过 SearchFile接口在 Query 中指定需要的人脸分组Id 以获取这个人脸分组下的图片列表,也可以通过相似图片的接口进行组合创建同一个人物不同图片的故事,更多的可能性可以由参赛选手自己摸索。