Dynamic Projection Mapping with Kinect Fusion

36 Views Asked by At

I would like to create a dynamic projection mapping with a kinect v2 onto moving faces. The projection should also track gestures. For the Face and Gestures I already could use / adapt the libraries kinectfusion https://github.com/ParikaGoel/KinectFusion. For the procam calibration I tried to use the method from roomalivetoolkit https://github.com/microsoft/RoomAliveToolkit/tree/master/ProCamCalibration The build of the different applications for the calibrations runs without an error. But the created xml file doesn't show a result which I expected according to other samples with similar configurations.

    <?xml version="1.0" encoding="utf-8"?>
<ProjectorCameraEnsemble xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/RoomAliveToolkit">
  <cameras>
    <ProjectorCameraEnsemble.Camera>
      <calibration>
        <colorCameraMatrix>
          <ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:ArrayOfdouble>
              <d6p1:double>1063.463111378544</d6p1:double>
              <d6p1:double>0</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>0</d6p1:double>
              <d6p1:double>1061.8627325189539</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>954.72989120454383</d6p1:double>
              <d6p1:double>534.529563995388</d6p1:double>
              <d6p1:double>1</d6p1:double>
            </d6p1:ArrayOfdouble>
          </ValuesByColumn>
        </colorCameraMatrix>
        <colorLensDistortion>
          <ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:ArrayOfdouble>
              <d6p1:double>0.013346956850287547</d6p1:double>
              <d6p1:double>-0.0035797700319366091</d6p1:double>
            </d6p1:ArrayOfdouble>
          </ValuesByColumn>
        </colorLensDistortion>
        <depthCameraMatrix>
          <ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:ArrayOfdouble>
              <d6p1:double>367.87554163500874</d6p1:double>
              <d6p1:double>0</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>0</d6p1:double>
              <d6p1:double>367.90133748048856</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>252.47403573205293</d6p1:double>
              <d6p1:double>218.32574111821748</d6p1:double>
              <d6p1:double>1</d6p1:double>
            </d6p1:ArrayOfdouble>
          </ValuesByColumn>
        </depthCameraMatrix>
        <depthLensDistortion>
          <ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:ArrayOfdouble>
              <d6p1:double>0.051385764539217227</d6p1:double>
              <d6p1:double>-0.16113227210632269</d6p1:double>
            </d6p1:ArrayOfdouble>
          </ValuesByColumn>
        </depthLensDistortion>
        <depthToColorTransform>
          <ValuesByColumn xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:ArrayOfdouble>
              <d6p1:double>0.99997341632843018</d6p1:double>
              <d6p1:double>0.0047127651050686836</d6p1:double>
              <d6p1:double>-0.0055638905614614487</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>-0.0046834396198391914</d6p1:double>
              <d6p1:double>0.99997520446777344</d6p1:double>
              <d6p1:double>0.0052772583439946175</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>0.0055886264890432358</d6p1:double>
              <d6p1:double>-0.005251091904938221</d6p1:double>
              <d6p1:double>0.99997061491012573</d6p1:double>
              <d6p1:double>0</d6p1:double>
            </d6p1:ArrayOfdouble>
            <d6p1:ArrayOfdouble>
              <d6p1:double>0.05262937861479515</d6p1:double>
              <d6p1:double>-0.0001241124380167218</d6p1:double>
              <d6p1:double>9.8476117035936562E-05</d6p1:double>
              <d6p1:double>1</d6p1:double>
            </d6p1:ArrayOfdouble>
          </ValuesByColumn>
        </depthToColorTransform>
      </calibration>
      <hostNameOrAddress>localhost</hostNameOrAddress>
      <name>0</name>
      <pose>
        <ValuesByColumn xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:ArrayOfdouble>
            <d5p1:double>1</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
          </d5p1:ArrayOfdouble>
          <d5p1:ArrayOfdouble>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>1</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
          </d5p1:ArrayOfdouble>
          <d5p1:ArrayOfdouble>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>1</d5p1:double>
            <d5p1:double>0</d5p1:double>
          </d5p1:ArrayOfdouble>
          <d5p1:ArrayOfdouble>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>0</d5p1:double>
            <d5p1:double>1</d5p1:double>
          </d5p1:ArrayOfdouble>
        </ValuesByColumn>
      </pose>
    </ProjectorCameraEnsemble.Camera>
  </cameras>
  <name>Untitled</name>
  <projectors>
    <ProjectorCameraEnsemble.Projector>
      <cameraMatrix i:nil="true" />
      <displayIndex>2</displayIndex>
      <height>1080</height>
      <hostNameOrAddress>localhost</hostNameOrAddress>
      <lensDistortion i:nil="true" />
      <lockIntrinsics>false</lockIntrinsics>
      <name>0</name>
      <pose i:nil="true" />
      <width>1920</width>
    </ProjectorCameraEnsemble.Projector>
  </projectors>
</ProjectorCameraEnsemble>

Also at the end of the application it shows the following errors: image above shows error Apart from that when I start the ProjectorServer it basically shows just a window frame without any values or data. projector server application Does somebody know what causes this error ? Or probably had the same issue before? BR

0

There are 0 best solutions below