GithubHelp home page GithubHelp logo

ahmetozlu / human_computer_interaction Goto Github PK

View Code? Open in Web Editor NEW
47.0 2.0 18.0 239 KB

Fist, palm and hand detection & tracking for intelligent human-computer interaction game character movement control with OpenCV on Java (Processing sketchbook).

Home Page: https://www.youtube.com/watch?v=HpzLbTf2OQk

License: MIT License

Processing 100.00%
human-computer-interaction human-computer-interacion-game hci intelligent-computer-game processing java opencv computer-vision computer-vision-based-computer-game haar-cascade

human_computer_interaction's Introduction

Intelligent Human Computer Interaction Game

Human Computer Interaction Game by using OpenCV and Processing: Control the game character's velocity through the speed and direction of your fist or palm(hand)! Fist&palm(hand) is detected using Haar-Cascade Classifier is implemented with OpenCV on java. The trained Haar-Cascade Classifier XML files can be accessible in here. Please contact if you need professional human-computer inteaction based projects with the super high accuracy.

Introduction

  • The Game Scenario: The game character's (Super Mario's) velocity depends on the speed and direction someone's fist or palm(hand) (as user's choise) movements by using the computer's front-facing web camera. The 'stage' is just a 2D platform, with random holes on the ground and random clouds on sky. There is a timer upon game start, and that timer stops when the character collide to one of those holes or clouds (game end). A button resets the game stage.

  • The Main Aim of The Game: The main aim of this proof-of concept game is that incentivizing the users to move/sport for keeping them healthy while they are having fun by playing a human - computer interaction game.

    • Games for human health, wellbeing, and fitness: I have recently begun to focus on making sports, physiological exercise, health, and wellbeing applications more playful, especially in light of the recent increase in sensor use and the quantified self movement.

Theory

1. Front-End

The 'stage' is just a 2D platform, with random holes on the ground and random clouds on sky and it was created by using Processing 3.0 with the images that are available in data folder.

2. Back-End

Haar-Cascade Classifier was used for fist and palm(hand) detection. The trained Haar-Cascade Classifier XML files are available in here.

A human–machine interface usually involves peripheral hardware for the INPUT and for the OUTPUT. Often, there is an additional component implemented in software, like e.g. a graphical user interface.

Project Demo

Installation

Dependencies:

It is developed with "Processing 3.0" and it requires these library;

  1. Video | GStreamer-based video library for Processing

  2. OpenCV for Processing | Computer Vision with OpenCV for Processing

These libraries can be added on Processing 3.0 IDE --- follow this path: "Tools-> Add Tool->Libraries"

How to build and run this source?

  1. Clone repository to your local and import project into Processing 3.0 IDE

  2. Install the dependencies which are given at above

  3. Build and run the project

Citation

If you use this code for your publications, please cite it as:

@ONLINE{vdtc,
    author = "Ahmet Özlü",
    title  = "Intelligent Human Computer Interaction Game",
    year   = "2017",
    url    = "https://github.com/ahmetozlu/human_computer_interaction"
}

Author

Ahmet Özlü

License

This system is available under the MIT license. See the LICENSE file for more info.

human_computer_interaction's People

Contributors

ahmetozlu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

human_computer_interaction's Issues

It's not detecting hand or fist

As the title showing the problem, i think there's a problem in cascade because it says in the console log.
I'm new to this HCI projects,
Kindly help me:

Console log:
The file "mariorun2.png" is missing or inaccessible, make sure the URL is valid or that the file has been added to your sketch and is readable.
OpenCV for Processing 0.5.4 by Greg Borenstein http://gregborenstein.com
Using Java OpenCV 2.4.5.0
Load cascade from: C:/Users/Danish Ali/Documents/Processing/libraries/opencv_processing/library/cascade-files/.\palm.xml
Cascade failed to load

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

(java.exe:10284): GStreamer-CRITICAL **: gst_value_set_fraction_range_full: assertion `denominator_start != 0' failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.