Closed Jamesli0123 closed 3 years ago
Hi James,
Sorry I did not get your question. Can you please explain it in a bit more details?
The .vts files I have are for the remeshed dataset. For example, the original SCAPE dataset has 12500 vertices for each shape, to avoid overfitting, we independently downsampled each shape in the dataset to a mesh with around 5k vertices. Then I tried to preserve the ground-truth correspondences (though not as accurate as the original one-to-one correspondences). And I saved those "ground-truth" to the .vts files;
Therefore, lets say:
S1 = read_shape(s1_name.off)
S2 = read_shape(s2_name.off)
lmk1 = load(s1_name.vts)
lmk2 = load(s2_name.vts)
T12_gt = nan(S1.nv,1)
T12_gt(lmk1) = lmk2
T12_eval = load("your_computed_matches.txt")
err = eval_geodist_on_S2(T12_eval(lmk1), lmk2)
Here T12_gt is the ground-truth map between S1 and S2 (note that there might be some NaN with missing correspondence since after remeshing we lost the one-to-one correspondences); T12_eval is some map to evaluation, we just need to evaluate its geodesic distance to the ground-truth, i.e., between the T12_eval(lmk1) and lmk2 on the S2.
Hope this helps.
Best regards, Jing
Dear professor,Sorry for my bad English, but you solved my confusion,really thanks.Best wishes, Jamesli
------------------ 原始邮件 ------------------ 发件人: "Jing @.>; 发送时间: 2021年3月22日(星期一) 上午10:57 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [llorz/SGA19_zoomOut] About how to get SCAPE-r dataset p2p ground-truth (#5)
Hi James,
Sorry I did not get your question. Can you please explain it in a bit more details?
The .vts files I have are for the remeshed dataset. For example, the original SCAPE dataset has 12500 vertices for each shape, to avoid overfitting, we independently downsampled each shape in the dataset to a mesh with around 5k vertices. Then I tried to preserve the ground-truth correspondences (though not as accurate as the original one-to-one correspondences). And I saved those "ground-truth" to the .vts files;
Therefore, lets say: ` S1 = read_shape(s1_name.off) S2 = read_shape(s2_name.off) lmk1 = load(s1_name.vts) lmk2 = load(s2_name.vts) T12_gt = nan(S1.nv,1) T12_gt(lmk1) = lmk2
T12_eval = load("your_computed_matches.txt")
err = eval_geodist_on_S2(T12_eval(lmk1), lmk2) ` Here T12_gt is the ground-truth map between S1 and S2 (note that there might be some NaN with missing correspondence since after remeshing we lost the one-to-one correspondences); T12_eval is some map to evaluation, we just need to evaluate its geodesic distance to the ground-truth, i.e., between the T12_eval(lmk1) and lmk2 on the S2.
Hope this helps.
Best regards, Jing
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
Dear professor, thanks for your reply, I have another question. I have got the matches about SCAPE-r dataset, but now I can't Visualization the result. Because I don't know how to use the file of .vts to calculate p2p ground-truth. Could you help me. For example,like the following code: hold on; a = readmatch('./data/our_match.txt'); matches_our = double(a{1}+1); gt_matches = [1:6890]; err2 = eval_pMap(S2, matches_our, gt_matches); fprintf('geodesic distance error:%f\n',err2) curve = calc_err_curve(err2, 0:0.001:1.0); h2=plot(0:0.001:1.0, curve, 'r','linewidth', 2); set(gca, 'xlim', [0 0.15]); set(gca, 'ylim', [0 100]) which how to get Scape-r gt_match, is there any code? I need it to draw Geodesic error curve. looking forword for your reply. thanks again.