2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

這個(gè)技術(shù)讓我毛骨悚然后背發(fā)涼!

 萬皇之皇 2019-03-26

說的是一位博主將 1994 年版《射雕英雄傳》里朱茵的臉換成了楊冪的臉。因?yàn)樵撘曨l涉及到版權(quán)問題已被下架,但大家可以看看圖片對(duì)比來感受一下“移花接木”效果:

是不是足夠可以以假亂真了!這樣的視頻用一款實(shí)時(shí)視頻仿真軟件 Face2Face 就可以達(dá)到,在軟件中輸入一個(gè)說話的人臉錄像,通過算法生成對(duì)應(yīng)的人臉模型,套用這個(gè)模型就可以創(chuàng)造 DeepFakes。最恐怖的是,這個(gè)逼真的效果看起來毫無違和感。

讓我們一起來看看 AI 換臉背后的原理:

人臉檢測(cè) → 多人臉區(qū)域分別做面部關(guān)鍵點(diǎn)檢測(cè) → 面部區(qū)域分割 → 圖像線性融合

順著這個(gè)思路,我們可以看到 AI 換臉里最重要的一環(huán)就是人臉檢測(cè),要進(jìn)行人臉識(shí)別,得經(jīng)過這么幾個(gè)過程:

人臉檢測(cè) → 人臉對(duì)齊 → 提取特征編碼 → 編碼比對(duì)

人臉檢測(cè):就是定位一張圖片中人臉的位置。

人臉對(duì)齊:就是根據(jù)人臉中五個(gè)特征點(diǎn)位置(兩個(gè)眼睛、兩個(gè)嘴角、鼻子)將人臉縮放到一定的尺寸。

提取特征編碼:通過訓(xùn)練一個(gè)人臉識(shí)別模型來提取人臉特征編碼。

編碼比對(duì):將某個(gè)人臉的編碼與編碼庫中的編碼進(jìn)行對(duì)比,得出距離或相似度。

01

實(shí)現(xiàn) AI 換臉的第一步

以下關(guān)于人臉檢測(cè)、人臉對(duì)齊均使用基于 Tensorflow 的 MTCNN 模型,生成特征編碼使用基于 Mxnet 的 Insightface 模型。

圖為人臉?biāo)阉髡w架構(gòu)設(shè)計(jì):

首先,我們會(huì)下載 Insightface 源碼及其訓(xùn)練好的模型文件,在這個(gè)源碼的基礎(chǔ)上,我們開發(fā)一個(gè) API 程序,程序調(diào)用模型進(jìn)行人臉檢測(cè)、人臉對(duì)齊、生成特征編碼,然后完成人臉入庫、人臉?biāo)阉鞴δ堋?/strong>

該程序主要使用 Flask 來進(jìn)行 API 開發(fā),使用 Annoy 來進(jìn)行人臉特征向量搜索。在部署上,使用 Docker 容器部署 Python 環(huán)境,讓 API 程序運(yùn)行在 Docker 容器中,使用 Gunicorn 來啟動(dòng) Flask 程序。

另外,使用 Nginx 部署一個(gè)圖片服務(wù)器,用于前端的圖片展示,也是運(yùn)行在 Docker 容器中。最后,我們?cè)偬峁┮粋€(gè)簡(jiǎn)單 Web 頁面,該頁面允許用戶進(jìn)行入庫、搜索操作(調(diào)用后端的人臉入庫、搜索 API )。

最終的 Web 頁面展示如下:

02

人臉?biāo)阉鲗?shí)現(xiàn)

首先你得有一個(gè) Linux 環(huán)境,可以通過 VMware 構(gòu)建一個(gè) Ubuntu 16.04 的環(huán)境, iso 文件為 ubuntu-16.04.5-desktop-amd64.iso 。

考慮到方便大家照著做,而且大家可能沒有 GPU 環(huán)境,所以以下構(gòu)建環(huán)境我均使用 CPU 。

1. 克隆項(xiàng)目并修改相關(guān)源碼

將 /opt/insightface/src/api/face_model 第 61 行

改為

將第 34 行

改為:

下載作者訓(xùn)練好的模型文件。

將模型文件解壓至 /opt/insightface/models ,目錄結(jié)構(gòu)如下:

2. 編寫人臉入庫、搜索 API 程序

這里我們利用訓(xùn)練好的模型文件,使用 Flask 編寫一個(gè)人臉特征編碼入庫、搜索 API 。我們將入庫的特征編碼存于程序中的一個(gè)數(shù)組里面。

首先,我們先創(chuàng)建用于圖片入庫及圖片搜索的目錄。

然后編碼 API 程序,在 

/opt/insightface/src/api 創(chuàng)建 app_flask.py 。

代碼詳見 Github。

3. 安裝 Docker

安裝軟件,我一般從官網(wǎng)去獲取安裝操作說明,讓自己在安裝過程中少走些彎路。

4. 構(gòu)建 Docker Nginx 圖片服務(wù)器鏡像

我們要做人臉?biāo)阉飨到y(tǒng),在前端頁面就是要上傳一張圖片,然后點(diǎn)擊“搜索”按鈕,在頁面上顯示人臉庫中與該圖片相似度最高的 top6 圖片,所以我們要用到圖片服務(wù)器,使用 url 進(jìn)行圖片展示。

我們首先要?jiǎng)?chuàng)建一個(gè)圖片根目錄。

然后使用 Docker 拉取一個(gè) Nginx 鏡像。

然后我們就可以啟動(dòng)容器了:

通過瀏覽器訪問 http://192.168.247.128:8082/

5. 構(gòu)建 Docker Insightface 鏡像

我們從一個(gè)基礎(chǔ)鏡像 python:3.5 來構(gòu)建我們的 Insightface 鏡像

然后我們使用 Dockerfile 來構(gòu)建 Insightface 鏡像,主要是進(jìn)行 Python 庫環(huán)境的安裝,比如 Tensorflow、Mxnet 。

最后,讓我們連續(xù)入庫 5 張梁靜茹和 1 張陳慧嫻的照片,然后用第 6 張梁靜茹的照片來搜索,效果圖如下:

最后,以上并非完整全文,提示大家如果有 Gpu 環(huán)境的話,可以使用 Gpu 來進(jìn)行模型推理,以上操作我均使用 root 用戶。本文所提到的代碼都上傳到我的 Github 上了。

Chat:手把手教你做人臉?biāo)阉飨到y(tǒng)

掃碼閱讀全文

獲取源碼 Github 地址

馬上進(jìn)行 AI 換臉實(shí)踐

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多