• 大小: 5.19MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-11
  • 语言: Matlab
  • 标签: matlab  

资源简介

三维人脸重建 本文提出了一种基于立体的三维人脸重建方法。该算法基于不同视角下的图像对,对人脸进行深度估计。然后,通过部署深度信息生成面的表面网格。为了提高深度估计的精度,利用了人脸的特征。

资源截图

代码片段和文件信息

function [F] = face( sigmaMNwin_sizefeatures_mdisparity_feature_pointsdispartity1_refmask_middle)

w=(win_size-1)/2;

gaussians = zeros(MN74);
for i=1:68
    x=uint32(features_m(i1));
    y=uint32(features_m(i2));
    gaussians(y-w:y+wx-w:x+wi) = fspecial(‘gauss‘win_size20);
end

c1 = uint32(features_m(2:) + (features_m(30:)-features_m(2:))/3);
c2 = uint32(features_m(4:) + (features_m(32:)-features_m(4:))/2);
c3 = uint32(features_m(36:) + (features_m(14:)-features_m(36:))/2);
c4 = uint32(features_m(30:) + (features_m(16:)-features_m(30:))/3);
c5 = uint32(features_m(2:) + 2*(features_m(30:)-features_m(2:))/3);
c6 = uint32(features_m(30:) + 2*(features_m(16:)-features_m(30:))/3);

gaussians(c1(2)-w:c1(2)+wc1(1)-w:c1(1)+w69) = fspecial(‘gauss‘win_sizesigma(11));
gaussians(c2(2)-w:c2(2)+wc2(1)-w:c2(1)+w70) = fspecial(‘gauss‘win_sizesigma(11));
gaussians(c3(2)-w:c3(2)+wc3(1)-w:c3(1)+w71) = fspecial(‘gauss‘win_sizesigma(11));
gaussians(c4(2)-w:c4(2)+wc4(1)-w:c4(1)+w72) = fspecial(‘gauss‘win_sizesigma(11));
gaussians(c5(2)-w:c5(2)+wc5(1)-w:c5(1)+w73) = fspecial(‘gauss‘win_sizesigma(11));
gaussians(c6(2)-w:c6(2)+wc6(1)-w:c6(1)+w74) = fspecial(‘gauss‘win_sizesigma(11));

disp=zeros(741);
disp(1:681) = disparity_feature_points;
w1=dispartity1_ref(c1(2)-w:c1(2)+wc1(1)-w:c1(1)+w);
w2=dispartity1_ref(c2(2)-w:c2(2)+wc2(1)-w:c2(1)+w);
w3=dispartity1_ref(c3(2)-w:c3(2)+wc3(1)-w:c3(1)+w);
w4=dispartity1_ref(c4(2)-w:c4(2)+wc4(1)-w:c4(1)+w);
w5=dispartity1_ref(c5(2)-w:c5(2)+wc5(1)-w:c5(1)+w);
w6=dispartity1_ref(c6(2)-w:c6(2)+wc6(1)-w:c6(1)+w);

disp(691) = sum(sum(w1))/sum(sum(w1~=0));
disp(701) = sum(sum(w2))/sum(sum(w2~=0));
disp(711) = sum(sum(w3))/sum(sum(w3~=0));
disp(721) = sum(sum(w4))/sum(sum(w4~=0));
disp(731) = sum(sum(w5))/sum(sum(w5~=0));
disp(741) = sum(sum(w6))/sum(sum(w6~=0));


tot=sum(gaussians3);
for i=1:74 
    gaussians(::i)=gaussians(::i)./tot;
end

F =  zeros(MN);
fo=zeros(741);
for k=1:M
    for l=1:N
        if mask_middle(kl)==1
            fo(:1)=gaussians(kl:);
            F(kl) = sum(fo.*disp);
        end
    end 
end

%Smooth 
% h=fspecial(‘gauss‘10020);
% F=imfilter(Fh);

%Cost function
%J = sum(sum((dispartity1_ref_out - F).^2));

end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2278  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\face.m

     文件       2298  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\face_mask_extraction.m

     文件       2817  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\interF.m

     文件    5501219  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\ipcv_project_TURKOGLU.pdf

     文件        451  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\k_means.m

     文件       9283  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\main.m

     文件       1996  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\mesh_create_func.m

     文件        391  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master\README.md

     目录          0  2019-01-08 16:21  3D_face_reconstruction_from_stereo_pairs-master

----------- ---------  ---------- -----  ----

              5520733                    9


评论

共有 条评论