def update(self, image: np.ndarray) -> np.ndarray:
        """
        Method `update` for GOT-10k trackers.

        :param image: Current image.
        :return: Predicted box.
        """
        import torch

        curr = torch.from_numpy(image / 255.0)
        if self.clip_values is not None:
            curr = curr * self.clip_values[1]  # type: ignore
        curr = curr.to(self.device)
        prev = torch.from_numpy(self.prev).to(self.device)

        curr, _ = self._apply_preprocessing(curr, y=None, fit=False)

        self.box = self._track_step(curr, prev, self.box)
        self.prev = curr.cpu().detach().numpy()

        box_return = self.box.cpu().detach().numpy()
        box_return = np.array(
            [box_return[0], box_return[1], box_return[2] - box_return[0], box_return[3] - box_return[1]]
        )

        return box_return

        Method `update` for GOT-10k trackers.

        :param image: Current image.
        :return: Predicted box.
        
art/estimators/object_tracking/pytorch_goturn.py