本文介绍单目视频深度估计EstimateMonocularVideoDepth的语法及示例。

功能描述

单目视频深度估计能力可以基于一段输入彩色图像视频帧,估计视频每帧图像相对应的深度图,并可合成输出点云。

说明 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

应用场景

AR导航:在实时拍摄的道路视频中,单目视频深度估计算法可以估计出物体远近,结合导航信息在视频画面中实时标识出行进路线,帮助用户在复杂道路情况下找到准确的路线。

特色优势

可对实时拍摄的道路视频,估计周围物体的连续距离变化。

接入指引

1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。

2. 开通能力:请确保您已开通3D视觉服务,若未开通服务请立即开通

3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权

4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。

5. 开发接入:能力支持SDK方式调用,您可以选择合适的开发语言进行接入,具体操作,请参见SDK总览

输入限制

  • 视频格式:MP4、AVI、MOV、FLV、MPEG、WMV。
  • 视频分辨率:大于64×64像素,小于2048×2048像素。
  • 视频大小:不超过100 MB。
  • URL地址中不能包含中文字符。

调用步骤

该能力为异步能力,需分两步进行调用。

第一步调用EstimateMonocularVideoDepth接口提交任务,请求成功后,得到一个任务ID。

第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String EstimateMonocularVideoDepth

系统规定参数。取值:EstimateMonocularVideoDepth

VideoURL String https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxxx/Estimate.mp4

视频URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理

SampleRate String 10

视频帧采样率,默认为10,取值范围为1~50。例如设置为10,每10帧图像采样一帧。

返回数据

名称 类型 示例值 描述
RequestId String E335106F-9F96-491D-AEB3-1610F8545968

请求ID。

Data Object

返回的结果数据内容。

该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。

DepthUrl String http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths.npy

返回预测的深度图的URL。

说明 .npy文件需要用Python NumPy加载读取。
DepthVisUrl String http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths_vis.avi

返回得到的深度视频。

Message String 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。

提交异步任务后的提示信息。

查询结果

该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult

SDK参考

阿里云视觉AI能力推荐使用SDK调用,支持多种编程语言,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览

示例

请求示例

http(s)://threedvision.cn-shanghai.aliyuncs.com/?Action=EstimateMonocularVideoDepth       //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&VideoURL=https://viapi-test.oss-cn-shanghai.aliyuncs.com/test-team/xxxx/Estimate.mp4
&SampleRate=10
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<EstimateMonocularVideoDepthResponse>
    <RequestId>E335106F-9F96-491D-AEB3-1610F8545968</RequestId>
    <Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</EstimateMonocularVideoDepthResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "E335106F-9F96-491D-AEB3-1610F8545968",
  "Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}

返回示例补充说明

//查询结果:请求示例
http(s)://threedvision.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>

//查询结果:返回示例
{
  "RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
  "Data" : {
    "Status" : "PROCESS_SUCCESS",
    "JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
    "Result" : "{\"DepthUrl\":\"http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths.npy\",\"DepthVisUrl\":\"http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths_vis.avi\"}"
  }
}

//Result反序列化
{
  "DepthUrl" : "http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths.npy",
  "DepthVisUrl" : "http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/VideoDepthPrediction/5c36dc69-2937-440e-ac34-67a00651a753/depths_vis.avi"
}

错误码

关于单目视频深度估计的错误码,详情请参见常见错误码

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。