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

Adds new projection helper functions #1045

Merged
merged 5 commits into from
Jan 26, 2024

Conversation

cornerfarmer
Copy link
Member

Adds new helper functions for projection/unprojection:

  • bproc.camera.depth_via_raytracing()
  • bproc.camera.pointcloud_from_depth()
  • bproc.camera.project_points()
  • bproc.camera.unproject_points()

@cornerfarmer
Copy link
Member Author

cornerfarmer commented Jan 26, 2024

BlenderProcHelper result for run 562:

Done with: [amass_human_poses_python 41s, auto_shading_python 9s, basic_python 13s, blenderkit_python 18s, bop_object_on_surface_sampling_python 95s, bop_object_physics_positioning_python 123s, bop_object_pose_sampling_python 72s, bop_scene_replication_python 142s, camera_depth_of_field_python 18s, camera_object_pose_python 22s, camera_random_trajectories_python 49s, camera_sampling_python 19s, coco_annotations_python 14s, diffuse_color_image_python 18s, dust_python 20s, entity_displacement_modifier_python 14s, entity_manipulation_python 10s, front_3d_object_sampling_python 85s, front_3d_python 99s, front_3d_with_improved_mat_python 111s, git_log 1s, haven_python 25s, ikea_python 18s, kinect_azure_noise_python 14s, lens_distortion_python 14s, lens_distortion_python 10s, light_sampling_python 12s, material_manipulation_python 10s, material_randomizer_python 13s, matterport3d_python 69s, motion_blur_rolling_shutter_python 27s, motion_blur_rolling_shutter_python 22s, multi_render_python 251s, nocs_python 17s, object_pose_sampling_python 10s, on_surface_object_sampling_python 14s, optical_flow_python 27s, physics_convex_decomposition_python 144s, physics_positioning_python 23s, pix3d_python 16s, point_clouds_python 25s, random_backgrounds_python 17s, random_room_constructor_python 77s, replica_python 337s, scenenet_python 50s, scenenet_with_cctextures_python 64s, semantic_segmentation_python 13s, shapenet_python 19s, shapenet_with_scenenet_python 51s, shapenet_with_suncg_python 67s, spotlight_python 20s, stereo_matching_python 41s, stereo_matching_with_projector_python 133s, suncg_basic_python 31s, suncg_with_cam_sampling_python 54s, suncg_with_improved_mat_python 67s, suncg_with_object_replacer_python 56s, tests_python 33s, urdf_loading_and_manipulation_python 46s]
Done with 59 of 59 tests.
There were errors:
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 27.872s

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'][2]['bbox_visib'][3]: 23
- root['0'][2]['bbox_visib'][3]: 25
+ root['3'][4]['bbox_visib'][2]: 28
- root['3'][4]['bbox_visib'][2]: 29
+ 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.0265, Pixel diff: 0.0042



Compare image Newly generated image

The output of stereo_matching:main_python:disparity has changed: Diff: 0.0258, Pixel diff: 0.0105



Compare image Newly generated image

The output of stereo_matching:main_python:stereo-depth has changed: Diff: 0.0025, Pixel diff: 0.0104



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)

Metrics

Count per types

Name Count
convention 35
warning 18
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

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

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
***The tests are done.*** Check the log:

Last update: 01/26/2024, 16:53:17

@cornerfarmer cornerfarmer merged commit 9d195e6 into main Jan 26, 2024
3 checks passed
@cornerfarmer cornerfarmer deleted the iss1033_projection_helper_functions branch January 26, 2024 15:57
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.

None yet

1 participant