邓亚锋-如何打造大规模视觉计算系统

注脚

展开查看详情

1.如何打造大规模视觉计算系统 邓亚峰 格灵深瞳 1

2.

3.

4.计算机视觉是人工智能领域最重要的方向之一 人工智能应用领域 各感觉器官接受信息比例 自动驾驶 人工智能技术领域 视觉 智慧城市 计算机 听觉 视觉 智慧医疗 嗅觉 机器人 语音识别 核心算法:机器学习 触觉 自然语言 深度学习 味觉 增强现实 理解 计算机视觉是当前中国最活跃、与国际水平最相近的AI方向之一 2

5.计算机视觉是智慧物联网时代最大的数据入口,拥有广阔的应用场景 感知分析 大数据应用 计算机视觉 技术 安防 交通 零售 数据采集 计算机视觉 推动视频大 移动互 数据广泛应 联网 金融 互联网 以深度学 用 物理世界 习为核心 机器人 自动驾驶 医疗 中国计算机视觉市场规模 中国大数据应用市场规模 800 视频大数据 600 725 8229 10000 6090 行业前景广 400 4163 5000 阔 200 319 767 1106 1776 2665 11 40 120 0 0 2016e 2017e 2018e 2019e 2020e 2014 2015 2016 2017 2018 2019 2020 市场规模(亿元) 市场规模(亿元) 3

6.计算机视觉技术愿景 目标类别 人脸 人体 车辆 商品 更全 功能更加 位置检 属性识 身份识 行为识 关系识 丰富 测 别 别 别 别 理解粒度 更细 分类 检测 关键点检测 语义分割 功能更加丰富、精度更高、速度更快、成本更低、规模更大 4

7.何为大规模视觉计算系统 视觉计算系统: 云+边+端 软硬结合 大规模: 显性因素:接入路数多、数据量大、功能丰富; 挑战 隐性因素:单路成本低、处理效率高、准确率高、 训练数据量大、模型多; 5

8.构建大规模视觉计算系统的关键因素 核心算法 大规模自动化训练框架 智能数据挖掘和标注系统 基于硬件平台的计算优化 6

9.算法需要极致打磨 系统流 程 系统参 Loss函 数&训练 数 参数 模型结 模型蒸 构 馏 数据&数 据处理 方式 对于每一个算法,都需要尝试多种改进方向 7

10.人脸识别基本流程 检测 人脸检测 人脸特征点定位 关键点定位 人脸几何矫正 几何矫正 人脸特征提取 特征表示 8

11.人脸特征提取&检索流程 在线检索 离线建库 特 特 深度神经 征 相似度 征 深度神经 网络 表 得分 表 网络 示 示 特 相似度 征 深度神经 得分 表 网络 示 核心技术点: 简短、精准的表示模型 快速的检索算法 特 相似度 征 深度神经 得分 表 网络 示 9

12. 人脸识别算法Loss函数演进(举例) Image1-> CNN->特征1 是否是一个人 Image2-> CNN->特征2 Pair-wise Loss(Siamese network) Triplet Loss Softmax Center Loss 限制条件||f||=const、||W||=const和b=0 NormFace/CocoLoss InsightFace/ArcFace 10

13.人脸识别系统影响因素 • 训练数据:数据量、纯度、数据分布 • 数据增强:克服分辨率、光照、模糊等因素 • 检测/Alignment精度提升 • 人脸识别Loss函数设计 • 超大规模模型训练框架 • 模型加速(Model Distilling、量化等) • 部件模型融合 • 视频人脸跟踪 • 人脸质量评估 • 视频人脸多帧融合 • 利用数据Fine-Tune来充分利用数据提升场景适应性 • …… 11

14.图像检测方法 基于滑动窗口的方法(统治近20年) RCNN(2014) Fast-RCNN(2015) Faster-RCNN(2016) 12 R-FCN(2016)

15.SSD检测框架(2016年) SSD主要包含以下几个部分: • 基础网络(e.g. VGG-16) • 添加多个卷积层,用于实现跨尺度目标检测 • 在每一个添加的卷积层上用一组不同aspect ratio的sliding window提 取候选区域 • 分类+回归损失函数 13

16.影响检测效果的重要因素 网络结构 Negative Loss Hard Function Sample Mining Anchor参 NMS 数 Learning Rate 14

17.挑战 如何在算法人员有限、数据资源有限的情况下, 打造一流的核心算法? 15

18.传统算法开发模式 传统算法工程师工作时间分配: 算法模型 60%在处理数据 20%在调参 15%在实现算法 手工训练 5%在思考算法 缺点: 标注数据 数据标注成本高 数据依赖于算法工程师,无法持续 GPU利用率低 算法工程 数据标注 师 员 16

19.改进算法开发模式 算法模型 新型算法工程师工作时间分配: 20%在沟通确定数据处理流程 10%在调参 训练平台 50%在实现算法 20%在思考算法 算法工程 标注数据 师 优点: GPU利用率提升 数据收集、处理 数据标注 数据费用下降 和标注平台 员 数据量持续增加 数据平台 开发 17

20.打造高效的自动化训练管理平台 目标: 提升算法人员产出效率,节省人力 提高训练资源的利用率 训练任务管理: 训练集管理 代码/参数管理 环境管理 计算资源管理 模型评测和选择 训练方式: 自动化模式 虚拟机模式 云主机模式 18

21.拥有大规模集群训练能力 已有开源框架:Caffe、MxNet、TensorFlow、PyTorch、PaddlePaddle等 • 完全重复造轮子并不必要的: 开源框架有行业里面最好的工程师的贡献; 对员工而言,技能更加熟练,容易上手和适应; 可以利用更多的开源社区的开源算法,更容易和业界交流; • 但要有基于开源框架构建大规模训练框架的能力: 现有框架并行度做得不好 超大规模问题需要自己解决 19

22.打造大规模训练集群 问题:如何解决数亿类别的分类任务? 网络结构 Loss函数: 当类别数是1亿时,特征长度是128维时,参数矩阵参数数据量约为51G 20

23.打造大规模训练集群 – 数据并行+模型并行 N计算节点 每节点M卡 Batch数据并行 数据并行特征计算 GPU_1 batch_1_1 X_1_1=CNN(batch_1_1) GPU_2 batch_1_2 X_1_2=CNN(batch_1_2) Machine_1 … … GPU_M batch_1_M X_1_M=CNN(batch_1_M) 步骤一 GPU_1 batch_2_1 X_2_1=CNN(batch_2_1) GPU_2 batch_2_2 X_2_2=CNN(batch_2_2) Machine_2 … … GPU_M batch_2_M X_2_M=CNN(batch_2_M) … … … N计算节 特征汇 模型并 模型并行FC计算 通信优化(FW+BP) 梯度汇聚 点 聚 行 W_1_1 X*W_1_1 grad_X_1_1, grad_W_1_1 W_1_2 X*W_1_2 grad_X_1_2, grad_W_1_2 Machine_1 … … … 步骤二 W_1_M X*W_1_M grad_X_1_M, grad_W_1_M X W_2_1 X*W_2_1 grad_X_2_1, grad_W_2_1 grad_X W_2_2 X*W_2_2 grad_X_2_2, grad_W_2_2 Machine_2 … … … W_2_M X*W_2_M grad_X_2_M, grad_W_2_M … … … … 21

24.通过数据平台持续高效获取海量训练数据 • 如何便捷、低成本的获取数据 • 数据源 • 选择标注工作量小的有先验约束的数据源 • 例如: • 相册数据 • 人脸1:1人证数据 • 处理流程 • 全部人工标注吗? • 隐私问题 • 成本问题 • 人工标注的准确性 相册数据源 22

25. 人脸自动数据标注流程 使用更优质人脸模型提取特征 02 04 06 检测、定位、获取、归一 在子集中聚类,同时去 化人脸区域,计算质量、 除非常相似人脸,降低 属性,使用人脸模型提取 裁剪后人脸 模型训练 处理数据量 簇内聚类后人脸 人脸模型 特征 质量阈值过滤误检、模 分析类间相似度,去除 糊及大角度人脸,减小 类间噪声,生成训练集 处理过程出错几率 原始采集图片 质量清洗后人脸 01 03 人脸训练集 05 23

26.数据团队的工作模式 算法提出 困难数据 数据处理 算法同学 需求 挖掘 和标注 训练提升 传统工作模式 利用训练 困难数据 数据处理 已有任务 框架自动 挖掘 和标注 训练 数据驱动工作模式 24

27.数据驱动模型效果提升 驾驶员面部遮挡 副驾人员面部遮挡 25

28.视觉计算系统预测架构 APP 分布式多机架构 Processing pipeline Module SDK Inference 算法模型 Framework 算法 数据 训练平台 芯片 26

29. 预测框架 Caffe Keras MXNet PyTorch Caffe2 CNTK Tensor 预测框架 Flow 神经网络& OpenBLAS cuDNN/ CoreML NNVM/ ONNX TensorRT Atlas cuBLAS TVM 矩阵运算 X86 ARM CUDA OpenCL Metal 系统指令集层 27

30.提升视觉计算系统运算效率的方式 • 硬件平台选择 • GPU(1080TI、P4、2080TI、TX1、TX2等) • Arm(海思平台、RockChip平台等) • FPGA • DSP(Movidius、Ceva等) • ASIC(通用:海思3559A等;专用:?) • 基于网络结构改变的加速策略 • 简单修改成熟网络(减少filter channel number、减少层数等) • 手工设计新网络结构(Depth-Wise、ShuffleNet) • 模型参数裁剪(模型参数压缩;如何使小网络更好收敛:Mimick) • 基于强化学习的模型结构搜索 • 软件优化 • 模型定点化 • 优先将模型用TensorRT运行 • GPU平台其它运算用CUDA实现,少使用CPU • ARM平台,利用NEON指令 • 合理组Pipeline提高系统资源利用率(系统级优化) 28

31.深度神经网络定点化 权重定点化; 从float32到int8的量化: 将训练好的模型,利用具有代表性的足量标定样本, 用 weight * x + bias KL-divergence度量每层输出的float32和int8结果分布的相似度, q_weight = scale_w * weight 然后确定参数和数据输入的scale, 将各层参数进行定点化; q_x = scale_x * x 预测时利用定点运算来处理; 基于NCNN预测框架,用NEON指令进行实现; 优点: • 效率高:ARM NEON 汇编优化,计算速度极快;支持多 核并行计算加速,ARM big.LITTLE CPU调度优化; • 精简:精细的内存管理和数据结构设计,内存占用极低; 整体库体积小于 500K,并可轻松精简到小于 300K; • 适应性广:支持卷积神经网络,支持多输入和多分支结构, 可计算部分分支;可扩展的模型设计,支持 8bit 量化和半 精度浮点存储,可导入 caffe/pytorch/mxnet/onnx 模型; 29

32.如何持续提升计算机视觉系统效果 • 发现问题 • 系统整体评估:建立评估准则才能比较不同方法 • 评估准则是否合理 • 评估准则是否错误 • 测试集是否合理或错误 • 测试集的Label 错误要远重要于训练集 • Bad case分析,发现系统问题 • 数据 • 训练数据和测试数据不一致 • 测试数据 • 是否过拟合 • 是否欠拟合 • 添加更多数据无法更好 • 加大模型,显著变好 30

33.如何持续提升计算机视觉系统效果 • 关注方向: • 数据 • 数据采集、处理、标注 • 数据增广 • 算法 • 损失函数 • 模型 • 参数(调得一手好参) • 系统 • 利用芯片、驱动、预测框架的进展提升效率 • 改进处理pipeline,充分利用硬件资源 • 以数据为核心构建具有主动学习能力的智能系统 31

34. 人脸/人体/车辆 检测、跟踪、定位 人脸检测 人脸关键点定位 人体检测 车辆检测、跟踪 32

35.人脸/人体/非机动车 属性识别 支持近50种人体属性识别 年龄、性别 头部特征:眼镜、口罩、帽子 上身特征:颜色、纹理、长短袖 下身特征:颜色、长短裤、裙子 其它特征:手提包、单肩包、双肩包、行李箱、推车、拎其它物品 支持45种属性非机动车属性识别 车型:自行车、二轮车、三轮车 车辆特征:车身颜色、带棚、封闭驾驶舱 驾驶员特征: 性别 头部特征:眼镜、口罩、帽子、头盔 上身特征:颜色、纹理 其它特征:单肩包、双肩包、雨衣 人脸属性识别 33

36.车辆属性识别 10 20000 识别 大特征 遮阳板 年检标 车身 颜色 识别 多种车款 抓拍车辆的车型、车款、车身颜色、车 纸巾盒 车型 牌、年检标、遮阳板、纸巾盒、挂件、 挂件 车款 摆件、安全带等细分特征 常见的200多种车辆主品牌,4000多种子品牌及年款 19 12 车牌 识别 种车型 识别 种车身颜色 轿车、面包车、皮卡、越野车/SUV、 商务车/MPV、轻型客车、中型客车、 白色、橙色、粉色、黑色、红色、黄色、灰色、 大型客车、公交车、校车、微型货车、 蓝色、绿色、银色、紫色、棕色等共计12种 轻型货车、三轮车、二轮车、行人、其 他等共计19种 识别 5 种号牌 识别 6 种标志物 车牌号码,蓝牌、黄牌、警牌、军牌、 武警牌、农用车牌; 年检标、遮阳板、纸巾盒、挂件、摆件、安全带等 车牌颜色,包括蓝、黄、白、黑、绿5 细分特征 种; 车牌类型,包括单行、双行2种; 34

37. 人/车 身份识别 是谁? Query(查询图片) Gallery(库图片) 人脸识别 人体再识别(ReID) 车辆以图搜图(ReID) 35

38.以深瞳大脑为核心的技术产品研发架构 36

39.打造端+云的视觉计算系统 37

40.深瞳人眼摄像机 受人眼工作原理启发,颠覆传统摄像 机的成像结构,通过独创的像素动态 瞬时分配技术,瞬间将局部画面的有 效像素提升百余倍以上,整体画面可 以达到数亿级等效像素,50米内展现 清晰的可识别人脸,100米内看清全身 特征。 38

41.皓目行为分析仪 银行、零售、司法、博物馆领域 创新性地采用三维计算机视觉技术, 突破了传统二维图像处理方法的限制, 基于RGBD数据,利用运动在时空的连 续性等线索,实时而精确地实现对人 的检测、追踪和识别。 39

42.由感知到行动(感知、决策、控制) 机器人 自动驾驶汽车 40

43.人体跨镜追踪 2 65分 1 人脸质量 3 以人体背影找正面 以不清晰人脸找清晰人脸 确认身份 4 轨迹刻画 41

44.智慧零售解决方案 人货场关联,打造完整数据链 • 利用人脸识别、属性识别、商品识别等技术,将人与关注、购买记录关联起来,从而在 商业场景将物理世界数字化,并利用线上分析手段提升商业效率 42

45.人脸虚拟ID 通过人脸识别将同 一个人多次到店关 联起来 利用人脸将商品购买记录关联 起来,并形成动线和热力图 43

46.智慧加油站解决方案 用户画像 车 汽车保 加油站 成品油 险 其它商品 (线下) 维修服 汽车金 务 融 营 保养服 销 精准 车主市 务 场 营销 生态圈 二手车 零配件 注册用户 手机APP 加油卡 车辆画像 新车 购物 (线上) 大数据 44

47.打通人脸、车辆以及其它线下数据 技术 数据获取 数据节点 应用洞察 应用场景 车辆计数 汽配 车 车流及 用品 保养 车辆号码 进站转化效率 服务 加油站人货场 & 线下千人千面 人车油卡关联 车辆识别 车辆品牌 维修 油 型号/年份 服务 车辆结构及趋势 品牌 油卡 广告 性别/年龄 新能源 卡 能源结构及趋势 布局 进站频率 车友 社交 人脸识别 人 支付方式 汽车 人货关联 顾客生活标签 金融 非油商品 二手 汽车 数量 车 租赁 货 金额 油非互动关联性 车路能源 数据服务 45

48.未来发展趋势 算法、芯片、数据三级火箭将推动计算机视觉技术在准 确率、成本、规模、功能等方面取得显著进步,并以边缘计 算和智能感知云的产品形态,在智慧城市、智慧商业、工业 自动化、智慧医疗、自动驾驶等多个垂直场景逐步落地。 46

49.47

50.人工智能必然是一次长跑 人们往往高估一项技术的短期表现, 而低估一项技术的长期表现 48

51.做有温度的人工智能 49

52. 谢谢大家! | 格灵深瞳,让计算机理解世界,让AI使生活更美好 | 50