code: def orthographic_projection(X, camera):
      """Perform orthographic projection of 3D points X using the camera parameters
      Args:
          X: size = [B, N, 3]
          camera: size = [B, 3]
      Returns:
          Projected 2D points -- size = [B, N, 2]
      """
      camera = camera.reshape((-1, 1, 3))
      X_trans = X[:, :, :2] + camera[:, :, 1:]
      shape = paddle.shape(X_trans)
      X_2d = (
          camera[:, :, 0] * X_trans.reshape((shape[0], -1))
      ).reshape(shape)
      return X_2d
  
file_path: PaddleDetection/ppdet/modeling/architectures/pose3d_metro.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
  from ..None import layers
label_desc: Use image node_id 1 for calling a global function with example usage: orthographic_projection(X, camera) and returns: X_2d