国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

川普撞臉希拉里(基于 OpenCV 的面部特征交換)

SunZhaopeng / 1318人閱讀

摘要:美國開國領(lǐng)袖們?nèi)绻吹矫绹癖娭荒茉谙@锖痛ㄆ罩羞x擇,估計(jì)要集體氣活過來。本教程由發(fā)布在實(shí)驗(yàn)樓,完整教程及在線練習(xí)地址川普撞臉希拉里基于的面部特征交換一教程介紹內(nèi)容簡(jiǎn)介通過庫來實(shí)現(xiàn)人臉面部特征交換。

話說這次美國大選可謂賺足了眼球,在美國史上,恐怕沒有哪一年的總統(tǒng)大選會(huì)像今年一樣詭譎和熱鬧。 美國開國領(lǐng)袖們?nèi)绻吹矫绹癖娭荒茉谙@锖痛ㄆ罩羞x擇,估計(jì)要集體氣活過來。
作為一個(gè)閑得蛋疼的吃瓜群眾,今天就拿這對(duì)冤家做例子,看如何利用OpenCV來實(shí)現(xiàn)將希拉里的臉安在川普臉上。當(dāng)然,你還可以舉一反三,把吳彥祖的臉安到自己臉上試試效果......

項(xiàng)目簡(jiǎn)介:通過 OpenCV 庫來實(shí)現(xiàn)人臉面部特征交換,其實(shí)就是將第二張人臉的眼睛、鼻子和嘴巴通過程序自動(dòng)裁剪適配并覆蓋到第一張人臉上,并且為了使得修改后的照片看著更加自然,我們還需要調(diào)整皮膚顏色。
本教程由one_magician發(fā)布在實(shí)驗(yàn)樓,完整教程及在線練習(xí)地址:川普撞臉希拉里(基于 OpenCV 的面部特征交換)

一、教程介紹 1.1 內(nèi)容簡(jiǎn)介

通過 OpenCV 庫來實(shí)現(xiàn)人臉面部特征交換。

1.2 知識(shí)點(diǎn)

人臉特征交換程序設(shè)計(jì)思路

OpenCV 庫的使用

dlib 庫的使用

docopt 庫的使用

1.3 效果圖(自帶護(hù)目鏡)

這是原圖。


轉(zhuǎn)換之后的結(jié)果是這樣的。

前方高能

前方高能

前方高能

前方高能

二、環(huán)境配置

所謂“工欲善其事,必先利其器”,開始編寫代碼之前我們需要先把用到的庫安裝好。

依賴的庫有:

dlib

opencv

docopt

2.1 安裝 dlib

dlib 是一個(gè)基于 C++ 編寫的擴(kuò)展庫,包含有許多常用的機(jī)器學(xué)習(xí)算法以及圖像處理函數(shù)。并且還支持大量的數(shù)值計(jì)算,如矩陣、大整數(shù)隨機(jī)運(yùn)算等。但是在編譯安裝 dlib 之前我們還需要先給系統(tǒng)裝上各種依賴環(huán)境,步驟如下。

安裝 Python 的開發(fā)庫 python3-devpython3-setuptools

$ sudo apt-get update
$ sudo apt-get install python3-dev python3-setuptools

另外還要安裝 Boost Python 開發(fā)文件,它為 Python 編程提供了簡(jiǎn)單易用的 C++ 函數(shù)庫接口。

$ sudo apt-get install libboost-python-dev

dlib 本來可以直接通過 pip3 指令進(jìn)行編譯安裝,但是由于虛擬機(jī)的內(nèi)存資源不足無法完成編譯,因此我這里提供一份編譯好的 dlib 動(dòng)態(tài)庫。可以通過 wget 命令進(jìn)行下載,并將 dlib.so 復(fù)制到 /usr/local/lib/python3.4/dist-packages/ 目錄之下,這樣就可以全局使用該模塊了。

$ wget http://labfile.oss.aliyuncs.com/courses/686/dlib.so
$ sudo cp dlib.so /usr/local/lib/python3.4/dist-packages/
2.2 安裝 OpenCV

OpenCV 是一款功能強(qiáng)大的跨平臺(tái)計(jì)算機(jī)視覺開源庫,可以用于解決人機(jī)交互、物體檢測(cè)、人臉識(shí)別等領(lǐng)域的問題。庫本身是采用 C++ 編寫的,但是同時(shí)也對(duì) Python, Java, C# 等語言提供接口支持。

本門課程考慮到 OpenCV 的安裝過程相對(duì)較繁瑣且耗時(shí)較長(zhǎng),因此實(shí)驗(yàn)環(huán)境已經(jīng)配置好 OpenCV 3.1 的環(huán)境。

2.3 安裝 docopt

docopt 是 Python 的一個(gè)第三方參數(shù)解析庫,可以根據(jù)使用者提供的文檔描述自動(dòng)生成解析器。因此使用者可以用它來定義交互參數(shù)與解析參數(shù)。

安裝 docopt 庫的過程就非常簡(jiǎn)單了。

$ sudo pip3 install docopt
三、設(shè)計(jì)思路

我們先來考慮一下這個(gè)程序需要完成的兩大個(gè)功能。

支持從命令行獲取指定圖像路徑

讀取指定圖像并進(jìn)行處理保存

事實(shí)上,第一點(diǎn)要求通過借助 docopt 庫可以非常快速便捷地構(gòu)建命令行解析器,具體用法在后續(xù)將會(huì)詳細(xì)介紹。

而第二點(diǎn)才是我們真正需要關(guān)注的問題。想象一下在現(xiàn)實(shí)生活中,給你兩張人像照片,現(xiàn)在要求你將他們的臉部特征交換一下(本次實(shí)驗(yàn)中的臉部特征主要指眉毛、眼睛、鼻子和嘴巴組合而成的部位),那么最簡(jiǎn)單的方法就是將第二個(gè)人臉部特征部分剪下拼接到第一個(gè)人的照片上。所以事實(shí)上,我們的程序?qū)崿F(xiàn)也是在模仿這一個(gè)過程。但是程序并不知道哪些部分是眉毛、眼睛、鼻子或者嘴巴,在電腦看來這些圖片僅僅是一連串二進(jìn)制數(shù),所以我們還需要利用 dlib 庫中的機(jī)器學(xué)習(xí)算法來幫助我們檢測(cè)并標(biāo)記這些特征部位。

所以我們的處理方法主要分為以下幾個(gè)步驟。

借助 dlib 庫檢測(cè)出圖像中的臉部特征

計(jì)算將第二張圖像臉部特征對(duì)齊到一張圖像臉部特征的變換矩陣

綜合考慮兩張照片的面部特征獲得合適的面部特征掩碼

根據(jù)第一張圖像人臉的膚色修正第二張圖像

通過面部特征掩碼拼接這兩張圖像

保存圖像

好吧,也許步驟看起來有些多,暫時(shí)看不懂也沒關(guān)系,跟著教程把項(xiàng)目做一遍,你將會(huì)對(duì)這些概念慢慢熟悉起來。

本項(xiàng)目教程的詳細(xì)步驟和全部代碼,可以在實(shí)驗(yàn)樓查看并在線完成:川普撞臉希拉里(基于 OpenCV 的面部特征交換)
項(xiàng)目來源于 https://github.com/matthewearl/faceswap ,該項(xiàng)目基于 MIT 許可證。

系統(tǒng)化的Python學(xué)習(xí)路徑:Python研發(fā)工程師
更多經(jīng)典練手項(xiàng)目:全部項(xiàng)目

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44243.html

相關(guān)文章

  • 前端簡(jiǎn)單面部識(shí)別

    摘要:前言過年了,來點(diǎn)有趣的東西最近一直在嘗試通過如何視頻,怎么捕捉視頻的行為,給視頻加點(diǎn)好玩的東西比如給視頻加一個(gè)胡子以下記錄一下最近的玩具點(diǎn)擊這里看自己的效果需要允許攝像頭呀效果效果大概如下就是給視頻的臉上加個(gè)胡子我手機(jī)上有防藍(lán)光的膜,各位大 前言 過年了,來點(diǎn)有趣的東西 最近一直在嘗試通過web如何DIY視頻,怎么捕捉視頻的行為,給視頻加點(diǎn)好玩的東西,比如給視頻加一個(gè)胡子? 以下記錄一...

    econi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<