SDM For Face Alignment流程介紹及Matlab代碼實現之測試篇

測試很簡單了,只需要載入數據,然后做正則化處理,使用訓練模型產生的{Rk},就可以預測特征點了。
face_alignment.m:用來預測特征點

function shape = face_alignment( ShapeModel, DataVariation,...LearnedCascadedModel, Data, img, shape, options )%% setup the fixed parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nData = length(Data);
shapeDim = size(ShapeModel.MeanShape,1);
n_init_randoms_test = options.n_init_randoms_test;MeanShape2 = vec_2_shape(ShapeModel.MeanShape);aligned_shape = zeros(n_init_randoms_test,shapeDim);%% detect the face region using face detectors or ground-truth %%%%%%%%%%%%
%% if using ground-truthboxes = detect_face( img , options );
%% predict the face boxbbox2 = get_correct_region2( boxes, shape,img, 1 );
bbox= [];if isempty(bbox)%% if using ground-truthbbox = getbbox(shape);
end%% randomize n positions for initial shapes
[rbbox] = random_init_position( ...bbox, DataVariation, n_init_randoms_test );
[rbbox2] = random_init_position( ...bbox2, DataVariation, n_init_randoms_test );
%% randomize which shape is used for initial position
rIdx = randi([1,nData],n_init_randoms_test);%% iterations of n initial points %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for ir = 1 : n_init_randoms_test%% get random positions and inital shape indexsidx    = rIdx(ir);init_shape = Data(idx).shape; %% get randomly shape from otherscbbox  = rbbox(ir,:);cbbox2  = rbbox2(ir,:);%init_shape = resetshape(cbbox, init_shape);init_shape = resetshape(cbbox, MeanShape2);init_shape2 = resetshape(cbbox2, MeanShape2);%test box between  ground-truth and face detectorif 0figure(1); imshow(img); hold on;draw_shape(init_shape(:,1), init_shape(:,2),'r');draw_shape(init_shape2(:,1), init_shape2(:,2),'g');hold on;rectangle('Position',  cbbox, 'EdgeColor', 'y');rectangle('Position',  cbbox2, 'EdgeColor', 'k');hold off;pause;end%% detect landmarks using cascaded regressionaligned_shape(ir,:) = cascaded_regress( ShapeModel, ...LearnedCascadedModel, img, init_shape, options );end
if n_init_randoms_test == 1shape = vec_2_shape(aligned_shape');
elseshape = vec_2_shape(mean(aligned_shape)');
endend

我們來看一下效果:


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259254.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259254.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259254.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flink – JobManager.submitJob

JobManager作為actor, case SubmitJob(jobGraph, listeningBehaviour) >val client sender()val jobInfo new JobInfo(client, listeningBehaviour, System.currentTimeMillis(),jobGraph.getSessionTimeout)submitJob(jobGraph, jobInfo) submitJob&#xff0…

window內容

window parent top location.href location.reload location.replace轉載于:https://www.cnblogs.com/carlos-guo/p/3391784.html

計算機類公務員如何提升自己,大學畢業才發現:所學專業對考公務員如此重要,4類專業上岸率高...

導語:畢業季來臨,同學們是想直接找工作積累工作經驗,還是繼續考取相關證書,來獲得更穩定職業的入場券?畢業抉擇很多畢業生面臨的第一個問題就是未來職業規劃,因為大學畢業之后,就意味著一段新的…

使用getline讀入

直接上代碼&#xff1a; 第一份&#xff1a;從cin 讀入多行數字&#xff0c;每行2個。當輸入完畢后&#xff0c;按2次回車結束 #include<iostream> #include <cstdio> #include <sstream> #include <string> #include <vector> #include <it…

POJ 1221

整數劃分 劃分成單峰的回文數列 dp[i][j] 表示 把i劃分&#xff0c;其中劃分的數不能大于j 1             i1或j1 dp[i][j]  dp[i][j-1]1         ji dp(i,j-1)dp(i-j,min(i-j,j)) i>j>1 1 #include <iostream>2 #include <cstd…

HYSBZ - 1050(旅行comf 并查集Java實現)

HYSBZ - 1050(旅行comf Java實現) 原題地址 解法&#xff1a;枚舉每一條邊&#xff0c;對于這條邊&#xff0c;我們需要找到集合中和其值相差最小的最大邊&#xff0c;這個集合是指與包括i邊在內的ST聯通集。對于這一要求&#xff0c;我們只需對所有的邊進行從小到大的排序&…

UVA 11401 - Triangle Counting

Problem G Triangle Counting Input: Standard Input Output: Standard Output You are given n rods of length 1, 2…, n. You have to pick any 3 of them & build a triangle. How many distinct triangles can you make? Note that, two triangles will be considere…

蘇州軟件測試11k工資要什么水平,3個月從機械轉行軟件測試,他的入職薪資是11K...

原標題&#xff1a;3個月從機械轉行軟件測試&#xff0c;他的入職薪資是11K只要找到適合自己的學習方式&#xff0c;成功轉行只是早晚的問題&#xff01;今天匯智妹給大家介紹的這位小伙伴&#xff0c;是咱們匯學聯盟平臺上的一位線上學員——小周。97年的小哥哥&#xff0c;19…

python idle 清屏問題的解決

在學習和使用python的過程中&#xff0c;少不了要與python idle打交道。但使用python idle都會遇到一個常見而又懊惱的問題——要怎么清屏?我在stackoverflow看到這樣兩種答案&#xff1a;1.在shell中輸入1 import os 2 os.system(cls) 這種方法只能在windows系統中cmd模式下的…

TCP/IP 原理--鏈路層

鏈路層作用&#xff1a; &#xff08;1&#xff09;為IP模塊發送和接收IP數據報&#xff1b; &#xff08;2&#xff09;為ARP發送ARP請求和接受ARP應答 &#xff08;3&#xff09;為RARP發送RARP請求和接受ARP應答 協議&#xff1a;以太網和SLIP協議 A.以太網協議數據封裝格式…

Sqoop拒絕連接錯誤

使用Sqoop遠程連接MySQL導入數據到HBase數據庫&#xff1a; sqoop import --driver com.mysql.jdbc.Driver --connect "jdbc:mysql://hzhiServer:3306/myssh?autoReconnecttrue" --table table_001 --username hadoop --password 1 --hbase-table table_001 --colum…

拆解凹多邊形

偶遇需要拆解凹多邊形 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media;namespace DrawPolygon {public static class Settings{public const float…

計算機教學的弊端,信息技術在教學中的利弊及解決對策

摘 要&#xff1a;信息技術教育已成為國家信息化事業的重要組成部分&#xff0c;是當今素質教育的重要內容之一。從闡述信息技術教育的內涵和發展階段出發&#xff0c;分析了當前信息技術在教學應用中的優勢和存在的問題&#xff0c;并提出了相應的解決對策。關鍵詞&#xff1a…

【轉】Linux命令之查看文件占用空間大小-du,df

原文網址&#xff1a;http://blog.csdn.net/wangjunjun2008/article/details/19840671 du(disk usage),顧名思義,查看目錄/文件占用空間大小#查看當前目錄下的所有目錄以及子目錄的大小$ du -h $ du -ah #-h:用K、M、G的人性化形式顯示 #-a:顯示目錄和文件 du -h tmp du -ah tm…

一個FORK的面試題

為什么80%的碼農都做不了架構師&#xff1f;>>> #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i0; i<2; i){ fork(); printf("-"); } wait(NULL); wait(NULL); return 0; }/c 如果…

C++11系列學習之二-----lambda表達式

C11添加了一項名為lambda表達式的新功能&#xff0c;通過這項功能可以編寫內嵌的匿名函數&#xff0c;而不必編寫獨立函數和函數對象&#xff0c;使得代碼更容易理解。lambda表達式的語法如下所示&#xff1a;[capture_block](parameters) exceptions_specification -> retu…

php四種基礎算法:冒泡,選擇,插入和快速排序法

許多人都說 算法是程序的核心&#xff0c;一個程序的好于差,關鍵是這個程序算法的優劣。作為一個初級phper&#xff0c;雖然很少接觸到算法方面的東西 。但是對于冒泡排序&#xff0c;插入排序&#xff0c;選擇排序&#xff0c;快速排序四種基本算法&#xff0c;我想還是要掌握…

GCPC2014 C Bounty Hunter

題意&#xff1a;給你一個平面上的點集&#xff08;x值各不相等&#xff09;&#xff0c;問你從最左邊走到最右邊&#xff08;只能以x遞增的順序&#xff09;&#xff0c;再從最右邊回到最左邊&#xff08;以x遞減的順序&#xff09;問你最短距離是多少。 解題思路&#xff1a;…

計算機啟動時運行ccleaner,Ccleaner的使用方法

ccleaner是一款非常好用的系統優化工具&#xff0c;它可以提升電腦速度&#xff0c;可以對上網歷史記錄、臨時文件夾、回收站垃圾清理、注冊表進行垃圾項掃描和清理、軟件卸載等功能&#xff0c;保護用戶的個人瀏覽隱私&#xff0c;為Windows系統騰出更多硬盤空間。下面小編就為…

PLSQL Developer軟件使用大全

PLSQL Developer軟件使用大全 第一章 PLSQL Developer特性 PL/SQL Developer是一個集成開發環境&#xff0c;專門面向Oracle數據庫存儲程序單元的開發。如今&#xff0c;有越來越多的商業邏輯和應用邏輯轉向了Oracle Server&#xff0c;因此&#xff0c;PL/SQL編程也成了整個開…