code: def __call__(self, in_data):
      img, bbox, label = in_data
      _, H, W = img.shape
      img = self.faster_rcnn.prepare(img)
      _, o_H, o_W = img.shape
      scale = o_H / H
      bbox = transforms.resize_bbox(bbox, (H, W), (o_H, o_W))
  
      # horizontally flip
      img, params = transforms.random_flip(
          img, x_random=True, return_param=True
      )
      bbox = transforms.flip_bbox(
          bbox, (o_H, o_W), x_flip=params["x_flip"]
      )
  
      return img, bbox, label, scale
  
imports: from __future__ import division
  import argparse
  import numpy
  import chainer
  from chainer.datasets import ConcatenatedDataset
  from chainer.datasets import TransformDataset
  from chainer import training
  from chainer.training import extensions
  from chainer.training.triggers import ManualScheduleTrigger
  from chainercv.datasets import voc_bbox_label_names
  from chainercv.datasets import VOCBboxDataset
  from chainercv.extensions import DetectionVOCEvaluator
  from chainercv.links import FasterRCNNVGG16
  from chainercv.links.model.faster_rcnn import FasterRCNNTrainChain
  from chainercv import transforms
label_desc: Use image node_id 2 for calling the Transform obj's underlying member method code with example usage: obj.__call__(in_data) and returns: img,  bbox,  label,  scale