EASY AI

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. EASY AI —— 具体业务中的 端侧 AI 创新 张静媛 百度资深研发工程师
2. • Paddle.js 2.0 • Web 视频会议背景替换 • 开放平台 • 未来展望
3. Web AI 发展趋势 & 优势 算力增强 Ø 发展趋势 üCPU/GPU通用计 1. 算力增强 算力稳步增强 2. 模型优化 Web 能力扩大 3. Web 能力扩大 ü WebRTC ü WebGL Ø 优势 ü 低延迟 ü 低成本 ü 隐私保护 ü WebGPU ü WebAssembly 模型优化 ü 轻量模型 ü 模型量化
4. Paddle.js 落地场景 Ø运营创新 双旦猜丁壳 Ø商业类 六一 美妆(探索) Ø智能办公 WEB 视频会议背景替换
5. Paddle.js 落地场景 Ø第三方能力输出 江小白 Ø工具类 小视科技(待上线) 文本检测 Ø学习案例 图像识别 黄反暴恐识别
6. Paddle.js 一个高性能、轻量级、灵活性强且易于扩展的前端深度学习推理框架 图像分类 人像分割 PaddlePaddle OCR 面部识别 TensorFlow 目标检测 肢体预测 ONNX Caffe Paddle.js 浏览器 小程序 CPU Node.js GPU
7. Paddle.js 2.0 全新升级 paddlejs-core 推理引擎的核心部分,负责整个引 擎的推理流程运行,提供计算方案 注册、环境变量注册 paddlejs-mediapipe 数据流出理工具库 ü Camera ü Opencv ü DataProcessor paddlejs-models 封装好的模型 SDK,提供开箱即用 的 AI 能力 ü Humanseg 人像分割 ü Mobilenet 物品分类 ü OcrDetection 文本检测 ü Gesture 手势识别 paddlejs-converter 模型转换工具,将 paddle 模型转 化 为 Paddle.js 模 型 文 件 model.json chunk.dat;支持模型 量化和模型融合
8. paddlejs-core init Loader Graph predict Preheat MediaProcessor ExecuteOp Read preTransform model.json 网络生成 资源分配 image Graph chunk_*.dat op program 缓存数据/纹理 缓存着色器 media stream transform postTransform
9. backend OP 运算实现
10. Paddle.js 2.0 核心模块
11. Paddle.js 2.0 核心指标 高性能 易用性 通用性/兼容性 OP 融合 封装 model sdk,提供开箱即用的 支持主流轻量模型结构 FP16 量化 AI 能力 覆盖所有浏览器 WEBGL_PACK 提供 paddlejs-mediapipe 数据流 MediaPipe 工具 sdk
12. 高性能 视频流场景 图优化 op 融合、FP 16量化 推理优化 WebGL Pack、Half Float 渲染优化 MediaPipe
13. 高性能 OP 融合 FP16 量化 减少 I/O、简化图结构 conv2d reshape2 FP32 精度模型量化为 FP16 精度模型 batch norm transpose2 relu reshape2 conv2d shuffle_channel 减小模型体积, 参数文件 -50% 降低 模型加载耗时 加快 模型推理
14. 高性能 GPU 加速 ü 并行计算 WebGL PACK webgl_pack_channel webgl_pack_output ü CPU迁移 GPU webgl_feed_process ü 半浮点计算 webgl_force_half_float_texture
15. 高性能 webgl_pack_channel webgl_pack_output mobilenet WebGL 2.0 预测性能提升 39.6% humanseg_398x224 WebGL 2.0 性能提升 9.6% humanseg_mobile WebGL 2.0 性能提升 15% c3 [n, c, h, w] -> [ 1, 1, nh / 4, cw ] c3 c2 c2 c1 c3 c2 c3 c0 c1 c1 c0 c2 c1 c0 c0 单通道数据排布 c0 c1 c0 c1 c2 c3 c2 c3 c0 c1 c0 c1 c2 c3 c2 c3 4 通道数据排布 d0 d1 d2 d0 d1 d4 d5 d3 d4 d5 原始输出 [1, 1, 2, 3] d2 d3 pack 输出 [1, 1, 1, 3]
16. 高性能 MediaPipe Media Input data process Media Data NCHWData Float32Array Float32Array render process Ø render process pipeline Media Texture Feed Texture Output Texture Custom Texture
17. 易用性 —— paddlejs-models
18. 易用性 —— paddlejs-mediapipe
19. 易用性 —— Env Flag Ø webgl_pack_channel Ø webgl_pack_output Ø webgl_feed_process Ø webgl_force_half_float_texture
20. 通用性 / 兼容性 模型结构 backend 兼容性 MobileNetV1、MobileNetV2、 WebGL 1.0 / 2.0、WebGPU Chrome、Edge、Safari、Firefox MobileNetV3、MobileNetV3-SSD、 PLain JS、WASM 百度App、Safari、Chrome、UC … GhostNet、ShuffleNetV2 NodeGL 百度智能小程序、微信小程序 主流轻量模型结构 HRNet_w18_small
21. • Paddle.js 2.0 • Web 视频会议背景替换 • 开放平台 • 未来展望
22. WEB 视频会议背景替换
23. 技术方案 media stream Bilateral Filter Video Input Canvas frame 398x224 Foreground Background 2X398x224 + Foreground Canvas Origin Size or Origin Input Canvas Humanseg Canvas Gaussian Input Canvas Background Canvas
24. 核心代码
25. 模型迭代—— PaddleSeg 1 数据合成 问题:场景不够丰富,特征场景数据较少 Github Repo: https://github.com/PaddlePaddle/PaddleSeg 解决方案:数据合成产生大量训练样本 精度提升曲线 2 网络优化 +损失函数优化 +网络优化 问题:反卷积操作存在棋盘效应 92.0 解决方案:使用卷积+双线性插值替代 3 损失函数优化 解决方案:采用Lovasz loss监督网络训练 解决类别不平衡问题 增强网络解码能力 +数据合 成 90.1 Trail 1 问题:前景、背景类别占比不均衡 93.4 93.6 提升泛化能力 Trail 2 Trail 3 mIoU Trail 4
26. 模型降级方案 Chrome、Edge、Firefox 398x224 23.49ms 288x160 15.62ms predict time 小型测速模型 (10ms) AMD Radeon Pro 5300M 4 GB
27. • Paddle.js 2.0 • Web 视频会议背景替换 • 开放平台 • 未来展望
28. EASYAI
29. • Paddle.js 2.0 • Web 视频会议背景替换 • 开放平台 • 未来展望
30. 未来展望 调优效率 行业解决方案 调优方式: 手动 行业智能化解决方案全链路 AI 编译器
31. Q&A Paddle.js 微信技术交流群 Paddle.js Github 联系邮箱: zhangjingyuan02@baidu.com
32.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-16 23:40
浙ICP备14020137号-1 $Map of visitor$