提取視頻中的人臉(一)
提取視頻中的人臉(一)
4 人贊了文章
最近fakeapp大火,稍微注意這方面的人肯定已經被這個新生事物的新聞給淹沒了。
其實這個程序主要分為三個步驟:
1.提取star的臉、提取小姐姐的臉;
2.用tensorflow把小姐姐的臉和star的臉進行比對、匹配、生成;
3.逐幀把小姐姐視頻中的小姐姐臉替換成star臉。
大家看到這裡肯定抑制不住內心的荷爾蒙,哈哈。
其實這個技術本身無好壞,只是大眾把視野停留於小視頻上了。
當年 《速度與激情7》 拍攝過程中保羅的逝世,導致製作組花了幾千萬美元用於視頻後期製作,還原保羅。
保羅去世後,《速度與激情 7》是如何拍完的?如果當時這個技術出來並且已經成熟,製作組應該會省去一大筆費用。
好了,進入正文<如何提取視頻中的人臉>
首先,工具準備 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
最後,開始實現。至於如何實現,下一篇文章再講解,最後給大家看下效果圖。
推薦閱讀: