DLR-RM / BlenderProc

A procedural Blender pipeline for photorealistic training image generation
GNU General Public License v3.0
2.6k stars 432 forks source link

fix(writer): eliminate uncorrect warning in write_bop #1058

Closed saprrow closed 4 months ago

saprrow commented 4 months ago

when target_objects is not None, iterate target_objects instead of get_all_mesh_objects() to print correct warnings.

closes #1056

cornerfarmer commented 4 months ago

BlenderProcHelper result for run 565:

Done with: [amass_human_poses_python 37s, auto_shading_python 9s, basic_python 13s, blenderkit_python 19s, bop_object_on_surface_sampling_python 98s, bop_object_physics_positioning_python 129s, bop_object_pose_sampling_python 72s, bop_scene_replication_python 142s, camera_depth_of_field_python 20s, camera_object_pose_python 22s, camera_random_trajectories_python 49s, camera_sampling_python 18s, coco_annotations_python 14s, diffuse_color_image_python 20s, dust_python 18s, entity_displacement_modifier_python 14s, entity_manipulation_python 10s, front_3d_object_sampling_python 87s, front_3d_python 96s, front_3d_with_improved_mat_python 107s, git_log 1s, haven_python 23s, ikea_python 17s, kinect_azure_noise_python 11s, lens_distortion_python 14s, lens_distortion_python 9s, light_sampling_python 11s, material_manipulation_python 10s, material_randomizer_python 13s, matterport3d_python 69s, motion_blur_rolling_shutter_python 26s, motion_blur_rolling_shutter_python 22s, multi_render_python 261s, nocs_python 18s, object_pose_sampling_python 10s, on_surface_object_sampling_python 10s, optical_flow_python 26s, physics_convex_decomposition_python 152s, physics_positioning_python 23s, pix3d_python 16s, point_clouds_python 26s, random_backgrounds_python 17s, random_room_constructor_python 77s, replica_python 343s, scenenet_python 50s, scenenet_with_cctextures_python 65s, semantic_segmentation_python 13s, shapenet_python 18s, shapenet_with_scenenet_python 51s, shapenet_with_suncg_python 69s, spotlight_python 23s, stereo_matching_python 42s, stereo_matching_with_projector_python 136s, suncg_basic_python 34s, suncg_with_cam_sampling_python 56s, suncg_with_improved_mat_python 65s, suncg_with_object_replacer_python 55s, tests_python 40s, urdf_loading_and_manipulation_python 45s] Done with 59 of 59 tests. There were errors: :x:
Unit tests output:

${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.5.1-linux-x64/3.5/python/lib/python3.10/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.5.1-linux-x64/3.5/python/lib/python3.10/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  return self._float_to_str(self.smallest_subnormal)
${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.5.1-linux-x64/3.5/python/lib/python3.10/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
${INTERNAL_NODES_DISC_SPACE}/Dominik_Winkelbauer/blender/blender-3.5.1-linux-x64/3.5/python/lib/python3.10/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  return self._float_to_str(self.smallest_subnormal)
...............
----------------------------------------------------------------------
Ran 15 tests in 34.842s

OK

urdf_loading_and_manipulation (main_python)

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

Expand ```diff + root['4'][6]['bbox_visib'][3]: 17 - root['4'][6]['bbox_visib'][3]: 16 + root['9'][2]['bbox_visib'][3]: 13 - root['9'][2]['bbox_visib'][3]: 14 ```

stereo_matching (main_python)

The output of stereo_matching:main_python:disparity has changed: Diff: 0.0251, Pixel diff: 0.0032



Compare image Newly generated image

The output of stereo_matching:main_python:disparity has changed: Diff: 0.0144, Pixel diff: 0.0051



Compare image Newly generated image

Pylint output

Expand

Messages

Module blenderproc.python.camera.CameraProjection (blenderproc/python/camera/CameraProjection.py)

Line Col. Type Symbol ID Obj Message
4 0 warning unused-import W0611
Unused create_primitive imported from blenderproc.python.types.MeshObjectUtility
10 0 convention ungrouped-imports C0412
Imports from package blenderproc are not grouped
63 0 convention line-too-long C0301
Line too long (134/120)
114 0 convention trailing-whitespace C0303
Trailing whitespace
132 7 convention trailing-whitespace C0303
Trailing whitespace
134 33 convention trailing-whitespace C0303
Trailing whitespace
138 0 convention line-too-long C0301
Line too long (132/120)
140 0 convention trailing-newlines C0305
Trailing newlines

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

Line Col. Type Symbol ID Obj Message
73 0 convention line-too-long C0301
Line too long (152/120)

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

Line Col. Type Symbol ID Obj Message
168 11 convention unidiomatic-typecheck C0123 Entity.duplicate
Use isinstance() rather than type() for a typecheck.

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

Line Col. Type Symbol ID Obj Message
125 12 refactor consider-using-augmented-assign R6104 Light.setup_as_projector
Use '/=' to do an augmented assign directly
216 0 convention trailing-whitespace C0303
Trailing whitespace

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

Line Col. Type Symbol ID Obj Message
556 0 convention line-too-long C0301
Line too long (130/120)
567 7 convention trailing-whitespace C0303
Trailing whitespace
575 8 warning unused-variable W0612 create_from_point_cloud
Unused variable 'p'
603 0 convention trailing-whitespace C0303
Trailing whitespace
678 28 convention trailing-whitespace C0303
Trailing whitespace

Module blenderproc.python.utility.InstallUtility (blenderproc/python/utility/InstallUtility.py)

Line Col. Type Symbol ID Obj Message
129 0 convention trailing-whitespace C0303
Trailing whitespace

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

Line Col. Type Symbol ID Obj Message
9 0 convention wrong-import-order C0411
standard import "from typing import List, Optional, Dict, Tuple" should be placed before "import trimesh"
10 0 convention wrong-import-order C0411
standard import "import warnings" should be placed before "import trimesh"
11 0 convention wrong-import-order C0411
standard import "import datetime" should be placed before "import trimesh"
18 0 convention wrong-import-order C0411
standard import "import sys" should be placed before "import trimesh"
62 0 convention line-too-long C0301
Line too long (131/120)
79 8 warning redefined-outer-name W0621 write_bop
Redefining name 'dataset_objects' from outer scope (line 532)
172 44 warning protected-access W0212 write_bop
Access to a protected member _pyrender_init of a client class
172 15 refactor consider-using-with R1732 write_bop
Consider using 'with' for resource-allocating operations
176 0 convention trailing-whitespace C0303
Trailing whitespace
301 21 warning redefined-outer-name W0621 _BopWriterUtility.get_frame_gt
Redefining name 'dataset_objects' from outer scope (line 532)
388 38 warning redefined-outer-name W0621 _BopWriterUtility.write_frames
Redefining name 'dataset_objects' from outer scope (line 532)
514 0 convention trailing-whitespace C0303
Trailing whitespace
526 78 convention trailing-whitespace C0303
Trailing whitespace
530 8 warning global-variable-undefined W0601 _BopWriterUtility._pyrender_init
Global variable 'renderer' undefined at the module level
530 8 warning global-variable-undefined W0601 _BopWriterUtility._pyrender_init
Global variable 'renderer_large' undefined at the module level
530 8 warning global-variable-undefined W0601 _BopWriterUtility._pyrender_init
Global variable 'dataset_objects' undefined at the module level
548 0 convention line-too-long C0301
Line too long (173/120)
563 78 convention trailing-whitespace C0303
Trailing whitespace
569 8 warning global-variable-not-assigned W0602 _BopWriterUtility._calc_gt_masks_iteration
Using global for 'renderer' but no assignment is done
569 8 warning global-variable-not-assigned W0602 _BopWriterUtility._calc_gt_masks_iteration
Using global for 'dataset_objects' but no assignment is done
576 0 convention trailing-whitespace C0303
Trailing whitespace
666 0 convention line-too-long C0301
Line too long (160/120)
667 0 convention trailing-whitespace C0303
Trailing whitespace
668 0 convention trailing-whitespace C0303
Trailing whitespace
671 0 convention line-too-long C0301
Line too long (196/120)
684 11 convention trailing-whitespace C0303
Trailing whitespace
686 78 convention trailing-whitespace C0303
Trailing whitespace
692 8 warning global-variable-not-assigned W0602 _BopWriterUtility._calc_gt_info_iteration
Using global for 'renderer_large' but no assignment is done
692 8 warning global-variable-not-assigned W0602 _BopWriterUtility._calc_gt_info_iteration
Using global for 'dataset_objects' but no assignment is done
692 8 warning global-variable-not-assigned W0602 _BopWriterUtility._calc_gt_info_iteration
Using global for 'renderer' but no assignment is done
696 11 warning protected-access W0212 _BopWriterUtility._calc_gt_info_iteration
Access to a protected member _renderer of a client class
697 12 warning protected-access W0212 _BopWriterUtility._calc_gt_info_iteration
Access to a protected member _renderer of a client class
698 12 warning protected-access W0212 _BopWriterUtility._calc_gt_info_iteration
Access to a protected member _renderer of a client class
705 0 convention trailing-whitespace C0303
Trailing whitespace
833 0 convention line-too-long C0301
Line too long (202/120)
834 0 convention trailing-whitespace C0303
Trailing whitespace
842 44 warning redefined-outer-name W0621 _BopWriterUtility.calc_gt_coco
Redefining name 'dataset_objects' from outer scope (line 532)

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

Line Col. Type Symbol ID Obj Message
1 0 convention missing-module-docstring C0114
Missing module docstring
11 -1 warning pointless-string-statement W0105
String statement has no effect
13 0 convention wrong-import-position C0413
Import "import numpy as np" should be placed at the top of the module

Metrics

Count per types

Name Count
convention 37
warning 19
refactor 2

Count per messages

Name Count
line-too-long 9
trailing-whitespace 19
trailing-newlines 1
ungrouped-imports 1
unused-import 1
consider-using-augmented-assign 1
unidiomatic-typecheck 1
unused-variable 1
redefined-outer-name 4
protected-access 4
consider-using-with 1
global-variable-undefined 3
global-variable-not-assigned 5
wrong-import-order 4
missing-module-docstring 1
pointless-string-statement 1
wrong-import-position 1

Count per modules

Name Count
blenderproc.python.camera.CameraProjection 8
blenderproc.python.loader.CCMaterialLoader 1
blenderproc.python.types.LightUtility 2
blenderproc.python.types.EntityUtility 1
blenderproc.python.types.MeshObjectUtility 5
blenderproc.python.utility.InstallUtility 1
blenderproc.python.writer.BopWriterUtility 37
blenderproc.scripts.quickstart 3

Count per path

Name Count
blenderproc/python/camera/CameraProjection.py 8
blenderproc/python/loader/CCMaterialLoader.py 1
blenderproc/python/types/LightUtility.py 2
blenderproc/python/types/EntityUtility.py 1
blenderproc/python/types/MeshObjectUtility.py 5
blenderproc/python/utility/InstallUtility.py 1
blenderproc/python/writer/BopWriterUtility.py 37
blenderproc/scripts/quickstart.py 3
***The tests are done.*** Check the log: Last update: 01/30/2024, 15:02:35