技能执行结果
更新时间:2021-07-29
Hi 您好,本文档主要介绍EM-BOX各技能执行的输出结果。
1 技能执行结果
1.1 电子围栏
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
persons | List | 人员信息 | |
+score | Double | 置信度,置信度大于等于人体检测阈值的才会返回,小于阈值的会被过滤掉 | |
+top | Int | 人体框左上角顶点距离图片上边界的像素 | |
+left | Int | 人体框左上角顶点距离图片左边界的像素 | |
+width | Int | 人体框宽度 | |
+height | Int | 人体框高度 | |
normal | boolean | 该结果是否正常,如果不正常则触发告警: true:正常,不触发告警; false:不正常,触发告警 |
示例:
{
"persons": [
{
"score": 0.964915931224823,
"top": 413,
"left": 707,
"width": 136,
"height": 304
},
{
"score": 0.9301413893699646,
"top": 426,
"left": 903,
"width": 203,
"height": 291
}
],
"normal": false
}
1.2 陌生人识别
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
strangers | List | 陌生人列表 | |
+score | Double | 人体置信度 | |
+hasFace | Boolean | 是否检测到人脸 | |
++faceLocation | Object | 人脸位置 | |
+++top | Int | 人脸框左上角顶点距离图片上边界的像素 | |
+++left | Int | 人脸框左上角顶点距离图片左边界的像素 | |
+++width | Int | 人脸框宽度 | |
+++height | Int | 人脸框高度 | |
+faceSimilarityScore | Double | 人脸相似度得分(0-100) | |
+doubtful | Boolean | 是否可疑人员 | |
+stranger | Boolean | 是否陌生人 | |
+inFaceSet | Boolean | 是否在人脸库中 | |
+top | Int | 人体框左上角顶点距离图片上边界的像素 | |
+left | Int | 人体框左上角顶点距离图片左边界的像素 | |
+width | Int | 人体框宽度 | |
+height | Int | 人体框高度 | |
acquaintances | List | 非陌生人列表(即识别出在人脸库中的人) 大部分属性与strangers重合,只列举有差别的部分 |
|
+groupId | String | 所属人脸组id | |
+userId | String | 人脸用户id | |
+userName | String | 人脸用户名 | |
normal | Boolean | 该结果是否正常,如果不正常则触发告警: true:正常,不触发告警; false:不正常,触发告警 |
示例:
{
"normal":false,
"strangers":[
{
"score":0.49294501543045044,
"faceLocation":{
"top":810,
"left":1445,
"width":45,
"height":66
},
"hasFace":true,
"top":734,
"left":1236,
"width":300,
"faceSimilarityScore":0,
"doubtful":false,
"stranger":true,
"height":330,
"inFaceSet":false
},
{
"score":0.4093378484249115,
"hasFace":false,
"top":827,
"left":157,
"width":382,
"doubtful":true,
"stranger":true,
"height":244
}
],
"acquaintances":[
{
"groupId":"egde_001",
"faceSimilarityScore":99.79257202148438,
"doubtful":false,
"userName":"1",
"userId":"huge",
"inFaceSet":true,
"score":0.9727230072021484,
"faceLocation":{
"top":147,
"left":197,
"width":238,
"height":320
},
"hasFace":true,
"top":19,
"left":9,
"width":624,
"stranger":false,
"height":790
}
]
}
1.3 烟火检测
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
smokeNum | Int | 烟的数量 | |
fireNum | Int | 火的数量 | |
normal | Boolean | 该结果是否正常,如果不正常则触发告警: true:正常,不触发告警; false:不正常,触发告警 |
|
result | List | ||
+classname | String | 分类: fire:火 smoke:烟 |
|
+probability | Double | 置信度 | |
+location | Object | 坐标 | |
++top | Int | 烟火框左上角顶点距离图片上边界的像素 | |
++left | Int | 烟火框左上角顶点距离图片左边界的像素 | |
++width | Int | 烟火框宽度 | |
++height | Int | 烟火框高度 |
示例:
{
"result": [
{
"classname": "fire",
"probability": 0.2966460883617401,
"location": {
"top": 680,
"left": 1172,
"width": 43,
"height": 39
}
},
{
"classname": "smoke",
"probability": 0.2966460883617401,
"location": {
"top": 68,
"left": 172,
"width": 49,
"height": 69
}
}
],
"normal": false,
"smokeNum": 1,
"fireNum": 1
}
1.4 安全帽检测
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
normal | boolean | 该结果是否正常,如果不正常则触发告警: true:正常,不触发告警; false:不正常,触发告警 |
|
personsWearingHelmet | List | 佩戴安全帽的人 | |
+matchRatio | Double | 佩戴置信度 | |
+location | Object | 人体坐标 | |
++score | Double | 人体置信度 | |
++top | Int | 人体左上角顶点距离图片上边界的像素 | |
++left | Int | 人体左上角顶点距离图片左边界的像素 | |
++width | Int | 人体框宽度 | |
++height | Int | 人体框高度 | |
+helmet | Object | 安全帽信息 | |
++color | Int | 安全帽颜色 | |
++classname | String | 分类,一般都为safety-helmet | |
++probability | Double | 安全帽置信度 | |
++location | Object | 安全帽坐标 | |
+++top | Int | 安全帽左上角顶点距离图片上边界的像素 | |
+++left | Int | 安全帽左上角顶点距离图片左边界的像素 | |
+++width | Int | 安全帽宽度 | |
+++height | Int | 安全帽高度 | |
personsNotWearingHelmet | List | 未佩戴安全帽的人(属性跟上边类似) |
示例:
{
"normal": false,
"personsWearingHelmet": [
{
"helmet": {
"color": 3,
"classname": "safety-helmet",
"probability": 0.6903132796287537,
"location": {
"top": 53,
"left": 356,
"width": 96,
"height": 117
}
},
"location": {
"score": 0.9604066610336304,
"top": 50,
"left": 349,
"width": 367,
"height": 401
},
"matchRatio": 1
},
{
"helmet": {
"color": 2,
"classname": "safety-helmet",
"probability": 0.6452111005783081,
"location": {
"top": 202,
"left": 85,
"width": 24,
"height": 16
}
},
"location": {
"score": 0.31597423553466797,
"top": 202,
"left": 64,
"width": 56,
"height": 171
},
"matchRatio": 1
}
],
"personsNotWearingHelmet": [
{
"helmet": {
"probability": 0
},
"location": {
"score": 0.8570256233215332,
"top": 177,
"left": 104,
"width": 68,
"height": 193
},
"matchRatio": 0
}
]
}
1.5 攀高检测
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
person_num | Int | 总人数 | |
climbingPersonNum | Int | 攀高人员数量 | |
noClimbingPersonNum | Int | 非攀高人员数量 | |
person_info | Array | 人员信息 | |
+location | JSON | 人员位置信息(图片上的人体框就是根据这个结果画上去的) | |
++score | Double | 置信度,置信度大于等于人体检测阈值的才会返回,小于阈值的会被过滤掉 | |
++top | Double | 人体框左上角顶点距离图片上边界的像素 | |
++left | Double | 人体框左上角顶点距离图片左边界的像素 | |
++width | Double | 人体框宽度 | |
++height | Double | 人体框高度 | |
climbingPersonList | Array | 攀高人员列表,结构同person_info | |
noClimbingPersonList | Array | 非攀高人员列表,结构同person_info |
示例:
{
"person_num": 1,
"climbingPersonList": [
{
"hasClimbing": "true",
"location": {
"score": 0.96569776535034,
"top": 474.64399777926,
"left": 770.71929931641,
"width": 185.22188626803,
"height": 434.34442960299
}
}
],
"person_info": [
{
"hasClimbing": "true",
"location": {
"score": 0.96569776535034,
"top": 474.64399777926,
"left": 770.71929931641,
"width": 185.22188626803,
"height": 434.34442960299
}
}
],
"noClimbingPersonNum": 0,
"climbingPersonNum": 1
}
1.6 easydl物体检测
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
labels | Array | 检测出的标签列表 | |
+confidence | Double | 置信度 | |
+label | String | label名称 | |
+boundingBox | JSON | 该label的物体框坐标 | |
++top | Double | 物体框左上角顶点距离图片上边界的像素 | |
++left | Double | 物体框左上角顶点距离图片左边界的像素 | |
++width | Double | 物体框宽度 | |
++height | Double | 物体框高度 | |
+x1 | Double | 推荐直接使用boundingBox.left,x1= boundingBox.left/图片宽度 | |
+y1 | Double | 推荐直接使用boundingBox.top,y1= boundingBox.top/图片高度 | |
+x2 | Double | 含义参考x1,只不过x2代表的是物体框右下角顶点 | |
+y2 | Double | 含义参考y1,只不过y2代表的是物体框右下角顶点 |
示例:
{
"labels": [
{
"confidence": 0.94091796875,
"index": 1,
"label": "airplane",
"x1": 0.19151463508605956,
"y1": 0.1457286685705185,
"x2": 0.24310667037963868,
"y2": 0.629201066493988,
"boundingBox": {
"left": 245.13873291015625,
"top": 104.92464137077332,
"width": 66.03780517578127,
"height": 348.100126504898
}
},
{
"confidence": 0.64091796875,
"index": 1,
"label": "test",
"x1": 0.29151463508605957,
"y1": 0.2457286685705185,
"x2": 0.34310667037963866,
"y2": 0.529201066493988,
"boundingBox": {
"left": 373.13873291015625,
"top": 176.92464137077332,
"width": 66.03780517578122,
"height": 204.10012650489807
}
},
{
"confidence": 0.64091796875,
"index": 1,
"label": "ant",
"x1": 0.29151463508605957,
"y1": 0.5457286685705185,
"x2": 0.6431066703796386,
"y2": 0.7292010664939881,
"boundingBox": {
"left": 373.13873291015625,
"top": 392.9246413707733,
"width": 450.03780517578116,
"height": 132.10012650489807
}
},
{
"confidence": 0.74091796875,
"index": 1,
"label": "angel",
"x1": 0.29151463508605957,
"y1": 0.045728668570518494,
"x2": 0.7831066703796387,
"y2": 0.32920106649398806,
"boundingBox": {
"left": 373.13873291015625,
"top": 32.924641370773315,
"width": 629.2378051757812,
"height": 204.1001265048981
}
}
]
}
1.7 easydl图像分类
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
labels | Array | 检测出的标签列表 | |
+confidence | Double | 置信度 | |
+label | String | 分类名称 |
示例:
{
"labels": [
{
"confidence": 0.79,
"index": 1,
"label": "cat"
}
]
}
1.8 人流过密预警
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
peopleNumThreshold | Int | 人流密度阀值 | |
isTooMany | String | 人流是否过密 | |
areas | Array | 框选的检测区域 | |
+nodes | Array | 框选的检测区域的各个顶点 |
示例
{
"peopleNumThreshold": 1,
"person_num": 2,
"isTooMany": "true",
"areas": [
{
"nodes": [
[
72,
84
],
[
1792,
57
],
[
1780,
983
],
[
169,
975
]
],
"style": {
"color": "blue",
"stroke": {
"width": 3
},
"renderType": 1
},
"hasEvent": true
}
]
}
1.9 离岗检测
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
state | String | 是否离岗 | |
areas | Array | 框选的检测区域 | |
+nodes | Array | 框选的检测区域的各个顶点 |
示例
{
"state": "leave",
"areas": [
{
"nodes": [
[
3,
1
],
[
-3,
478
],
[
636,
476
],
[
637,
3
]
],
"style": {
"color": "blue",
"stroke": {
"width": 3
},
"renderType": 1
},
"hasEvent": false
}
]
}
1.10 课堂专注度
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
average_attention | Double | 平均专注度 | |
face_num | Int | 识别的人脸数量 | |
face_list | Array | 识别的人脸列表 | |
+expression | JSON | 眼神 | |
++probability | Double | 置信度(下同) | |
++type | String | 类型 | |
+face_shape | JSON | 脸部姿势 | |
+beauty | Double | 漂亮程度 | |
+face_shape | JSON | 脸部姿势 | |
+gender | JSON | 性别 | |
+face_probability | Double | 人脸置信度 | |
+quality | JSON | 人脸质量 | |
++illumination | Double | 光照 | |
++occlusion | JSON | ! | |
+++nose | Double | 鼻子 | |
+++right_eye | Double | 右眼 | |
+++mouth | Double | 嘴巴 | |
+++left_cheek | Double | 左颊 | |
+++left_eye | Double | 左眼 | |
+++chin_contour | Double | 轮廓 | |
+++right_cheek | Double | 右颊 | |
++blur | Double | 模糊度 | |
++completeness | Double | 完整度 | |
+glasses | JSON | 眼镜 | |
+face_type | JSON | 脸部类型 | |
+angle | JSON | 角度 | |
++roll | Double | 绕z轴旋转角度 | |
++pitch | Double | 绕x轴旋转角度 | |
++yaw | Double | 绕y轴旋转角度 | |
+attention | Double | 专注度 | |
+face_token | String | 人脸Token | |
+location | JSON | 人脸位置信息 | |
+age | Double | 年龄 | |
areas | Array | 框选的检测区域 | |
+nodes | Array | 框选的检测区域的各个顶点 |
示例
{
"average_attention": 83.31,
"face_num": 2,
"face_list": [
{
"expression": {
"probability": 1.0,
"type": "none"
},
"face_shape": {
"probability": 0.85,
"type": "round"
},
"beauty": 39.3,
"gender": {
"probability": 1.0,
"type": "male"
},
"face_probability": 1.0,
"quality": {
"illumination": 149.0,
"occlusion": {
"nose": 0.0,
"right_eye": 0.0,
"mouth": 0.0,
"left_cheek": 0.07,
"left_eye": 0.06,
"chin_contour": 0.06,
"right_cheek": 0.03
},
"blur": 0.0,
"completeness": 0
},
"glasses": {
"probability": 1.0,
"type": "none"
},
"face_type": {
"probability": 1.0,
"type": "human"
},
"angle": {
"roll": -10.91,
"pitch": 20.23,
"yaw": 26.46
},
"attention": 80.58,
"face_token": "b441f5c91de5eb0c03262bcca4355d4c",
"location": {
"top": 542,
"left": 261,
"rotation": -6,
"width": 234,
"height": 192
},
"age": 28.0
},
{
"expression": {
"probability": 0.99,
"type": "none"
},
"face_shape": {
"probability": 0.44,
"type": "round"
},
"beauty": 19.88,
"gender": {
"probability": 0.54,
"type": "male"
},
"face_probability": 0.97,
"quality": {
"illumination": 62.0,
"occlusion": {
"nose": 0.73,
"right_eye": 0.37,
"mouth": 0.57,
"left_cheek": 0.23,
"left_eye": 0.39,
"chin_contour": 0.25,
"right_cheek": 1.0
},
"blur": 0.99,
"completeness": 1
},
"glasses": {
"probability": 0.99,
"type": "none"
},
"face_type": {
"probability": 0.89,
"type": "human"
},
"angle": {
"roll": -174.94,
"pitch": 10.68,
"yaw": -24.18
},
"attention": 86.03,
"face_token": "0b07a67dbb2c9cdf7178c29e244e5cb9",
"location": {
"top": 414,
"left": 1048,
"rotation": -175,
"width": 24,
"height": 24
},
"age": 22.0
}
]
}
1.11 车辆违停分析
字段名 | 类型 | 备注 | 样例 |
---|---|---|---|
vehicleNum | Int | 识别到的车数量 | |
areas | Array | 框选的检测区域 | |
+nodes | Array | 框选的检测区域的各个顶点 | |
vehicle_info | Array | 识别到的车辆信息 | |
+license | JSON | 车牌信息 | |
++number | String | 车牌号 | |
++location | JSON | 识别到的车牌位置 | |
++probability | Double | 置信度 | |
++typeInChinese | String | 车辆类型(中文) | |
++location | JSON | 识别到的车辆位置 | |
++type | String | 车辆类型 |
示例
{
"log_id": 7567754712735709974,
"vehicleNum": 1,
"areas": [
{
"nodes": [
[
592,
527
],
[
668,
1061
],
[
1729,
1065
],
[
1631,
726
],
[
949,
740
],
[
845,
588
]
],
"style": {
"color": "blue",
"stroke": {
"width": 3
},
"renderType": 1
},
"hasEvent": true
}
],
"vehicle_info": [
{
"license": {
"number": "无",
"location": {
"left": 0.0,
"top": 0.0,
"width": 0.0,
"height": 0.0
}
},
"probability": 0.4867725670337677,
"typeInChinese": "卡车",
"location": {
"top": 653,
"left": 910,
"width": 68,
"height": 71
},
"type": "truck"
}
],
"vehicle_num": 1
}