GMTC 全球大前端技术大会 8 折涨价倒计时 2 天,现在购票立减 ¥960 ! 了解详情
写点什么

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

2019 年 11 月 13 日

从业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:261628
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

五年时间完成业务数字化转型,华为如今做得怎么样了?

华为云开发者社区

效率 提升 数字化

.net5发布,.NET会就此“支棱起来”吗?

Philips

.net 敏捷开发 .net core

美妆行业:低代码全域客户数据采集,赋能数据化运营

Linkflow

营销数字化 客户数据平台 CDP

性能优化:线程资源回收

AI乔治

Java 架构 JVM 性能调优

uml图中各种线的关系

feiyun123

极客大学架构师训练营 UML

接口测试和功能测试的区别

测试人生路

软件测试

服务器选择要注意什么?

德胜网络-阳

最详尽最通俗易懂的c/c++堆栈机制解读

北游学Java

堆栈 C/C++ 堆栈溢出

2020年9月北京BGP机房网络质量评测:天地祥云木樨园力压群芳终进前三

博睿数据

机房 评测

第十周 模块分解 总结

三板斧

极客大学架构师训练营

Linux笔记(一):基本命令

Leo

Linux 前端进阶训练营 笔记

全球至少有36家央行发布了央行数字货币计划

CECBC区块链专委会

数字货币

谁说产品经理和程序员之间不能和平共处?

华为云开发者社区

DevOps 产品经理 用户地图

当艺术品遇上区块链:金丝楠木艺术品溯源

CECBC区块链专委会

区块链 溯源 艺术品

从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

华为云开发者社区

数据库 数据仓库 数据

京东集团技术委员会主席周伯文:推进产业数智化发展需要技术和生态两把“桨”

京东科技开发者

区块链 大数据 AI 物联网,

私域流量运营03|衡量企业运营视频号的4个关键指标

Linkflow

客户数据平台 客户画像 视频号

K8S CSI容器存储接口(一):介绍以及原理

silenceper

Kubernetes CSI

区块链赋能保险理赔,宁波开启“零感知理赔”试点

CECBC区块链专委会

区块链 保险理赔

用FL Studio基础版制作一首完整的电音

奈奈的杂社

音乐制作 编曲 电音 电音制作 中国电音

2020年10月北京BGP机房网络质量评测:流水的其他,铁打的世纪互联?

博睿数据

机房 评测

架构师训练营 1 期 - 第十周 - 模块分解

三板斧

极客大学架构师训练营

很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚

小Q

Java 学习 源码 容器 面试

K8S CSI 容器存储接口 (二):如何编写一个CSI插件

silenceper

Kubernetes Kubernetes源码 CSI

从微服务应用于技术栈,了解华为云微服务应用

华为云开发者社区

微服务 服务 云技术

淘宝直播技术干货:高清、低延时的实时视频直播技术解密

JackJiang

即时通讯 视频编码 实时音视频 直播技术

BitArray虽好,但请不要滥用,一次线上内存暴增排查

AI乔治

Java 架构 JVM 内存泄露

架构师训练营 -week10-作业

大刘

极客大学架构师训练营

阿里内部11月最新出台Spring Cloud架构设计+程序开发+运维部署

Java架构追梦

Java 阿里巴巴 架构 微服务 SpringCloud

Mybatis日志功能是如何设计的?

Java架构师迁哥

使用sonar扫描svn中的代码后,没有作者或责任人信息

lee

svn 代码质量 sonar

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