记录生活中的点点滴滴

0%

微信小程序--贼有趣的AI识别

小程序介绍

名字 贼有趣的AI识别
功能 AI识图,用户上传图片,返回图片对应的一些信息并呈现给用户
栏目 图像识别(植物识别、动物识别、车型识别、果蔬识别、菜品识别)
文字识别(车牌识别、行驶证识别、驾驶证识别)
人脸识别(人脸检测)
用户情况
小程序二维码
选取技术 前端界面基于WeUI库,主要设计了呈现数据的表格以及动画相关CSS效果。
后端用node进行开发,借助了百度AI平台提供的相关的SDK包,设计了一系列识别对应的接口。

后台接口说明

1.1 渲染页面

1.1.1 页面信息

  • 请求路径:https://www.gaosong.site:4000/page
  • 请求方法:GET
  • 请求参数:无
  • 响应参数
参数名 参数说明 参数类型
name 识别分类的中文名称,如“图像识别”,用于一级标题的表示 字符串
arr 识别分类的详细信息,包含a,b,c 数组
a 对应识别的英文,如“plant”,用于跳转页面 字符串
b 对应icon图片的路径 字符串
c 对应识别的中文名,如“植物识别”,用于呈现对应的名字 在吃饭
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    [
    {
    name: "图像识别",
    arr: [
    {
    a: 'plant',
    b: '/images/plant.svg',
    c: '植物识别'
    }, {
    a: 'animal',
    b: '/images/animal.svg',
    c: '动物识别'
    }, {
    a: 'car',
    b: '/images/car.svg',
    c: '车型识别'
    }, {
    a: 'fruit',
    b: '/images/fruit.svg',
    c: '果蔬识别'
    }, {
    a: 'dish',
    b: '/images/dish.svg',
    c: '菜品识别'
    }, {
    a: 'landmark',
    b: '/images/landmark.svg',
    c: '地标识别'
    }
    ]
    },
    {
    name: "文字识别",
    arr: [
    /** {
    a: 'id',
    b: '/images/id.svg',
    c: '银行卡识别'
    },**/ {
    a: 'car_num',
    b: '/images/car_num.svg',
    c: '车牌识别'
    }/**, {
    a: 'id',
    b: '/images/id.svg',
    c: '身份证识别'
    }**/, {
    a: 'car_drive',
    b: '/images/car_drive.svg',
    c: '行驶证识别'
    }, {
    a: 'drive',
    b: '/images/drive.svg',
    c: '驾驶证识别'
    }/**, {
    a: 'license',
    b: '/images/license.svg',
    c: '营业执照识别'
    }**/
    ]
    },
    {
    name: "人脸识别",
    arr: [
    {
    a: 'face',
    b: '/images/face.svg',
    c: '人脸检测'
    }
    ]
    }
    ]

2.1 图像识别

2.1.1 植物识别

  • 请求路径:https://www.gaosong.site:4000/plant

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    score 置信度
    name 植物名称
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [
    //若返回“err”,说明出现错误
    {
    "score": 0.00015144718054216,
    "name": "红睡莲"
    },
    {
    "score": 1.2172759852547e-05,
    "name": "白睡莲"
    },
    {
    "score": 6.305016540864e-06,
    "name": "延药睡莲"
    }
    ]

2.1.2 动物识别

  • 请求路径:https://www.gaosong.site:4000/animal

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    score 置信度
    name 动物名称
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [
    //若返回“err”,说明出现错误
    {
    "score": "0.000289439",
    "name": "印度羚"
    },
    {
    "score": "0.000186248",
    "name": "藏羚羊"
    },
    {
    "score": "0.000147176",
    "name": "跳羚"
    },
    {
    "score": "0.000134434",
    "name": "驯鹿"
    },
    {
    "score": "9.86555e-05",
    "name": "高鼻羚羊"
    }
    ]

2.1.3 车型识别

  • 请求路径:https://www.gaosong.site:4000/car

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    score 置信度
    name 车型名称
    year 年份
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    [
    //若返回“err”,说明出现错误
    {
    "score": 0.98793351650238,
    "name": "布加迪Chiron",
    "year": "无年份信息"
    },
    {
    "score": 0.0021970034576952,
    "name": "奥迪RS5",
    "year": "2011-2017"
    },
    {
    "score": 0.0021096928976476,
    "name": "奥迪RS4",
    "year": "无年份信息"
    },
    {
    "score": 0.0015581247862428,
    "name": "奥迪RS7",
    "year": "2014-2016"
    },
    {
    "score": 0.00082337751518935,
    "name": "布加迪威航",
    "year": "2004-2015"
    }
    ]

2.1.4 果蔬识别

  • 请求路径:https://www.gaosong.site:4000/fruit

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    score 置信度
    name 果蔬名称
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    [
    //若返回“err”,说明出现错误
    {
    "name": "非果蔬食材",
    "score": 0.99999988079071
    },
    {
    "name": "油菜",
    "score": 1.1175458780599e-8
    },
    {
    "name": "蛇果",
    "score": 7.2776291659693e-9
    },
    {
    "name": "国光苹果",
    "score": 5.6971951600815e-9
    },
    {
    "name": "海枣",
    "score": 4.2508210285064e-9
    }
    ]

2.1.5 菜品识别

  • 请求路径:https://www.gaosong.site:4000/dish

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    calorie 卡路里,每100g的卡路里含量
    has_calorie 是否含有卡路里
    name 菜名
    probability 识别结果中每一行的置信度值,0-1
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    [
    //若返回“err”,说明出现错误
    {
    "calorie": "119",
    "has_calorie": true,
    "name": "酸汤鱼",
    "probability": "0.396031"
    },
    {
    "calorie": "38",
    "has_calorie": true,
    "name": "原味黑鱼煲",
    "probability": "0.265432"
    },
    {
    "calorie": "144",
    "has_calorie": true,
    "name": "椒鱼片",
    "probability": "0.0998993"
    },
    {
    "calorie": "98",
    "has_calorie": true,
    "name": "酸菜鱼",
    "probability": "0.0701917"
    },
    {
    "calorie": "257.65",
    "has_calorie": true,
    "name": "柠檬鱼",
    "probability": "0.0471465"
    }
    ]

2.1.6 地标识别

  • 请求路径:https://www.gaosong.site:4000/landmark

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    landmark 地标名称
  • 响应数据

    1
    2
    3
    4
    5
    6
    [
    //若返回“err”,说明出现错误
    {
    "landmark": "狮身人面像"
    }
    ]

2.2 文字识别

2.2.1 车牌识别

  • 请求路径:https://www.gaosong.site:5000/carNum

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    number 车牌号码
  • 响应数据

    1
    2
    3
    4
    5
    6
    [
    //若返回“err”,说明出现错误
    {
    "number": "苏HS7766"
    }
    ]

2.1.6 驾驶证识别

  • 请求路径:https://www.gaosong.site:5000/drive

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    num 证号
    name 姓名
    sex 性别
    country 国籍
    address 住址
    birth 出生日期
    get_date 初次领证日期
    car 准驾车型
    end_date 有效期限
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [
    //若返回“err”,说明出现错误
    {
    "num": "3208231999053090",
    "name": "小欧欧",
    "sex": "男",
    "country": "中国",
    "address": "江苏省南通市海门镇秀山新城",
    "birth": "1999年5月30日",
    "get_date": "2010年1年25日",
    "car": "B2",
    "end_date": "2010年1年25日至2016年1年25日"
    }
    ]

2.1.6 行驶证识别

  • 请求路径:https://www.gaosong.site:5000/car

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    car_num 号牌号码
    car_type 车辆类型
    person 所有人
    address 住址
    use_prop 使用性质
    model 品牌型号
    car_identify 车辆识别代号
    engine_num 发动机号码
    reg_date 注册日期
    get_date 发证日期
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [
    //若返回“err”,说明出现错误
    {
    "car_num": "苏A001",
    "car_type": "小型轿车",
    "person": "圆圆",
    "address": "南京市江宁区弘景大道",
    "use_prop": "非营运",
    "model": "保时捷GT37182RUCRE",
    "car_identify": "HCE58",
    "engine_num": "20832",
    "get_date": "2016年1月4日",
    "reg_date" "2016年1月4日":
    }
    ]

2.3 人脸识别

2.3.1 人脸检测

  • 请求路径:https://www.gaosong.site:3000/face

  • 请求方法:POST

  • 请求参数:调用wx.uploadFile的方法,传入图片

  • 响应参数

    参数名 参数说明
    age 年龄
    beauty 美丑打分,范围0-100,越大表示越美。
    expression 表情,有:不笑、微笑、大笑
    gender 性别,有:男性、女性
    glasses 是否带眼镜,有:无眼镜、普通眼镜、墨镜
    emotion 情绪,有:愤怒、厌恶、恐惧、高兴、伤心、惊讶、无表情、撅嘴、鬼脸
  • 响应数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [
    //若返回“err”,说明出现错误
    {
    "age": 29.298097610474,
    "beauty": 55.128883361816,
    "expression": "微笑",
    "gender": "男性",
    "glasses": "普通眼镜",
    "emotion": "惊讶"
    }
    ]