日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

人脸关键点

發(fā)布時(shí)間:2025/7/25 pytorch 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 人脸关键点 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址:http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375

作為計(jì)算機(jī)視覺(jué)研究員,我們很早就開(kāi)始研究人臉。人臉?lè)治鲱I(lǐng)域最廣為人知的就是人臉識(shí)別(face recognition).但是為了識(shí)別一幅圖像中的人臉,我們首先必須要找到圖像中人臉的位置。因此人臉檢測(cè)(face detection)-定位一幅圖像中的人臉并且返回一個(gè)包圍人臉的矩形或者正方形(bounding rectangle/square)是一個(gè)熱門(mén)的研究領(lǐng)域。2001年,Paul Viola 和Michael Jones 發(fā)表了史詩(shī)級(jí)論文<< “Rapid Object Detection using a Boosted Cascade of Simple Features.>>.在OpenCV早期甚至某種程度下在現(xiàn)在,OpenCV的致命武器就是對(duì)
Viola and Jones face detector的一個(gè)比較好的實(shí)現(xiàn)。

一旦你找到了人臉附近的包圍盒,最顯然的研究當(dāng)然是準(zhǔn)確識(shí)別人臉不同特征的位置(比如,眼角、瞳孔、嘴巴、鼻子等)。人臉特征檢測(cè)(face feature detection)也稱(chēng)為 “facial landmark detection”, “facial keypoint detection” and “face alignment”,你可以在Google找到類(lèi)似的文獻(xiàn)。

Facial Keypoint Detection

人臉關(guān)鍵點(diǎn)檢測(cè)有很多應(yīng)用。如下做了一些列舉:

Facial feature detection improves face recognition

人臉特征點(diǎn)可以被用來(lái)將人臉對(duì)齊到平均人臉(mean face shape),這樣在對(duì)齊之后所有圖像中的人臉特征點(diǎn)的位置幾乎是相同的。直觀(guān)上來(lái)看,用對(duì)齊后的圖像訓(xùn)練的人臉識(shí)別算法更加有效,這個(gè)直覺(jué)已經(jīng)被很多論文驗(yàn)證。

Head pose estimation

一旦你知道了一些特征點(diǎn)的位置,你也可以估計(jì)頭部的姿勢(shì)。換句話(huà)說(shuō),你可以解決頭部在空間中的定向問(wèn)題,或者通俗的講就是人朝那里看的問(wèn)題。

Face Morphing (人臉變形)

人臉特征點(diǎn)可以對(duì)齊人臉,這樣可以生成兩張人臉的中間圖像。如下圖:

Virtual Makeover(虛擬化妝)

在我的公司
我們已經(jīng)寫(xiě)了自己的人臉特征點(diǎn)檢測(cè)器。檢測(cè)出的特征點(diǎn)被用來(lái)計(jì)算嘴的輪廓,眼睛等用來(lái)渲染虛擬化妝。Figure2z展示了這一效果:

Face Replacement

如何兩張人臉的特征點(diǎn)已經(jīng)估計(jì)出來(lái)了,你可以將一張人臉對(duì)齊到另一張人臉,并且可以無(wú)縫換臉。你也可以做像下面一樣傻瓜的事。
https://auduno.github.io/clmtrackr/examples/facesubstitution.html

先前的報(bào)告中,我們展示了如何使用人臉特征點(diǎn)去預(yù)測(cè)人臉的吸引力。

很明顯,在圖片和視頻上進(jìn)行人臉特征點(diǎn)檢測(cè)為許多有趣的應(yīng)用提供了很多的可能性。下面我們就將介紹一些有用的特征點(diǎn)檢測(cè)工具。

Facial Feature Detection & Tracking Libraries

過(guò)去五年來(lái),這個(gè)領(lǐng)域很火,部分原因是大量可以用來(lái)訓(xùn)練的數(shù)據(jù)如LFPW、Helen被提供。我在下一節(jié)列了很多論文。但是我不建議胡亂實(shí)現(xiàn)這些論文,因?yàn)橐呀?jīng)有開(kāi)源的實(shí)現(xiàn)。

下面的視頻中,你可以看到兩個(gè)庫(kù)DlibCLM-framework.
http://7xrqgw.com1.z0.glb.clouddn.com/dlib_clm.mp4

Dlib(C++/Python)

Dlib是機(jī)器學(xué)習(xí),計(jì)算機(jī)視覺(jué),圖像處理,線(xiàn)性代數(shù)中眾多算法的集合。庫(kù)中大多數(shù)是頭文件,你可以直接直接包含在C++應(yīng)用中。或者你更喜歡Python?沒(méi)問(wèn)題,他也有一個(gè)Python接口.

我個(gè)人更喜歡Dlib因?yàn)榇a是簡(jiǎn)潔的,有大量的注釋,也可以被用來(lái)商用。他們選擇實(shí)現(xiàn)的算法是非常快的,并且是準(zhǔn)確的,你可以很容易集成這個(gè)庫(kù)到你的C++工程中,而你需要做的僅僅是包含頭文件.

如何編譯Dlib?

  • 從Github上下載:
  • git clone https://github.com/davisking/dlib.git
    • 1
    • 1
  • 建立Examples(OSX\Linux)
  • cd dlib/examples mkdir build cd build cmake .. cmake --build . --config Release
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5

    這些例子是一個(gè)開(kāi)始使用Dlib的非常好的方法。拷貝一個(gè)例子的cpp文件,修改它,修改examples/CMakeLists.txt 并且像上面一樣再一次編譯它。很容易吧!
    3. 編譯dlib python 模塊

    cd dlib/python_examples ./compile_dlib_python_module.bat
    • 1
    • 2
    • 1
    • 2
  • 設(shè)置 PYTHONPATH 環(huán)境變量
  • # Put the following line in .bashrc or .profile export PYTHONPATH=/path/to/dlib/python_examples:$PYTHONPATH
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
  • 測(cè)試python模塊
  • python -c "import dlib"
    • 1
    • 1

    如果以上都沒(méi)有問(wèn)題的話(huà),你就設(shè)置好了。

    How to run Dlib’s facial landmark detector ?

    當(dāng)你編譯好examples后,為了在網(wǎng)絡(luò)攝像頭上運(yùn)行人臉特征點(diǎn)檢測(cè)器,可以這樣做:

    cd examples/build/ #Download the face landmark model wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 tar xvjf shape_predictor_68_face_landmarks.dat.bz2 ./webcam_face_pose_ex
    • 1
    • 2
    • 3
    • 4
    • 5
    • 1
    • 2
    • 3
    • 4
    • 5

    如果你想要在單個(gè)圖像上運(yùn)行,你可以這樣試試:

    ./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat faces/*.jpg
    • 1
    • 2
    • 1
    • 2

    CLM-Framework (C++)

    CLM-framework,也被稱(chēng)為劍橋人臉跟蹤器,是一個(gè)用來(lái)進(jìn)行人臉特征點(diǎn)檢測(cè)和頭部姿勢(shì)估計(jì)的C++庫(kù)。你可以看看他在包含的video文件里工作的多么好啊!在OSX上編譯這個(gè)庫(kù)有點(diǎn)兒挑戰(zhàn)但是也不太難。庫(kù)依賴(lài)于OpenCV3和X11.

    有兩個(gè)重要的事說(shuō)明Dlib可以挑戰(zhàn)CLM-Framework。首先,Dlib比CLM-Framework更快。其次,Dlib的license允許你商用。如果要挑一個(gè)的,我會(huì)使用Dlib.有趣的是,CLM-Framework依賴(lài)于Dlib.

    如何編譯CLM-Framework?

    編譯CLM-Framework在OSX上有點(diǎn)兒復(fù)雜。對(duì)于Windows和Linux,這里有一份詳細(xì)的說(shuō)明.為了在OSX上編譯version 1.3.0,我使用了linux的指示,但是發(fā)生了很多改變。

    許多依賴(lài)項(xiàng)可以使用brew安裝.

    在文件CMakeLists.txt(如下劃掉的被后面的取代)

    find_package( OpenCV 3.0 REQUIRED )

    find_package( OpenCV 3.0 REQUIRED HINTS /path/to/opencv )

    INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})

    INCLUDE_DIRECTORIES(/opt/X11/include)

    在文件exe/SimpleCLM/SimpleCLM.cpp中

    writerFace = VideoWriter(tracked_videos_output[f_n], CV_FOURCC(‘D’,’I’,’V’,’X’), 30, captured_image.size(), true);

    writerFace = VideoWriter(tracked_videos_output[f_n], CV_FOURCC(‘M’,’P’,’4′,’V’), 15, captured_image.size(), true);

    如何運(yùn)行CLM-Framework人臉檢測(cè)器?

    編譯后,可執(zhí)行文件在bin路徑中.對(duì)于視頻中展現(xiàn)的網(wǎng)絡(luò)攝像頭Demo,你可以這樣使用:

    bin/SimpleCLM
    • 1
    • 1

    Face++ ( FacePlusPlus ) : Web API

    人臉特征點(diǎn)檢測(cè)最好的實(shí)現(xiàn)之一就是Face++.他們?cè)?00 Faces in-the-Wild
    Landmark Detection Challenge,2013取得了冠軍。他們提供了一個(gè)易用的API。問(wèn)題是你需要上傳一張圖片到他們的服務(wù)器,這個(gè)將帶來(lái)很多隱私上的擔(dān)憂(yōu)。但是如果隱私不是問(wèn)題的話(huà),Face++是一個(gè)好的選擇。你可以在
    http://www.faceplusplus.com/demo-landmark/
    看到一個(gè)Demo.

    Facial Feature Detection Research

    許多不同的方法都可以用來(lái)解決這個(gè)問(wèn)題。很難再博客中對(duì)其歸類(lèi)。我簡(jiǎn)單地列出了一些重要論文。
    1. Active Appearance Model (AAM) by T. Cootes, G. Edwards and C. J. Taylor. [1998]
    2. Face Alignment through Subspace Constrained Mean-Shifts by Jason M. Saragih, Simon Lucey and Jeffrey F. Cohn. [2009]
    3. Localizing Parts of Faces Using a Consensus of Exemplars by Peter N. Belhumeur, David W. Jacobs, David J. Kriegman, Neeraj Kumar [ 2011 ]
    4. Face Alignment by Explicit Shape Regression by Xudong Cao Yichen Wei Fang Wen Jian Sun [2012]
    5. Supervised Descent Method and Its Applications to Face Alignment by Xuehan Xiong and Fernando De la Torre [2013]
    6. Constrained Local Neural Fields for robust facial landmark detection in the wild by Tadas Baltrusaitis, Peter Robinson, and Louis-Philippe Morency. [2013]
    7. Extensive Facial Landmark Localization with Coarse-to-fine Convolutional Network Cascade by Erjin Zhou, Haoqiang Fan, Zhimin Cao, Yuning Jiang and Qi Yin. [2013]
    8. Face alignment at 3000 fps via regressing local binary features by S Ren, X Cao, Y Wei, J Sun. [2014]
    9. Facial Landmark Detection by Deep Multi-task Learning by Zhanpeng Zhang, Ping Luo, Chen Change Loy, and Xiaoou Tang. [2014]
    10.One Millisecond Face Alignment with an Ensemble of Regression Trees by Vahid Kazemi and Josephine Sullivan. [2014]

    總結(jié)

    以上是生活随笔為你收集整理的人脸关键点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。