智能媒体管理(IMM) 多媒体文件元数据管理设计

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: ## 简介 随着存储团队的产品愈加丰富,我们发现处理对文件、内容本身的高性能、稳定、安全存储之外,用户更多的对挖掘存储内容对价值提出了要求。对于多媒体文件(如图片、视频、音频、文档等),其包含的信息量是非常丰富的。如何将这些信息激活,有效的进行管理和检索,是 智能媒体管理(IMM) 尝试解决的问题。 ## 媒体集 Set 为此,IMM 设计了 媒体集 ( Set ) 的概念,表示

简介

随着存储团队的产品愈加丰富,我们发现处理对文件、内容本身的高性能、稳定、安全存储之外,用户更多的对挖掘存储内容对价值提出了要求。对于多媒体文件(如图片、视频、音频、文档等),其包含的信息量是非常丰富的。如何将这些信息激活,有效的进行管理和检索,是 智能媒体管理(IMM) 尝试解决的问题。

媒体集 Set

为此,IMM 设计了 媒体集 ( Set ) 的概念,表示媒体 元信息 的集合。

IMM功能图

在图中我们看到,Set 实际上是元数据的集合,记录了媒体文件(来自 OSS)和其元数据的绑定关系,以及所有元数据本身。

实际开发时,可以通过 CreateSet 来创建一个 Set 。

如何界定 Set 呢?我们认为 Set 为 一组 元数据,它可以对应一个用户,一个文件夹,一个公司的所有媒体文件等。一个 Set 内应当存放内聚的媒体文件,可以尽量缩小 Set 对应的文件范围。Set 创建数量没有限制,Set 内文件数量越少,整体管理性能越好。

同时需要注意,Set 是内聚的,因此不同 Set 之间的数据是隔离的,不能在不同 Set 间进行操作。

我们分具体场景看:

云相册场景

对云相册来说,一个显然的方案是根据用户来划分。每个用户独享一个 Set 。如果云相册产品的设计逻辑中,区分了媒体类型,如视频相册、照片相册等,也可以每个相册一个 Set 。

用户照片 Feed 流

这类应用有两个分类方式。一种是依然按照用户来划分。但对于一些兴趣社区场景,则可以考虑按照社区进行分类。如 健身社区足球社区 这个维度区分 Set 。这样用户可以搜索所有健身社区的图片。

如何解决社区内按用户搜索的问题呢?对 Set 内的媒体文件,IMM 提供了 Remarks 字段( RemarksA 和 RemarksB 两个)作为应用的标记位。对于这个场景,我们可以如下方式分配:

  • RemarksA:用户ID
  • RemarksB:可见度:private / public

这样我们在搜索时,可以满足如下场景(后文会介绍 数据搜索):

  • 足球社区内图片:FindImages API,限定 SetId = soccer
  • 用户查看自己社区内的图片:FindImages API,同时限定 SetId = soccerRemarksA = {UserID}
  • 其他用户查看某用户社区内的图片:FindImages API ,同时限定 SetId = soccerRemarksA = {UserID}RemarksA = public

如果仍有疑问,或需要更复杂的筛选,可以 联系我们

Indexing 索引

我们创建好 Set 后。接下来就是向 Set 中添加媒体文件。Set 内的引擎会自动将文件的元数据检测出来并格式化保存,用于后续管理、检索。

目前 IMM 提供了 IndexImage 用于索引图片,IndexVideo 用于索引视频。我们以 IndexImage 为例详细介绍。

IndexImage 被调用时,IMM 首先检查图片的合法性,并且将图片的基础 Meta 信息存入 Set 中。包括

  • 图片格式
  • 图片尺寸
  • 图片 EXIF 信息

    • 图片旋转信息
    • 图片拍摄时间
    • 图片地理位置信息
  • 图片文件大小
  • 创建时间

等等。这一步在 IndexImage 接口返回值之前全部处理完成。即用户看到该接口的返回值时,上述信息已经被格式化好并存储了。

随后是一个异步过程。IMM 会对该图进行 AI 检测,包括:

  • OCR
  • 人脸检测分析,包括表情、年龄、特征等等
  • 标签检测
  • 名人检测

等等。这些信息会在接下来的几秒内处理完成,并更新到该图片的 Meta 信息中。即完成了图像元数据的分析储存。

元数据管理

Set 内已有元数据后,接下来就是对这些元数据进行获取。IMM 主要通过搜索、分析接口,供应用端获取、筛选元数据。针对图片举例,我们可以获取:

  • 搜索 体育运动 的照片
  • 搜索 人物表情为高兴 的照片
  • 搜索 夏天拍摄 的照片
  • 搜索 包含特定文字 的照片
  • 搜索 有小孩儿 的照片
  • 搜索 在杭州西湖拍摄 的照片

等等,且以上条件可以任意组合。我们具体展开一些例子。

搜索 体育运动 的照片

使用 FindImages 接口:

POST https://imm.cn-shanghai.aliyuncs.com
?Action=FindImages
&Project=test-project
&SetId=test-set
&TagNames=["体育运动"]
...

搜索 人物表情为高兴 的照片

使用 FindImages 接口:

POST https://imm.cn-shanghai.aliyuncs.com
?Action=FindImages
&Project=test-project
&SetId=test-set
&Emotion=HAPPY
...

搜索 在杭州西湖拍摄 的照片

首先我们找到杭州西湖的地理位置坐标。这一步可以使用高德等地图 API 获取。

例如西湖的大致坐标左上角为:120.137446,30.252502,右下角为120.154697,30.233854

使用 FindImages 接口:

POST https://imm.cn-shanghai.aliyuncs.com
?Action=FindImages
&Project=test-project
&SetId=test-set
&LocationBoundary={"TopLeft":"120.137446,30.252502","BottomRight":"120.154697,30.233854"}
...

搜索 去年夏天拍摄 的照片

使用 FindImages 接口:

POST https://imm.cn-shanghai.aliyuncs.com
?Action=FindImages
&Project=test-project
&SetId=test-set
&ImageTimeRange={"Start":"2018-06-01T00:00:00.0Z","End":"2018-09-01T00:00:00.0"}
...

当然,上述搜索条件均可自由组合,进行联合搜索。同时可以配合 Remarks 进行自定义过滤。

如果有其他搜索需求,或当前的方式无法满足您的业务需求,您可以 联系我们

以上就是 IMM 元信息管理的设计方式介绍。IMM 是一个比较年轻的产品,对外提供的能力也在不断扩展。希望能够帮助客户便捷地管理媒体文件,挖掘媒体文件背后的价值。

目录
相关文章
|
2月前
|
存储 数据管理 数据处理
文件结构魔法:探索数据管理的核心秘密
文件结构魔法:探索数据管理的核心秘密
58 0
|
9月前
|
存储 缓存 Java
HarmonyOS学习路之开发篇—数据管理(分布式文件服务)
分布式文件服务能够为用户设备中的应用程序提供多设备之间的文件共享能力,支持相同帐号下同一应用文件的跨设备访问,应用程序可以不感知文件所在的存储设备,能够在多个设备之间无缝获取文件。
|
存储 JSON 数据挖掘
利用智能媒体管理(IMM) 搭建云相册指南
- 为用户创建智能云相册 - 支持人脸检测,获取包括人脸位置、表情、年龄等信息 - 支持人脸分组,可以根据人物搜索、展示照片 - 支持照片标签检测,可以根据标签对照片进行分类 - 支持地理位置检测,获取照片拍摄的具体位置、时间,并且可以进行搜索
981 0
|
存储 对象存储 计算机视觉
智能媒体管理(IMM)视频分析中明星识别介绍
智能媒体管理已经支持了视频分析功能,用户可以方便的使用该功能对存储在oss上的视频进行全面的分析。本文主要介绍利用智能媒体管理的视频分析功能来提取视频中的明星信息。 智能媒体管理的视频分析包含了明星识别功能,可以帮助用户抽取出视频中出现的明星信息。
2931 0
|
存储 计算机视觉 对象存储
智能媒体管理(IMM)视频分析在在线教育行业中的应用
智能媒体管理已经支持了视频分析功能,用户可以方便的使用该功能对存储在oss上的视频进行全面的分析。本文主要介绍利用智能媒体管理的视频分析功能来评估在线教育视频的质量。 智能媒体管理的视频分析包含了多种分析功能,针对在线教育行业,主要利用了人脸、内容理解以及语音转文字的功能。
1807 0
|
搜索推荐 API 对象存储
使用智能媒体管理(IMM)快速搭建人脸搜索服务
在服务构建中,我们经常需要对用户的图片做进一步分析。本文利用 智能媒体管理(IMM) 提供的图片索引功能,快速搭建一个人脸搜索的功能,示例使用 Python 2.7 实现。
2131 0
|
Web App开发 对象存储 索引
使用智能媒体管理(IMM)快速搭建图片分类服务
在服务构建中,我们经常需要对用户的图片做进一步分析。本文利用 智能媒体管理(IMM) 提供的图片索引功能,快速搭建一个图片分类的功能,示例使用 PHP 语言实现。
2901 0
|
消息中间件 API Python
IMM 服务(智能媒体管理)通过 MNS 队列通知获取异步任务执行结果--Python示例
IMM服务(智能媒体管理)的 API 提供异步接口能力,处理大文件的文档转码、图像或者视频的 AI 处理,此时采用轮训的方式(比如文档转码的 GetOfficeConversionTask接口)效率不高,通过 MNS 队列通知获取异步任务执行结果是一种高效的方式,转载文章提供了 Python 示例,供大家参考。
1607 0
|
Web App开发 API
智能媒体管理(IMM)文档转换/预览提供 API 按量计费模式
智能媒体管理 (Intelligent Media Management, IMM) 是阿里云的云服务,它通过 文档标准型 实例提供了 Cloud Native 架构的文档转换/预览功能 ,本文介绍 API 按量计费模式的配置。
3113 0

相关产品

  • 智能媒体管理