Skip to main content

来源

每个帧包含sources,一个包含以下内容的字典列表:

  • 源数据的属性(图像原始数据)
  • 一个指向源数据(图像或视频)的URI
  • 用于语义分割的masks来源
  • 图像预览,这是在ClearML企业版WebApp(UI)中使用的缩略图。

sources 不包含 ROI 元数据,因为 ROI 可以在多个帧中使用。相反,帧包含一个顶层的 rois 数组,这是一个 ROI 字典列表,其中每个字典包含一个源 ID 列表。这些 ID 将 sources 连接到 ROI。

示例

下面的示例展示了不同类型内容的Frame的sources部分。

示例1:视频源

这个示例演示了视频的sources

/* video from one of four cameras on car */
"sources": [
{
"id": "front",
"content_type": "video/mp4",
"width": 800,
"height": 600,
"uri": "https://s3.amazonaws.com/my_cars/car_1/front.mp4",
"timestamp": 1234567889,
"meta" :{
"angle":45,
"fov":129
},
},
{
"id": "rear",
"uri": "https://s3.amazonaws.com/my_cars/car_1/rear.mp4",
"content_type": "video/mp4",
"timestamp": 1234567889
}

上面的sources示例详细说明了一辆带有两个摄像头的汽车的视频。一个摄像头的源ID是front,另一个摄像头的源ID是rear

sources 包含有关框架的以下信息:

  • content_type - 视频是一个 mp4 文件
  • widthheight - 视频中的每一帧都是 800 像素乘以 600 像素,
  • uri - 原始数据位于 s3.amazonaws.com/my_cars/car_1/front.mp4s3.amazonaws.com/my_cars/car_1/rear.mp4 (分别为前置和后置摄像头)
  • timestamp - 这表示帧在视频中的绝对位置
  • meta - 包含相机的角度(angle)和视野(fov)的额外元数据。
note

来源包括多种内容类型。此示例显示了一个mp4视频。

示例2:图像来源

这个示例演示了sources图像。

/* camera images */
"sources": [
{
"id": "default",
"content_type": "png",
"width": 800,
"height": 600,
"uri": "https://s3.amazonaws.com/my_images/imag1000.png",
"timestamp": 0,
}

该框架的sources包含以下信息:

  • content_type - 此帧包含一个png格式的图像。
  • widthheight - 它是 800 像素乘以 600 像素,
  • uri - 原始数据位于 https://s3.amazonaws.com/my_images/imag1000.png
  • timestamp 是 0(时间戳用于视频)。

示例3:来源和感兴趣的区域

这个示例演示了视频的sourcesmaskspreview


{
"timestamp": 1234567889,
"context_id": "car_1",
"meta": {
"velocity": "60"
},
"sources": [
{
"id": "front",
"content_type": "video/mp4",
"width": 800,
"height": 600,
"uri": "https://s3.amazonaws.com/my_cars/car_1/front.mp4",
"timestamp": 1234567889,
"meta" :{
"angle":45,
"fov":129
},
"preview": {
"content_type": "image/jpg",
"uri": "https://s3.amazonaws.com/my_previews/car_1/front_preview.jpg",
"timestamp": 0
},
"masks": [
{
"id": "seg",
"content_type": "video/mp4",
"uri": "https://s3.amazonaws.com/seg_masks/car_1/front_seg.mp4",
"timestamp": 1234567889
},
{
"id": "instances_seg",
"content_type": "video/mp4",
"uri": "https://s3.amazonaws.com/seg_masks/car_1/front_instance_seg.mp4",
"timestamp": 1234567889
}
]
},
{
"id": "rear",
"uri": "https://s3.amazonaws.com/my_cars/car_1/rear.mp4",
"content_type": "video/mp4",
"timestamp": 1234567889
}
],
"rois": [
{
"sources":["front"],
"label": ["right_lane"],
"mask": {
"id": "seg",
"value": [-1, 1, 255]
}
},
{
"sources": ["front"],
"label": ["bike"],
"poly":[30, 50, 50,50, 100,50, 100,100],
"meta": {
"velocity": 5.4
}
},
{
"sources": ["front", "rear"],
"label": ["car"],
"poly":[30, 50, 50,50, 100,50, 100,100]
}
]
}

此框架显示了sources中的masks部分,以及顶层的rois数组。

sources中,masks子部分包含与原始数据相关的两个掩码的源。

原始掩码数据位于:

  • https://s3.amazonaws.com/my_cars/car_1/front.mp4
  • https://s3.amazonaws.com/my_previews/car_1/front_preview.jpg

rois中,mask部分通过id键与其masks源相关联。 在这个例子中:

  • rois数组中,有一个感兴趣的区域,该区域有一个ID为segmask和一个RGB值
  • sources 中的 masks 部分包含每个掩码的位置。masks 的第一个字典详细说明了 ID 为 seg 的掩码。该 ID 将其连接到 rois 中的 seg 掩码。

sources 还包含预览的源。它位于:https://s3.amazonaws.com/my_previews/car_1/front_preview.jpg