畢業(yè)照:基于百度API的人臉融合實現(xiàn)

背景

故事要從學(xué)校要求每人一張單人學(xué)士服照片說起,大叔今天周五下個早班后,便尋思著這個事情怎么弄,早就沒有學(xué)士服在身邊了,如何把自己那帥氣的臉Copy到學(xué)校給的模板中,想想自己也沒有那么高超PS水平。心想花一杯奶茶錢去找會美圖的同學(xué)修一下,但是出于編程的愛好,便想去度娘和論壇上看看有沒有同學(xué)用Demo去實現(xiàn)了,于是乎,就有了以下的故事情節(jié).....

尋找

在百度的過程中,發(fā)現(xiàn)確實有同學(xué)實現(xiàn)了,比如有采用華為ModelArts去實現(xiàn)的

在微信開放社區(qū)提供的云畢業(yè)照功能

更有人在CSDN里面分享采用深度偽造(Deepfake)技術(shù)去實現(xiàn)換臉的


比較

而大叔在打算站在巨人的肩膀上用其中一種方法實現(xiàn),但是想到開發(fā)環(huán)境的搭建,網(wǎng)友對于華為ModelArts的實現(xiàn)分享中,采用的是python,目前大叔的電腦里面木有;而深度偽造(Deepfake)技術(shù)和微信開放社區(qū)之前大叔也是沒有接觸過,咋辦?對了,還有百度AI開放平臺,網(wǎng)址為:
https://ai.baidu.com/

開始干活

在登錄進(jìn)去百度AI開放平臺后,可以直接在搜索框中搜索“人臉融合”


點擊進(jìn)去之后,你就會看到這個

點擊查看技術(shù)文檔,你就可以看到該功能的API對于各種語言的調(diào)用方式

看到這里,你可能對于上一張圖所顯示的費用使用方式望而卻步,大叔可以負(fù)責(zé)的告訴你,像百度這類的大廠,對于絕大多少的API調(diào)用都是有免費次數(shù)的,而你的功能一般在免費次數(shù)消耗完之前就實現(xiàn),因為你最多調(diào)用幾次,完善一下Demo你就把功能實現(xiàn)了,以下是大叔目前的調(diào)用次數(shù)


實現(xiàn)思路


百度人臉融合API調(diào)用思路
1、查看官方技術(shù)文檔,選擇開發(fā)語言了解access_token、AK、SK的獲取方式
2、搭建開發(fā)環(huán)境。(大叔用的是C#,環(huán)境上引用一些庫就OK了)
3、按照相關(guān)格式提供參數(shù),比如說該API要求的圖片上傳大小限制在1920x1080以下,不然程序獲取結(jié)果的時候,數(shù)組中的結(jié)果長度值為0


程序分享

大叔后期會把持續(xù)更新在自己的CSDN博客上,有興趣的同學(xué)可以去跑一下持續(xù),看看效果,或者直接點擊原文鏈接,看一看其他Demo。

大叔在CSDN的文章鏈接,持續(xù)更新中

效果圖片


學(xué)校給的單人學(xué)士服模板(模板圖片)

網(wǎng)上找到一張帥氣的胡歌照片(素材)

經(jīng)過百度人臉融合API實現(xiàn)的學(xué)士服胡歌(最后的效果圖)

翻車現(xiàn)場

我瞅著最后出來的胡歌效果圖那么好看,也就給自己整了一張,結(jié)果,翻車了。。。。

可能是模板圖片的臉太大了。。

結(jié)尾

今天雖然實現(xiàn)了這個小功能,這個算法很牛,但是不是我寫的,因為我依舊是站在百度和其他網(wǎng)友的肩膀上去實現(xiàn)的,這就類似于自己現(xiàn)在的工作,還是在前輩們的框架下修修改改,什么時候我也能實現(xiàn)這么一個牛氣沖天的Demo,害,繼續(xù)熬夜肝代碼。
