隨著科技的不斷進(jìn)步,人工智能也取得了突飛猛進(jìn)的發(fā)展,近些年來越來越多新穎的技術(shù)展現(xiàn)在了人們的面前,今天和大家分享一個(gè)最近比較火的人工智能技術(shù)“AI換臉”。AI換臉就是通過人工智能技術(shù)更換人臉,而且面部表情自然,效果比較逼真。整個(gè)過程中你只需要用一張自己的照片,就可以在軟件上代替視頻中的人物,從而生成以自己為主角的視頻。目前市面上已經(jīng)有多款軟件可以實(shí)現(xiàn)換臉操作,之所以能夠免費(fèi)開放給大家使用,是因?yàn)榍捌谛枰罅坑脩羧四様?shù)據(jù),方便訓(xùn)練他們自己的模型。
其實(shí)通過Python編程我們自己就能實(shí)現(xiàn)AI換臉。AI換臉要求兩張人臉的面部圖像盡量地進(jìn)行擬合,我們可以從互聯(lián)網(wǎng)上篩選角度相似的照片,兩張臉的朝向、臉型、大小、五官位置、是否閉眼都會影響到換臉效果。
在實(shí)際使用前,我們先理解一下?lián)Q臉的思路,其實(shí)換臉就是用圖片編輯軟件把一張臉截取替換到另一張臉上,只不過把手工操作換成AI來操作。當(dāng)然使用Python軟件操作圖像并不是那么簡單,如果真的要從頭編寫這個(gè)程序需要考慮的東西太多了。要識別圖像當(dāng)中臉部的輪廓,人類可以很輕松地識別什么是臉,什么是肩膀,什么是背景,而計(jì)算機(jī)并不知道。計(jì)算機(jī)需要有一系列的算法,建立所謂的模型來識別人臉。利用好這些算法便可以實(shí)現(xiàn)人臉面部信息的識別,當(dāng)然網(wǎng)站上已經(jīng)有不少訓(xùn)練好的模型,我們直接拿來使用就可以了。
我們使用的是“曠視Face++”平臺,曠視是一家專注圖像識別和深度學(xué)習(xí)的平臺,它可以提供人臉識別、人體識別、證件識別、圖像識別等API。
在Python中,我們需要導(dǎo)入三個(gè)Python庫json、base64、request。json和base64是Python自帶的,requests是第三方的包。通過曠視的API接口進(jìn)行調(diào)用(API接口:https://api-cn.faceplusplus.com/
facepp/v3/detect),這個(gè)接口的作用是幫助我們找到人臉相關(guān)的數(shù)據(jù),只需要把圖像傳到平臺,就可以通過調(diào)用后臺服務(wù)器的運(yùn)算,對圖像進(jìn)行處理,并把處理后的結(jié)果返回。
首先我們先注冊一個(gè)賬號。注冊完成后點(diǎn)擊左側(cè)人臉識別選擇需要的功能,生成試用版的 api_key 和 api_secret。因?yàn)橐獢y帶數(shù)據(jù),所以使用post請求,攜帶的數(shù)據(jù)不僅包含api_key 和 api_secret,同時(shí)也包含img_url和return_landmark。img_url表示圖片的路徑,return_landmark則表示返回的人臉區(qū)域坐標(biāo)。除了攜帶參數(shù)的請求,也可以攜帶一個(gè)文件去請求,就好比上傳一個(gè)文件。當(dāng)然在曠視Face++平臺中也有對應(yīng)的文檔和視頻的演示,大家也可以學(xué)習(xí)。
AI換臉步驟就是通過正確的算法構(gòu)建模型,訓(xùn)練模型得出所需要的數(shù)據(jù)集集合,選擇出需要換臉的圖片通過API調(diào)用便得出正確的人臉數(shù)據(jù),將兩張照片進(jìn)行擬合,拼接合并便成功了。
如今AI換臉可以通過技術(shù)手段給視頻進(jìn)行換臉,這就讓人非常害怕,雖然技術(shù)本身無好壞,但是難免有人會用這種技術(shù)進(jìn)行作惡,特別是源代碼已經(jīng)被開源的情況下,利用這種技術(shù)更加簡單。因此這里也希望大家一定要保護(hù)好自己的面部信息,不能隨便將自己的面部視頻發(fā)布出去。