程序員是這樣解讀《隱祕的角落》

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e0/e0a8db3f6e419658704864cddd23219d.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前兩天,我一口氣看完了電視劇《隱祕的角落》,劇情相當精彩。美中不足的是,劇組爲了讓片子過審, 導致11集,12集的剪輯順序被打亂,甚至臺詞被修改,以至於片中有幾個處演員口型與臺詞對不上,劇情也有點讓人摸不到頭腦。因此我嘗試"},{"type":"text","marks":[{"type":"strong"}],"text":"通過人工智能技術還原了被修改的臺詞"},{"type":"text","text":",從而還原了一部分原本的劇情,一個更加黑暗的真相。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"因要過審而被修改的臺詞"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"被修改的臺詞主要集中在 12 集,朱朝陽、嚴良兩人火海逃生後在天台上的對話:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/77/77ca5130f0b51aab68ef64eeb1b60d13.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴良:「告訴警察吧」"}]}]}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/10/10bb67e516df715c4d02d02a46b9b625.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"朱朝陽:「像我爸希望的那樣 」"}]}]}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/3b/3b77884c88ed4ec19e231555020c43da.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"朱朝陽:「你想報警麼」"}]}]}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/a5/a56ed544c4e94e3cf6690ed57b0fb7d6.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這段對話其實被後期修改過了,口型和內容不吻合。至於「隱祕」劇組爲什麼要修改這段臺詞,我也是在還原了原對話之後才知道答案,"},{"type":"text","marks":[{"type":"strong"}],"text":"因爲原對話實在過於黑暗了,坐實了朱朝陽的黑化,是不可能過審的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"那麼原對話到底是什麼?往下看,我用深度學習來告訴你答案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"用機器學習識別脣語,還原對話"}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/97/97fe8f74d0fe9baf628e9d9f659ee637.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":">這部分主要演示用機器學習的手段識別脣語,脣語識別就是靠分析人說話時嘴脣與面部的特徵來解讀人說話的內容。這裏我並不介紹脣語識別模型的基礎架構(篇幅太長,後面有機會單獨講),而是通過以識別張朝陽脣語爲例,演示一下脣語識別的一個簡單流程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個案例中的模型我選使用基於 Tensorflow 的 Facemash 模型進行二次訓練。Facemash 的主要作用是獲取面部表情的特徵。之後通過分析嘴脣的運動特徵,來預測出說話內容的漢語拼音的聲母和韻母。(直接通過嘴型預測漢字難度太大,所以我要"},{"type":"text","marks":[{"type":"strong"}],"text":"先預測出拼音"},{"type":"text","text":",之後再根據劇情+拼音還原出原對話)"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/4e/4ea090f3c3c4fb057906f35f54f81be5.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一步先通過 Facemash 拿到朱朝陽對話的面部特徵,如圖:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/14/1426d57d07392c87675b38336b3a9d50.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這張「面膜」就是 Facemash 模型識別出來的特徵點間的連接,下圖是某一幀的面部識別數據:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e6/e68516417b8f59e041260f80eeb17c71.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們將一系列連續的數據展示在3D空間座標軸下的話,就是一張對話中的的臉了。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/9f/9fd403bf55af68fdb340bc3a2e3589c2.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拿到嘴脣和麪部特徵後,就要進行預測了,這部分我直接給大家展示動態流程圖:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/20/20da2b7ff2dd0052e85037954d0b10b7.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"利用這種方法,我還原了這句原臺詞漢語拼音的幾種可能:"}]},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ni "},{"type":"text","marks":[{"type":"strong"}],"text":"ba xiao ba"},{"type":"text","text":" chou me"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" ni "},{"type":"text","marks":[{"type":"strong"}],"text":"ba xiang ba"},{"type":"text","text":" chou me"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"..."}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ni "},{"type":"text","marks":[{"type":"strong"}],"text":"bu xiang bao"},{"type":"text","text":" chou me"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"..."}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這些拼音翻譯過來是啥呢?我把每組拼音用輸入法測試了一遍,發現 「ni "},{"type":"text","marks":[{"type":"strong"}],"text":"bu xiang bao"},{"type":"text","text":" chou me」這句的結果與劇情最貼切:「你不想報仇麼?」"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8c/8cae80761dddc1098cc5cf2276abe39f.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"把「你不想報仇麼」帶入對話,發現口型也對上了。bingo,這纔是原臺詞呀:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/1d/1de0e97a743332e43ee450085b86df29.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同樣的方法,我又還原了幾處原對話,如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴良:「那該怎麼辦」而不是「"},{"type":"text","marks":[{"type":"del"}],"text":"告訴警察吧"},{"type":"text","text":"」"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/40/40f3cfb06368b0898790930f9d7fc112.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"朱朝陽:「除非讓他被抓...」而不是「"},{"type":"text","marks":[{"type":"del"}],"text":"像我爸希望的那樣"},{"type":"text","text":"」"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8c/8ce28d0cd00d70b25363676168dd107d.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"朱朝陽:「你不想報仇麼」而不是「"},{"type":"text","marks":[{"type":"del"}],"text":"你想報警麼"},{"type":"text","text":"」"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/1d/1de0e97a743332e43ee450085b86df29.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"好了以上就是我用機器學習 + 劇情聯想還原的天台對話。接下來我就要來解讀劇情了,解讀爲什麼這段對話會坐實朱朝陽的黑化,不能過審。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"解讀被修改的臺詞"}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e0/e0a8db3f6e419658704864cddd23219d.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"國產劇的過審有兩個最重要的原則:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1 不能出現懸案"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2 壞人必須被繩之以法"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"知道了這個前提,我們再來審視一下被修改的臺詞。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"全劇出現了三張內存卡,原卡最後給了張東昇,空卡給了嚴良,而複製卡一直在朱朝陽手裏。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也就是說 11 集大火之後,朱朝陽本可以將複製卡交給警察,從而將張東昇繩之以法。但是這時候的朱朝陽並不敢報警,因爲他並不知道普普是否將朱晶晶的真實死因告訴了嚴良,因此他不敢冒險。那麼對於朱朝陽來說,此時此刻對於自己最有利的方案就是:"},{"type":"text","marks":[{"type":"strong"}],"text":"利用張東昇的手殺死嚴良,然後再把複製卡交給警察,逮捕張東昇。所以根據上面還原的臺詞,天台上的真實對話很可能是:"},{"type":"text","text":" "}]},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/77/77ca5130f0b51aab68ef64eeb1b60d13.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"嚴良問:"},{"type":"text","marks":[{"type":"strong"}],"text":"「那該怎麼辦?」"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"朱朝陽應該說了一個抓捕張東昇的計劃,這裏由於被剪輯過,不知道劇情,還原難度比較大,但我還是還原了一句話:"},{"type":"text","marks":[{"type":"strong"}],"text":"「除非讓他被抓...」"},{"type":"text","text":"。根據還原的這句話,我認爲"},{"type":"text","marks":[{"type":"strong"}],"text":"朱朝陽告訴嚴良的計劃"},{"type":"text","text":"應該是這樣的:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1.朱朝陽把張東昇約到船頭"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2.張東昇與嚴良衝突"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3.朱朝陽立刻報警當場抓住張東昇犯罪事實**"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/83/83a40efd043ea1e536794eb8fa55ffcf.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" 然而這時候,嚴良對朱朝陽沒有了之前的信任,因此對這個計劃有些猶豫。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後朱朝陽補刀:"},{"type":"text","marks":[{"type":"strong"}],"text":"「你不想報仇麼?」"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/1d/1de0e97a743332e43ee450085b86df29.gif","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":">最終善良的嚴良爲替普普報仇,還是同意了這個計劃。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上就是我結合劇情大致還原的對話。朱朝陽的目的是借張東昇的手殺死嚴良,利用這個計劃借刀殺人,讓嚴良送死的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而朱朝陽內心"},{"type":"text","marks":[{"type":"strong"}],"text":"真實計劃"},{"type":"text","text":"我想是這樣的:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/16/1686b6cc1f8da8bef97da3838b6f2493.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1.引導張東昇與嚴良見面發生衝突(自己並不報警,後面警察來了之後朱朝陽的表情是震驚的,因爲並不是他報警的)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2.如果勝利回來的是嚴良,那麼他就會乘其不備殺死嚴良(朱朝陽和嚴良學過打架),然後嫁禍給張東昇"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3.如果勝利回來的是張東昇,那麼他就會跳進大海逃生(朱朝陽一直在練習憋氣),然後把複製卡交給警察"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8d/8d5819c1652864fc5a7854c79b29cdf0.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"分析到這裏,朱朝陽的內心的陰暗已經不忍直視。可能這也正是「隱祕」劇組原本想要呈現的壞小孩,就像原著小說「壞小孩」裏說的那樣"},{"type":"text","marks":[{"type":"strong"}],"text":"「在成年人眼裏,小孩子永遠是簡單的。即使小孩會撒謊,那謊言也是馬上能戳穿的,他們根本想象不到小孩子的詭計多端,哪怕他們自己也曾經當過小孩。」"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以上。"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/e0/e0a8db3f6e419658704864cddd23219d.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"最後送大家一個彩蛋:"},{"type":"text","text":" 12集在船上張東昇對朱朝陽有一句概括性的評價,也是不能播的...,所以這句臺詞也被「隱祕」劇組修改了,想知道是什麼嗎?"},{"type":"text","marks":[{"type":"strong"}],"text":"請在「東澤聊技術」公衆號回覆「朝陽東昇」獲得彩蛋。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章