项目接口与百度机器人对接

  • 1. 百度服务机器人介绍
  • 2. 接口对接百度修改
    • 2.1 web对接口

1. 百度服务机器人介绍

  • 开放平台架构

  • 机器人后台配置网址: https://console.bce.baidu.com/abcrobot/#/consolePage/extAbility/objIdentify

    • 需要企业百度云账号,这里做演示说明
    • 机器人配置后台

  • 配置自定义物体识别功能

    • 配置页面
    • 其中需要配置我们自己的物体识别HTTP接口,密钥可以随意配置

2. 接口对接百度修改

  • 参考百度人脸、物体识别协议

2.1 web对接口

from flask import Flask
from flask import request, abort, send_file, render_template, jsonify
import base64
from urllib import parse@app.route("/api/v3/prediction/commodity", methods=['POST'])
def commodity_predict_itcast():"""百度机器人对接接口"""# 百度机器人平台传入参数解析req = request.get_json()requestId = req["requestId"]img_str = req["image"]# 传入的image_str进行解码gbk编码形式img_str = parse.unquote(img_str)# str编码utf-8之后进行base64解码img = base64.b64decode(img_str.encode())# 预测结果标记,不标记图片直接返回预测结果,百度平台识别处理# 通过i获取图片label, location, xmin, ymin, xmax, ymax# pre_label = outputs[0][:, 0]# pre_conf = outputs[0][:, 1]# pre_xmin = outputs[0][:, 2]# pre_ymin = outputs[0][:, 3]# pre_xmax = outputs[0][:, 4]# pre_ymax = outputs[0][:, 5]y_predict = make_prediction_v2(img)# 预测结果返回参数封装resp = {"result":[]}for i in range(outputs[0][:, 1].shape[0]):resp["result"].append({"score":float(outputs[0][:, 1][i]), "root":"", "keyword":VOC_LABELS[str(outputs[0][:, 0][i])]})resp["extInfos"] = {}resp["filterThreshold"] = 0.7resp["resultNum"] = outputs[0][:, 1].shape[0]resp["requestId"] = requestIdprint(resp)return jsonify(resp)
  • 对应的预测结果进行最后输出修改
def make_prediction_v2(image):"""对于前端传入的参数进行预测:return:"""# - 1、获取读取后台读取的图片def resize_img(image, input_size):img = io.BytesIO()img.write(image)# 使用pillow image 接收这个图片rgb = Image.open(img).convert('RGB')# 换砖大小if input_size:rgb = rgb.resize((input_size[0], input_size[1]))return rgb# - 2、图片大小处理,转换数组resize = resize_img(image, (300, 300))image_array = img_to_array(resize)# 3---> 4维度image_tensor = preprocess_input(np.array([image_array]))# - 3、打开通道channel, 构建stub,预测结果, predict_pb2进行预测请求创建# 8500:grpc 8501:httpwith grpc.insecure_channel("127.0.0.1:8500") as channel:# stub通道stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)# 构造请求 tensorflow serving请求格式request = predict_pb2.PredictRequest()request.model_spec.name = 'commodity'# 默认签名即可request.model_spec.signature_name = signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEYrequest.inputs['images'].CopyFrom(tf.contrib.util.make_tensor_proto(image_tensor, shape=[1, 300, 300, 3]))# 与模型服务进行请求获取预测结果# 模型服务的request {'concat_3:0': tensor类}results = stub.Predict(request)# 会话去解析模型服务返回的结果with tf.Session() as sess:_res = sess.run(tf.convert_to_tensor(results.outputs['concat_3:0']))# 进行预测结果的NMS过滤# 物体检测的类别数量8 + 1bbox = BBoxUtility(9)y_predict = bbox.detection_out(_res)return y_predict

【模型导出与部署】项目接口与百度机器人对接相关推荐

  1. 如何将revit的内建模型导出使用?项目族管理功能介绍

    Revit中内建模型建模是我们常用的功能,每次建模完成后都可以在另一个项目中使用,但是前提是需要导出后再载入才能在另一个项目中使用.今天就教教大家如何将Revit的内建模型单独导出,方便大家下次使用在 ...

  2. tf.saved_model.save模型导出、TensorFlow Serving模型部署、TensorBoard中的HParams 超参数调优

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 4.11 综合案例:模型导出与部署 学习目标 目标 掌握Ten ...

  3. Django零基础部署机器学习模型(将模型预测打包成API接口/网页URL)

    Django零基础部署机器学习模型 Django REST framework项目创建 框架结构了解 部署代码 Django REST framework项目创建 建立一个项目文件夹,使用VScode ...

  4. 4模型导出_项目模型规范总结 游戏模型制作的注意事项

    点击上方"3D天工坊"关注我本期我们来总结一下模型规范导出等~ 1. 单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确 ...

  5. 【项目实战课】微信小程序图像识别模型前后端部署实战

    欢迎大家来到我们的项目实战课,本期内容是<微信小程序图像识别模型前后端部署实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲解. ...

  6. 数据采集标注、模型开发、部署落地,百度大脑全栈 AI 能力详解

    AI 时代已来,软硬件解决方案企业在智能化转型过程中,面临着技术投入成本高.研发周期长等挑战.如何借助业内成熟技术.快速低成本地实现 AI 应用,已成为企业自身与技术平台特别关注的问题. 从核心技术能 ...

  7. 使用百度开放云 应用引擎 BAE 部署项目的一些心得

    说明:本部署说明针对 Java 应用. 当然,我这里记录的也只是为了方便自己看,要想得心应手地使用 BAE 部署项目,还是要去看 BAE 的官方文档,还是要去看 BAE 的官方文档,还是要去看 BAE ...

  8. 训练好的深度学习模型是怎么部署的?

    训练好的深度学习模型是怎么部署的? 来源:https://www.zhihu.com/question/329372124 作者:田子宸 先说结论:部署的方式取决于需求 需求一:简单的demo演示,只 ...

  9. 【PaddleDetection】基于PaddleDetection的齿轮瑕疵检测:从模型训练到部署中的那些坑

    目录 0 题目简介 1 Baseline项目的本地化 1.1 飞桨环境配置 飞桨安装注意事项 1.2 PaddleDetection安装 PaddleDetection注意事项 1.3 数据集下载与配 ...

  10. YOLOV5 v6.1更新 | TensorRT+TPU+OpenVINO+TFJS+TFLite等平台一键导出和部署

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨ChaucerG 来源丨集智书童 yolov5 release 6.1版本增加了TensorRT ...

最新文章

  1. 面了大厂的 Python 岗后,炸了!
  2. 2019-11-10 秩和奇异的一些概念
  3. linux内网穿透局域网frp(实现有网就能访问你的局域网台式机服务器)
  4. java读取mxl_Dom4j 读取一个XML文件和将String写成XML文件 | 学步园
  5. axios+vue+springboot完成批量删除
  6. CI框架实现框架前后端分离的方法详解:把前端代码统一管理
  7. Hilbert变换及谱分析
  8. Apple DNS加速
  9. C#语言实例源码系列-实现XML文件操作
  10. 夏天来了,来吃鹅厂新瓜,小马哥已吃
  11. mysql数据库加锁语句_sql语句对数据库表进行加锁和解锁
  12. 千秋华夏 壮丽河山 国庆节快乐~
  13. 自动生成 changelog.md,做一名有追求的工程师
  14. UAP:SECURITY PROTOCOL IN/OUT Command
  15. 【Ubuntu 1】ubuntu的软件包
  16. HTML5与CSS3及Less
  17. 阿里云ECS服务器优惠券领取开通
  18. 了解3dmax坐标系
  19. 清理Virtualbox虚拟机VDI镜像文件的空间大小
  20. SAP 公司间关联交易 外向交货单自动生成内向交货单报错:处理的单位XXXXXXX已经入库.无法进行分配

热门文章

  1. 计算机专业自主招生有哪些学校,自主招生的学校类型有哪些
  2. 图像滤镜艺术---乐高像素拼图特效
  3. RT进程组的cpu带宽限制
  4. html有序列表标签圆点,什么是无序列表、有序列表 、定义列表?html列表标签学习笔记...
  5. 简单易懂Kafka搭建
  6. 自动抢某投资公司的理财产品预购
  7. 【重磅】聚焦券商终端业务,博睿数据发布新一代券商终端核心业务体验可观测平台
  8. matlab给定振形用图表示,基于 MATLAB 的简谐振动合成图形的动态演示
  9. 常见无线电重点频段划分及参数设置
  10. 东北师范大学计算机学院晓辉,计算机学院