
# 车牌识别技能
#### 技能描述
面向智慧商超的车牌技能。本技能使用多个深度学习算法，实时分析视频流，自动抓取画面中的车牌，结果自动上传至您的后台系统，用于后续实现其他业务。
本技能支持：
- 显示外接IPC摄像头中捕捉到的画面中出现的车牌信息。
- 画面中同时出现多个车牌的情况下只支持一个车牌的显示及结果上传。
- 支持返回车牌颜色。
- 自动过滤视频流中出现的重复车牌。
摄像头部署建议请参考[摄像头部署]。
技能接口设计请参见[技能结果上传接口]。
#### 基本信息
车牌技能的基本信息如[表1]所示。
 表1技能参数说明 
| 参数      | 说明                                      |
|:---|:---|
| 技能名称    | 车牌识别                                    |
| 技能版本    | 1.0.2                                   |
| 适用芯片    | Ascend 310                              |
| OS平台    | Linux                                   |
| 应用场景    | 商超                                      |
| 支持固件版本  | HiLens Framework 1.0.0及以上，DDK887/DDK893 |
| 最大路数    | 最多10路                                   |
| 视频流传输协议 | RTSP                                    |
| 输入方式    | 外接IPC摄像头                                |
| 输出方式    | POST                                    |
   
 #### 摄像头部署
摄像头部署要求如下：
- 摄像头可以采取侧装的方式。
- 为保证有效判断车牌，建议车速不超过5km/h，建议摄像头位置距离行驶过来的车牌2-4米作为最佳判断距离。
- 摄像机安装过程中确保俯视角度小于30度，尽量保证车牌在图像中保持水平。
 
#### 运行时配置参数
技能在运行时，需要[添加运行时配置](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0011.html)。配置完成后，参数会从华为HiLens云侧下发到端侧设备。
表2运行时参数说明 
| 参数                   | 是否必选 | 参数类型   | 说明                                                                  |
|:---|:---|:---|:---|
| confidence_threshold | 是    | Float  | 车牌显示结果最小得分。                                                         |
| province             | 是    | String | 当前Kit所部署的省份信息。                                                      |
| multi_camera         | 是    | Array  | 一个设备上多路视频的技能参数，其技能参数说明请见[表3]。 |
   
 表3"multi_camera"参数说明 
| 名称           | 是否必须 | 参数类型  | 说明                                                  |
|:---|:---|:---|:---|
| camera_names | 是    | Array | 摄像头名称。摄像头名称与设备的rtsp流配置的名称对应。可配置多个名称，表示多个摄像头采用同样的配置。 |
   
 #### 技能结果上传接口
- **请求消息**
  推理结果将以HTTPS POST请求方法推送到应用系统server的指定URL地址。
  POST {sendUrl}
  其中sendUrl在[技能运行时配置](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0011.html)中设置。
  - 请求消息头
    技能以json形式返回推理结果，因此消息头"Content-Type"类型为"application/json"。消息头其它部分，用户可根据自身的业务需求设定，如鉴权等。
    表4请求消息参数说明 
    | 名称           | 描述        | 是否必须 | 样例               |
    |:---|:---|:---|:---|
    | Content-Type | 消息体类型（格式） | 是    | application/json |
       
    
   
- **响应消息**
  表5响应消息参数说明 
  | 参数             | 参数类型             | 说明                                                                                                                                                     |
  |:---|:---|:---|
  | msg_from       | String           | 调用成功时返回的相机配置信息。                                                                                                                                        |
  | plate_number   | String           | 车牌号内容。                                                                                                                                                 |
  | color          | String           | 车牌底色，支持的车牌底色包括"blue"、"green"、"black"、"white"、"yellow"中的一种。                                                                                             |
  | location       | Array of objects | 车牌的区域位置信息，列表形式，包含文字区域四个顶点的二维坐标（x,y），其中坐标原点为图片左上角，x轴沿水平方向，y轴沿竖直方向。                                                                                      |
  | confidence     | Float            | 相关字段的置信度信息，置信度越大，表示本次结果的对应字段的可靠性越高，在统计意义上，置信度越大，准确率越高。 说明： 置信度由算法给出，不直接等价于对应字段的准确率。 |
  | processed_time | String           | 结果发送时间戳。                                                                                                                                               |
     
  成功响应返回结果：
  ```
  {
              "plate_number": "京XXXXX",
              "location": [
                      [370,881],
                      [2591,881], 
                      [2591,2281],
                      [370,2281]
              ],
              "confidence": 0.9225,
              "color": "blue",
              "processed_time": Sat Jun 13 18:24:09 2020,
              "msg_from": "/tmp/test.mp4"
  }
  ```
  
 
