Github累积1.6万颗星,商汤科技的开源项目有望让程序员少加班-冯金伟博客园

  靖海 DeepTech 深科技

  OpenMMLab商汤科技开源的一个计算机视觉领域的 AI 算法框架。自 2018 年 10 月逐步开源以来,OpenMMLab 在软件源代码托管服务平台 Github 上共累积了 1.6 万个星。

  开发 OpenMMLab 对于商汤来说意味着什么?商汤对于未来 OpenMMLab 又会有怎样的发展计划?

  为此,DeepTech 对商汤科技联合创始人、香港中文大学信息工程系教授林达华进行了专访。

Github累积1.6万颗星,商汤科技的开源项目有望让程序员少加班-冯金伟博客园

  图商汤科技联合创始人、香港中文大学信息工程系教授(来源:香港中文大学)

  OpenMMLab 不是一个算法,而是一个覆盖了十多个研究的垂直领域,共包含 100 多种算法和 600 多种模型的算法框架, 这是 “迄今为止最完备的算法体系和框架”。目前,OpenMMLab 聚焦的方向包括:图像分类、检测、语义分割、动作识别、3D 点云、图像的超分辨率、图像的修补、图像的编辑、人体关键点的检测还有跟踪。这些是整个计算机视觉领域最主要的方向,也是在实际运用中被最广泛推动的一些方向。

  林达华表示,完成一个人工智能算法的开发是一个非常复杂的过程,从简单的想法开始到最后的落地,有很多工程化方面的问题,要花费大量的实践和工程资源。“有了 OpenMMLab,那么全球 AI 方面做研发的时候,很多新的想法、创造性的想法、创新性的想法,就能够基于这样一个空间和结构顺势形成一个落地的技术,大大地加快整个研发的流程,这也是商汤这个开源体系对于整个 AI 产研界的一个贡献 “。

  而在这个过程中,OpenMMLab 也 “能够逐渐形成一个非常好的开源生态,让很多的想法都可以基于这样一个基础进行充分的交流”。比如 OpenMMLab 框架里的 MMDetection, 参与开发的贡献者多达 100 多位,但其中的商汤全职员工只有几个人,大部分的其他贡献者是很多社区和研究机构的同学。对于商汤来说,很多通过这种形式开发出来的算法对于推进人工智能产业赋能有很大的意义,而对于开发者来说,他们从想法到实现的路径也大大地缩短。

  与行业内其它开源项目相比,林达华认为 OpenMMLab 的最大优势在于成体系化,从而降低开发的成本。在深度学习时代,Facebook、Google 等公司开发的算法大多是某些垂直方向单点的开源,而 OpenMMLab 基本上覆盖了计算机视觉领域的几乎全部主要方向。和单点的算法开源项目相比,OpenMMLab 的整个架构是统一设计的,拥有很强的适用性。

  此外,开发者在试图实现一些学术论文里面报告的算法的时候,往往达不到论文宣称的高精度。这是因为,对于深度学习来说,在训练的过程中有非常多的影响因素,要寻找到这个差别、实现报告水平的精度,往往一个算法要花几个月的时间来调参。而 OpenMMLab 已经把所有不同算法包到这个代码库里面来了,替外部使用者提前 “踩坑”,后者也就不需要再把这些弯路重走一遍了。

  这样一来,开发人员在开发自己的项目时,就无需重新搭建已经实现的其它算法。只需要实现自己的创新的部分,哪怕只有两三个函数,再把它们直接接入到 OpenMMLab 的框架,和里面的组件进行简单的连接,就能形成一个完整的、能落地的项目。对于应用开发来说,这是非常简便的。

  “这个的话,商汤是第一个”,林达华说。

Github累积1.6万颗星,商汤科技的开源项目有望让程序员少加班-冯金伟博客园

  图 OpenMMLab 项目(来源:OpenMMLab,GitHub)

  对于未来的发展方向,林达华希望他们的努力能够逐渐培育出一个生态的体系,从单点单个方向的开源和单篇论文的开源,逐渐走向整个领域的开源。如果得以实现,将会极大降低业界产品和项目落地的难度,以及缩短科研的路径。

  计算机视觉已经处在了产业落地的时期,目前正在从某些重要领域的工业化,逐渐走向以智慧城市、智慧医疗为例的全社会的普及化。深度学习经过这几年的发展,在工程上、技术上已经到了非常高的水平,但这个水平的获得依赖巨大的算力和大量数据的获取,这样的依赖导致 AI 在任何一个场景的落地中都面临着比较高的开发、算力和数据的代价。

  OpenMMLab 在很大程度上就是解决算法设计的代价问题。林达华认为,人工智能从技术到产业落地的过程中,会在落地和技术两个层面面临挑战。

  在落地层面,最大的挑战在于要深入理解场景的需求和痛点。不深入这个行业的时候,可能会对这个行业有一些自己的想象,但是如果进去之后就会发现它其实是另外一番风景。

  而在技术层面,同样的算法在不同场景落地的时候也会演化出不同的版本,这会给技术积累产生很大的挑战。

  OpenMMLab 是通过统一架构的方式来解决这个问题的。统一的框架意味着在这个平台上,大家都聚焦某种架构去做这些算法,虽然具体的部分可能是有不一样的,但是有很多的部分是共享的。每一个部分在落地过程中都会改进,随着时间的发展,整个体系各个部分都在持续成长,整个体系的技术能力也就可以每过一两年都有一个巨大的提升。

  在林达华看来,一个优秀的开源项目,应该获得持久的生命力。一开始可能是一些同事或者研发的人员在开发,后来如果这个开源项目真真正正给到社区、行业、学术界以价值,就可以吸引到越来越多的贡献者,参与到这个项目共同的创造里面来。原先的参与者可能已经不再继续维持这个项目了,但这个社区依然能够推动项目的发展,保持一个正向的循环。

  对于未来,商汤也希望可以逐渐从内容生态、算法生态的开放,延伸到更加基础层面的设施。他们期待这样一个开源开放生态的构建,可以在未来让整个人工智能领域的研发和落地都得到加速的发展。

  -End-

  责编:胡巍巍

  参考:

  https://github.com/open-mmlab

  https://open-mmlab.github.io/

  https://www.ie.cuhk.edu.hk/people/dhlin.shtml

  http://dahua.me/