code: def test_two_view(self, device, dtype):
      scene = utils.generate_two_view_random_scene(device, dtype)
  
      R1, t1 = scene["R1"], scene["t1"]
      R2, t2 = scene["R2"], scene["t2"]
  
      E_mat = epi.essential_from_Rt(R1, t1, R2, t2)
  
      R, t = epi.relative_camera_motion(R1, t1, R2, t2)
      t = torch.nn.functional.normalize(t, dim=1)
  
      Rs, ts = epi.motion_from_essential(E_mat)
  
      rot_error = (Rs - R).abs().sum((-2, -1))
      vec_error = (ts - t).abs().sum(-1)
  
      rtol: float = 1e-4
      assert (rot_error < rtol).any() & (vec_error < rtol).any()
  
imports: import pytest
  import test_common
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.geometry.epipolar
  from kornia.testing import assert_close
label_desc: Use image node_id 3 for calling the TestMotionFromEssential obj's underlying member method code with example usage: obj.test_two_view(device, dtype) without return types