code: def apply_affine_transform(
      self,
      frame,
      landmarks,
      transform,
      target_size,
      interpolation,
      border_mode,
      border_value,
  ):
      transformed_frame = cv2.warpAffine(
          frame,
          transform,
          dsize=(target_size[0], target_size[1]),
          flags=interpolation,
          borderMode=border_mode,
          borderValue=border_value,
      )
      transformed_landmarks = (
          np.matmul(landmarks, transform[:, :2].transpose())
          + transform[:, 2].transpose()
      )
      return transformed_frame, transformed_landmarks
  
file_path: audio/examples/avsr/data_prep/detectors/retinaface/video_process.py
imports: import cv2
  import numpy
  from skimage import transform
label_desc: Use image node_id 8 for calling the VideoProcess obj's underlying member method code with example usage: obj.apply_affine_transform(frame, landmarks, transform, target_size, interpolation, border_mode, border_value) and returns: transformed_frame,  transformed_landmarks