程序员硬核解析《隐秘的角落》:用AI识别唇语,破解原本台词

南方都市报APP • AI前哨站
原创2020-07-09 06:53

朱朝阳到底“黑化”了没有?严良和普普还活着吗?日前,口碑爆棚的国产网络剧《隐秘的角落》迎来大结局,有关结局的解析也成了网友们津津乐道的话题。

在众多解析中,程序员东泽的方法堪称硬核:发现剧集中主人公的口型和台词对不上,他便通过人工智能技术,还原了被修改的台词。

介绍东泽的试验之前,我们先简单回顾下《隐秘的角落》:电视剧改编自网络作家紫金陈的小说,剧中有三个少年,分别是成长于单亲家庭的朱朝阳、从孤儿院出逃的严良和普普。三个少年在暑假时目睹了一桩凶杀案。他们因为各种原因没有报警,反而与凶手做起了“交易”。故事由此展开。

WechatIMG161.jpeg

隐秘的角落剧照,从左到右依次为严良、普普和朱朝阳。图自网络。

不过,由于小说原著的结局比较暗黑,电视剧做出了诸多调整,最终呈现的结局看起来比较光明、美好。紫金陈在微博上透露,“最后两集可能看起来逻辑有一些断层,是因为一些调整的原因”。

这激发了网友们的解析热情。有人注意到片头动画中小人数量的变化,有人分析了剧中人物的表情动作,还有人把人物打电话时的按键声纳入考虑……

作为一名编程超过10年的程序员,东泽则从自己的专业入手,用上了人工智能。

在第12集中,朱朝阳和严良从凶手的手中死里逃生,开始讨论之后的对策。东泽发现,朱朝阳和严良的部分口型和字幕中的台词对不上。于是,他通过训练人工智能模型,还原了两人原本的台词。

配图1.gif

第12集的这一片段,朱朝阳的台词字幕是“你想报警吗”,但口型出现了不一致。图自东泽。

东泽使用的是一种名为Facemesh的模型,它可以获取人物的面部表情特征。在此基础上,东泽进行了二次训练,让模型通过分析人物嘴唇的运动特征来预测说话内容。

640.gif

图中的“面膜”就是 Facemesh 模型识别出来的特征点间的连接。图自东泽。

南都·AI前哨站梳理发现,早在2003年,Intel就开发了唇语识别软件。DeepMind公司和牛津大学也曾联手研发唇语识别算法,并在2016年平均达到了52.3%的准确度。

东泽告诉南都·AI前哨站,唇语识别的算法门槛不算高,他在网上找到了一些开源的资料,只是其中鲜少有中文唇语识别的资料。“中文和英文有很多不一样的地方,像是停顿、爆破音、声调等等。让模型适应中文的发音稍微花了点时间。”他说。

而在解析《隐秘的角落时》,由于直接预测汉字的难度太大,东泽采取的策略是,让模型预测每个字的拼音。之后,他根据拼音和前后的剧情,还原出了朱朝阳口型原本对应的台词。

640 (1).gif

模型从面部、嘴唇运动特征到预测出讲话拼音的动态过程。图自东泽。

屏幕快照 2020-07-08 下午11.14.45.png

在模型预测的基础上,东泽尝试还原了与口型相对应的台词。图自东泽。

值得注意的是,除了天台上朱朝阳、严良的对话,剧中另一主人公、凶手张东升也出现了台词与口型不一致的段落。在最后一集中,张东升被警察击毙之前,对朱朝阳说了一句话,台词字幕显示为“你可以相信童话”,但很多网友觉得张东升的口型看起来像是在说“高手”。

东泽说,对于张东升的这句话,他用模型预测出的拼音是“hai shou”,所以他最初也认为是“高手”。不过,在看到他的分析后,有电视剧制作人告诉他,张东升说的其实是“你还有”。“如果是这样的话,那么剧情应该是张东升对朱朝阳说:我没机会了,但是‘你还有’。”

WechatIMG164.jpeg

张东升对朱朝阳说的最后一句话,也出现了口型与台词字幕不一致。图自网络。

南都·AI前哨站还了解到,在大约一周的训练过程中,东泽使用了超过1T的视频数据。为了让模型尽可能地准确,他还特意搜集了许多剧中演员的相关数据,比如张东升的扮演者秦昊的视频。

得出结果之后,东泽把分析过程发到了个人微信(微信公众号dongze_tech原文:《程序员就该这样解读隐秘的角落》)和微博上,收获了一些关注。“比较高兴的是,大家对于程序员的印象可能会有一些改变。在大家平常的印象里,程序员就是做一些很枯燥、很乏味的、别人看不懂的工作。但这件事让大家看到,程序员把技术应用到生活中来,其实是很酷的事情。”东泽说。


采写:南都记者冯群星

编辑:李玲

更多报道请看专题:南都会客室·解密《隐秘的角落》

3
对这篇文章有想法?跟我聊聊吧
李玲3.36亿
南方都市报记者
南都新闻,未经授权不得转载。授权联系方式:
banquan@nandu.cc,020-87006626。