Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: support different combinations of object model scales… #923

Merged

Conversation

wboerdijk
Copy link
Contributor

@wboerdijk wboerdijk commented Jun 9, 2023

… and annotation writing for bop toolkit writing
addresses #916; issue was that the pyrender wasn't aware of the object scale, and calculated camera position solely on m2mm. proposed solution includes a scale_factor property assigned to each object

https://github.com/wboerdijk/BlenderProc/blob/773b086b93098cf52201fb4bc9448434b63f58ec/blenderproc/python/loader/BopLoader.py#L353

and use this information to correctly position the camera

https://github.com/wboerdijk/BlenderProc/blob/773b086b93098cf52201fb4bc9448434b63f58ec/blenderproc/python/writer/BopWriterUtility.py#L587-L588

The cases which run successfully:

  • object model in meters, mm2m=False during loading, both m2mm=True and m2mm=False work
  • object model in mm: all combinations of m2mm and mm2m

NB:

  • if one is not using the bop loader, the scale_factor cp has to be set if the model is scaled. we could also add it to the obj.scale() method directly?
  • for mm2m=False and m2mm=False one might need to adapt the distance_threshold
  • theoretically it works for loading object models in m and specifying mm2m=True, but various other stuff needs to be adapted for that, so please don't do that ;)

@cornerfarmer @MartinSmeyer tagging you here since i can't assign you as reviewer

…scales and annotation writing for bop toolkit writing
@cla-bot cla-bot bot added the cla-signed label Jun 9, 2023
@wboerdijk
Copy link
Contributor Author

wboerdijk commented Jun 9, 2023

huh, for me locally the example camera_object_pose runs and produces correct masks, and I dont have any uncommited changes 🤔
edit: saw that it was still running, mb

@MartinSmeyer
Copy link
Member

Sorry @wboerdijk for the really late response and thank you for your effort! :)

The code looks good, my only suggestion would be to change the name of the custom property from scale_factor to unit which can be m,cm,mm as for me it would be unclear if I need to set it to 0.001 or 1000 and in which direction. And maybe we could add some documentation to the write_bop function that setting the unit might be necessary.

And then it would be nice if we add this to some example. Do you agree?

@cornerfarmer
Copy link
Member

@wboerdijk It seems that also the bop_scene_replication python example produces masks that are all black (I dont know why they are not shown in the helper output). Apparently the scale_factor is set to 0 there. Could you take a look at this?

Also, why do we need an extra custom property for the scale factor. Can we not just use the scale property of the objects?

@wboerdijk
Copy link
Contributor Author

Sorry for my late reply.
@cornerfarmer agreed, we could just use the scale property of the objects, I've changed that.
I think with this the unit change would also be irrelevant, right @MartinSmeyer ? (in the long term it might make sense to support different units in the bop writer, but that would be another issue of its own imo)
Lets see if the examples run through now successfully, otherwise i'll also take a look at the example @cornerfarmer mentioned. Thanks for your input!

@cornerfarmer
Copy link
Member

cornerfarmer commented Aug 5, 2023

BlenderProcHelper result for run 520:

Done with: [amass_human_poses 18s, amass_human_poses_python 32s, auto_shading 10s, auto_shading_python 10s, basic 11s, basic_python 15s, blenderkit 11s, blenderkit_python 20s, bop_object_on_surface_sampling 56s, bop_object_on_surface_sampling_python 89s, bop_object_physics_positioning 69s, bop_object_physics_positioning_python 117s, bop_object_pose_sampling 41s, bop_object_pose_sampling_python 43s, bop_scene_replication 166s, bop_scene_replication_python 173s, camera_depth_of_field 9s, camera_depth_of_field_python 19s, camera_object_pose 16s, camera_object_pose_python 16s, camera_random_trajectories_python 53s, camera_sampling 9s, camera_sampling_python 20s, coco_annotations 16s, coco_annotations_python 15s, diffuse_color_image 9s, diffuse_color_image_python 18s, dust 9s, dust_python 29s, entity_displacement_modifier 12s, entity_displacement_modifier_python 14s, entity_manipulation 11s, entity_manipulation_python 11s, front_3d 20s, front_3d_object_sampling_python 86s, front_3d_python 104s, front_3d_with_improved_mat 25s, front_3d_with_improved_mat_python 108s, git_log 1s, haven 9s, haven_python 23s, ikea 9s, ikea_python 17s, kinect_azure_noise_python 16s, lens_distortion 11s, lens_distortion_python 16s, lens_distortion_python 13s, light_sampling 12s, light_sampling_python 13s, material_manipulation 10s, material_manipulation_python 10s, material_randomizer 10s, material_randomizer_python 14s, matterport3d_python 72s, motion_blur_rolling_shutter 19s, motion_blur_rolling_shutter 19s, motion_blur_rolling_shutter_python 33s, motion_blur_rolling_shutter_python 25s, multi_render_python 258s, nocs_python 18s, object_pose_sampling 10s, object_pose_sampling_python 10s, on_surface_object_sampling 10s, on_surface_object_sampling_python 11s, optical_flow 18s, optical_flow_python 25s, physics_convex_decomposition 139s, physics_convex_decomposition_python 127s, physics_positioning 18s, physics_positioning_python 22s, pix3d 9s, pix3d_python 16s, random_backgrounds 10s, random_backgrounds_python 18s, random_room_constructor 20s, random_room_constructor_python 86s, replica 74s, replica_python 362s, rock_essentials 47s, scenenet 12s, scenenet_python 53s, scenenet_with_cctextures 19s, scenenet_with_cctextures_python 57s, semantic_segmentation 15s, semantic_segmentation_python 14s, shapenet 10s, shapenet_python 19s, shapenet_with_scenenet 11s, shapenet_with_scenenet_python 58s, shapenet_with_suncg 31s, shapenet_with_suncg_python 71s, spotlight_python 18s, stereo_matching 152s, stereo_matching_python 43s, stereo_matching_with_projector_python 145s, suncg_basic 38s, suncg_basic_python 31s, suncg_with_cam_sampling 28s, suncg_with_cam_sampling_python 60s, suncg_with_improved_mat 23s, suncg_with_improved_mat_python 78s, suncg_with_object_replacer 31s, suncg_with_object_replacer_python 64s, tests_python 20s, urdf_loading_and_manipulation_python 51s]
Done with 105 of 105 tests.
There were errors:
Unit tests output:

...........
----------------------------------------------------------------------
Ran 11 tests in 14.751s

OK

urdf_loading_and_manipulation (main_python)

The output of urdf_loading_and_manipulation:main_python:000000_scene_gt_info_json has changed:

Expand
+ root['0'][0]['bbox_visib'][1]: 312
- root['0'][0]['bbox_visib'][1]: 321
+ root['0'][0]['bbox_visib'][3]: 48
- root['0'][0]['bbox_visib'][3]: 39
+ root['0'][0]['px_count_visib']: 1571
- root['0'][0]['px_count_visib']: 878
+ root['0'][0]['visib_fract']: 1.0
- root['0'][0]['visib_fract']: 0.558879694462126
+ root['0'][1]['bbox_visib'][1]: 254
- root['0'][1]['bbox_visib'][1]: 266
+ root['0'][1]['bbox_visib'][3]: 83
- root['0'][1]['bbox_visib'][3]: 71
+ root['0'][1]['px_count_visib']: 2760
- root['0'][1]['px_count_visib']: 2340
+ root['0'][1]['visib_fract']: 1.0
- root['0'][1]['visib_fract']: 0.8478260869565217
+ root['0'][2]['bbox_visib'][1]: 254
- root['0'][2]['bbox_visib'][1]: 263
+ root['0'][2]['bbox_visib'][3]: 35
- root['0'][2]['bbox_visib'][3]: 25
+ root['0'][2]['px_count_visib']: 898
- root['0'][2]['px_count_visib']: 113
+ root['0'][2]['visib_fract']: 1.0
- root['0'][2]['visib_fract']: 0.12583518930957685
+ root['0'][3]['px_count_visib']: 3173
- root['0'][3]['px_count_visib']: 2656
+ root['0'][3]['visib_fract']: 1.0
- root['0'][3]['visib_fract']: 0.8370627166719193
+ root['0'][4]['bbox_visib'][3]: 42
- root['0'][4]['bbox_visib'][3]: 30
+ root['0'][4]['px_count_visib']: 1040
- root['0'][4]['px_count_visib']: 440
+ root['0'][4]['visib_fract']: 1.0
- root['0'][4]['visib_fract']: 0.4230769230769231
+ root['0'][6]['bbox_visib'][3]: 26
- root['0'][6]['bbox_visib'][3]: 20
+ root['0'][6]['px_count_visib']: 458
- root['0'][6]['px_count_visib']: 176
+ root['0'][6]['visib_fract']: 1.0
- root['0'][6]['visib_fract']: 0.38427947598253276
+ root['0'][7]['bbox_visib'][2]: 29
- root['0'][7]['bbox_visib'][2]: 24
+ root['0'][7]['bbox_visib'][3]: 30
- root['0'][7]['bbox_visib'][3]: 23
+ root['0'][7]['px_count_visib']: 469
- root['0'][7]['px_count_visib']: 398
+ root['0'][7]['visib_fract']: 1.0
- root['0'][7]['visib_fract']: 0.8486140724946695
+ root['1'][0]['bbox_visib'][1]: 312
- root['1'][0]['bbox_visib'][1]: 321
+ root['1'][0]['bbox_visib'][3]: 48
- root['1'][0]['bbox_visib'][3]: 39
+ root['1'][0]['px_count_visib']: 1571
- root['1'][0]['px_count_visib']: 883
+ root['1'][0]['visib_fract']: 1.0
- root['1'][0]['visib_fract']: 0.562062380649268
+ root['1'][1]['bbox_visib'][1]: 254
- root['1'][1]['bbox_visib'][1]: 266
+ root['1'][1]['bbox_visib'][3]: 83
- root['1'][1]['bbox_visib'][3]: 71
+ root['1'][1]['px_count_visib']: 2762
- root['1'][1]['px_count_visib']: 2259
+ root['1'][1]['visib_fract']: 1.0
- root['1'][1]['visib_fract']: 0.8178855901520637
+ root['1'][2]['bbox_visib'][0]: 299
- root['1'][2]['bbox_visib'][0]: 301
+ root['1'][2]['bbox_visib'][1]: 254
- root['1'][2]['bbox_visib'][1]: 264
+ root['1'][2]['bbox_visib'][2]: 35
- root['1'][2]['bbox_visib'][2]: 33
+ root['1'][2]['px_count_visib']: 890
- root['1'][2]['px_count_visib']: 47
+ root['1'][2]['visib_fract']: 1.0
- root['1'][2]['visib_fract']: 0.052808988764044947
+ root['1'][3]['bbox_visib'][0]: 261
- root['1'][3]['bbox_visib'][0]: 263
+ root['1'][3]['bbox_visib'][2]: 73
- root['1'][3]['bbox_visib'][2]: 71
+ root['1'][3]['bbox_visib'][3]: 79
- root['1'][3]['bbox_visib'][3]: 78
+ root['1'][3]['px_count_visib']: 2957
- root['1'][3]['px_count_visib']: 2445
+ root['1'][3]['visib_fract']: 1.0
- root['1'][3]['visib_fract']: 0.8268515387216774
+ root['1'][4]['bbox_visib'][0]: 248
- root['1'][4]['bbox_visib'][0]: 254
+ root['1'][4]['bbox_visib'][3]: 41
- root['1'][4]['bbox_visib'][3]: 28
+ root['1'][4]['bbox_visib'][2]: 35
- root['1'][4]['bbox_visib'][2]: 34
+ root['1'][4]['px_count_visib']: 1062
- root['1'][4]['px_count_visib']: 521
+ root['1'][4]['visib_fract']: 1.0
- root['1'][4]['visib_fract']: 0.4905838041431262
+ root['1'][5]['px_count_visib']: 2656
- root['1'][5]['px_count_visib']: 2639
+ root['1'][6]['bbox_visib'][0]: 157
- root['1'][6]['bbox_visib'][0]: 158
+ root['1'][6]['bbox_visib'][2]: 23
- root['1'][6]['bbox_visib'][2]: 22
+ root['1'][6]['px_count_visib']: 472
- root['1'][6]['px_count_visib']: 209
+ root['1'][6]['visib_fract']: 1.0
- root['1'][6]['visib_fract']: 0.4427966101694915
+ root['1'][7]['bbox_visib'][2]: 35
- root['1'][7]['bbox_visib'][2]: 27
+ root['1'][7]['px_count_visib']: 471
- root['1'][7]['px_count_visib']: 410
+ root['1'][7]['visib_fract']: 1.0
- root['1'][7]['visib_fract']: 0.8704883227176221
+ root['2'][0]['bbox_visib'][1]: 312
- root['2'][0]['bbox_visib'][1]: 321
+ root['2'][0]['bbox_visib'][3]: 48
- root['2'][0]['bbox_visib'][3]: 39
+ root['2'][0]['px_count_visib']: 1571
- root['2'][0]['px_count_visib']: 880
+ root['2'][0]['visib_fract']: 1.0
- root['2'][0]['visib_fract']: 0.5601527689369828
+ root['2'][1]['px_count_visib']: 2755
- root['2'][1]['px_count_visib']: 2137
+ root['2'][1]['visib_fract']: 1.0
- root['2'][1]['visib_fract']: 0.7756805807622504
+ root['2'][2]['bbox_visib'][0]: 299
- root['2'][2]['bbox_visib'][0]: 308
+ root['2'][2]['bbox_visib'][3]: 35
- root['2'][2]['bbox_visib'][3]: 34
+ root['2'][2]['px_count_visib']: 898
- root['2'][2]['px_count_visib']: 55
+ root['2'][2]['visib_fract']: 1.0
- root['2'][2]['visib_fract']: 0.061247216035634745
+ root['2'][3]['px_count_visib']: 2516
- root['2'][3]['px_count_visib']: 2025
+ root['2'][3]['visib_fract']: 1.0
- root['2'][3]['visib_fract']: 0.8048489666136724
+ root['2'][4]['bbox_visib'][0]: 247
- root['2'][4]['bbox_visib'][0]: 248
+ root['2'][4]['bbox_visib'][2]: 44
- root['2'][4]['bbox_visib'][2]: 42
+ root['2'][4]['bbox_visib'][3]: 32
- root['2'][4]['bbox_visib'][3]: 30
+ root['2'][4]['px_count_visib']: 1035
- root['2'][4]['px_count_visib']: 568
+ root['2'][4]['visib_fract']: 1.0
- root['2'][4]['visib_fract']: 0.548792270531401
+ root['2'][6]['bbox_visib'][2]: 27
- root['2'][6]['bbox_visib'][2]: 25
+ root['2'][6]['px_count_visib']: 456
- root['2'][6]['px_count_visib']: 251
+ root['2'][6]['visib_fract']: 1.0
- root['2'][6]['visib_fract']: 0.5504385964912281
+ root['2'][7]['bbox_visib'][2]: 33
- root['2'][7]['bbox_visib'][2]: 32
+ root['2'][7]['px_count_visib']: 438
- root['2'][7]['px_count_visib']: 363
+ root['2'][7]['visib_fract']: 1.0
- root['2'][7]['visib_fract']: 0.8287671232876712
+ root['3'][0]['bbox_visib'][1]: 312
- root['3'][0]['bbox_visib'][1]: 321
+ root['3'][0]['bbox_visib'][3]: 48
- root['3'][0]['bbox_visib'][3]: 39
+ root['3'][0]['px_count_visib']: 1571
- root['3'][0]['px_count_visib']: 879
+ root['3'][0]['visib_fract']: 1.0
- root['3'][0]['visib_fract']: 0.5595162316995544
+ root['3'][1]['px_count_visib']: 2755
- root['3'][1]['px_count_visib']: 2138
+ root['3'][1]['visib_fract']: 1.0
- root['3'][1]['visib_fract']: 0.776043557168784
+ root['3'][2]['bbox_visib'][0]: 299
- root['3'][2]['bbox_visib'][0]: 308
+ root['3'][2]['bbox_visib'][3]: 35
- root['3'][2]['bbox_visib'][3]: 34
+ root['3'][2]['px_count_visib']: 898
- root['3'][2]['px_count_visib']: 57
+ root['3'][2]['visib_fract']: 1.0
- root['3'][2]['visib_fract']: 0.06347438752783964
+ root['3'][3]['bbox_visib'][0]: 256
- root['3'][3]['bbox_visib'][0]: 260
+ root['3'][3]['bbox_visib'][2]: 78
- root['3'][3]['bbox_visib'][2]: 74
+ root['3'][3]['px_count_visib']: 2516
- root['3'][3]['px_count_visib']: 1911
+ root['3'][3]['visib_fract']: 1.0
- root['3'][3]['visib_fract']: 0.7595389507154213
+ root['3'][4]['bbox_visib'][0]: 252
- root['3'][4]['bbox_visib'][0]: 261
+ root['3'][4]['bbox_visib'][2]: 39
- root['3'][4]['bbox_visib'][2]: 28
+ root['3'][4]['bbox_visib'][3]: 32
- root['3'][4]['bbox_visib'][3]: 30
+ root['3'][4]['px_count_visib']: 845
- root['3'][4]['px_count_visib']: 192
+ root['3'][4]['visib_fract']: 1.0
- root['3'][4]['visib_fract']: 0.2272189349112426
+ root['3'][5]['px_count_visib']: 1569
- root['3'][5]['px_count_visib']: 1554
+ root['3'][6]['bbox_visib'][2]: 29
- root['3'][6]['bbox_visib'][2]: 28
+ root['3'][6]['px_count_visib']: 562
- root['3'][6]['px_count_visib']: 214

- root['1'][2]['bbox_visib'][3]: 22
- root['1'][6]['bbox_visib'][3]: 21
- root['2'][2]['bbox_visib'][2]: 26
- root['3'][2]['bbox_visib'][2]: 26
- root['6'][4]['bbox_visib'][3]: 37
- root['8'][2]['bbox_visib'][3]: 32
- root['9'][2]['bbox_visib'][3]: 14

The output of urdf_loading_and_manipulation:main_python:000000_scene_gt_coco_json has changed:

Expand
+ root['annotations'][9]['id']: 2
- root['annotations'][9]['id']: 10
+ root['annotations'][9]['image_id']: 0
- root['annotations'][9]['image_id']: 1
+ root['annotations'][9]['area']: 2760
- root['annotations'][9]['area']: 2259
+ root['annotations'][2]['area']: 898
- root['annotations'][2]['area']: 113
+ root['annotations'][3]['area']: 3173
- root['annotations'][3]['area']: 2656
+ root['annotations'][12]['id']: 7
- root['annotations'][12]['id']: 13
+ root['annotations'][12]['image_id']: 0
- root['annotations'][12]['image_id']: 1
+ root['annotations'][12]['category_id']: 7
- root['annotations'][12]['category_id']: 5
+ root['annotations'][12]['area']: 458
- root['annotations'][12]['area']: 521
+ root['annotations'][12]['bbox'][1]: 215
- root['annotations'][12]['bbox'][1]: 206
+ root['annotations'][12]['bbox'][0]: 92
- root['annotations'][12]['bbox'][0]: 248
+ root['annotations'][12]['bbox'][2]: 25
- root['annotations'][12]['bbox'][2]: 42
+ root['annotations'][12]['bbox'][3]: 27
- root['annotations'][12]['bbox'][3]: 36
+ root['annotations'][7]['area']: 469
- root['annotations'][7]['area']: 398
+ root['annotations'][73]['id']: 10
- root['annotations'][73]['id']: 74
+ root['annotations'][73]['image_id']: 1
- root['annotations'][73]['image_id']: 9
+ root['annotations'][73]['area']: 2762
- root['annotations'][73]['area']: 2111
+ root['annotations'][26]['id']: 11
- root['annotations'][26]['id']: 27
+ root['annotations'][26]['image_id']: 1
- root['annotations'][26]['image_id']: 3
+ root['annotations'][26]['area']: 890
- root['annotations'][26]['area']: 57
+ root['annotations'][26]['ignore']: False
- root['annotations'][26]['ignore']: True
+ root['annotations'][11]['area']: 2957
- root['annotations'][11]['area']: 2445
+ root['annotations'][6]['id']: 13
- root['annotations'][6]['id']: 7
+ root['annotations'][6]['image_id']: 1
- root['annotations'][6]['image_id']: 0
+ root['annotations'][6]['category_id']: 5
- root['annotations'][6]['category_id']: 7
+ root['annotations'][6]['area']: 1062
- root['annotations'][6]['area']: 176
+ root['annotations'][6]['bbox'][1]: 248
- root['annotations'][6]['bbox'][1]: 92
+ root['annotations'][6]['bbox'][0]: 206
- root['annotations'][6]['bbox'][0]: 215
+ root['annotations'][6]['bbox'][2]: 42
- root['annotations'][6]['bbox'][2]: 25
+ root['annotations'][6]['bbox'][3]: 36
- root['annotations'][6]['bbox'][3]: 27
+ root['annotations'][13]['area']: 2656
- root['annotations'][13]['area']: 2639
+ root['annotations'][72]['id']: 15
- root['annotations'][72]['id']: 73
+ root['annotations'][72]['image_id']: 1
- root['annotations'][72]['image_id']: 9
+ root['annotations'][72]['category_id']: 7
- root['annotations'][72]['category_id']: 1
+ root['annotations'][72]['area']: 472
- root['annotations'][72]['area']: 877
+ root['annotations'][72]['bbox'][1]: 157
- root['annotations'][72]['bbox'][1]: 312
+ root['annotations'][72]['bbox'][0]: 170
- root['annotations'][72]['bbox'][0]: 299
+ root['annotations'][72]['bbox'][2]: 24
- root['annotations'][72]['bbox'][2]: 37
+ root['annotations'][15]['area']: 471
- root['annotations'][15]['area']: 410
+ root['annotations'][65]['id']: 18
- root['annotations'][65]['id']: 66
+ root['annotations'][65]['image_id']: 2
- root['annotations'][65]['image_id']: 8
+ root['annotations'][65]['area']: 2755
- root['annotations'][65]['area']: 2077
+ root['annotations'][20]['id']: 19
- root['annotations'][20]['id']: 21
+ root['annotations'][20]['category_id']: 3
- root['annotations'][20]['category_id']: 5
+ root['annotations'][20]['area']: 898
- root['annotations'][20]['area']: 568
+ root['annotations'][20]['bbox'][1]: 299
- root['annotations'][20]['bbox'][1]: 243
+ root['annotations'][20]['bbox'][0]: 254
- root['annotations'][20]['bbox'][0]: 247
+ root['annotations'][20]['bbox'][3]: 36
- root['annotations'][20]['bbox'][3]: 33
+ root['annotations'][19]['area']: 2516
- root['annotations'][19]['area']: 2025
+ root['annotations'][28]['id']: 21
- root['annotations'][28]['id']: 29
+ root['annotations'][28]['image_id']: 2
- root['annotations'][28]['image_id']: 3
+ root['annotations'][28]['area']: 1035
- root['annotations'][28]['area']: 192
+ root['annotations'][28]['bbox'][0]: 247
- root['annotations'][28]['bbox'][0]: 252
+ root['annotations'][28]['bbox'][1]: 243
- root['annotations'][28]['bbox'][1]: 240
+ root['annotations'][28]['bbox'][2]: 45
- root['annotations'][28]['bbox'][2]: 40
+ root['annotations'][22]['area']: 456
- root['annotations'][22]['area']: 251
+ root['annotations'][23]['area']: 439
- root['annotations'][23]['area']: 364
+ root['annotations'][57]['id']: 26
- root['annotations'][57]['id']: 58
+ root['annotations'][57]['image_id']: 3
- root['annotations'][57]['image_id']: 7
+ root['annotations'][57]['area']: 2755
- root['annotations'][57]['area']: 2090
+ root['annotations'][4]['id']: 27
- root['annotations'][4]['id']: 5
+ root['annotations'][4]['image_id']: 3
- root['annotations'][4]['image_id']: 0
+ root['annotations'][4]['category_id']: 3
- root['annotations'][4]['category_id']: 5
+ root['annotations'][4]['area']: 898
- root['annotations'][4]['area']: 440
+ root['annotations'][4]['bbox'][1]: 299
- root['annotations'][4]['bbox'][1]: 177
+ root['annotations'][4]['bbox'][0]: 254
- root['annotations'][4]['bbox'][0]: 269
+ root['annotations'][4]['bbox'][2]: 36
- root['annotations'][4]['bbox'][2]: 37
+ root['annotations'][27]['area']: 2516
- root['annotations'][27]['area']: 1911
+ root['annotations'][60]['id']: 29
- root['annotations'][60]['id']: 61
+ root['annotations'][60]['image_id']: 3
- root['annotations'][60]['image_id']: 7
+ root['annotations'][60]['area']: 845
- root['annotations'][60]['area']: 477
+ root['annotations'][60]['bbox'][0]: 252
- root['annotations'][60]['bbox'][0]: 253
+ root['annotations'][60]['bbox'][1]: 240
- root['annotations'][60]['bbox'][1]: 206
+ root['annotations'][29]['area']: 1569
- root['annotations'][29]['area']: 1554
+ root['annotations'][30]['area']: 562
- root['annotations'][30]['area']: 214
+ root['annotations'][31]['area']: 568
- root['annotations'][31]['area']: 474
+ root['annotations'][32]['area']: 1571
- root['annotations'][32]['area']: 882
+ root['annotations'][33]['area']: 2765
- root['annotations'][33]['area']: 2326
+ root['annotations'][34]['area']: 915
- root['annotations'][34]['area']: 225
+ root['annotations'][35]['area']: 3275
- root['annotations'][35]['area']: 2906
+ root['annotations'][36]['area']: 984
- root['annotations'][36]['area']: 634
+ root['annotations'][37]['area']: 2349
- root['annotations'][37]['area']: 2163
+ root['annotations'][38]['area']: 341
- root['annotations'][38]['area']: 194
+ root['annotations'][39]['area']: 349
- root['annotations'][39]['area']: 240
+ root['annotations'][40]['area']: 1571
- root['annotations'][40]['area']: 883
+ root['annotations'][25]['id']: 42
- root['annotations'][25]['id']: 26
+ root['annotations'][25]['image_id']: 5
- root['annotations'][25]['image_id']: 3
+ root['annotations'][25]['area']: 2762
- root['annotations'][25]['area']: 2138
+ root['annotations'][42]['area']: 866
- root['annotations'][42]['area']: 205
+ root['annotations'][43]['area']: 3004
- root['annotations'][43]['area']: 2715
+ root['annotations'][44]['area']: 882
- root['annotations'][44]['area']: 577
+ root['annotations'][45]['area']: 2458
- root['annotations'][45]['area']: 2400
+ root['annotations'][46]['area']: 336
- root['annotations'][46]['area']: 289
+ root['annotations'][47]['area']: 339
- root['annotations'][47]['area']: 284
+ root['annotations'][48]['area']: 1571
- root['annotations'][48]['area']: 881
+ root['annotations'][49]['area']: 2752
- root['annotations'][49]['area']: 2152
+ root['annotations'][50]['area']: 755
- root['annotations'][50]['area']: 198
+ root['annotations'][51]['area']: 2822
- root['annotations'][51]['area']: 2652
+ root['annotations'][52]['area']: 901
- root['annotations'][52]['area']: 532
+ root['annotations'][53]['area']: 2783
- root['annotations'][53]['area']: 2257

+ root['annotations'][4]: {'id': 5, 'image_id': 0, 'category_id': 5, 'iscrowd': 0, 'area': 1040, 'bbox': [269, 177, 37, 43], '...
+ root['annotations'][60]['bbox'][3]: 33
+ root['annotations'][57]: {'id': 58, 'image_id': 7, 'category_id': 2, 'iscrowd': 0, 'area': 2779, 'bbox': [298, 254, 38, 84], ...
+ root['annotations'][60]: {'id': 61, 'image_id': 7, 'category_id': 5, 'iscrowd': 0, 'area': 895, 'bbox': [253, 206, 40, 40], '...
+ root['annotations'][74]['bbox'][3]: 49
+ root['annotations'][74]: {'id': 75, 'image_id': 9, 'category_id': 3, 'iscrowd': 0, 'area': 892, 'bbox': [299, 254, 36, 36], '...

- root['annotations'][72]['bbox'][3]: 49
- root['annotations'][20]['bbox'][2]: 45
- root['annotations'][4]['bbox'][3]: 43
- root['annotations'][10]: {'id': 11, 'image_id': 1, 'category_id': 3, 'iscrowd': 0, 'area': 47, 'bbox': [299, 254, 36, 36], 's...
- root['annotations'][14]: {'id': 15, 'image_id': 1, 'category_id': 7, 'iscrowd': 0, 'area': 209, 'bbox': [157, 170, 24, 24], '...
- root['annotations'][17]: {'id': 18, 'image_id': 2, 'category_id': 2, 'iscrowd': 0, 'area': 2137, 'bbox': [298, 254, 38, 84], ...
- root['annotations'][18]: {'id': 19, 'image_id': 2, 'category_id': 3, 'iscrowd': 0, 'area': 55, 'bbox': [299, 254, 36, 36], 's...

bop_object_physics_positioning (main_python)

The output of bop_object_physics_positioning:main_python:000000_scene_gt_info_json has changed:

Expand
+ root['0'][5]['px_count_visib']: 3136
- root['0'][5]['px_count_visib']: 3124
+ root['1'][4]['bbox_visib'][1]: 100
- root['1'][4]['bbox_visib'][1]: 97
+ root['1'][4]['bbox_visib'][3]: 7
- root['1'][4]['bbox_visib'][3]: 10
+ root['2'][5]['px_count_visib']: 2265
- root['2'][5]['px_count_visib']: 2250
+ root['5'][5]['bbox_visib'][0]: 489
- root['5'][5]['bbox_visib'][0]: 490
+ root['5'][5]['bbox_visib'][2]: 159
- root['5'][5]['bbox_visib'][2]: 158

The output of bop_object_physics_positioning:main_python:000000_scene_gt_coco_json has changed:

Expand
+ root['annotations'][5]['area']: 3136
- root['annotations'][5]['area']: 3124
+ root['annotations'][28]['area']: 2265
- root['annotations'][28]['area']: 2250

bop_object_on_surface_sampling (main_python)

The output of bop_object_on_surface_sampling:main_python:000000_scene_gt_info_json has changed:

Expand
+ root['2'][10]['bbox_visib'][3]: 39
- root['2'][10]['bbox_visib'][3]: 38

rock_essentials (config_yaml)

The output could not be compared as no files have been generated for rock_essentials:config_yaml!

Pylint output

Expand

Messages

Module blenderproc.python.loader.HavenEnvironmentLoader (blenderproc/python/loader/HavenEnvironmentLoader.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
standard import "from typing import Union" should be placed before "import numpy as np"
15 78 convention trailing-whitespace C0303
Trailing whitespace
15 0 warning dangerous-default-value W0102 set_world_background_hdr_img
Dangerous default value [] as argument
44 0 convention trailing-whitespace C0303
Trailing whitespace
46 49 convention trailing-whitespace C0303
Trailing whitespace
48 0 convention trailing-whitespace C0303
Trailing whitespace
54 0 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.python.types.MeshObjectUtility (blenderproc/python/types/MeshObjectUtility.py)

Line Col. Type Symbol ID Obj Message
534 22 convention trailing-whitespace C0303
Trailing whitespace
536 0 convention trailing-whitespace C0303
Trailing whitespace
539 0 warning bad-indentation W0311
Bad indentation. Found 13 spaces, expected 12
539 29 convention consider-using-f-string C0209 MeshObject.mesh_as_trimesh
Formatting a regular string which could be a f-string
540 0 convention trailing-whitespace C0303
Trailing whitespace
541 19 convention trailing-whitespace C0303
Trailing whitespace
545 0 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.python.writer.BopWriterUtility (blenderproc/python/writer/BopWriterUtility.py)

Line Col. Type Symbol ID Obj Message
778 0 convention trailing-whitespace C0303
Trailing whitespace
779 0 convention line-too-long C0301
Line too long (140/120)
781 0 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.scripts.download_haven (blenderproc/scripts/download_haven.py)

Line Col. Type Symbol ID Obj Message
89 23 warning broad-exception-caught W0718 cli.download_items
Catching too general exception Exception

Metrics

Count per types

Name Count
convention 15
warning 3

Count per messages

Name Count
trailing-whitespace 12
dangerous-default-value 1
wrong-import-order 1
bad-indentation 1
consider-using-f-string 1
line-too-long 1
broad-exception-caught 1

Count per modules

Name Count
blenderproc.python.loader.HavenEnvironmentLoader 7
blenderproc.python.types.MeshObjectUtility 7
blenderproc.python.writer.BopWriterUtility 3
blenderproc.scripts.download_haven 1

Count per path

Name Count
blenderproc/python/loader/HavenEnvironmentLoader.py 7
blenderproc/python/types/MeshObjectUtility.py 7
blenderproc/python/writer/BopWriterUtility.py 3
blenderproc/scripts/download_haven.py 1
***The tests are done.*** Check the log:

Last update: 08/07/2023, 11:13:51

@cornerfarmer
Copy link
Member

cornerfarmer commented Aug 10, 2023

BlenderProcHelper result for run 521:

Done with: [amass_human_poses 167s, amass_human_poses_python 173s, auto_shading 5s, auto_shading_python 5s, basic 6s, basic_python 6s, blenderkit 6s, blenderkit_python 10s, bop_object_on_surface_sampling 28s, bop_object_on_surface_sampling_python 47s, bop_object_physics_positioning 38s, bop_object_physics_positioning_python 60s, bop_object_pose_sampling 17s, bop_object_pose_sampling_python 23s, bop_scene_replication 51s, bop_scene_replication_python 87s, camera_depth_of_field 5s, camera_depth_of_field_python 11s, camera_object_pose 8s, camera_object_pose_python 8s, camera_random_trajectories_python 28s, camera_sampling 5s, camera_sampling_python 10s, coco_annotations 7s, coco_annotations_python 6s, diffuse_color_image 5s, diffuse_color_image_python 11s, dust 5s, dust_python 16s, entity_displacement_modifier 6s, entity_displacement_modifier_python 7s, entity_manipulation 6s, entity_manipulation_python 6s, front_3d 10s, front_3d_object_sampling_python 48s, front_3d_python 57s, front_3d_with_improved_mat 12s, front_3d_with_improved_mat_python 55s, git_log 1s, haven 5s, haven_python 12s, ikea 5s, ikea_python 9s, kinect_azure_noise_python 6s, lens_distortion 6s, lens_distortion_python 9s, lens_distortion_python 7s, light_sampling 6s, light_sampling_python 6s, material_manipulation 6s, material_manipulation_python 6s, material_randomizer 5s, material_randomizer_python 6s, matterport3d_python 41s, motion_blur_rolling_shutter 10s, motion_blur_rolling_shutter 8s, motion_blur_rolling_shutter_python 16s, motion_blur_rolling_shutter_python 12s, multi_render_python 99s, nocs_python 10s, object_pose_sampling 6s, object_pose_sampling_python 6s, on_surface_object_sampling 5s, on_surface_object_sampling_python 6s, optical_flow 9s, optical_flow_python 13s, physics_convex_decomposition 86s, physics_convex_decomposition_python 64s, physics_positioning 11s, physics_positioning_python 13s, pix3d 5s, pix3d_python 9s, random_backgrounds 6s, random_backgrounds_python 9s, random_room_constructor 12s, random_room_constructor_python 44s, replica 45s, replica_python 219s, rock_essentials 18s, scenenet 6s, scenenet_python 26s, scenenet_with_cctextures 10s, scenenet_with_cctextures_python 27s, semantic_segmentation 7s, semantic_segmentation_python 6s, shapenet 6s, shapenet_python 10s, shapenet_with_scenenet 6s, shapenet_with_scenenet_python 27s, shapenet_with_suncg 15s, shapenet_with_suncg_python 34s, spotlight_python 9s, stereo_matching 79s, stereo_matching_python 22s, stereo_matching_with_projector_python 71s, suncg_basic 19s, suncg_basic_python 16s, suncg_with_cam_sampling 15s, suncg_with_cam_sampling_python 29s, suncg_with_improved_mat 12s, suncg_with_improved_mat_python 49s, suncg_with_object_replacer 17s, suncg_with_object_replacer_python 31s, tests_python 15s, urdf_loading_and_manipulation_python 44s]
Done with 105 of 105 tests.
There were errors:
Unit tests output:

...........
----------------------------------------------------------------------
Ran 11 tests in 12.072s

OK

Example: 'camera_object_pose' with Config: 'config_yaml' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py", line 31, in <module>
    pipeline.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/main/Pipeline.py", line 41, in run
    module.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/writer/BopWriter.py", line 71, in run
    write_bop(output_dir = os.path.join(self._determine_output_dir(False), 'bop_data'),
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 1.433 seconds
#### Finished - Running module RgbRenderer (took 1.592 seconds) ####
#### Start - Running module BopWriter ####
#### Finished - Running module BopWriter (took 0.000 seconds) ####
#### Finished - Running blender pipeline (took 5.038 seconds) ####

Error: script failed, file: '${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py', exiting.
Parsing config '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_camera_object_pose_++++_config_yaml.yaml'
Filling placeholder <args:1> at modules/(main.Initializer)/config/global/output_dir: /tmp/delete_me_blender_proc_res_923/basics/camera_object_pose/config_yaml
Filling placeholder <args:0> at modules/(loader.ObjectLoader)/config/path: ${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/PycharmProjects/actions-runner/_work/BlenderProc/BlenderProc/examples/basics/camera_object_pose/obj_000004.ply
Filling placeholder <env:USER> at setup/blender_install_path: ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/
Successfully finished parsing 
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
�[33mWarning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases.
Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it.�[0m
Using temporary directory: /dev/shm/blender_proc_674e13fcd5e7420da17097bb5b8bf6ff
Cleaning temporary directory

camera_object_pose (config_yaml)

The output could not be compared as no files have been generated for camera_object_pose:config_yaml!

Example: 'camera_object_pose' with Config: 'main_python' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_camera_object_pose_++++_main_python.py", line 61, in <module>
    bproc.writer.write_bop(args.output_dir, [obj], data["depth"], data["colors"], m2mm=True, append_to_existing_output=True)
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 1.735 seconds

Error: script failed, file: '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_camera_object_pose_++++_main_python.py', exiting.
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
Using temporary directory: /dev/shm/blender_proc_1e7f1d9862764479b9eb92dbb99484d6
Cleaning temporary directory

camera_object_pose (main_python)

The output could not be compared as no files have been generated for camera_object_pose:main_python!

urdf_loading_and_manipulation (main_python)

The output of urdf_loading_and_manipulation:main_python:000000_scene_gt_json has changed:

Expand
+ root['0'][0]['cam_t_m2c'][0]: -7.682623863220215
- root['0'][0]['cam_t_m2c'][0]: -0.00768262380734086
+ root['0'][0]['cam_t_m2c'][2]: 255.00804138183594
- root['0'][0]['cam_t_m2c'][2]: 2.9891326427459717
+ root['0'][0]['cam_t_m2c'][1]: 2989.132568359375
- root['0'][0]['cam_t_m2c'][1]: 0.2550080418586731
+ root['0'][1]['cam_t_m2c'][0]: -8.578559875488281
- root['0'][1]['cam_t_m2c'][0]: -0.008578560315072536
+ root['0'][1]['cam_t_m2c'][2]: 107.26566314697266
- root['0'][1]['cam_t_m2c'][2]: 2.878621816635132
+ root['0'][1]['cam_t_m2c'][1]: 2878.621826171875
- root['0'][1]['cam_t_m2c'][1]: 0.1072656661272049
+ root['0'][2]['cam_t_m2c'][0]: -8.578559875488281
- root['0'][2]['cam_t_m2c'][0]: -0.008578560315072536
+ root['0'][2]['cam_t_m2c'][2]: 107.26566314697266
- root['0'][2]['cam_t_m2c'][2]: 2.878621816635132
+ root['0'][2]['cam_t_m2c'][1]: 2878.621826171875
- root['0'][2]['cam_t_m2c'][1]: 0.1072656661272049
+ root['0'][3]['cam_t_m2c'][0]: -8.578557968139648
- root['0'][3]['cam_t_m2c'][0]: -0.008578557521104813
+ root['0'][3]['cam_t_m2c'][2]: 107.26567840576172
- root['0'][3]['cam_t_m2c'][2]: 2.878621816635132
+ root['0'][3]['cam_t_m2c'][1]: 2878.621826171875
- root['0'][3]['cam_t_m2c'][1]: 0.10726568102836609
+ root['0'][4]['cam_t_m2c'][1]: -82.75196838378906
- root['0'][4]['cam_t_m2c'][1]: -0.10431477427482605
+ root['0'][4]['cam_t_m2c'][0]: -104.31477355957031
- root['0'][4]['cam_t_m2c'][0]: -0.08275196701288223
+ root['0'][4]['cam_t_m2c'][2]: 2664.53759765625
- root['0'][4]['cam_t_m2c'][2]: 2.6645376682281494
+ root['0'][5]['cam_t_m2c'][1]: -245.4737091064453
- root['0'][5]['cam_t_m2c'][1]: -0.36128923296928406
+ root['0'][5]['cam_t_m2c'][0]: -361.28924560546875
- root['0'][5]['cam_t_m2c'][0]: -0.245473712682724
+ root['0'][5]['cam_t_m2c'][2]: 2428.50634765625
- root['0'][5]['cam_t_m2c'][2]: 2.428506374359131
+ root['0'][6]['cam_t_m2c'][1]: -245.4737091064453
- root['0'][6]['cam_t_m2c'][1]: -0.36128923296928406
+ root['0'][6]['cam_t_m2c'][0]: -361.28924560546875
- root['0'][6]['cam_t_m2c'][0]: -0.245473712682724
+ root['0'][6]['cam_t_m2c'][2]: 2428.50634765625
- root['0'][6]['cam_t_m2c'][2]: 2.428506374359131
+ root['0'][7]['cam_t_m2c'][1]: -364.3033752441406
- root['0'][7]['cam_t_m2c'][1]: -0.48079413175582886
+ root['0'][7]['cam_t_m2c'][0]: -480.79412841796875
- root['0'][7]['cam_t_m2c'][0]: -0.3643033802509308
+ root['0'][7]['cam_t_m2c'][2]: 2320.812255859375
- root['0'][7]['cam_t_m2c'][2]: 2.320812225341797
+ root['1'][0]['cam_t_m2c'][0]: -7.682623863220215
- root['1'][0]['cam_t_m2c'][0]: -0.00768262380734086
+ root['1'][0]['cam_t_m2c'][2]: 255.00804138183594
- root['1'][0]['cam_t_m2c'][2]: 2.9891326427459717
+ root['1'][0]['cam_t_m2c'][1]: 2989.132568359375
- root['1'][0]['cam_t_m2c'][1]: 0.2550080418586731
+ root['1'][1]['cam_t_m2c'][0]: -8.578559875488281
- root['1'][1]['cam_t_m2c'][0]: -0.008578560315072536
+ root['1'][1]['cam_t_m2c'][2]: 107.26566314697266
- root['1'][1]['cam_t_m2c'][2]: 2.878621816635132
+ root['1'][1]['cam_t_m2c'][1]: 2878.621826171875
- root['1'][1]['cam_t_m2c'][1]: 0.1072656661272049
+ root['1'][2]['cam_t_m2c'][0]: -8.578559875488281
- root['1'][2]['cam_t_m2c'][0]: -0.008578560315072536
+ root['1'][2]['cam_t_m2c'][2]: 107.26566314697266
- root['1'][2]['cam_t_m2c'][2]: 2.878621816635132
+ root['1'][2]['cam_t_m2c'][1]: 2878.621826171875
- root['1'][2]['cam_t_m2c'][1]: 0.1072656661272049
+ root['1'][3]['cam_t_m2c'][0]: -8.578558921813965
- root['1'][3]['cam_t_m2c'][0]: -0.008578559383749962
+ root['1'][3]['cam_t_m2c'][2]: 107.2656478881836
- root['1'][3]['cam_t_m2c'][2]: 2.878621816635132
+ root['1'][3]['cam_t_m2c'][1]: 2878.621826171875
- root['1'][3]['cam_t_m2c'][1]: 0.1072656512260437
+ root['1'][4]['cam_t_m2c'][1]: -126.83164978027344
- root['1'][4]['cam_t_m2c'][1]: -0.03456021845340729
+ root['1'][4]['cam_t_m2c'][0]: -34.560218811035156
- root['1'][4]['cam_t_m2c'][0]: -0.12683165073394775
+ root['1'][4]['cam_t_m2c'][2]: 2629.62060546875
- root['1'][4]['cam_t_m2c'][2]: 2.6296205520629883
+ root['1'][5]['cam_t_m2c'][1]: -399.94183349609375
- root['1'][5]['cam_t_m2c'][1]: -0.1551201045513153
+ root['1'][5]['cam_t_m2c'][0]: -155.12010192871094
- root['1'][5]['cam_t_m2c'][0]: -0.3999418318271637
+ root['1'][5]['cam_t_m2c'][2]: 2386.513427734375
- root['1'][5]['cam_t_m2c'][2]: 2.3865134716033936
+ root['1'][6]['cam_t_m2c'][1]: -399.9418640136719
- root['1'][6]['cam_t_m2c'][1]: -0.15512004494667053
+ root['1'][6]['cam_t_m2c'][0]: -155.1200408935547
- root['1'][6]['cam_t_m2c'][0]: -0.3999418616294861
+ root['1'][6]['cam_t_m2c'][2]: 2386.513427734375
- root['1'][6]['cam_t_m2c'][2]: 2.3865134716033936
+ root['1'][7]['cam_t_m2c'][1]: -577.7982788085938
- root['1'][7]['cam_t_m2c'][1]: -0.15604069828987122
+ root['1'][7]['cam_t_m2c'][0]: -156.0406951904297
- root['1'][7]['cam_t_m2c'][0]: -0.5777983069419861
+ root['1'][7]['cam_t_m2c'][2]: 2295.046875
- root['1'][7]['cam_t_m2c'][2]: 2.295046806335449
+ root['2'][0]['cam_t_m2c'][0]: -7.682623863220215
- root['2'][0]['cam_t_m2c'][0]: -0.00768262380734086
+ root['2'][0]['cam_t_m2c'][2]: 255.00804138183594
- root['2'][0]['cam_t_m2c'][2]: 2.9891326427459717
+ root['2'][0]['cam_t_m2c'][1]: 2989.132568359375
- root['2'][0]['cam_t_m2c'][1]: 0.2550080418586731
+ root['2'][1]['cam_t_m2c'][0]: -8.578559875488281
- root['2'][1]['cam_t_m2c'][0]: -0.008578560315072536
+ root['2'][1]['cam_t_m2c'][2]: 107.26566314697266
- root['2'][1]['cam_t_m2c'][2]: 2.878621816635132
+ root['2'][1]['cam_t_m2c'][1]: 2878.621826171875
- root['2'][1]['cam_t_m2c'][1]: 0.1072656661272049
+ root['2'][2]['cam_t_m2c'][0]: -8.578559875488281
- root['2'][2]['cam_t_m2c'][0]: -0.008578560315072536
+ root['2'][2]['cam_t_m2c'][2]: 107.26566314697266
- root['2'][2]['cam_t_m2c'][2]: 2.878621816635132
+ root['2'][2]['cam_t_m2c'][1]: 2878.621826171875
- root['2'][2]['cam_t_m2c'][1]: 0.1072656661272049
+ root['2'][3]['cam_t_m2c'][0]: -8.578554153442383
- root['2'][3]['cam_t_m2c'][0]: -0.008578553795814514
+ root['2'][3]['cam_t_m2c'][2]: 107.26566314697266
- root['2'][3]['cam_t_m2c'][2]: 2.878621816635132
+ root['2'][3]['cam_t_m2c'][1]: 2878.621826171875
- root['2'][3]['cam_t_m2c'][1]: 0.1072656661272049
+ root['2'][4]['cam_t_m2c'][0]: -127.24663543701172
- root['2'][4]['cam_t_m2c'][0]: -0.12724663317203522
+ root['2'][4]['cam_t_m2c'][2]: 54.72614288330078
- root['2'][4]['cam_t_m2c'][2]: 2.597094774246216
+ root['2'][4]['cam_t_m2c'][1]: 2597.0947265625
- root['2'][4]['cam_t_m2c'][1]: 0.054726142436265945
+ root['2'][5]['cam_t_m2c'][0]: -426.5504455566406
- root['2'][5]['cam_t_m2c'][0]: -0.4265504479408264
+ root['2'][5]['cam_t_m2c'][2]: 114.00811004638672
- root['2'][5]['cam_t_m2c'][2]: 2.3623015880584717
+ root['2'][5]['cam_t_m2c'][1]: 2362.301513671875
- root['2'][5]['cam_t_m2c'][1]: 0.1140081062912941
+ root['2'][6]['cam_t_m2c'][0]: -426.5504455566406
- root['2'][6]['cam_t_m2c'][0]: -0.4265504479408264
+ root['2'][6]['cam_t_m2c'][2]: 114.00813293457031
- root['2'][6]['cam_t_m2c'][2]: 2.3623015880584717
+ root['2'][6]['cam_t_m2c'][1]: 2362.301513671875
- root['2'][6]['cam_t_m2c'][1]: 0.11400813609361649
+ root['2'][7]['cam_t_m2c'][0]: -570.1356201171875
- root['2'][7]['cam_t_m2c'][0]: -0.5701355934143066
+ root['2'][7]['cam_t_m2c'][2]: 241.7437286376953
- root['2'][7]['cam_t_m2c'][2]: 2.3069214820861816
+ root['2'][7]['cam_t_m2c'][1]: 2306.92138671875
- root['2'][7]['cam_t_m2c'][1]: 0.24174372851848602
+ root['3'][0]['cam_t_m2c'][0]: -7.682623863220215
- root['3'][0]['cam_t_m2c'][0]: -0.00768262380734086
+ root['3'][0]['cam_t_m2c'][2]: 255.00804138183594
- root['3'][0]['cam_t_m2c'][2]: 2.9891326427459717
+ root['3'][0]['cam_t_m2c'][1]: 2989.132568359375
- root['3'][0]['cam_t_m2c'][1]: 0.2550080418586731
+ root['3'][1]['cam_t_m2c'][0]: -8.578559875488281
- root['3'][1]['cam_t_m2c'][0]: -0.008578560315072536
+ root['3'][1]['cam_t_m2c'][2]: 107.26566314697266
- root['3'][1]['cam_t_m2c'][2]: 2.878621816635132
+ root['3'][1]['cam_t_m2c'][1]: 2878.621826171875
- root['3'][1]['cam_t_m2c'][1]: 0.1072656661272049
+ root['3'][2]['cam_t_m2c'][0]: -8.578559875488281
- root['3'][2]['cam_t_m2c'][0]: -0.008578560315072536
+ root['3'][2]['cam_t_m2c'][2]: 107.26566314697266
- root['3'][2]['cam_t_m2c'][2]: 2.878621816635132
+ root['3'][2]['cam_t_m2c'][1]: 2878.621826171875
- root['3'][2]['cam_t_m2c'][1]: 0.1072656661272049
+ root['3'][3]['cam_t_m2c'][0]: -8.578554153442383
- root['3'][3]['cam_t_m2c'][0]: -0.008578553795814514
+ root['3'][3]['cam_t_m2c'][2]: 107.26566314697266
- root['3'][3]['cam_t_m2c'][2]: 2.878621816635132
+ root['3'][3]['cam_t_m2c'][1]: 2878.621826171875
- root['3'][3]['cam_t_m2c'][1]: 0.1072656661272049
+ root['3'][4]['cam_t_m2c'][0]: -127.24665069580078
- root['3'][4]['cam_t_m2c'][0]: -0.1272466480731964
+ root['3'][4]['cam_t_m2c'][2]: 54.72611999511719
- root['3'][4]['cam_t_m2c'][2]: 2.597094774246216
+ root['3'][4]['cam_t_m2c'][1]: 2597.0947265625
- root['3'][4]['cam_t_m2c'][1]: 0.054726120084524155
+ root['3'][5]['cam_t_m2c'][1]: -274.6247253417969
- root['3'][5]['cam_t_m2c'][1]: -0.010524573735892773
+ root['3'][5]['cam_t_m2c'][0]: -10.52457332611084
- root['3'][5]['cam_t_m2c'][0]: -0.2746247351169586
+ root['3'][5]['cam_t_m2c'][2]: 2247.456298828125
- root['3'][5]['cam_t_m2c'][2]: 2.2474563121795654
+ root['3'][6]['cam_t_m2c'][1]: -274.62469482421875
- root['3'][6]['cam_t_m2c'][1]: -0.010524601675570011
+ root['3'][6]['cam_t_m2c'][0]: -10.524601936340332
- root['3'][6]['cam_t_m2c'][0]: -0.27462470531463623
+ root['3'][6]['cam_t_m2c'][2]: 2247.456298828125
- root['3'][6]['cam_t_m2c'][2]: 2.2474563121795654
+ root['3'][7]['cam_t_m2c'][0]: -386.52276611328125
- root['3'][7]['cam_t_m2c'][0]: -0.3865227699279785
+ root['3'][7]['cam_t_m2c'][2]: 63.37101745605469
- root['3'][7]['cam_t_m2c'][2]: 2.0990710258483887
+ root['3'][7]['cam_t_m2c'][1]: 2099.071044921875
- root['3'][7]['cam_t_m2c'][1]: 0.06337101757526398
+ root['4'][0]['cam_t_m2c'][0]: -7.682623863220215
- root['4'][0]['cam_t_m2c'][0]: -0.00768262380734086
+ root['4'][0]['cam_t_m2c'][2]: 255.00804138183594
- root['4'][0]['cam_t_m2c'][2]: 2.9891326427459717
+ root['4'][0]['cam_t_m2c'][1]: 2989.132568359375
- root['4'][0]['cam_t_m2c'][1]: 0.2550080418586731
+ root['4'][1]['cam_t_m2c'][0]: -8.578559875488281
- root['4'][1]['cam_t_m2c'][0]: -0.008578560315072536

The output of urdf_loading_and_manipulation:main_python:000000_scene_camera_json has changed:

Expand
+ root['0']['cam_t_w2c'][0]: -7.682623863220215
- root['0']['cam_t_w2c'][0]: -0.00768262380734086
+ root['0']['cam_t_w2c'][2]: 255.00804138183594
- root['0']['cam_t_w2c'][2]: 2.9891326427459717
+ root['0']['cam_t_w2c'][1]: 2989.132568359375
- root['0']['cam_t_w2c'][1]: 0.2550080418586731
+ root['1']['cam_t_w2c'][0]: -7.682623863220215
- root['1']['cam_t_w2c'][0]: -0.00768262380734086
+ root['1']['cam_t_w2c'][2]: 255.00804138183594
- root['1']['cam_t_w2c'][2]: 2.9891326427459717
+ root['1']['cam_t_w2c'][1]: 2989.132568359375
- root['1']['cam_t_w2c'][1]: 0.2550080418586731
+ root['2']['cam_t_w2c'][0]: -7.682623863220215
- root['2']['cam_t_w2c'][0]: -0.00768262380734086
+ root['2']['cam_t_w2c'][2]: 255.00804138183594
- root['2']['cam_t_w2c'][2]: 2.9891326427459717
+ root['2']['cam_t_w2c'][1]: 2989.132568359375
- root['2']['cam_t_w2c'][1]: 0.2550080418586731
+ root['3']['cam_t_w2c'][0]: -7.682623863220215
- root['3']['cam_t_w2c'][0]: -0.00768262380734086
+ root['3']['cam_t_w2c'][2]: 255.00804138183594
- root['3']['cam_t_w2c'][2]: 2.9891326427459717
+ root['3']['cam_t_w2c'][1]: 2989.132568359375
- root['3']['cam_t_w2c'][1]: 0.2550080418586731
+ root['4']['cam_t_w2c'][0]: -7.682623863220215
- root['4']['cam_t_w2c'][0]: -0.00768262380734086
+ root['4']['cam_t_w2c'][2]: 255.00804138183594
- root['4']['cam_t_w2c'][2]: 2.9891326427459717
+ root['4']['cam_t_w2c'][1]: 2989.132568359375
- root['4']['cam_t_w2c'][1]: 0.2550080418586731
+ root['5']['cam_t_w2c'][0]: -7.682623863220215
- root['5']['cam_t_w2c'][0]: -0.00768262380734086
+ root['5']['cam_t_w2c'][2]: 255.00804138183594
- root['5']['cam_t_w2c'][2]: 2.9891326427459717
+ root['5']['cam_t_w2c'][1]: 2989.132568359375
- root['5']['cam_t_w2c'][1]: 0.2550080418586731
+ root['6']['cam_t_w2c'][0]: -7.682623863220215
- root['6']['cam_t_w2c'][0]: -0.00768262380734086
+ root['6']['cam_t_w2c'][2]: 255.00804138183594
- root['6']['cam_t_w2c'][2]: 2.9891326427459717
+ root['6']['cam_t_w2c'][1]: 2989.132568359375
- root['6']['cam_t_w2c'][1]: 0.2550080418586731
+ root['7']['cam_t_w2c'][0]: -7.682623863220215
- root['7']['cam_t_w2c'][0]: -0.00768262380734086
+ root['7']['cam_t_w2c'][2]: 255.00804138183594
- root['7']['cam_t_w2c'][2]: 2.9891326427459717
+ root['7']['cam_t_w2c'][1]: 2989.132568359375
- root['7']['cam_t_w2c'][1]: 0.2550080418586731
+ root['8']['cam_t_w2c'][0]: -7.682623863220215
- root['8']['cam_t_w2c'][0]: -0.00768262380734086
+ root['8']['cam_t_w2c'][2]: 255.00804138183594
- root['8']['cam_t_w2c'][2]: 2.9891326427459717
+ root['8']['cam_t_w2c'][1]: 2989.132568359375
- root['8']['cam_t_w2c'][1]: 0.2550080418586731
+ root['9']['cam_t_w2c'][0]: -7.682623863220215
- root['9']['cam_t_w2c'][0]: -0.00768262380734086
+ root['9']['cam_t_w2c'][2]: 255.00804138183594
- root['9']['cam_t_w2c'][2]: 2.9891326427459717
+ root['9']['cam_t_w2c'][1]: 2989.132568359375
- root['9']['cam_t_w2c'][1]: 0.2550080418586731

Example: 'bop_object_pose_sampling' with Config: 'config_yaml' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py", line 31, in <module>
    pipeline.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/main/Pipeline.py", line 41, in run
    module.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/writer/BopWriter.py", line 71, in run
    write_bop(output_dir = os.path.join(self._determine_output_dir(False), 'bop_data'),
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 0.936 seconds
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0000.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0001.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0002.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0003.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0004.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0005.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0006.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0007.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0008.exr (480, 640, 3)
/dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2/seg_0009.exr (480, 640, 3)
#### Finished - Running module SegMapRenderer (took 1.489 seconds) ####
#### Start - Running module CocoAnnotationsWriter ####
Writing coco annotations to /tmp/delete_me_blender_proc_res_923/datasets/bop_object_pose_sampling/config_yaml/coco_data/coco_annotations.json
#### Finished - Running module CocoAnnotationsWriter (took 0.707 seconds) ####
#### Start - Running module BopWriter ####
#### Finished - Running module BopWriter (took 0.000 seconds) ####
#### Finished - Running blender pipeline (took 13.860 seconds) ####

Error: script failed, file: '${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py', exiting.
Parsing config '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_bop_object_pose_sampling_++++_config_yaml.yaml'
Filling placeholder <args:3> at modules/(main.Initializer)/config/global/output_dir: /tmp/delete_me_blender_proc_res_923/datasets/bop_object_pose_sampling/config_yaml
Filling placeholder <args:2> at modules/(main.Initializer)/config/global/sys_paths/0: ${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/workspace/bop_toolkit
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/<args:1>
Filling placeholder <args:1> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/lm
Filling placeholder <args:1> at modules/(writer.CocoAnnotationsWriter)/config/supercategory: lm
Filling placeholder <args:1> at modules/(writer.BopWriter)/config/dataset: lm
Filling placeholder <env:USER> at setup/blender_install_path: ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/
Successfully finished parsing 
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
�[33mWarning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases.
Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it.�[0m
Using temporary directory: /dev/shm/blender_proc_1c73b17f78ee4053b4a2776655fa8aa2
Cleaning temporary directory

Example: 'bop_object_physics_positioning' with Config: 'config_yaml' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py", line 31, in <module>
    pipeline.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/main/Pipeline.py", line 41, in run
    module.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/writer/BopWriter.py", line 71, in run
    write_bop(output_dir = os.path.join(self._determine_output_dir(False), 'bop_data'),
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 2.240 seconds
#### Finished - Running module RgbRenderer (took 2.351 seconds) ####
#### Start - Running module BopWriter ####
#### Finished - Running module BopWriter (took 0.000 seconds) ####
#### Finished - Running blender pipeline (took 35.092 seconds) ####

Error: script failed, file: '${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py', exiting.
Parsing config '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_bop_object_physics_positioning_++++_config_yaml.yaml'
Filling placeholder <args:4> at modules/(main.Initializer)/config/global/output_dir: /tmp/delete_me_blender_proc_res_923/datasets/bop_object_physics_positioning/config_yaml
Filling placeholder <args:2> at modules/(main.Initializer)/config/global/sys_paths/0: ${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/workspace/bop_toolkit
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/tless
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/lm
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/<args:1>
Filling placeholder <args:1> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/tless
Filling placeholder <args:1> at modules/(manipulators.MaterialManipulator)/config/selector/conditions/2/name: bop_tless_vertex_col_material.*
Filling placeholder <args:3> at modules/(loader.CCMaterialLoader)/config/folder_path: ${REC_DATA_STORAGE}/datasets/cctextures
Filling placeholder <args:1> at modules/(camera.CameraSampler)/config/cam_poses/0/rotation/value/selector/conditions/cp_bop_dataset_name: tless
Filling placeholder <args:1> at modules/(writer.BopWriter)/config/dataset: tless
Filling placeholder <env:USER> at setup/blender_install_path: ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/
Successfully finished parsing 
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
�[33mWarning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases.
Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it.�[0m
Using temporary directory: /dev/shm/blender_proc_ca2e510f0b364ef6999fa3b31d760e6d
Cleaning temporary directory

bop_object_physics_positioning (config_yaml)

The output could not be compared as no files have been generated for bop_object_physics_positioning:config_yaml!

bop_object_physics_positioning (main_python)

The output of bop_object_physics_positioning:main_python:000000_scene_gt_info_json has changed:

Expand
+ root['0'][5]['px_count_visib']: 3093
- root['0'][5]['px_count_visib']: 3124
+ root['1'][4]['bbox_visib'][0]: 411
- root['1'][4]['bbox_visib'][0]: 410
+ root['1'][4]['bbox_visib'][1]: 100
- root['1'][4]['bbox_visib'][1]: 97
+ root['1'][4]['bbox_visib'][3]: 2
- root['1'][4]['bbox_visib'][3]: 10
+ root['1'][4]['px_count_visib']: 8
- root['1'][4]['px_count_visib']: 32
+ root['2'][5]['bbox_visib'][0]: 491
- root['2'][5]['bbox_visib'][0]: 490
+ root['2'][5]['bbox_visib'][2]: 92
- root['2'][5]['bbox_visib'][2]: 93
+ root['2'][5]['px_count_visib']: 2225
- root['2'][5]['px_count_visib']: 2250
+ root['3'][0]['px_count_visib']: 16236
- root['3'][0]['px_count_visib']: 16251
+ root['3'][2]['px_count_visib']: 18284
- root['3'][2]['px_count_visib']: 18296
+ root['3'][12]['px_count_all']: 3721
- root['3'][12]['px_count_all']: 3722
+ root['3'][12]['px_count_valid']: 3721
- root['3'][12]['px_count_valid']: 3722
+ root['5'][5]['px_count_visib']: 3554
- root['5'][5]['px_count_visib']: 3598
+ root['8'][7]['px_count_visib']: 34264
- root['8'][7]['px_count_visib']: 34290

The output of bop_object_physics_positioning:main_python:000000_scene_gt_coco_json has changed:

Expand
+ root['annotations'][5]['area']: 3093
- root['annotations'][5]['area']: 3124
+ root['annotations'][15]['area']: 8
- root['annotations'][15]['area']: 32
+ root['annotations'][28]['area']: 2225
- root['annotations'][28]['area']: 2250
+ root['annotations'][35]['area']: 16236
- root['annotations'][35]['area']: 16251
+ root['annotations'][36]['area']: 18284
- root['annotations'][36]['area']: 18296
+ root['annotations'][60]['area']: 3554
- root['annotations'][60]['area']: 3598
+ root['annotations'][97]['area']: 34264
- root['annotations'][97]['area']: 34290

Example: 'bop_object_on_surface_sampling' with Config: 'config_yaml' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py", line 31, in <module>
    pipeline.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/main/Pipeline.py", line 41, in run
    module.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/python/modules/writer/BopWriter.py", line 71, in run
    write_bop(output_dir = os.path.join(self._determine_output_dir(False), 'bop_data'),
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 2.130 seconds
#### Finished - Running module RgbRenderer (took 2.470 seconds) ####
#### Start - Running module BopWriter ####
#### Finished - Running module BopWriter (took 0.000 seconds) ####
#### Finished - Running blender pipeline (took 24.614 seconds) ####

Error: script failed, file: '${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262881/BlenderProc/blenderproc/run.py', exiting.
Parsing config '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_bop_object_on_surface_sampling_++++_config_yaml.yaml'
Filling placeholder <args:4> at modules/(main.Initializer)/config/global/output_dir: /tmp/delete_me_blender_proc_res_923/datasets/bop_object_on_surface_sampling/config_yaml
Filling placeholder <args:2> at modules/(main.Initializer)/config/global/sys_paths/0: ${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/workspace/bop_toolkit
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/tless
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/lm
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/<args:1>
Filling placeholder <args:1> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/lm
Filling placeholder <args:1> at modules/(manipulators.MaterialManipulator)/config/selector/conditions/2/name: bop_lm_vertex_col_material.*
Filling placeholder <args:3> at modules/(loader.CCMaterialLoader)/config/folder_path: ${REC_DATA_STORAGE}/datasets/cctextures
Filling placeholder <args:1> at modules/(camera.CameraSampler)/config/cam_poses/0/rotation/value/selector/conditions/cp_bop_dataset_name: lm
Filling placeholder <args:1> at modules/(writer.BopWriter)/config/dataset: lm
Filling placeholder <env:USER> at setup/blender_install_path: ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/
Successfully finished parsing 
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
�[33mWarning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases.
Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it.�[0m
Using temporary directory: /dev/shm/blender_proc_5d3056bb01ea48a480098b03cdff4efa
Cleaning temporary directory

bop_object_on_surface_sampling (config_yaml)

The output could not be compared as no files have been generated for bop_object_on_surface_sampling:config_yaml!

Example: 'bop_scene_replication' with Config: 'config_yaml' failed with:

Expand
Traceback (most recent call last):
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262882/BlenderProc/blenderproc/run.py", line 31, in <module>
    pipeline.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262882/BlenderProc/blenderproc/python/modules/main/Pipeline.py", line 41, in run
    module.run()
  File "${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262882/BlenderProc/blenderproc/python/modules/writer/BopWriter.py", line 71, in run
    write_bop(output_dir = os.path.join(self._determine_output_dir(False), 'bop_data'),
TypeError: write_bop() got an unexpected keyword argument 'm2mm'
Finished rendering after 47.012 seconds
#### Finished - Running module RgbRenderer (took 47.170 seconds) ####
#### Start - Running module BopWriter ####
#### Finished - Running module BopWriter (took 0.000 seconds) ####
#### Finished - Running blender pipeline (took 48.530 seconds) ####

Error: script failed, file: '${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/temp_blender_proc_copy_262882/BlenderProc/blenderproc/run.py', exiting.
Parsing config '${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/blender_proc_helper_runs_external/DLR-RM/BlenderProc/923/temp_config_bop_scene_replication_++++_config_yaml.yaml'
Filling placeholder <args:3> at modules/(main.Initializer)/config/global/output_dir: /tmp/delete_me_blender_proc_res_923/datasets/bop_scene_replication/config_yaml
Filling placeholder <args:2> at modules/(main.Initializer)/config/global/sys_paths/0: ${INTERNAL_HOME_FOLDER}/Dominik_Winkelbauer/workspace/bop_toolkit
Filling placeholder <args:0> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/<args:1>
Filling placeholder <args:1> at modules/(loader.BopLoader)/config/bop_dataset_path: /volume/pekdat/datasets/public/bop/original/tless
Filling placeholder <args:1> at modules/(writer.BopWriter)/config/dataset: tless
Filling placeholder <env:USER> at setup/blender_install_path: ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/
Successfully finished parsing 
Using blender in ${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.3.1-linux-x64
�[33mWarning: Running BlenderProc with config.yaml files is deprecated and will be removed in future releases.
Please switch to the more intuitive Python API introduced in BlenderProc 2.0. It's easy, you won't regret it.�[0m
Using temporary directory: /dev/shm/blender_proc_c5ddfe5793254d978644d3ee308637c8
Cleaning temporary directory

bop_scene_replication (config_yaml)

The output could not be compared as no files have been generated for bop_scene_replication:config_yaml!

bop_object_on_surface_sampling (main_python)

The output of bop_object_on_surface_sampling:main_python:000000_scene_gt_info_json has changed:

Expand
+ root['6'][11]['px_count_all']: 47952
- root['6'][11]['px_count_all']: 47953
+ root['6'][11]['px_count_valid']: 47952
- root['6'][11]['px_count_valid']: 47953

rock_essentials (config_yaml)

The output could not be compared as no files have been generated for rock_essentials:config_yaml!

Pylint output

Expand

Messages

Module blenderproc.python.loader.BopLoader (blenderproc/python/loader/BopLoader.py)

Line Col. Type Symbol ID Obj Message
54 22 warning f-string-without-interpolation W1309 load_bop_objs
Using an f-string that does not have any interpolated variables

Module blenderproc.python.loader.HavenEnvironmentLoader (blenderproc/python/loader/HavenEnvironmentLoader.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
standard import "from typing import Union" should be placed before "import numpy as np"
15 78 convention trailing-whitespace C0303
Trailing whitespace
15 0 warning dangerous-default-value W0102 set_world_background_hdr_img
Dangerous default value [] as argument
44 0 convention trailing-whitespace C0303
Trailing whitespace
46 49 convention trailing-whitespace C0303
Trailing whitespace
48 0 convention trailing-whitespace C0303
Trailing whitespace
54 0 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.scripts.download_haven (blenderproc/scripts/download_haven.py)

Line Col. Type Symbol ID Obj Message
89 23 warning broad-exception-caught W0718 cli.download_items
Catching too general exception Exception

Metrics

Count per types

Name Count
convention 6
warning 3

Count per messages

Name Count
trailing-whitespace 5
dangerous-default-value 1
wrong-import-order 1
f-string-without-interpolation 1
broad-exception-caught 1

Count per modules

Name Count
blenderproc.python.loader.HavenEnvironmentLoader 7
blenderproc.python.loader.BopLoader 1
blenderproc.scripts.download_haven 1

Count per path

Name Count
blenderproc/python/loader/HavenEnvironmentLoader.py 7
blenderproc/python/loader/BopLoader.py 1
blenderproc/scripts/download_haven.py 1
***The tests are done.*** Check the log:

Last update: 08/10/2023, 11:21:11

@wboerdijk
Copy link
Contributor Author

Previous code didnt seem to actually solve the problem of this pr to the full extend. The idea of the newest commits is to deprecate m2mm and mm2m in the writer and loader, respectively, and replace it with object_model_scale. additionally we introduce a new flag annotation_unit to specify in which unit the annotations are saved. This is fully backward compatible to mm2m and m2mm, so nothing in the bop data generation scripts must be changed.

@cornerfarmer
Copy link
Member

cornerfarmer commented Aug 11, 2023

BlenderProcHelper result for run 522:

Done with: [amass_human_poses 17s, amass_human_poses_python 33s, auto_shading 10s, auto_shading_python 10s, basic 10s, basic_python 16s, blenderkit 11s, blenderkit_python 19s, bop_object_on_surface_sampling 56s, bop_object_on_surface_sampling_python 89s, bop_object_physics_positioning 61s, bop_object_physics_positioning_python 120s, bop_object_pose_sampling 40s, bop_object_pose_sampling_python 42s, bop_scene_replication 165s, bop_scene_replication_python 172s, camera_depth_of_field 9s, camera_depth_of_field_python 20s, camera_object_pose 16s, camera_object_pose_python 16s, camera_random_trajectories_python 52s, camera_sampling 9s, camera_sampling_python 21s, coco_annotations 17s, coco_annotations_python 16s, diffuse_color_image 9s, diffuse_color_image_python 19s, dust 9s, dust_python 29s, entity_displacement_modifier 12s, entity_displacement_modifier_python 16s, entity_manipulation 11s, entity_manipulation_python 12s, front_3d 19s, front_3d_object_sampling_python 85s, front_3d_python 98s, front_3d_with_improved_mat 25s, front_3d_with_improved_mat_python 104s, git_log 1s, haven 10s, haven_python 23s, ikea 9s, ikea_python 17s, kinect_azure_noise_python 16s, lens_distortion 11s, lens_distortion_python 15s, lens_distortion_python 13s, light_sampling 13s, light_sampling_python 11s, material_manipulation 10s, material_manipulation_python 11s, material_randomizer 10s, material_randomizer_python 14s, matterport3d_python 70s, motion_blur_rolling_shutter 16s, motion_blur_rolling_shutter 16s, motion_blur_rolling_shutter_python 31s, motion_blur_rolling_shutter_python 25s, multi_render_python 259s, nocs_python 18s, object_pose_sampling 10s, object_pose_sampling_python 10s, on_surface_object_sampling 10s, on_surface_object_sampling_python 10s, optical_flow 18s, optical_flow_python 27s, physics_convex_decomposition 140s, physics_convex_decomposition_python 130s, physics_positioning 18s, physics_positioning_python 23s, pix3d 9s, pix3d_python 16s, random_backgrounds 9s, random_backgrounds_python 17s, random_room_constructor 19s, random_room_constructor_python 83s, replica 74s, replica_python 363s, rock_essentials 48s, scenenet 12s, scenenet_python 55s, scenenet_with_cctextures 19s, scenenet_with_cctextures_python 57s, semantic_segmentation 17s, semantic_segmentation_python 14s, shapenet 10s, shapenet_python 19s, shapenet_with_scenenet 11s, shapenet_with_scenenet_python 56s, shapenet_with_suncg 31s, shapenet_with_suncg_python 70s, spotlight_python 31s, stereo_matching 145s, stereo_matching_python 45s, stereo_matching_with_projector_python 144s, suncg_basic 37s, suncg_basic_python 33s, suncg_with_cam_sampling 28s, suncg_with_cam_sampling_python 57s, suncg_with_improved_mat 23s, suncg_with_improved_mat_python 79s, suncg_with_object_replacer 31s, suncg_with_object_replacer_python 61s, tests_python 14s, urdf_loading_and_manipulation_python 51s]
Done with 105 of 105 tests.
There were errors:
Unit tests output:

...........
----------------------------------------------------------------------
Ran 11 tests in 8.714s

OK

rock_essentials (config_yaml)

The output could not be compared as no files have been generated for rock_essentials:config_yaml!

Pylint output

Expand

Messages

Module blenderproc.python.loader.BopLoader (blenderproc/python/loader/BopLoader.py)

Line Col. Type Symbol ID Obj Message
54 22 warning f-string-without-interpolation W1309 load_bop_objs
Using an f-string that does not have any interpolated variables

Module blenderproc.python.loader.HavenEnvironmentLoader (blenderproc/python/loader/HavenEnvironmentLoader.py)

Line Col. Type Symbol ID Obj Message
8 0 convention wrong-import-order C0411
standard import "from typing import Union" should be placed before "import numpy as np"
15 78 convention trailing-whitespace C0303
Trailing whitespace
15 0 warning dangerous-default-value W0102 set_world_background_hdr_img
Dangerous default value [] as argument
44 0 convention trailing-whitespace C0303
Trailing whitespace
46 49 convention trailing-whitespace C0303
Trailing whitespace
48 0 convention trailing-whitespace C0303
Trailing whitespace
54 0 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.scripts.download_haven (blenderproc/scripts/download_haven.py)

Line Col. Type Symbol ID Obj Message
89 23 warning broad-exception-caught W0718 cli.download_items
Catching too general exception Exception

Metrics

Count per types

Name Count
convention 6
warning 3

Count per messages

Name Count
trailing-whitespace 5
dangerous-default-value 1
wrong-import-order 1
f-string-without-interpolation 1
broad-exception-caught 1

Count per modules

Name Count
blenderproc.python.loader.HavenEnvironmentLoader 7
blenderproc.python.loader.BopLoader 1
blenderproc.scripts.download_haven 1

Count per path

Name Count
blenderproc/python/loader/HavenEnvironmentLoader.py 7
blenderproc/python/loader/BopLoader.py 1
blenderproc/scripts/download_haven.py 1
***The tests are done.*** Check the log:

Last update: 08/11/2023, 13:10:11

Copy link
Member

@cornerfarmer cornerfarmer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good now!

@cornerfarmer cornerfarmer merged commit b16c8e8 into DLR-RM:main Aug 11, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants