茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克( 二 )


首先需要从AdrianRosebrock博士的这篇博文中获取源代码 , 然后打开OpenCV人脸检测器 , 使用以下命令启动blur_face_video.py:
$pythonblur_face_video.py--faceface_detector--methodsimple[INFO]loadingfacedetectormodel...[INFO]startingvideostream...
茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克
文章图片
高斯模糊实时视频流
以可以通过methodpixelated来进行像素化的人脸模糊:
$pythonblur_face_video.py--faceface_detector--methodpixelated[INFO]loadingfacedetectormodel...[INFO]startingvideostream...
茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克
文章图片
像素化模糊实时视频流
以上应用的人脸模糊方法 , 是假设输入视频流的每一帧中都可以检测到人脸 。
那么 , 如果检测器中途未能检测到人脸会怎样?显然 , 在漏掉的帧中无法进行打码 , 也就破坏了人脸模糊的目的 。
在这种情况下我们该怎么做呢?
通常 , 在人脸移动的比较慢的情况下 , 有一个简单的方法是取最后一个已知的面部位置 , 然后模糊该区域 。
还有一种高级的方法是使用专门的对象跟踪器 , 如果人脸检测器没有识别到 , 则对象追踪器可以补充提供面部位置 , 这个方法会复杂很多 , 因为要在人脸的多个角度建立跟踪 , 但是这个方法也更加完善 。
微软曾提出一种可在视频中通过AI实现人脸模糊的方法
早在2017年 , 微软研究院就提出了一套基于AI算法的视频人脸模糊解决方案 。 虽然该算法能够对视频进行自动处理 , 但是需要用户点击想要打码的人才能打上马赛克 。
这套算法能够将源视频中的人物提取出来 , 并返回给用户 , 然后用户可以自由选择给谁打码 。
茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克
文章图片
要想打码 , 首先需要找出所有人脸的出现位置 , 并把同一个人所有帧中的人脸连接起来 。 为此 , 需要有三个算法:人脸检测、跟踪、识别 。
下图更为详细的展示了关于这套人脸模糊系统具体是如何工作的:
茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克
文章图片
在时间复杂度方面 , 微软研究院称该系统在Azure的CPU服务器上能够实时处理720p的视频 , 并且能够以2倍时长处理1080p的高清视频 。
技术始终在进步 , 3年前就可以做到在视频中通过AI进行人脸模糊 , 3年后已经可以利用AI在实时视频流中自动打码了 , 我们相信 , 科技还能做到更多 。
尽管 , 目前AI实时打码这一技术还尚未成熟 , 但总有一天技术能够“承担”起更多的社会责任 , 保护更多的人 。
相关报道:
https://www.pyimagesearch.com/2020/04/06/blur-and-anonymize-faces-with-opencv-and-python/
【茅山科幻▲视频后期福音!,AI能实时检测视频流中人脸并打马赛克】https://www.zhihu.com/question/21672713


推荐阅读