2022 OceanBase 年度发布会,点击了解详情 了解详情
写点什么

从业 20 年,计算机视觉老兵谈算法从研究到落地

  • 2019 年 11 月 13 日
  • 本文字数:4516 字

    阅读完需:约 15 分钟

从业20年,计算机视觉老兵谈算法从研究到落地

计算机视觉技术近些年发展迅速,特别是引入深度学习后,成熟的技术方向和可落地场景越来越多。对工程师来说,一个算法项目从建立到实用一般需要经历论文方法调研、数据采集、模型训练、算法优化和实用部署这些流程,而每年数千篇高水平论文的出现为工程师指出了比较明确的技术思路,但论文算法离实用还有比较大的距离,主要体现在效果无法覆盖广泛的场景,且效率很难满足落地要求等。


在即将于 11 月 21~22 日举行的 AICon 全球人工智能与机器学习大会(北京站)上,小米人工智能部 AI 实验室视觉组总监黄英将分享《从研究到落地:小米计算机视觉算法实用化探讨》。InfoQ 在会前采访了黄英老师。我们一起来看看他从事计算机视觉方向二十余年所沉淀的思考。


InfoQ:您是如何和计算机视觉结缘,并在这个领域深耕二十余年的?


黄英:我接触计算机视觉的时间很长,最早可以追溯到本科学习的图像处理课程。1998 年加入清华大学电子工程系智能图文处理实验室,正式参与图像算法的研究和实用化工作,到现在已经有二十余年了。


这二十年来,我参与的项目很多,基本上和图像理解识别相关的技术方向都有参与。最早本科毕业设计做的是手写文字识别,硕士课题尝试语音合成嘴型算法,博士课题主要研究监控场景下智能目标跟踪。毕业后主导过人脸检测、人脸识别、目标检测跟踪、3D 人脸重建、人脸美颜美妆、图像视频标签识别、人流分析、图像分割和 HDR/夜景等项目,可以说除编解码以外,视觉领域大部分方向都有涉及。算法应用的平台也基本覆盖了所有方向,包括最早参与研发的摄像头 SoC 芯片、很老的 ARM7 和 ARM9 平台、近十年来各个智能手机嵌入式平台、阿里云的云端部署 CPU/GPU 平台,以及小米手机的 GPU/DSP/NPU 等等,优化语言如 C、ASM、Neon、HVX DSP、SSE 都有尝试。


我是工科学校毕业,总体说来思考问题偏向工程和应用,并不擅长纯粹的算法研究和理论创新,而是更喜欢把算法做到实用,做到更快更准,可能会采取一些没有理论支撑的实现方法和步骤,以最后的效果和性能最优为准。在这个过程中也积累了比较多的经验,在几家公司取得了不少成果。所以这次在 AICon 的分享主题是如何将论文算法实用化,也是我最擅长的内容,期望对大家有所帮助。


InfoQ:从研究到落地,您感觉最大的挑战是什么?


黄英:这次的分享,我将举两个比较极端的例子来说明这个问题。


第一个就是魔法换天,这是一个对精度要求非常高的项目,远远超过了论文的数据。挑战主要在于实际用户场景千差万别,远不是论文中常用的一个或几个公开数据集就可以覆盖的,要想算法实用,就需要针对实际场景不断调优,确保大部分场景下精度满足用户体验,不能让用户看到明显的瑕疵和缺陷。


第二个是人脸检测,人脸检测是一个非常成熟的技术方向,可以说找一个研究生,基于一些开源代码,比如 OpenCV,很容易就可以复现出效果,并可以应用到实际场景。但我们的需求是在保证检测精度的前提下,人脸检测算法在各个平台(ARM、CUDA、CPU、GPU)上效率高,功耗小,库尺寸小且内存占用小,这样就可以很容易对接到各个后端应用算法如美颜、人像 HDR、人脸测距、人脸识别等等,基本不影响整体算法的性能。我们算法人员考虑的就是如何不断优化整体的实现架构,不断调整优化样本,不断尝试各种卷积神经网络,最终获取极致优化且精度满足实际要求的版本。


总结一下,两点挑战:一是在效果上如何满足千千万万用户的使用体验,论文并不需要考虑这个问题,但落地必须考虑;二是如何在确保精度达标的前提下,思考多种实现思路,取得效率的极致优化,大幅度提升产品竞争力。


InfoQ:可否举几个具体的例子,谈谈计算机视觉相关技术在小米的一些应用场景?


黄英:计算机视觉技术在小米有非常广泛的应用场景,手机是最典型的场景,有大量的算法已经在相机和相册上线;而 IoT 设备是一个新的发展方向,我们也有人脸识别、人体检测、人脸测距等功能在 IoT 设备上集成应用。


总体说来,手机相机和相册还是我们主要的支持方向,研发了很多 AI 算法,致力于提升小米手机的拍照技术。拍照方面 AI 技术可以粗略分为三个方向:更清晰、更智能和更好玩。


1)AI 让拍照更清晰,小米 AI 实验室投入了大量的算法专家,进行超级夜景、HDR、超分辨率、多帧降噪等方面的研发,并且部分产品已经上线到了小米 9、Redmi Note 8 Pro 等核心机型上。在这些算法上,我们已经看得到 AI 相比传统图像算法的巨大优势。比如在 HDR 算法中,我们会使用 AI 人像分割技术,将人物区域精准分割出来,从而确保人脸在逆光场景下,能够得到自然的提亮和清晰处理。


2)AI 让拍照更智能,典型的代表就是场景识别算法和背景虚化等算法。我们自研的前置单摄背景虚化算法,在 DXOMark 上一年多以来都保持着最高分的记录,其他拍照智能的场景,还包括 Autozoom、故事相册等等。Autozoom 技术的基础是目标检测,就是在用户录制视频的时候,实时用 AI 算法去寻找画面中的人物,然后将镜头视角放大到那个人身上。


3)AI 让拍照更好玩,这方面 AI 实验室自研的 AI 魔法换天功能,在小米 K20 系列和 CC9 系列上线后,获得了大量的用户好评。我们是市面上第一款把换天技术做到极其自然、其他人几乎看不出来的水平,微博上有大量的用户积极反馈,大家可以去搜搜看看。当然好玩的 AI 算法也得有用,AI 换天不仅仅是好玩,更是帮一部分用户解决了阴天拍照效果不佳的痛点。


InfoQ:可否重点介绍下魔法换天这个项目,它最大的难点是什么,团队是如何解决的?


黄英:这个项目源自于小米公司的相机部,他们对效果的要求特别极致。


具体来说,在我们项目开始做的时候,市场上所有的有换天功能的第三方 APP,效果都非常一般甚至说很差,只有少数照片能得到没有瑕疵的换天效果,大部分照片略微仔细查看,就能看到很大的天空分割边缘的错误,成片率很低。


所以当相机部要求我们做到极其自然、完全看不出来瑕疵的时候,我们是觉得有挑战的。这也是小米 AI 实验室的很多项目的共同挑战,我们的目标是挑战世界上最好的竞品,实现最牛逼的产品化落地效果。前几天大家看到小米 CC9 PRO 的 DXO 分数达到世界第一,只有这样的对产品极致追求,才能倒逼技术团队,发挥出最大的潜力。我们自研的非常领先的人像分割算法,也在这个 CC9 RPO 的超广角畸变矫正中得以落地。


正是这样的极致的产品要求,推动我们实现了市面上第一款把换天技术做到极其自然、其他人几乎看不出来的水平。


技术上最大的难点就是天空的分割精度比较低,换天效果很难满足实际用户的要求。最早我们复现了论文的算法,成片率只有 20%-30%,大部分图片效果都没法接受。为了解决这个问题,我们做了大量的工作,包括增加大量的实际场景样本,精细化标注分割 Mask,针对分割模型进行了大量的调研和尝试,对融合和后处理部分也不断调优,最终获得了成片率超过 90%的上线版本,具体的解决方法我也将在这次会议上详细介绍。


InfoQ:二十多年下来,可否用几句话总结下您的心得和收获?


黄英: 有研究表明,人的感知信息中 80%~90%来源于视觉,视觉的信息量丰富,数据量复杂巨大。这对我们做视觉算法的人来说既是好事也是坏事,好的方面是算法的对标物是人脑,不可能完全达到人的水平,只能不断接近,这样我们会一直有目标,有动力去解决问题,工作需要不停的做下去,直白说就是我们这些做视觉算法的工程师们会一直有工作岗位,会“有饭吃”;坏的方面是实用化难度大,尽管受限场景的需求已经解决得不错,如印刷体 OCR,但大部分视觉场景,我们都很难做到人的智能化水平,总是存在瑕疵和解决不了的例子,这也就意味着做得再好,也可能受到负面反馈,会被人吐槽。


这些年我做的算法多是面向实际场景,经常受到吐槽,有公司售后支持的吐槽,也有很多用户的反馈,比如人脸检测有时会有误报、人脸识别在某些场景下识别不成功、视频监控在某些极端天气如大风夜晚会有误报,人脸实时美妆效果很差等等。经常一项产品上线后,既有喜悦,因为终于落地了,但更多的是压力,因为我们自己也都知道,AI 算法没有百分之百的准确率,随时担心会有不良反馈。所以随着经验的丰富,我对团队的要求也可以说是越来越严,要求在精度和效率上充分挖掘潜力,多从产品和用户角度思考问题,尽量保证大部分场景下算法无明显缺陷,即使有明显的缺陷,也要求是可以解释和用户可以接受的,比如闭眼检测算法,要求睁眼误报完全避免,眯眼误报为闭眼的情况尽管无法完全避免,但这样的错误用户也是可以接受的。


十多年来最大的收获是考虑问题更加全面了,和实际场景、实际用户和现场体验不断打交道,从产品和用户反馈中不断改进算法,算法能力特别是在如何将算法实用化方面能力有大幅度提升,同时也更愿意站在用户的角度去思考问题,技术和产品的整体把控能力不断提升,同时也提升了自己的团队管理能力和协调沟通能力。


InfoQ:在您看来,计算机视觉接下来会如何发展?您和团队有什么重点规划?


黄英:借助深度学习和卷积神经网络,最近几年计算机视觉技术发展迅速,很多之前解决不好的需求如非受限场景人脸识别都得到了很好的效果,具备了一定的实用价值。不过基于深度学习训练模型有个很大的缺陷,对样本数量和标注精度要求都非常高,现有深度学习模型的自训练和自纠错能力还存在很大的短板,这方面我预计将是接下来算法研究的重点方向。


至于应用上,目前视觉方面比较成熟的领域主要是安防监控和消费电子方向,在工业、自动驾驶、机器人等等行业领域还有广阔的发展前景,预计在接下来的几年这些方向都将有成熟的产品出现,将不断改变我们的生活。


至于小米 AI 视觉团队主要面向的还是消费电子领域,目的是在画质增强、图像理解和视频分析三个方向研发更先进的算法,着力提升小米手机+AIoT 设备的核心竞争力。


嘉宾介绍


黄英,小米公司人工智能部总监。2005 年清华大学电子工程系博士毕业,毕业后先后就职于中星微电子、三星通信研究院、阿里巴巴达摩院,2018 年加入小米公司。从 1998 年加入清华大学智能图文处理实验室开始,黄英一直从事图像处理、人脸识别、智能监控、深度学习等方向的算法研究应用和优化工作,有多项视觉算法在云端、嵌入式、SoC 芯片落地,在如何将算法研究与工程落地方面积累了丰富的经验。曾担任阿里云人脸识别和图像识别方向的技术负责人,现任小米人工智能部 AI 实验室视觉组总监,负责将人脸、画质、图像理解、视频分析、文本分析等多个视觉方向的算法落地于小米的多个产品线,包括手机相机、相册、小米电视、小爱音箱、AIoT 设备等。


福利时刻


黄英老师将在 11 月 21-22 日的AICon大会上带来更多关于计算机视觉的精彩分享,想要跟黄英老师深入交流的,不要错过面基的机会。另外,大会还有关于机器学习、NLP、搜索推荐、智能金融等 50+最新落地案例,更有来自 AWS、微软、BAT、华为等国内外一线 AI 技术专家带来干货演讲,部分议题抢先看:


【蚂蚁金服】金融知识图谱在蚂蚁的业务探索与平台实践


【菜鸟网络】人工智能在智慧交通物流的技术演进之路


【阿里妈妈】工业级深度学习在阿里广告的实践、创新与最新进展


【微软小冰】人格化对话机器人的构建及在语音场景当中的实践


【百度】AI 大生产时代下的 NLP 技术创新与应用实践


目前大会售票倒计时 5 天,购票页面输入优惠码“aicon”还可享折扣价,抢票咨询:18514549229(同微信)。


2019 年 11 月 13 日 15:262115
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 122.2 次阅读, 收获喜欢 31 次。

关注

评论

发布
暂无评论
发现更多内容

Java面试题大全,尚硅谷dubbo下载,面试经历分享

Java 程序员 后端

Java通用流行框架大全,迈向java面试突击课百度云,来来来

Java 程序员 后端

Java面试常问问题,图灵科技学院,十分钟带你看懂Netty如何实现C-S

Java 程序员 后端

Java面试知识点总结宝典助你通关,Java校招笔试面试题目

Java 程序员 后端

Java面试视频教学,java视频黑马,linux运维视频教程全集

Java 程序员 后端

Java面试题集2021版,2万字20个项目实例

Java 程序员 后端

Java进阶教程,极客网盘破解版吾爱破解,卑微打工人

Java 程序员 后端

Java项目实战网盘资源分享,千锋java课程大纲,含小米、腾讯、阿里

Java 程序员 后端

Java面试基础知识点,mysql编程入门教程,Java知识总结

Java 程序员 后端

Java零基础自学书籍,尚硅谷spring视频,BAT大厂面试总结

Java 程序员 后端

Java面试官,springboot教程百度云,Java编程教程视频

Java 程序员 后端

Java面试手写算法,极客时间数据结构算法地图,Java岗面试12家大厂成功跳槽

Java 程序员 后端

Java面试问题及答案,java实用教程第五版课后答案,Java重要知识点

Java 程序员 后端

Java项目视频百度云盘,java视频百度云盘,【一步教学,一步到位】

Java 程序员 后端

Java进阶之光,java工程师视频教程,王者笔记!

Java 程序员 后端

Java面试技巧和注意事项,java开发实例教程,阿里巴巴Java编程笔试题

Java 程序员 后端

Java面试回忆录,任小龙java笔记百度云,Java社招面经分享

Java 程序员 后端

Java面试常问问题,java入门电子书百度网盘,直接上干货

Java 程序员 后端

Java面试秘籍,java调用百度地图接口,含面试题+答案

Java 程序员 后端

Java面试题jvm调优,牛客刷题指南,Java面试题

Java 程序员 后端

Java重点知识点,极客时间破解蓝奏云,顺利通过阿里Java岗面试

Java 程序员 后端

Java面试常见笔试题,java基础入门传智播客图书,被逼无奈开始狂啃底层技术

Java 程序员 后端

Java面试必备的集合源码详解,小白勿进

Java 程序员 后端

Java面试问题大全及答案大全下载,java高级教程百度云,已有千人收藏

Java 程序员 后端

Java重点知识点总结,java开发教程百度云,Java零基础入门书籍

Java 程序员 后端

Java银行面试题目及答案,java基础菜鸟教程容器类,疯狂涨知识

Java 程序员 后端

Java面试java基础,java基础语法菜鸟教程,腾讯Java社招面试

Java 程序员 后端

Java面试带答案,合买咕泡学院vip,全面展示线程内存模型的能力

Java 程序员 后端

Java面试知识点总结,mongodb权威指南pdf网盘,SpringBoot

Java 程序员 后端

Java面试题总结及答案,牛客网竞赛中复制别人的答案,Java工程师面试题

Java 程序员 后端

Java通用流行框架大全,Java校招面试问题大全

Java 程序员 后端

2022 阿里云飞天技术峰会 - 主论坛

2022 阿里云飞天技术峰会 - 主论坛

从业20年,计算机视觉老兵谈算法从研究到落地_AI_臧秀涛_InfoQ精选文章