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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

face alignment by 3000 fps系列学习总结

發布時間:2023/12/10 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 face alignment by 3000 fps系列学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們主要講一講Github上給出的matlab開源代碼《jwyang/face-alignment》的配置。
首先聲明:本人第一次配置的時候也是參考了csdn一個作者和github給出的說明配置成功的。其實后來想想很簡單的,但是可能對于初學者,還是有一定的困難。為此,本人將自己的一些心得列出來,以供參考。
另外,本人對代碼做了詳盡的注釋,代碼下載地址:http://pan.baidu.com/s/1nu58xx3

  • 下載源代碼:https://github.com/jwyang/face-alignment
  • 環境:windows64位+matlab2014a
  • 下載數據庫,本人給出自己收集的一個數據集。見百度網盤(密碼:in)。注意:我們這里訓練的是68個特征點的,我那個數據集還有29個點和194個點的。
  • 為代碼中的訓練樣本函數的依賴庫liblinear做配置,從http://www.csie.ntu.edu.tw/~cjlin/liblinear/,可以直接下載liblinear庫,然后如果你的系統是windows64位的就直接從里面的windows文件夾中將里面的文件全部拷貝到matlab的工程文件夾中(我就是這樣干的,當然你也可以自己編譯,參考文獻:http://blog.sina.com.cn/s/blog_5bd2cb260100ev25.html)。(本人也上傳了一個下好的liblinear庫)
  • 準備數據,建立一個文件夾叫datasets,里面可以放你下好的數據,包括圖片和shape txt.
  • 因為train_model.m文件中
  • for i = 1:length(dbnames)% load training samples (including training images, and groundtruth shapes)if strcmp(dbnames{i},'lfpw')==1imgpathlistfile = strcat('./datasets/', dbnames{i}, '/trainset/Path_Images.txt');elseimgpathlistfile = strcat('./datasets/', dbnames{i}, '/Path_Images.txt');endtr_data = loadsamples(imgpathlistfile, 2);Tr_Data = [Tr_Data; tr_data]; end

    表示讀入訓練樣本的數據的文件是Path_Images.txt,所以進入控制臺(cmd)先轉到目錄../datasets/afw,然后輸入命令dir /b/s/p/w .jpg>Path_Images.txt,這是將所有jpg的文件的文件名都輸入到Path_Images.txt文件中,同樣轉到目錄../datasets/lfpw/trainset文件夾中輸入命令dir /b/s/p/w .png>Path_Images.txt,因為lfpw的數據都是png文件。注意train數據集和test數據集都要做一遍。

    注意:afw,ibug都是只有一個數據集,而lfpw分為兩個,一個訓練集,一個測試集。
    7. 然后我們開始訓練樣本,在matlab文件夾下新建一個m文件,例如我這里建的是:train_start.m,然后里面輸入一下代碼:

    filepath_model='./models/LBFRegModel.mat';LBFRegModel=train_model({'lfpw'});save(filepath_model,'LBFRegModel');

    和《Face Alignment at 3000FPS工程配置》略有不同,其實本質一樣。都是為了保存訓練好的數據。只不過他分開保存,我一塊而保存而已。

    然后執行,訓練樣本的時間可能會過長。目的是將訓練后的結果導入LBFRegModel.mat文件夾中.當訓練完畢后,可以在./models文件夾下看到LBFRegModel.mat。
    8. 觀看結果。在matlab文件夾下新建一個m文件,例如我這里建的是:test_start.m,在里面輸入下面代碼:

    filepath_model='./models/LBFRegModel.mat'; m=load(filepath_model,'LBFRegModel'); t=m.LBFRegModel; [predshapes,Data]=test_model({'lfpw'},t); [X,Y,N]=size(predshapes); for i=1:Nshapes=predshapes(:,:,i);img=Data{i}.img_gray;drawshapes(img, [shapes,Data{i}.shape_gt]);rectangle('Position', Data{i}.bbox_facedet, 'EdgeColor', 'b');hold off;pause; end

    就可以看到結果了。
    PS: Github上有作者自己訓練的一個模型。使用時只需放在models里面,并將test_start.m中改為filepath_model=’./models/LBFRegModel_best.mat’;再將./src/config_te.m打開,將models/config_te_best.txt的內容復制進來即可。

    另外:關于3000fps方法,網上也有許多好的資料,這里給出兩個鏈接:
    http://blog.luoyetx.com/2015/08/face-alignment-at-3000fps/#
    http://freesouls.github.io/2015/06/07/face-alignment-local-binary-feature/(中間求特征樹有一點問題,可以參考文中后面的答復).

    后面,我會詳細講解這個matlab代碼的原理,重點是預處理和訓練,測試基本和訓練相同。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的face alignment by 3000 fps系列学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。