10月27日,由雷锋网 & AI掘金志主办的「全球AI芯片·城市智能峰会」,在深圳大中华喜来登酒店盛大召开。
延续雷锋网大会一贯的高水准、高人气,「全球AI芯片·城市智能峰会」以“城市视觉计算再进化”为主题,全面聚焦城市视觉与城市算力领域,是业内首个围绕“算法+算力”展开的大型智能城市论坛。
峰会邀请到了极具代表性的14位业内知名专家,世界顶尖人工智能科学家、芯片创业大牛、产业巨头首席技术高管、明星投资人齐聚,为行业资深从业者们分享前瞻的技术研究与商业模式方法论。
其中,苏州科达首席科学家、前博通图像事业部资深科学家章勇作为下午场的第五位演讲嘉宾登台,围绕《AI超微光技术与边缘算力选择》这一主题发表了精彩演讲。
章勇表示,目前深度学习技术主要应用于模式匹配和图像识别,例如人脸识别、车辆特征提取、视频结构化等。而科达则将这种深度学习技术应用到前端传感器图像增强处理技术领域,直接对前端图像传感器输出的裸数据进行图像恢复,最大化还原低照度环境下的实际图像效果。
这种处理技术的好处是,它突破了传统摄像机中ISP技术的局限性。目前ISP由数十个图像处理模块组成,数百个参数需要人工根据经验进行调整,不仅费时费力,而且由于传统算法的局限性,难以在低照高噪声的情况下显示出图像中有用的信息。而AI超微光技术对传感器数据直接进行处理,运用神经网络完成输入图像到输出图像端到端的非线性映射。不仅如此,相对于增强补光,以及多目多光谱设计的硬件解决方案,独创的深度学习图像增强算法,可在大幅减少卡口对补光灯的依赖的条件下,提升图像亮度,且充分还原物体颜色与纹理等细节信息。
另一方面,这项技术也对边缘侧芯片的算力提出了巨大挑战。面对市场上琳琅满目的芯片,科达结合超微光技术的场景特点,提出了六项边缘算力芯片的筛选标准————模型运行评分、工具链有效性、灵活性、成本、非AI功能、TOPS/W。
依托于精简优化的算法和所选择的边缘算力,苏州科达创新性地完成了AI超微光在边缘侧的实现任务,已经形成了产品系列并申请了多项专利。
以下是章勇的全部演讲内容,雷锋网(公众号:雷锋网)做了不改变原意的整理与编辑:
很荣幸有机会跟大家分享我们的新技术——AI超微光技术。
我今天的演讲要从摩尔定律开始讲起。摩尔定律说的是,集成电路上可容纳的元器件数目每隔18-24个月就会增加一倍。其实AI界也有一个摩尔定律,是由IBM和UIUC的两位学者提出的,说的是Xiv.org上的人工智能相关论文数量每隔18-24个月会增加一倍。今年6月份我去美国参加CVPR,在会场看到了CVPR论文的统计,发现它确实符合这个规律,2019的CVPR论文数呈现了倍增的趋势。
最近我们时常听到一些关于AI的悲观论调,认为现在的AI是伪AI。但从学术界的趋势来看,我们有理由坚信AI将在不远的将来迎来持续爆发。
在人工智能落地的诸多领域中,视频监控无疑是最成功的。视频监控的发展经历了四个阶段,从2005年以前的模拟视频监控时代,经过网络数字监控时代和高清数字监控时代,最终在2015年步入了人工智能的新纪元。
过去五六年,苏州科达每次参加安博会的主题都和AI紧密相关,今年我们的主题是“AI实战派”。这也从侧面说明AI已经在视频监控领域生根发芽了。
那么,AI可以为视频监控做些什么呢?概括来说,它可以用先进的深度学习算法——比如检测、分类、回归、跟踪算法,衍生出对应的视频监控应用,比如人员属性、车辆属性、视频结构化等。人员属性包括人脸识别、人像检测、年龄识别、性别识别等;车辆属性包括司乘人脸、车窗检测、挂件检测等等;视频结构化则可以把人、车、道路的关系用语义的方式描述出来。
刚才说到的这些应用,基本都属于图像理解和图像分析的范畴,是计算机视觉里的高层视觉和中层视觉任务,其主要目的是对图像进行分析,提取里面的语义。相比之下,低层视觉任务过去在视频监控领域的应用并不多。这次安博会,苏州科达带来的主要技术突破——AI超微光技术,本质上就是一项用AI加持的低层图像处理技术。具体来说,它是一项基于深度学习算法,在边缘侧实现低照度图像增强的技术。
为什么我们把低照微光作为AI的主要应用场景呢?因为低照微光是视频监控领域的一大痛点。摄像机的成像原理与人眼类似。人眼成像要先有光源照射在目标物体上,光线被反射进入人眼视网膜成像。监控摄像机也是同样的道理,反射光进入镜头后由图像传感器进行光电转化,经过ISP处理,最终将图像展现在我们面前。不难发现,照度是成像的关键。我们常说伸手不见五指,太黑了人眼看不清,其实太黑了摄像头也拍不出来。
视频监控有一个特点,光天化日之下发生违法犯罪事件的概率非常小,大部分有用的视频监控信息都是在光线不好的时间段采集的。因此低照成像技术的应用场景非常广泛,包括平安城市、雪亮工程、酒店、住宅小区等等。几乎所有视频监控摄像机都会注明它的低照度指标,这说明低照度是视频监控摄像机的基本特性。
摄像机成像的过程中有许多噪声如影随形,包括热噪声、电流噪声、空间噪声等等。如果图像信号很弱,噪声很强——也就是信噪比很低,图像就会完全淹没在噪声里。比如下面这页ppt中的图片,左边的图片还能看清是一个小伙子,右边的图片就完全看不清了,毫无价值。所以监控的重点不是拍到而是拍清,要给人家有用的信息,能分析出里面的具体内容。
那么,我们怎来解决低照监控的问题呢?最简单的办法,既然光线不足,那我强化补光就是了。但这样一来也造成了很严重的光污染,对此相信大家都深有体会,比如晚上开车回家的时候被爆闪灯晃得睁不开眼。除了用户体验差,这种做法也很浪费资源,会增加系统的开销,因为每个摄像机旁边都要装一个灯,非常可怕。
第二种做法是堆叠摄像机硬件。几年前有一个技术特别热门,叫做超星光技术,它的做法是采用超大光圈和高灵敏度的传感器。这项技术的缺陷在于,超大光圈会影响拍摄的景深。在摄影领域,超大光圈可以产生一些特殊的艺术效果,但对视频监控来说它却是负面效果。此外,高灵敏度传感器原来是用在军事领域的,将它迁移过来无疑会大幅推高设备的成本。
这个做法下还有一个分支,叫做黑光技术,是前两年大家非常追捧的新技术。它采用的是多目融合的技术,通过两个镜头分光,或者一个镜头里有两个传感器,对可见光和红外光进行多光谱融合。这也带来了三点问题:一是成本增加;二是两条光路融合,必然会导致分辨率下降;三是它无法拍摄红外反光比较强烈的物体,也无法穿透红外透光率低的玻璃。最后一点问题非常严重,因为现在绝大多数人为了隔热都会在车窗上贴膜,它的作用实际上就是防红外穿透。
第三种做法是通过复杂的ISP提高图像质量。传统方法是提高ISP数字增益,提高图像亮度,但数字增益不区分图像信号和噪声,把噪声也加大了,所以基本没什么用。还有一种方法是放慢快门速度,但这样一来就没办法捕捉高速运动的物体了,而现实中我们需要捕捉的又往往是高速运动的车辆和人,所以这个方法也行不通。还有就是各种各样的降噪算法,比如空间和时域的降噪。这些算法本身挺好,但遇到低照的情况,由于信噪比太低,它在过滤噪声的同时也会把图像信号过滤掉,结果就是图像非常模糊。
正是因为存在这样或那样的痛点,我们开始思考能不能把AI用到低照监控当中来。
摄像机ISP是一个从输入图像到输出图像的非线性映射,我把它描述成f(x),也就是一个二维的函数。我们知道,深度学习网络对非线性函数有很好的逼近能力:首先,它的网络非常深非常复杂;其次它的每个神经元里都有若干个加权函数,同时精密函数也是非线性的。所以我们采用了这样一个方法,即对低照度场景进行有监督的深度学习训练,让神经网络在传感器输出的数据中自动寻找并增强图像中的有用信息。这个想法非常好,我们尝试后也发现,它在算法模拟上是可以成功的。
整个处理流程大致是这样的:前面输入的过程不变,光线经过普通的镜头和传感器完成光电转换后,用深度神经网络代替原来的ISP,把bayer图像输入到这个深度神经网络后,输入的就是人眼想看到的ISP图像。这种做法还带来了一个附加的好处,因为现在ISP已经进入了完全不可知的领域,它里面有数百个模块,每个模块又有非常多的参数要调整,完全是ISP工程师靠经验堆叠起来的,所以ISP工程师非常值钱,而我们的方案可以省略对ISP参数的调整。
这个想法虽然很好,但在边缘端实现起来还是会对算力提出非常大的挑战。一般的图像分析和理解任务,首先要对图像进行裁剪和缩小,缩小到24×24或者300×300像素。也就是说输入神经网络的都是经过大幅度缩小的图片,输出的则是提取出来经过编码的特征。
在AI超微光任务中,需要对逐个像素进行操作,而且图片通常是1080P、4K甚至1200W像素的,同时我们还要对每个颜色通道进行处理,输出的数据是输入的三倍。因此,AI超微光任务对算力和存储都提出了非常高的要求。此外,这个过程是在边缘端实现的,还面临着成本和功耗上的限制,所以选择一颗合适的边缘侧算力芯片至关重要。
面对市场上琳琅满目的芯片,我们不禁陷入了困惑,到底该怎么选择呢?有几个参考指标:
第一个指标是TOPS。从2015年开始,边缘侧芯片的TOPS有了突飞猛进的发展,今年已经看到有16T-20T算力的边缘侧芯片出来了。但是大家并没有明确说明TOPS是怎么计算出来的,大部分企业的计算方法都是“乘加器个数 x 工作频率 x 2”。这个算法太简单粗暴了,缺少对能耗的评价。如果这么计算,岂不是把两个芯片简单叠加在一起,算力就翻倍了?
第二个指标是TOPS/W。下面这页ppt中是MIT一位学者统计出来的图表,横轴代表功耗,纵轴代表TOPS值。AI超微光的任务对于芯片有几个要求:首先它的位宽必须大于或等于8bit,因为我们要处理的是图像;其次,它的功耗要小于10W,因为需要部署在边缘侧;最后,TOPS/W值要大于一。上个礼拜我在美国参加Facebook的研讨会,他们也在做相关的事情,他们追求的是TOPS/W值大于或等于5。
TOPS/W显然也不是一个特别完美的指标,因为里面还涉及到利用率的问题。下面这页ppt列出了一些常用深度神经网络需要的算力值,我们可以看到,基本都在几十G左右。那么为什么我们却动辄需要几个T的算力呢?原因前面的嘉宾介绍过,因为神经网络非常复杂,而不管基于SIMD/SIMT架构还是数据流架构的芯片,采用的都是非常规整的体系架构,这种架构里的映射显然有很多水分。因此,我们要看OPS的利用率,而不是峰值的OPS。
第三个指标是存储带宽。提到存储带宽就要用到屋檐模型(Roofline模型)。我们吧存储带宽的值用下面这页ppt中的公式来表示。公式下面这张图片很有意义,蓝线右边是计算受限,蓝线左边是访存受限,如果我们想避免访存受限,就要不断抬升屋檐。
右边的图片中有三个芯片,绿色的是访存受限,中间红色的稍微好一些,但仍然没有完全跨越到计算受限,最上面黄色的则完全进入到了计算受限,可以达到理论上的OPS峰值。通过Roofline模型,可以确定一个计算量与访存量确定的算法模型,在一个算力和带宽已知的计算平台上,所能达到的理论性能上限。
另外一种方式是在实际硬件上或是硬件仿真器上运行各种常见的AI模型,进行评估,这是目前各大公司正在采用的方法之一。这样的评估工具有很多,比如MLPerf,有facebook等好几家公司背书。中国人工智能产业发展联盟也发布了一个Benchmarking的工具。AI MATRIX是阿里巴巴内部开源的工具,ML Mark则是专门给嵌入式系统做的工具。目前国内用的比较多的是AI-Benchmark,它里面囊括了11个任务,包括图像分类、图像检测、游戏动画、图像去波谷等。我们可以在上面跑各种AI模型然后打分。
这里举两个例子,一个是斯坦福的DAWNBench(右侧上图),一个是ML Perf(右侧下图),里面展示了所用的模型、对应的硬件,以及使用了哪一种算法框架。
另外,我们还要考虑算力工具链的性能和易用性。要看工具链能否对接各种不同的AI算法框架(Caffe,TF,pytorch等等),并转化各种框架模型;以及它是否具备性能仿真器,能否给予算法人员准确的调试反馈,能否进行良好的网络量化优化。
还有算力的灵活性:一是算力能否应对非常规的网络,二是算力能否扩展支持的层种类,三是算力能否兼容将来可能出现的新网络。因为网络的变化非常快,算法人员经常能想出许多新奇的点子,这些点子在软件仿真的时候非常好用,但一跑到真正的芯片上就会出现各种各样的问题。
最后是边缘算力芯片中集成的非AI功能。主要关注几个点:一、它是否具有应用处理器核(AP)- SoC芯片;二、它是否包含其它非深度学习的图像处理模块;三、它是否包含视频处理与编解码模块;四、它
是否有丰富的嵌入式接口用于数据传输和控制,比如PCIE,USB,MIPI ,Ethernet,SPI …因为我们是用在边缘侧的。
总的来说,我们针对边缘算力的选择提出了六项指标——模型运行评分、工具链有效性、灵活性、成本、非AI功能、TOPS/W。最后看哪款芯片的指标参数在雷达图中覆盖的面积大,就用它来完成AI超微光的任务。
当然,我们也花了几个月的时间对网络进行了精简和优化,同时对嵌入式的编程进行了细致入微的优化。我们提交了有关增强算法以及边缘侧实现的数项专利。
最后给大家展示一下AI超微光的效果。
大家看下面这页ppt,左边图片中的灯光参数非常亮,右边则换成了比较弱的补光,两张图片都是在卡口场景。但是我们看拍出来的图片,左边图片是看不见车里的人的,因为有防透膜,右边则可以清楚地看到人脸并进行人脸识别。
下面这页ppt是夜景,左图的灯非常亮,右图的灯实际比路灯还暗。我们可以看一下夜间抓拍的效果,左图中的行人基本已经看不见了,而右图中的行人经过超微光技术增强后清晰可见。因此超微光技术在夜间的应用有着非常重要的价值。
最后来看看人员卡口场景。下面ppt中左边这一组是传统人员卡口和超微光技术的对比。小区如果有非常亮的补光灯,是一件令人头疼的事情。我们可以看到,传统人员卡口的卡噪点多、图像暗,基本看不清楚,右边用了超微光技术后就清晰多了。
右边这一组是黑光技术与超微光技术的对比,两张图的明暗程度完全不一样。右边用了超微光技术,不需要很强的补光就可以把人脸恢复的非常清晰。
我的分享就到这里,希望大家有时间到我们展台来看看AI超微光这款新品。 谢谢大家!
问答环节:
主持人:您刚才讲到超清光、超微光和黑光技术,根据我个人的理解,这些更多是依靠硬件手段来实现的。之前何恺明在CVPR提出的暗通道先验算法主要是通过纯软件来去噪、增强图像质量。未来可不可以只用像暗通道这样的算法、不依赖硬件就能够实现超威光的效果?
章勇:这是我们追求的目标。刚才你也提到了暗通道算法,其实我们现在的算法,实际上是暗通道算法的进阶版。我们现在完全用了深度学习算法对每个像素进行处理,将来希望不需要再通过单纯的硬件堆叠,去提升摄像机本身的性能,而是通过内部的软件处理,特别是AI技术,能够把最终的图像完美呈现给大家。我们可以看到这个趋势越来越明显,很多手机厂家,包括苹果、华为也开始在手机侧对图像采用这个处理方法,而不是单纯的进行硬件堆叠。
。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/72798.html