Requirements

  • CUDA capable graphics card (Link to place where it says which are capable)
  • Webcam or Machine Vision Camera
  • CUDA capable GPU with CUDA installed
  • OpenCV installed and compiled for CUDA (same version that you have installed)

Compilation Instructions

  • Visual Studio 2015 (others may work)
  • Set up Environment variables
    • OPEN_CV_INSTALL_DIR to install directory of opencv
      • Allows header path finding and prebuild event to copy dlls
  • Rewrite CameraController.cpp to return a BGR image with imaging device
  • Modify Arena.props
  • Modify prebuild events to camera specific DLL’s and headers

Limitations

  • Skin Detection
    • Colour gradients caused by different colour lighting from different light sources can cause failures
    • Fluorescent light is preferred (yellow light and sun light are not good light sources)
    • Requires face is in image
  • Multiple Users
    • If the different users have similarly coloured skin, they will conflict. There is hooks in the software to fix this, but they have not been implemented.
  • Convexity Analysis (Gesture Recognition)
    • Hands must be near head level
    • Hands must be roughly vertical
  • Gesture Tracking
    • Gestures must be held for > 500ms at a time within 3 seconds of each other