none
Mirror gestures created with Visual Gesture Builder RRS feed

  • Question

  • Is it possible to mirror gestures? I've created gestures with VGB using the right half of the body. I created keyframes for continuous and discrete gestures. In code I can catch these gestures fine. Now I want to flip these gestures from right to left in order to save time and have the same recognition behaviour on both sides of the body. Because of the ML approach, gestures created with the left body side are slightly different to the right sided gestures. This could get annoying for the customers.

    Thanks in advance

    Matthias

    Thursday, December 11, 2014 5:16 PM

All replies

  • Yes, however it depends on how you setup your gesture, and the type of gesture it is.

    When you create a new project if you select ignore an arm let's say and ignore the lower part of your body you get this option to duplicate and mirror data:

    View of Create Gesture Project


    Sr. Enterprise Architect | Trainer | Consultant | MCT | MCSD | MCPD | SharePoint TS | MS Virtual TS |Windows 8 App Store Developer | Linux Gentoo Geek | Raspberry Pi Owner | Micro .Net Developer | Kinect For Windows Device Developer |blog: http://dgoins.wordpress.com

    Thursday, December 11, 2014 7:54 PM
  • Thank you Dwigght-Goins.

    I did Setup the gestures using the wizard. I checked the corresponding mirror Option and got a discrete and a continous gesture (Training and analytics) for each of the Body sides. Now I added some Clips to the Training sections of the right side. Edited Keyframes and hit built for the gesture. Everything fine. If I try to build the whole solution (while leaving one Training node empty) I get a "null reference exception". So I'm unable to create a full VGB DB with all gestures inside. But if so, can I Access the "_Left" gestures in the same way as the "_Right" gestures, without adding a Clip to them?

    Here's a screenshot of my VGB Solution:

    Are there any suggestions?

    Thanks a lot!!!

    Matthias

    Friday, December 12, 2014 6:53 AM
  • I'm not sure if I have understood the situation and I have not used VGB thoroughly, but I think "mirroring" means a different thing for VGB:

    - You want to build a gesture with half of the body and then "mirror" the result get ANOTHER gesture with the other half.

    - VGB allows to ignore half body for the training and "mirror" the behaviour of the other part so the SAME gesture will be detected either with one half or the other.

    Maybe I'm only messing up the question, I'm sure Dwight or Carmine could make this clearer.

    Friday, December 12, 2014 9:09 AM
  • Yes! I want to build a gesture (Ignore LEFT arm, ignore lower Body parts)

    "swipe with RIGHT arm from RIGHT to LEFT"

    After that I want these gesture to be mirrored to the outcome

    "swipe with the LEFT arm from LEFT to RIGHT".

    Just flip the rigth side to the left in *.xef AND *.vgbclip ;)

    Best regards!

    Friday, December 12, 2014 12:47 PM
  • I still don't understand if you want one or two gestures.

    If you want gesture "swipe" and it is not important if the user used the right arm from right to left or the left arm from left to right then:

    - Get training sequences for right arm.

    - Forgot about the left arm swipe, but select mirroring data. Build your project as if the only action was swipe with right arm from right to left.

    - When you finish, your gesture should be detected both ways with right or left arm.

    If you want two gestures and detect if the user has performed a right arm swipe or a left arm swipe, I think this cannot be done trough mirroring.

    Btw, have you watched the Kinect team video tutorial of VGB? It has been some time since I watched it but I think it explains this topic.

    http://channel9.msdn.com/Blogs/k4wdev/Custom-Gestures-End-to-End-with-Kinect-and-Visual-Gesture-Builder

    Monday, December 15, 2014 9:42 AM