提取視頻中的人臉(一)

4 人贊了文章

最近fakeapp大火,稍微注意這方面的人肯定已經被這個新生事物的新聞給淹沒了。

其實這個程序主要分為三個步驟:

1.提取star的臉、提取小姐姐的臉;

2.用tensorflow把小姐姐的臉和star的臉進行比對、匹配、生成;

3.逐幀把小姐姐視頻中的小姐姐臉替換成star臉。

大家看到這裡肯定抑制不住內心的荷爾蒙,哈哈。

其實這個技術本身無好壞,只是大眾把視野停留於小視頻上了。

當年 《速度與激情7》 拍攝過程中保羅的逝世,導致製作組花了幾千萬美元用於視頻後期製作,還原保羅。

保羅去世後,《速度與激情 7》是如何拍完的??

www.zhihu.com
圖標

如果當時這個技術出來並且已經成熟,製作組應該會省去一大筆費用。

好了,進入正文<如何提取視頻中的人臉>

首先,工具準備 ffmpeg + opencv + visual studio 2017。因為opencv 最新只提供64位,所以對應的ffmpeg也選用64位。ffmpeg要下載dev和shared兩個版本,一個提供頭文件,一個提供庫。我們先介紹windows平台怎麼使用,後邊再補上linux平台。

然後,我們說一下思想。

1.使用ffmpeg,將視頻文件逐幀解碼為 YUV(不會的,不用太關心格式)(因為我基本只用opencv的演算法,視頻解碼用ffmpeg);

2.將解碼出來的Y用OpenCV進行人臉檢測,獲取人臉的坐標;

3.將對應坐標的YUV保存為圖片。

接下來,環境的搭建。

1.vs2017新建一個MFC程序(基於dialog)

2.配置環境變數,選用x64,因為opencv ffmpeg都是64位。

引入庫目錄、頭文件目錄、lib

最後,開始實現。至於如何實現,下一篇文章再講解,最後給大家看下效果圖。


推薦閱讀:
查看原文 >>
相关文章