code: def add_body_uv_outputs(model, blob_in, dim, pref=""):
      ####
      model.ConvTranspose(
          blob_in,
          "AnnIndex_lowres" + pref,
          dim,
          15,
          cfg.BODY_UV_RCNN.DECONV_KERNEL,
          pad=int(cfg.BODY_UV_RCNN.DECONV_KERNEL / 2 - 1),
          stride=2,
          weight_init=(cfg.BODY_UV_RCNN.CONV_INIT, {"std": 0.001}),
          bias_init=("ConstantFill", {"value": 0.0}),
      )
      ####
      model.ConvTranspose(
          blob_in,
          "Index_UV_lowres" + pref,
          dim,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.DECONV_KERNEL,
          pad=int(cfg.BODY_UV_RCNN.DECONV_KERNEL / 2 - 1),
          stride=2,
          weight_init=(cfg.BODY_UV_RCNN.CONV_INIT, {"std": 0.001}),
          bias_init=("ConstantFill", {"value": 0.0}),
      )
      ####
      model.ConvTranspose(
          blob_in,
          "U_lowres" + pref,
          dim,
          (cfg.BODY_UV_RCNN.NUM_PATCHES + 1),
          cfg.BODY_UV_RCNN.DECONV_KERNEL,
          pad=int(cfg.BODY_UV_RCNN.DECONV_KERNEL / 2 - 1),
          stride=2,
          weight_init=(cfg.BODY_UV_RCNN.CONV_INIT, {"std": 0.001}),
          bias_init=("ConstantFill", {"value": 0.0}),
      )
      #####
      model.ConvTranspose(
          blob_in,
          "V_lowres" + pref,
          dim,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.DECONV_KERNEL,
          pad=int(cfg.BODY_UV_RCNN.DECONV_KERNEL / 2 - 1),
          stride=2,
          weight_init=(cfg.BODY_UV_RCNN.CONV_INIT, {"std": 0.001}),
          bias_init=("ConstantFill", {"value": 0.0}),
      )
      ####
      blob_Ann_Index = model.BilinearInterpolation(
          "AnnIndex_lowres" + pref,
          "AnnIndex" + pref,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.UP_SCALE,
      )
      blob_Index = model.BilinearInterpolation(
          "Index_UV_lowres" + pref,
          "Index_UV" + pref,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.UP_SCALE,
      )
      blob_U = model.BilinearInterpolation(
          "U_lowres" + pref,
          "U_estimated" + pref,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.UP_SCALE,
      )
      blob_V = model.BilinearInterpolation(
          "V_lowres" + pref,
          "V_estimated" + pref,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.NUM_PATCHES + 1,
          cfg.BODY_UV_RCNN.UP_SCALE,
      )
      ###
      return blob_U, blob_V, blob_Index, blob_Ann_Index
  
file_path: dense-pose/detectron/modeling/body_uv_rcnn_heads.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  from caffe2.python import core
  from detectron.core.config import cfg
  import detectron.modeling.ResNet
  import detectron.utils.blob
label_desc: Use image node_id 1 for calling a global function with example usage: add_body_uv_outputs(model, blob_in, dim, pref) and returns: blob_U,  blob_V,  blob_Index,  blob_Ann_Index