Skip to content

Commit ad4b03f

Browse files
authored
Merge pull request RobotLocomotion#149 from RobotLocomotion/lm-exp-dev
add figures to make descriptor dimension
2 parents a879c41 + be619ad commit ad4b03f

21 files changed

+3173
-18659
lines changed

dense_correspondence/evaluation/evaluation.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1618,6 +1618,9 @@ def get_random_scenes_and_image_pairs(dataset):
16181618
img_pairs.append([img_a_idx, img_b_idx])
16191619
scene_names.append(scene_name)
16201620

1621+
img_pairs.append([0, 0])
1622+
scene_names.append(scene_name)
1623+
16211624
return scene_names, img_pairs
16221625

16231626
@staticmethod
@@ -2309,7 +2312,7 @@ def make_pixel_match_error_plot(ax, df, label=None, num_bins=100, masked=False):
23092312
if masked:
23102313
ax.set_xlabel('Pixel match error (masked), L2 (pixel distance)')
23112314
else:
2312-
ax.set_xlabel('Pixel match error, L2 (pixel distance)')
2315+
ax.set_xlabel('Pixel match error (fraction of image), L2 (pixel distance)')
23132316
ax.set_ylabel('Fraction of images')
23142317

23152318
# ax.set_xlim([0,200])

dense_correspondence/evaluation/plotting.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ def normalize_descriptor(res, stats=None):
1919
res_min = np.array(stats['min'])
2020
res_max = np.array(stats['max'])
2121

22+
normed_res = np.clip(res, res_min, res_max)
2223
eps = 1e-10
2324
scale = (res_max - res_min) + eps
24-
normed_res = (res - res_min) / scale
25+
normed_res = (normed_res - res_min) / scale
2526
return normed_res
2627

2728
def normalize_descriptor_pair(res_a, res_b):

dense_correspondence/experiments/bag_of_tricks/eval_bag_of_tricks.ipynb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,21 @@
4949
"for net in all_nets:\n",
5050
"# if \"no_dr\" in net:\n",
5151
"# continue\n",
52+
"\n",
53+
" \n",
5254
" nets_to_plot.append(os.path.join(folder_name,net))\n",
5355
"\n",
5456
" \n",
55-
"# nets_list = []\n",
56-
"# nets_list.append(\"caterpillar_dont_scale_hard_negatives_e3_3d\")\n",
57-
"# nets_list.append(\"caterpillar_scale_hard_negatives_e0_3d\")\n",
57+
"nets_list = []\n",
58+
"nets_to_plot = []\n",
59+
"nets_list.append(\"standard_3\")\n",
60+
"nets_list.append(\"dont_scale_hard_negatives_3\")\n",
61+
"nets_list.append(\"dont_sample_from_mask_3\")\n",
62+
"nets_list.append(\"no_tricks_3\")\n",
5863
"\n",
59-
"# for net in nets_list:\n",
60-
"# nets_to_plot.append(os.path.join(\"l2_questions/\",net))\n",
64+
"\n",
65+
"for net in nets_list:\n",
66+
" nets_to_plot.append(os.path.join(folder_name,net))\n",
6167
"\n",
6268
"\n",
6369
" \n",
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# Bag of Tricks Qualitative Plots\n",
8+
"Eval class consistent shoes"
9+
]
10+
},
11+
{
12+
"cell_type": "code",
13+
"execution_count": null,
14+
"metadata": {},
15+
"outputs": [],
16+
"source": [
17+
"%matplotlib inline\n",
18+
"\n",
19+
"import random\n",
20+
"import numpy as np\n",
21+
"import matplotlib.pyplot as plt\n",
22+
"import os\n",
23+
"import cv2\n",
24+
"import torch\n",
25+
"import dense_correspondence_manipulation.utils.utils as utils\n",
26+
"utils.add_dense_correspondence_to_python_path()\n",
27+
"\n",
28+
"import dense_correspondence\n",
29+
"from dense_correspondence.evaluation.evaluation import *\n",
30+
"import dense_correspondence.correspondence_tools.correspondence_plotter as correspondence_plotter\n",
31+
"from dense_correspondence.dataset.dense_correspondence_dataset_masked import ImageType"
32+
]
33+
},
34+
{
35+
"cell_type": "code",
36+
"execution_count": null,
37+
"metadata": {
38+
"scrolled": false
39+
},
40+
"outputs": [],
41+
"source": [
42+
"config_filename = os.path.join(utils.getDenseCorrespondenceSourceDir(), 'config', \n",
43+
" 'dense_correspondence', 'evaluation', 'lucas_evaluation.yaml')\n",
44+
"config = utils.getDictFromYamlFilename(config_filename)\n",
45+
"default_config = utils.get_defaults_config()\n",
46+
"\n",
47+
"\n",
48+
"utils.set_cuda_visible_devices([0])\n",
49+
"\n",
50+
"dce = DenseCorrespondenceEvaluation(config)\n",
51+
"\n",
52+
"DCE = DenseCorrespondenceEvaluation\n",
53+
"\n",
54+
"\n",
55+
"\n",
56+
"# network_name = \"standard_3\"\n",
57+
"network_name = \"baymax_M_background_0.500_3\"\n",
58+
"# network_name = \"starbot_M_background_0.500_3\"\n",
59+
"# dcn = dce.load_network_from_config(network_name)\n",
60+
"# dataset = dcn.load_training_dataset()\n",
61+
"\n",
62+
"# network_name = \"baymax_starbot_caterpillar_only_multi_3\"\n",
63+
"dcn = dce.load_network_from_config(network_name)\n",
64+
"dataset = dcn.load_training_dataset()\n",
65+
"\n",
66+
"\n",
67+
"DenseCorrespondenceEvaluation.evaluate_network_qualitative(dcn, dataset=dataset, randomize=True)\n",
68+
"\n",
69+
"# DenseCorrespondenceEvaluation.evaluate_network_qualitative_cross_scene(dcn, dataset=dataset)\n"
70+
]
71+
}
72+
],
73+
"metadata": {
74+
"kernelspec": {
75+
"display_name": "Python 2",
76+
"language": "python",
77+
"name": "python2"
78+
},
79+
"language_info": {
80+
"codemirror_mode": {
81+
"name": "ipython",
82+
"version": 2
83+
},
84+
"file_extension": ".py",
85+
"mimetype": "text/x-python",
86+
"name": "python",
87+
"nbconvert_exporter": "python",
88+
"pygments_lexer": "ipython2",
89+
"version": "2.7.12"
90+
}
91+
},
92+
"nbformat": 4,
93+
"nbformat_minor": 2
94+
}

0 commit comments

Comments
 (0)