在年的开端,回顾百度过去5年间的开源历程,我们感慨万千。百度人在开源领域越来越积极的态度,不但展现开源自身的强大魅力,同时也影响着更多的企业和个人投身开源领域,让技术流动,让科技起舞,让复杂的世界更简单。
年,是百度开源的突破之年,百度不但将开源提升到前所未有的战略高度,而且切实的全面开源多项核心技术,例如自动驾驶开放平台Apollo、深度学习框架PaddlePaddle等。
同时,百度技术人积极融入开源社区,加入linuxfoundation成为黄金会员,成为HyperLedger基金会白金会员,组织成立CockroachDB中国社区等等,参与建设、积极回馈、勇于发声,真正贡献开源力量。
本文就年百度开源的重要技术产品和重要突破进行回顾整理,向大家作一次系统的介绍,希望能够有更多的朋友使用、参与、贡献开源产品,让开源更为流行!
1
Apollo
Apollo(阿波罗)是由百度自主研发的全面开放自动驾驶平台,它将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。
Apollo作为一套复杂的自动驾驶系统,具体包含以下重要的几项组件:
感知:通过安装在车身的各类传感器如激光雷达、摄像头和毫米波雷达等获取车辆周边的环境数据。利用多传感器融合技术,车端感知算法能够实时计算出环境中交通参与者的位置、类别和速度朝向等信息。背后支持这套自动驾驶感知系统的是多年积累的大数据和深度学习技术,海量的真实路测数据经过专业人员的标注变成机器能够理解的学习样本,大规模深度学习平台和GPU集群将离线学习大量数据所耗费的时间大幅缩短,训练好的最新模型通过在线更新的方式从云端更新到车载大脑。人工智能+数据驱动的解决方案使百度无人车感知系统能够持续不断的提升检测识别能力,为自动驾驶的决策规划控制模块提供准确、稳定、可靠的输入。仿真:作为Apollo的重要组成部分之一,仿真服务拥有大量的实际路况及自动驾驶场景数据,基于大规模云端计算容量,打造日行百万公里的虚拟运行能力。通过开放的仿真服务,Apollo的合作伙伴可以接入海量的自动驾驶场景,快速完成测试、验证和模型优化等一系列工作,覆盖全面且安全高效。高精度地图与定位:百度开创了将深度学习和人工智能技术广泛应用于地图数据生产的先河,是国内少数具备量产能力的高精地图数据提供商之一,而基于GPS,IMU,高精地图以及多种传感器数据的百度自定位系统则可提供厘米级综合定位解决方案,旨在根据不同应用场景提供可定制的软、硬件一体化产品,同时确保成本可控,精度可调。End-To-End:这种自动驾驶解决方案因成本低,工程复杂度低等优势正在被不断的探索。通过使用地图采集车采集的大量真实道路数据,完全基于深度学习构造横向和纵向驾驶模型,快速的在真车上进行了实践。本次开放横、纵向模型源码和1万公里数据。决策规划:由于车辆装备了综合预测,决策与规划系统,百度自动驾驶汽车能够根据实时路况、道路限速等情况做出相应的轨迹预测和智能规划,同时兼顾安全性和舒适性,提高行驶效率。现已开放不分昼夜固定道路的自动驾驶能力。智能控制:百度自动驾驶汽车的控制与底盘交互系统具有精准性,普适性和自适应性。能够适应不同路况,不同车速,不同车型和底盘交互协议。Apollo开放循迹自动驾驶能力,控制精度将达到10cm级别。数据开放平台:Apollo数据开放平台将通过代码开源和数据开放,形成“车端+云端”的完整开放生态,为具有较强软件、算法研发能力,但缺乏数据积累或计算能力的开发者及合作伙伴,提供多种快速灵活的数据、计算和标注能力。我们希望通过开放相关技术和资源,凝聚全球开发者和各行业合作伙伴,构建自动驾驶开放生态,赋能每一位参与者,并推动自动驾驶技术的普及。参考硬件:车载硬件是自动驾驶必不可少的部分。Apollo为全球开发者提供了完整的硬件设备参考,包括车辆选择、核心硬件选型、及辅助硬件设备。我们还提供了详尽的硬件安装指南,确保开发者无障碍进行硬件组装,为软件集成及车辆上路提供可靠保障。MAPEngine:它是车载终端的高精地图数据管理服务,它封装了地图数据的组织管理机制,屏蔽底层数据细节,对应用层模块提供统一数据查询接口。它包含元素检索、空间检索、格式适配、缓存管理等核心能力,并提供了模块化、层次化、可高度定制化、灵活高效的编程接口,用户可以基于此轻松构建专属的终端高精地图解决方案。DuerOS:针对联网汽车,DuerOS提供的全语音交互智能车联解决方案,致力于为用户提供一站式车生活服务,如地图导航、智能问答和个性化音频内容推荐等,并通过开放平台持续强化车场景多维度能力,为车企赋能。安全:Apollo在基于隔离和可信的安全体系下提供了完善的安全框架及安全系统组件,Apollo安全体系通过车辆安全防火墙,隔离车内与车外的网络,车身与车机的网络,保证各系统网络边界的独立,通过汽车防火墙还能做到对每一条进入车内的指令进行过滤,保证只有可信的指令才能被正确执行;Apollo安全体系通过深度嵌入内核的网络安全组件,为自动驾驶系统产生的每一条信息提供来源认证、内容保密及可信;Apollo安全体系从系统引导开始即对系统进行安全度量及监控,保证每一个在自动驾驶系统上运行的功能都合法可信;同时Apollo安全体系也提供完善的安全OTA功能,保证每一次系统升级不会发生黑客入侵事件。Apollo安全体系通过对网络、OS、云端及OTA的安全保障,使得各功能组件能安全有序的运行。年7月5日,百度开发者大会正式发布Apollo开放平台1.0版,并同步在github上进行源码开放,按照Apollo的开放路线图,目前已经在github上发布了Apollo2.0版,即可以实现在简单的城市道路上进行自动驾驶,可以实现定速巡航、自动躲避障碍物、根据交通指示灯做出判断、变换车道等重要功能。下图中可以展示出Apollo2.0所开放的能力。
Apollo开放后,迅速获得了大量