1 2 Previous Next 15 Replies Latest reply on Aug 29, 2017 10:28 AM by MartyG

    Person tracking showing center of mass of worlds points x,y,z =0,0,0

    rasulnrasul

      Hi All,

       

      I am using ZR300 on Ubuntu 16.04. I have written a driver for a system which gives images(colors, depth, params) from driver and converts to my format. And in the system I am using Person tracking module to track the person. Below is the procedure I am following.

       

      1. Read Image from device and convert images (RGB, Depth) and params into my format.
      2. Convert images and params back to realsense format to use the SDK for persontracking module.

       

       

       

      I am able to read rgb, depth images well but the problem is when I use them with person tracking module.  Below code might make my problem clear.

      Intel::RealSense::PersonTracking::PersonTrackingData::PointCombined centerMass = personTrackingData->QueryCenterMass();


      after this call "image" coordinates are correct but "world" coordinates are always zero.

       

      struct PointCombined
      {
      PointInfo image// These points valid and correct
      PointInfo world;             // Always getting zero
      int32_t reserved[10];
      };

       

       

      I am getting image points of center of Mass properly but world points of center of mass are always 0. Can anyone suggest what is the reason for this.

       

       

      the debug info for rs::person_tracking::person_tracking_video_module_interface like below

       

       

      {image_streams_configs = 
      {
      //Depth frame
      {size = {width = 640, height = 480}, frame_rate = 30, flags = rs::core::sample_flags::none, intrinsics = {width = 640, height = 480,
              ppx = 326.644165, ppy = 236.037598, fx = 580.807617, fy = 580.807617, model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {
                1, 0, 0, 0, 1, 0, 0, 0, 1}, translation = {0, 0, 0}}, extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = true},
      //RGB frame
      {size = {width = 1920, height = 1080}, frame_rate = 30, flags = rs::core::sample_flags::none, intrinsics = {width = 1920, height = 1080, ppx = 964.216553,
              ppy = 534.419556, fx = 1384.1781, fy = 1384.72815, model = rs::core::distortion_type::modified_brown_conrady, coeffs = {0.0614707544, -0.12582916, 0.000950379937,
                0.001717065, 0}}, extrinsics = {rotation = {0.999997556, 0.000578932464, -0.00215310813, -0.000564914662, 0.999978662, 0.0065054521, 0.00215682853,
                -0.00650421949, 0.999976516}, translation = {-0.0583816841, 7.3792442e-05, 0.000446915685}}, extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0},
              translation = {0, 0, 0}}, is_enabled = true},
      {size = {width = 0, height = 0}, frame_rate = 0, flags = rs::core::sample_flags::none, intrinsics = {width = 0,
              height = 0, ppx = 0, ppy = 0, fx = 0, fy = 0, model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0,
                0}, translation = {0, 0, 0}}, extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false},
      {size = {width = 0, height = 0}, frame_rate = 0, flags = rs::core::sample_flags::none, intrinsics = {width = 0, height = 0, ppx = 0, ppy = 0, fx = 0, fy = 0,
      model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 1.12800322e-40}},
            extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false},

      {
      size = {width = 0, height = 0}, frame_rate = 0, flags = rs::core::sample_flags::none, intrinsics = {width = 0, height = 0, ppx = 0, ppy = 0, fx = 0, fy = 0,
      model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}},
      extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false},
      {size = {width = 0, height = 0}, frame_rate = 0, flags = rs::core::sample_flags::none, intrinsics = {width = 0, height = 0, ppx = 0, ppy = 0, fx = 0, fy = 0, 
      model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0,
               0}, translation = {0, 0, 0}}, extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false},
      {size = {width = 0, height = 0}, frame_rate = 0, flags = rs::core::sample_flags::none, intrinsics = {width = 0, height = 0, ppx = 0, ppy = 0, fx = 0, fy = 0,
              model = rs::core::distortion_type::none, coeffs = {0, 0, 0, 0, 0}}, extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}},
            extrinsics_motion = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false}
      },
      motion_sensors_configs = {
      {sample_rate = 0,
            flags = rs::core::sample_flags::none, intrinsics = {data = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, noise_variances = {0, 0, 0}, bias_variances = {0, 0, 0}},
            extrinsics = {rotation = {0, 0, 0, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false},
      {sample_rate = 0, flags = rs::core::sample_flags::none,
            intrinsics = {data = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, noise_variances = {0, 0, 0}, bias_variances = {0, 1.11746546e-40, 0}}, extrinsics = {rotation = {
                2.73617251e+20, 6.54421108e+28, 1.6132139e-19, 8.07993672e+11, 7.68134686e+31, 1.08994712e+27, 1.8887661e+31, 4.54203253e+30, 4.0962881e+12}, translation = {
                2.74886334e+26, 0.0116239535, 4.54488922e+30}}, is_enabled = 121}, {sample_rate = 1.80620802e+28,
            flags = (rs::core::sample_flags::external | unknown: 1128021606), intrinsics = {data = {{0.000710774679, 4.46505236e+30, 4.62180682e+30, 0.226007119}, {           
      8.60121465e+11, 4.70470306e+27, 2.68772091e+14, 1.80620802e+28}, {1.21076761e+25, 7.14632045e+22, 2.1124333e-19, 1.93488725e-19}}, noise_variances = {
                1.84498538e+28, 1.96029927e-19, 1.84964789e+20}, bias_variances = {7.15415356e+22, 1.57930118e-19, 6.33693764e-10}}, extrinsics = {rotation = {6.33692987e-10,
                2.62225663e-09, 9.15742352e-33, 0, 0, 0, 0, 0, 0}, translation = {0, 0, 0}}, is_enabled = false}
      },
      device_info = {name = '\000' <repeats 223 times>, serial = '\000' <repeats 31 times>, firmware = '\000' <repeats 31 times>, rotation = rs::core::rotation::rotation_0_degree},
      projection = 0x7fffac71d660}

       

      Thank you.

       

      Message was edited by: Nayabrasul Shaik

        1 2 Previous Next