def _predictions(
        self,
        videos: "torch.Tensor",
        y_init: "torch.Tensor",
        foreground: "torch.Tensor" | None,
        patch_points: np.ndarray | None,
    ) -> list[dict[str, "torch.Tensor"]]:
        """
        Predict object tracking estimator on patched videos.

        :param videos: Video samples.
        :param y_init: Initial labels/boxes.
        :param foreground: Foreground mask.
        :param patch_points: Array of shape (nb_frames, 4, 2) containing four pairs of integers (height, width)
                             corresponding to the coordinates of the four corners top-left, top-right, bottom-right,
                             bottom-left of the transformed image in the coordinate-system of the original image.
        :return: Predicted labels/boxes.
        """
        import torch

        patched_input = self._apply_texture(videos, self._patch, foreground=foreground, patch_points=patch_points)
        patched_input = torch.clamp(
            patched_input,
            min=self.estimator.clip_values[0],
            max=self.estimator.clip_values[1],
        )

        predictions = self.estimator.predict(patched_input, y_init=y_init)

        return predictions

        Predict object tracking estimator on patched videos.

        :param videos: Video samples.
        :param y_init: Initial labels/boxes.
        :param foreground: Foreground mask.
        :param patch_points: Array of shape (nb_frames, 4, 2) containing four pairs of integers (height, width)
                             corresponding to the coordinates of the four corners top-left, top-right, bottom-right,
                             bottom-left of the transformed image in the coordinate-system of the original image.
        :return: Predicted labels/boxes.
        
art/attacks/evasion/adversarial_texture/adversarial_texture_pytorch.py