-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.ini
219 lines (215 loc) · 9.71 KB
/
config.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
;These are the default settings of the rendering program when adding a new model.
;These parameters must be configured by the user.
;The rendering program puts a virtual camera uniformly around the object in a sphere-like pattern.
;To add a model to the model base, run the program offline_data_generation in add_model/build.
;Before running the rendering program you must put a CAD model in the CAD_models folder.
;The CAD model formats supported are OBJ, STL and PLY
;Type the name of the CAD model into the rendering program (with file extension .obj, .stl or .ply)
[Add_Model-Default]
;The resolution of the rendering window. Bigger resolution means better precision but longer rendering time
resolution=400
;The viewing angle of the virtual camera. If this value is set to "optimal" then the optimal viewing angle is computed automatically
view_angle=optimal
;The tessellation level of the sphere. 0 => 20 views rendered, 1 => 80 views rendered, 2 => 320 views rendered etc.
tessellation_level=1
;The radius of the sphere. This determines how far away from the object the virtual camera is placed
radius_tessellated_sphere=0.45
;The scaling factor. The point clouds are rendered in meters. Please select the scaling factor that converts the units in the CAD model into meters
;Banana:1 joystick:1 Bun_zipper:1 obj_000010:0.001
scale_factor=1
;represent the corresponding model_data directory: data/model_data/[model_name]
;banana,joystick
model_name=banana
;represent the corresponding scene_data directory: data/scene_data/[model_name]/[scene_name].pcd
;scene1, scene2, sim1, sim2
scene_name=sim1
;scene data path, default:../data/; ycb_v:/media/wang/File/dataset/ycbv/test
base_dir=../data/
;fuse the neighbors of neighbors of..
fusion_level=2
;dataset
dataset=ycb_v
[Path]
;scene data path, default:../data/; ycb_v:/media/wang/File/dataset/ycbv/test
scene_data_path=../data/
#default:/home/wang/imta_project/pose_estimation/CAD_models; cad_models_path:/media/wang/File/dataset/ycbv/models
cad_models_path=/home/wang/imta_project/pose_estimation/CAD_models
#default:/home/wang/imta_project/pose_estimation/data/model_data; ycb_v:/media/wang/File/dataset/ycbv/model_data
model_data_path=/home/wang/imta_project/pose_estimation/data/model_data
report_path=report.txt
pure_GA_path=../result/pure_GA.txt
pure_icp_path=pure_icp.txt
fine_icp_path=fine_icp.txt
GA_icp_path=GA_icp.txt
time_path=time.txt
;These are the advanced settings of the rendering program when adding a new model.
;Modify these settings if you are familiar with PCL and point cloud processing.
[GA]
cluster_radius_=0.3
range_scale_t=4
range_scale_euler=2
population=100
generation_max=200
best_stall_max=15
average_stall_max=10
;no_hard_code:1e-3, hard_code_inlier_fraction:1e-5
tol_stall_best=1e-2
tol_stall_average=1e-1
crossover_fraction=0.7
elite_count=10
mutation_rate=0.4
multi_threading=true
;make little difference to speed in this case
dynamic_threading=false
;1.uniform 2.non_uniform 3.mutate_by_chromosomes
mutation_method=mutate_by_chromosomes
;1.hard_code_inlier_fraction 2.no_hard_code
fitness_method=no_hard_code
F0=0.3
;fuse a view with it's neighbors and neighbors's neighbors.....
fusion_level_ga=2
;dynamic_fusion, static_fusion, complete_model, no_fusion
fusion_mode=dynamic_fusion
;whether compute the threads for each GA
set_threads=true
[View]
window_width=1536
window_height=864
;only avilable in print color_style
point_size=4
;1.print 2.debug
color_style=print
[Descriptors]
;specified the local descriptors type: fpfh, shot
local_descriptors_type=fpfh
;specified the global descriptors type
global_descriptors_type=esf
[Add_Model-Advanced]
;Specify if the program should downsample the point clouds (this is recommended)
downsample=true
;The voxel grid size of the downsampling
leaf_size=0.003
;Specify if the program should only keep the largets cluster from the rendered views.
largest_cluster_extraction=true
;The cluster tolerance. This determines the tolerance for which a point is considered part of a cluster or not.
cluster_tolerance=0.01
;The minimum cluster size. This determines the smallest point size of a cluster to be considered a valid cluster
min_cluster_size=100
;The maximum cluster size. This determines the largest point size of a cluster to be considered a valid cluster
max_cluster_size=25000
;Specify if the program should smooth the rendered point clouds. NOTE! This is not recommended as of this stage (will have a bad impact when merging views)
smooth=false
;The search radius used when smoothing the point cloud.
search_radius_mls=0.008
;Specify if the program should remove outlies from the rendered point clouds.
remove_outliers=false
;The number of nearest neighbors used for mean distance estimation.
mean_k=50
;The standard deviation multiplier for the distance threshold calculation.
std_dev_mul_thresh=1
;The threshold for determining a bad normal when computing the normal-utility (degrees). Bad normals are points that have normals almost perpendicular towards the viewing direction
bad_normals_threshold=20
;Specify if the program should use K-nearest neighbors search when estimating the normals.
use_k_search=true
;The number of nearest neighbors used to estimate the normals
k_search_normals=10
;Specify if the program should use radius search when estimating the normals.
use_radius_search=false
;The radius used to estimated the normals.
radius_search_normals=0.01
;Specify if the program should view the processed rendered point clouds
view_processed_clouds=false
;Specify if the program should view the estimated normals
view_normals=false
;The magnitude of the surface normals when viewing the normals
normal_magnitude=0.01
;Specify if the program should view the complete merged point cloud of the CAD model
view_complete_model=true
;Specify if the program should view the generated view-graph constructed by the tessellated sphere
view_graph=true
;Specify if the program should use the average global ESF feature (the computation of the ESF feature is non-deterministic).
;This setting computes 10 ESF features for each rendered view and computes the average of all 10 histograms.
avg_glb_feature=true
;Specify if the ptrogram should use a small delay before rendering the first view.
use_delay=true
[Visualization]
;The number of the normals show when viewing the normals, 1 represent the normal of every point will be showed.
normal_level=2
;The size of the point
point_size=0.005
[System-Default]
;Path that all point clouds and robot data will be loaded from
save_path=/home/robot/object_identification_localization/pointclouds/
hint_view_weight=0.222
hint_normal_weight=0.222
hint_feature_weight=0.222
hint_distinguish_weight=0.333
;Max number of views to use from ID results for a single model
max_id_views=8
;Max number of views from pose data to merge with each ID view
max_pose_views=2
;Total max number of merged views
max_merged_views=40
;Enable export of the results to an RDF database
rdf_enabled=true
;The URL to the RDF database
rdf_url=http://vm25.cs.lth.se/rdf4j-server
;The RDF repository name
rdf_repo_name=object_repo
;Toggle this to only work with clusters in the center of the view
use_centered_cluster=true
;This threshold defines how far a cluster can be from the center to still count as a center cluster
centered_threshold=0.05
;The username for the robot web service
web_service_username=Default User
;The password for the robot web service
web_service_password=robotics
;The url of the robot hand in the robot web service
hand_web_service_url=http://192.168.0.3/rw/rapid/tasks/T_ROB_L/motion?resource=robtarget&tool0&wobj=wobj0
[System-Advanced]
;Downsample leaf size used for segmentation
segmentation_leaf_size=0.003
;Maximum distance a point can be from the plane (when using plane removal) to count as an inlier
segmentation_plane_distance_threshold=0.003
;Maximum number of iterations when finding a plane (when using plane removal)
segmentation_plane_max_iterations=200
;Maximum distance a point can be from a background point to be removed (when using background removal)
segmentation_background_segmentation_distance=0.006
;The radius used when computing normals for clusters
segmentation_normal_radius_search=0.004
;Maximum distance between two points to count as one cluster (in the clustering phase of the segmentation)
segmentation_cluster_tolerance=0.0033
;The minimum number of points in a cluster (clusters with less points will be removed)
segmentation_cluster_min_size=200
;The maximum number of points in a cluster (clusters with more points will be removed)
segmentation_cluster_max_size=700000
;Max number of iterations for the pose estimation RANSAC loop joystick-scene1:18000
pose_max_iterations=18000
;Max distance between two points to count as inliers 1:0.004
pose_max_correspondence_distance=0.004
;Number of neighbors to use when selecting a feature correspondence
pose_correspondence_randomness=5
;Similarity threshold between edge lengths of the polygonal rejector (values between 0 and 1, where 1 is a perfect match)
pose_similarity_threshold=0.8
;The inlier fraction when registering object to cluster
pose_inlier_fraction=0.5
;The inlier fraction when registering cluster to object
pose_inverse_inlier_fraction=0.5
;The feature radius to use when computing features for cluster/object
pose_feature_radius_search=0.01
;The visualization mode to use when estimating poses
;See documentation for set_visualization_mode in headers/pose_class.h for an explanation of the different modes
pose_visualization_mode=0
;The print mode to use when estimating poses. 0 = no information, 1 = all information
pose_print_mode=0
hint_below_plane_threshold=0.01
hint_misalignment_angle_threshold=30
hint_view_search_results=true
hint_normalize_search_results=false
hint_print_info=false
;Visualize merged views before running pose estimation
visualize_merged_views=false
[Verbose]
visual=true
verbose=true
loop=false