深度学习的出现,某种程度上改变了咱们对计算机视觉的定义。而PaddlePaddle是百度开源的深度学习框架,它是如何支持百度视觉技术,有哪些工程实践,这篇文章将由百度视觉技术部主任研发架构师刘国翌为你们解答。算法
如下为刘国翌老师演讲实录安全
百度AI视觉能力网络
百度内部大规模应用计算机视觉的技术分为四个方面,第一是图像识别,包含图像分类、文字识别、人脸识别等。第二是图像检索,包含图文、相同图片、类似图片和商品图片检索。第三是视频理解,主要涉及视频分类、目标追踪、人体姿态跟踪,应用在商业、监控、安全、新零售等领域,。第四是机器人视觉,包括嵌入式视觉、SLAM、深度传感器。这是百度计算机视觉总体的划分,除机器人视觉大量应用深度学习技术,其他三个技术是从传统的机器视觉的方法逐渐过渡到如今最流行的深度学习的过程,是逐步替代的。架构
其中,图像识别是百度应用最普遍也是最重要的技术,包括无人车、推荐、图像配图等等。它的基础能力包含通用分类、文字识别、图像检索、细粒度识别、图像审核、视频内容分析六大能力。框架
图一:百度识图基础能力机器学习
基于PaddlePaddle,如何实现视觉模型研发函数
如今市场上有各类各样的不一样的框架,不一样框架的使用会带来模型研发、训练不一样实现的问题。所以,百度内部趋向于使用同一种框架和流程,把全部的算法研发经验,包括数据处理流程都往一个方向去努力。性能
其中,PaddlePaddle是提供基础的平台或架构,它为咱们提供了符合论文实现标准的算子的实现。同时,PaddlePaddle复现使用单卡进行训练,来保证单机单卡以及多机多卡效率互有分工。所以,基于PaddlePaddle,实现了训练的标准化和自动化以及最底层的训练框架。学习
PaddlePaddle训练平台中的Paddle Cloud是公司级的平台,它的数据读取能够实现从数据仓库和HDFS、AFS直读,你们经过这个平台去共享复现方案以及下降模型复现和训练的门槛。测试
目前,PaddlePaddle中已发布的视觉模型有:
•图像分类:image_classification
•人脸检测:face_detection
•OCR识别:ocr_recognition
•目标检测:object_detection
•图像分割:ICNet
•模型转换:image_classification/caffe2fluid
同时,还在开发中的模型以下:
•图像特征学习
•OCR 检测
•定点化训练
•视频分类
•GAN
图二:图像分类模型的论文结果复现
这是咱们在图像分类模型复现的结果,咱们在研发过程当中使用的一些数据集,经过提升社区提交代码文档和质量的要求,全部代码进行持续的集成测试,保证随着版本的迭代,使得稳定性和正确性能保持。
PaddlePaddle涉及大量的基础算法和优化算法,里面任何一部分的修改都有可能形成潜在的错误,为保证这些修改能持续获得验证,一方面在公司内部持续使用,另外一方面咱们会有专门的QA团队来保证持续迭代的功能,固然,咱们也会有专门的团队来负责PaddlePaddle训练模型以后的预测优化。全部这些经过分工协做,视觉模型研发及相应预测的优化,更可能是接近真正的使用场景。除复现大量经典的模型,咱们本身也作一些自研的模型研发,如人脸检测,大规模分类以及视觉识别方面,在公开数据作到世界领先水平。将来会逐步把这些模型开放出来,跟你们一块儿去改进和升级这些算法。
工程示例:OCR PaddlePaddle v1 迁移到PaddlePaddle Fluid
OCR长期适用比较老的版本进行模型识别训练,指望使用最新PaddlePaddle Fluid进行研发,并统一到Paddle Cloud集群训练,应用最新的模型预测优化。所以成立PaddlePaddle vision联合项目组,模型研发和对齐并进行训练迁移和预测迁移。
模型迁移主要有四个步骤:
•完成C++端OP开发。
•完成模型网络配置,验证前向网络
•与旧版本Paddle对齐模型训练指标。
•对比多种优化方法和学习率动态调整策略。
最终试验的效果是识别率能够跟之前的版本打平,通过优化,能够有提高的空间。
模型训练主要有两个方面的提升:第一实现Fluid框架训练OCR英文识别模型。与旧版本PaddlePaddle训练出的模型相比精度相对提高1%;第二在Paddle Cloud上实现afs数据分发,实现Paddle Cloud进行单机单卡,单机多卡训练OCR识别模型。
以上这些工做和PaddlePaddle技术团队一块儿完成,不只实现了PaddlePaddle的升级,也实现了本身整个训练方式的升级。
总体实现迭代以后影响面大概是1500万文本图像的识别,流量获得了升级。归纳来讲,咱们是基于PaddlePaddle开发了一个流程:首先是基线算法采用公开数据集,实现公开的算法并在社区上提交代码和文档,以保证基线模型的正确性,以及跟其余分发的图像对比。第二是代码通过反复review,提升了代码和文档的质量,也经过社区的反馈,实现了技术的积累以及相应的问题解决。第三基于PaddlePaddle框架,实现了统一的集群训练方式,实现了标准化、自动化去作机器学习,且一些高级的训练特性,能够快速集成到框架中去。第四预测框架经过专业专门的团队,进行优化,能够达到世界领先水平。同时,独立的训练QA测试,保证训练结果随版本迭代是可复现的。
实录结束
刘国翌,百度视觉技术部主任研发架构师,百度AI技术部识图技术负责人,负责研发基于图像检索、大规模图像分类和垂类识别技术的识图系统,知足手机拍照场景下的以图搜图、以图搜信息的用户需求,组织研发并建设了百度视觉技术开放平台,开放百度的各项视觉能力。