来源
每个帧包含sources
,一个包含以下内容的字典列表:
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
文件width
和height
- 视频中的每一帧都是800
像素乘以600
像素,uri
- 原始数据位于s3.amazonaws.com/my_cars/car_1/front.mp4
和s3.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
格式的图像。width
和height
- 它是800
像素乘以600
像素,uri
- 原始数据位于https://s3.amazonaws.com/my_images/imag1000.png
timestamp
是 0(时间戳用于视频)。
示例3:来源和感兴趣的区域
这个示例演示了视频的sources
、masks
和preview
。
{
"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为seg
的mask
和一个RGB值 sources
中的masks
部分包含每个掩码的位置。masks
的第一个字典详细说明了 ID 为seg
的掩码。该 ID 将其连接到rois
中的seg
掩码。
sources
还包含预览的源。它位于:https://s3.amazonaws.com/my_previews/car_1/front_preview.jpg
。