【新智元导读】 将模糊图像变高清的技术很受关注,不过同样应用范围很广的视频自动打码技术似乎比较低调。微软研究院最新提出一套基于人工智能算法的视频人脸模糊解决方案,该技术包含人脸的检测、跟踪、识别三类算法,能够实现对视频进行自动人脸模糊。该系统已经搭载于微软Azure云平台上作为一项云服务提供。
新闻无处不在。从电视里的《新闻联播》、《新闻30分》,到手机中的《今日头条》、《腾讯新闻》,随着互联网的不断发展,新闻报道的数量,以及报道中的视频数量,都在不断增加。
这对读者来说也许是好事,意味着有更多、更丰富的内容可以浏览,对编辑来说或许意味着某种灾难,因为他们要干的活更多了。请看下图。
市井中的小偷也有非常高的隐私意识。即便是被抓住接受采访,他还是会强调“你得给我打上马赛克”。新闻编辑在这里的任务,就是将采访得到的源视频中的人脸部分进行打码。这是一项纯手工的工作,编辑需要对视频每一帧中的人脸都进行框选、打码。诸位可以想象一下,如果每天都有无数需要打码的新闻视频交给编辑进行人工处理,该是多么繁重的任务。
为此,微软研究院提出了一套基于人工智能算法的视频人脸模糊解决方案。该算法能够对视频进行自动处理,将其中出现的不同人物返回给用户。用户只需要轻点鼠标,选择想要打码的人物,相应人物在视频中的所有露脸区域都将被打上马赛克。大体的算法示意,请看下图。
上面的示意图也许太过简练了。关于这套人脸模糊系统具体是如何工作的,下图是更为详细的解读。
本质上,我们的目标是找出所有人脸的出现位置,并把同一个人的所有人脸连接起来。为此,我们需要三个算法——人脸的检测、跟踪、识别。
检测。首先,我们需要定位人脸可能出现的位置。为了保证人脸尽量不被漏掉,我们使用了一个基于深度网络的、具有高召回率的人脸检测器。这个检测器对视频的每一帧都进行检测,记录每个人脸对应的矩形框位置。对于人脸检测的更详细信息,请参见文末的附录。
跟踪。所谓人脸跟踪,简言之就是在某一帧中给出了一个人脸框,在其前几帧和后几帧都找到与之最相似的框。人脸跟踪在系统里的作用主要有二,一是连接相邻帧的检测框,因为人脸检测只负责每一帧的人脸定位,不负责帧间的连接;二是将当前帧的人脸检测框延续到前后几帧,这样就能定位到那些检测不到的侧脸了。
识别。经过了人脸检测和跟踪,我们已经能够处理单个镜头内的大多数问题。然而,如果视频中存在镜头切换,或者人物的遮挡,我们就需要人脸识别技术。所谓人脸识别,就是计算两张给定人脸的相似度,如果高于某个相似度,我们就认为这两张脸是同一人。我们训练了一个基于深度网络的人脸识别模型,对于不同镜头里的两张人脸,根据相似度对它们进行连接。最后,我们的系统将整个视频中不同人物的人脸都各自连接起来,提供给用户进行挑选。对于人脸识别的更详细信息,请参见文末的附录。
时间复杂度方面,我们的系统在Azure的CPU服务器上能够实时处理720p的视频,并且能够以2倍时长处理1080p的高清视频。
微软研究院与微软Azure云平台已经就视频人脸模糊技术建立了联系,该系统已经搭载于云平台上作为一项云服务提供。同时,该项目也受到了多家智能摄像机公司的广泛关注,正在进行下一步的合作。
附录
微软认知服务包含了微软研究院的多种人工智能技术,例如Video API,Face API,Emotion API等等,大部分的API都能够免费在线试用。上文中提到的人脸检测和识别技术属于Face API,而人脸跟踪技术则包含于Video API中。