本文为您介绍目标检测(objectdet)类目下的车辆拥堵检测DetectVehicleICongestion的语法及示例。
功能描述
车辆拥堵检测能力根据图片中的车辆,判断是否发生拥堵。
应用场景
- 停车场拥堵检测:通过停车场摄像头间隔时间内捕捉的两张图像,检测车辆以及相对位置,判断是否发生拥堵。
- 道路拥堵检测:通过道路监控间隔时间内捕捉的前后图像,检测车辆以及相对位置,判断是否发生拥堵。
特色优势
检测数据量少:无需较大数据量的视频,仅通过检测两张图片,即可判断是否发生拥堵。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通目标检测服务,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为目标检测(objectdet)类目的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 图像格式:JPEG、JPG、PNG、BMP。
- 图像大小:不超过500 KB。
- 图像分辨率:大于20×20像素,小于800×800像素,长宽比小于等于2。
- URL地址中不能包含中文字符。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 | 
| Action | String | 是 | DetectVehicleICongestion | 要执行的操作。取值:DetectVehicleICongestion。 | 
| ImageURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/objectdet/DetectVehicleICongestion/DetectVehicleICongestion1.jpg | 图像URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 | 
| RoadRegions | Array | 是 | 多个区域。格式为RoadRegion_1, RoadRegion_2, ..., RoadRegion_N。 | |
| RoadRegion | Array | 是 | 任意四边形的四个顶点的坐标X和Y,格式为 | |
| Point | Object | 是 | 四边形的顶点坐标。 | |
| X | Long | 是 | 400 | 坐标点的X值。 | 
| Y | Long | 是 | 400 | 坐标点的Y值。 | 
| PreRegionIntersectFeatures | Array | 否 | 前一帧画面与各个指定区域相交集的车辆检测框对应的车辆特征。 | |
| Features | Array of String | 否 | AEAMQQAAAA****ABhC | Base64编码的字符串。文件的Base64编码处理操作,请参见文件Base64处理。 | 
返回数据
| 名称 | 类型 | 示例值 | 描述 | 
| RequestId | String | 4FC381BB-04F2-50F4-B54B-593042BCF3C6 | 请求ID。 | 
| Data | Object | 返回的结果数据内容。 | |
| Elements | Array of Element | 车辆检测框的集合。 | |
| Boxes | Array of Boxes | 检测框坐标,格式为 | |
| Left | Long | 341 | 矩形区域的左上角横轴坐标。 | 
| Top | Long | 434 | 矩形区域的左上角纵轴坐标。 | 
| Right | Long | 589 | 矩形区域的右下角横轴坐标。 | 
| Bottom | Long | 576 | 矩形区域的右下角纵轴坐标。 | 
| Score | Float | 0.962890625 | 检测框的置信度,范围为 | 
| TypeName | String | vehicle | 检测框对应的物体。取值仅为 | 
| Id | Long | 1 | 检测框ID。 | 
| RegionIntersectFeatures | Array of RegionIntersectFeatures | 与各个指定区域相交集的车辆检测框对应的车辆特征。 | |
| Features | Array of String | AEAMQQAAAA****ABhC | 此Base64编码用于匹配两帧之间的车辆是否为同一车辆。文件的Base64编码处理操作,请参见文件Base64处理。 | 
| RegionIntersectMatched | Array of RegionIntersectMatched | 判断当前帧的RegionIntersectFeatures与PreRegionIntersectFeatures中哪一个特征是匹配的。 | |
| Ids | Array of Long | [-1,-1,-1] | 当两帧之间的两个车辆是匹配时,说明该车辆在两帧之间的时间内存在滞留或拥堵现象。 说明 -1代表没有匹配的特征,如果匹配将显示对应检测框ID。例如,车辆检测框ID为 [1,2,3],RegionIntersectMatched显示为[-1,-1,-1],则表示三个区域均没有匹配,RegionIntersectMatched显示为[-1,2,3],则表示区域1未匹配,区域2和3匹配。 | 
| RegionIntersects | Array of RegionIntersects | 与各个指定区域相交集的车辆检测框对应的车辆特征。 例如,返回结果为 {"Ids":[1,3}, {"Ids":2,4} ],其中{"Ids":1,3}是与区域1相交集的车辆检测框的ID, {"Ids":2,4}是与区域2相交集的车辆检测框的ID。当车辆出现在给定区域内,说明存在车辆占道的情况。 除了RegionIntersects里包含的ID的检测框外,其它的检测框为区域外的检测框。 | |
| Ids | Array of Long | [1,2,3] | 与各个指定区域相交集的车辆检测框的多个ID。 例如,{"Ids":1,3}是与相应区域相交集的车辆检测框的IDs。 | 
SDK参考
阿里云视觉AI目标检测类目下的车辆拥堵检测能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为目标检测(objectdet)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例
请求示例
http(s)://objectdet.cn-shanghai.aliyuncs.com/?Action=DetectVehicleICongestion      //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/objectdet/DetectVehicleICongestion/DetectVehicleICongestion1.jpg
&RoadRegions=[{"RoadRegion":[{"Point":{"X":400,"Y":400}}]}]
&PreRegionIntersectFeatures=[{"Features":["AEAMQQAAAA****ABhC"]}]
&公共请求参数正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DetectVehicleICongestionResponse>
    <RequestId>4FC381BB-04F2-50F4-B54B-593042BCF3C6</RequestId>
    <Data>
        <RegionIntersectFeatures>
            <Features>AOAQQQBA****FRD</Features>
            <Features>AEAMQQAA****KRC</Features>
            <Features>AEAMQQAA****BhC</Features>
        </RegionIntersectFeatures>
        <RegionIntersects>
            <Ids>1</Ids>
            <Ids>2</Ids>
            <Ids>3</Ids>
        </RegionIntersects>
        <Elements>
            <Score>0.962890625</Score>
            <TypeName>vehicle</TypeName>
            <Id>0</Id>
            <Boxes>
                <Left>341</Left>
                <Top>434</Top>
                <Right>589</Right>
                <Bottom>576</Bottom>
            </Boxes>
        </Elements>
        <Elements>
            <Score>0.9619140625</Score>
            <TypeName>vehicle</TypeName>
            <Id>1</Id>
            <Boxes>
                <Left>304</Left>
                <Top>228</Top>
                <Right>525</Right>
                <Bottom>440</Bottom>
            </Boxes>
        </Elements>
        <Elements>
            <Score>0.83203125</Score>
            <TypeName>vehicle</TypeName>
            <Id>2</Id>
            <Boxes>
                <Left>0</Left>
                <Top>24</Top>
                <Right>68</Right>
                <Bottom>106</Bottom>
            </Boxes>
        </Elements>
        <Elements>
            <Score>0.53125</Score>
            <TypeName>vehicle</TypeName>
            <Id>3</Id>
            <Boxes>
                <Left>0</Left>
                <Top>0</Top>
                <Right>58</Right>
                <Bottom>38</Bottom>
            </Boxes>
        </Elements>
        <RegionIntersectMatched>
            <Ids>-1</Ids>
            <Ids>-1</Ids>
            <Ids>-1</Ids>
        </RegionIntersectMatched>
    </Data>
</DetectVehicleICongestionResponse>JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
  "RequestId" : "4FC381BB-04F2-50F4-B54B-593042BCF3C6",
  "Data" : {
    "RegionIntersectFeatures" : {
      "Features" : [ "AOAQQQBA****FRD", "AEAMQQAA****KRC", "AEAMQQAA****BhC" ]
    },
    "RegionIntersects" : {
      "Ids" : [ 1, 2, 3 ]
    },
    "Elements" : [ {
      "Score" : 0.962890625,
      "TypeName" : "vehicle",
      "Id" : 0,
      "Boxes" : {
        "Left" : 341,
        "Top" : 434,
        "Right" : 589,
        "Bottom" : 576
      }
    }, {
      "Score" : 0.9619140625,
      "TypeName" : "vehicle",
      "Id" : 1,
      "Boxes" : {
        "Left" : 304,
        "Top" : 228,
        "Right" : 525,
        "Bottom" : 440
      }
    }, {
      "Score" : 0.83203125,
      "TypeName" : "vehicle",
      "Id" : 2,
      "Boxes" : {
        "Left" : 0,
        "Top" : 24,
        "Right" : 68,
        "Bottom" : 106
      }
    }, {
      "Score" : 0.53125,
      "TypeName" : "vehicle",
      "Id" : 3,
      "Boxes" : {
        "Left" : 0,
        "Top" : 0,
        "Right" : 58,
        "Bottom" : 38
      }
    } ],
    "RegionIntersectMatched" : {
      "Ids" : [ -1, -1, -1 ]
    }
  }
}错误码
关于车辆拥堵检测的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。