A video-tracking based serious game for motor rehabilitation of post-stroke hand impairment

—This work describes the development of a serious game focused on health treatment. The Handcopter Game was designed to support the recovery of motor function in patients who have suffered a stroke recently. We propose a non-conventional low cost input device to function as the game controller. It detects the patient’s hand movements via computer vision algorithms and map that to movements of the game character in the virtual environment. The premise is that the gameplay makes patients execute hand movements typically found in a physiotherapy session. We also discuss how to use this game as part of the patient’s treatment. Finally, we present the results collected when real patients played the game as part of their recovery treatment


I. INTRODUCTION
According to the World Health Organization [1], every six seconds someone in the world suffers a stroke, and one in six people will have a stroke in their lifetime.The stroke is regarded as one of the leading causes of death worldwide [2], [3].Stroke happens when blood circulation is interrupted to any part of the brain.This may lead to a local shortage of oxygen, which, in turn, may cause the death of brain cells.As a consequence, the stroke victim loses the capacity for executing tasks related to the affected area.Depending on the location of the affected region, a stroke may cause a restriction or even complete loss of movements (paralysis) in one side of the body, speech impairment, and vascular dementia [4].With appropriate long-term care and support, stroke survivors can fully recover and regain their quality of life.
The long-term path to recovery, however, is not without powerful obstacles.The patients often have to go through many physical therapy sessions in order to have a partial recovery of impaired movements.These sessions are usually long, tiresome and tedious.These factors associated with a heavy toll on the psychological welfare of stroke survivors are responsible for a high number of patients abandoning treatment before its completion [5].
One way of tackling this problem is to add playful activities in the treatment, such as games.The premise is that these socalled serious games may bring an extra element of motivation to a physical therapy session and, hopefully, make it more interesting for the patient.According to Clark [6], a serious game is considered "serious" in the sense that it has an explicit and carefully thought-out educational purpose and are not intended to be played primarily for one's amusement.This does not mean that serious game are not, or should not be, entertaining [7].
One of the current trends in the game industry is to move from conventional methods of interaction-such as joysticks, joypads, keyboard and mouse-towards mechanism that detects the natural movements of the body.This is the case, for instance, of the Nintendo's wiimote and Microsoft's kinetic sensors, which rely on the player's natural body movements to provide game input [8].The goal is to foster the illusion of being immerse in the virtual environment by mapping natural movements to similar game movements [9].This new interaction paradigm is gradually reaching the realm of serious game applied to neurorehabilitation.However, current off-the-shelf games are not easily customised to meet the particular requirements of a rehabilitation game [10].
Since the impairment of hand function is one of the most common disability in stroke survivors, it is important to search for effective rehabilitation therapy aimed at specialised hand movements.In the present work, we are searching for a natural body movement-tracking device that would be able to detect small amplitude movements of the fingers.Our goal was to design a game targeted at patients in their first stages of treatment, in which the physiotherapy needs to recover the patient's gross hand movements.This means the ability to flex and extend the fingers and thumbs.
With this motivation in mind, we describe in this paper the Handcopter Game, a serious game that receives the player's input from a low cost vision based hand tracking device.Our goal was to provide am inexpensive tool that would supplement the conventional hand physiotherapy for patients recovering from a stroke.Since the Handcopter Game is aimed at the first stages of the patient's hand rehabilitation program-i.e. the recovery of the global movement of fingers' extension and flexion on the patient's affected hand-there is no need to tailor the parameters of the game to individual patients at this point.We expect that after the Handcopter Game had helped the patients to recover a certain degree of conjugated fingers movement, the physical therapist would be able to proceed to work on individual and more precise fingers' movements.We hope our solution would help disseminating the importance of close cooperation between serious game and traditional physiotherapy treatments [10]- [12].
The rest of this paper is organised as follows.In the next section we review available literature on related works.In Section III we describe the methodology we followed to develop the Handcopter Game, while in Sections IV to VI we present some preliminary results, discuss its implications, and present our concluding remarks.

II. RELATED WORK
The multimodal nature of Virtual Reality (VR) systems has inspired many applications in the field of motor rehabilitation [5], [13].Recent studies have provided evidence that VR can improve treatment response when applied in conjunction with or replacing entirely traditional therapy [14]- [18].
Adamovich et al. [19], and Jack and Boian [20] proposed a method for post-stroke hand rehabilitation using, respectively, the Cyberglove and the Rutgers Master II-ND glove.Another line of research on hand rehabilitation investigated the use of haptics and force feedback [21].In [22], the authors describes a complex robotic arm for hand recovery.
Following the same trend, Luo et al. [23] proposed the integration of Augmented Reality (AR) into a system driven by assistive devices to tackle the problem of hand rehabilitation.Their AR system comprises a Head-Mounted Display (HMD) to present the augmented world, and either a body-powered orthosis or pneumatic-powered device to provide system input and, at the same time, aid the patient's hand movements.Although they obtained an "encouraging trend of modest improvement of finger extension capability in the impaired hand" after 6 weeks of training, the robotic apparatus and the HMD is simply too expensive to be of universal use and proved to be not particularly cost-effective, if we consider the reported results.
The problem we found with these previous approaches and similar ones is that they rely on quite expensive equipment.The overall cost of the hardware and software is prohibitive for many outpatient private clinics and, in particular, for hospitals belonging to a public funded national health system.There is, therefore, a need for low cost systems that are easy to install and use, either at an outpatient hospital service, or, perhaps, at home.The work done by Morrow et al. [24], for instance, seeks to explore a so-called "low cost" alternative for a rehabilitation VR system based on a game console and a VR glove.Nonetheless, the overall system cost is around a thousand Brazilian reais, which may still be considered expensive.Another disadvantage of their approach is that game consoles are somehow difficult to program since they require the use of proprietary API rather than open source code [25].Additionally, it is necessary to pay for an annual subscription fee corresponding to the game console development license.
In terms of rehabilitation efficacy appraisal, we could identify several interesting procedures.Most of them are task oriented and provide the opportunity to practice activities that are not or cannot be practised within the clinical environment.In one direction, we have approaches that compare the patient's performance in specific activities before and after the treatment [26], [27].Alternatively, the comparison between a control and an experimental group seems to be the most accepted way of validating VR-based rehabilitation systems [16].
Finally, the work done by Wang et al. [28] is similar to ours in the sense that they suggest the utilisation of a low cost simple artefact as an input device to a computer game to support the rehabilitation process.In their work they rely on programmable sensors to detect when the player squeeze a rubber ball and map that to some action inside the game.However, most of the patients in the early stages of their post-stroke recovery-our target audience-are unable to hold objects in their hands, let alone being able to squeeze it.This short review let us learn interesting lessons: i) virtual reality might provide an efficient way to support rehabilitation and, therefore, is worth investigating [29]; ii) most of the current VR solutions are expensive if we consider the budget assigned to hospitals and clinics in the context of the Brazilian public health system; iii) the inherent engaging nature of virtual reality and interactive video games are likely to encourage higher number of repetitions in rehabilitation systems built upon these technologies; iv) the VR and video game rehabilitation systems provide the opportunity to practice activities that difficult to reproduce within the clinical environment; v) a VR or game-based rehabilitation system provides a customisable treatment environment that takes into account individual necessities, allows control over the patient's level of effort, and can be altered accordingly to the rehabilitation program requirements; and vi) a game-based rehabilitation system may be implemented at the patient's home, thus supporting longterm commitment necessary to a rehabilitation treatment.
These lessons encouraged us to pursue the design of a new low cost method that could be made widely available in hospitals throughout the country, or even at the patients' homes.Our proposed solution is a result of the convergence of game technology with rehabilitation science to foster a new generation of virtual rehabilitation applications.

III. METHODOLOGY
In this section we present the steps we followed during the conception, development, and deployment of the Handcopter Game.We also describe some of the problems we faced during this process, which helped us improve both the development methodology and the overall system design.
We organised this section as follows: first, we describe the software development process, then we report the steps necessary to design and assembly the hardware, followed by the integration of software and hardware into a system bundle.

A. Game Development
Our target audience was composed of post-stroke patients with limited hand movements.These patients usually need to undergo several physiotherapy sessions in order to improve their range of hand motion and recover the coordination and fine dexterity of hand movements.
In this context, we began our design by defining a set of constraints that we had to comply so that the game could be used as a supplement to the conventional physiotherapy treatment.These constraints are application domain dependent, each affecting different stages of game development, i.e. the gameplay, game story, game content, and game technology.

1) Gameplay:
The first constraint was related to the types of movements the players were able to perform and the traditional physical therapy wants to improve.In our case, the only requirement was that the patients were able to execute some global flexion and extension movements of the fingers.We also had to provide a comfortable physical environment for the patients while playing the Handcopter Game.
Considering the reduced set of possible player gestures, i.e. global finger flexion and extension, we chose a side-scrolling gameplay.In this type of representation, the game is viewed from a side-view camera angle and the onscreen character can move from the bottom to the top of the screen while the entire environment is scrolling horizontally [30].By setting up a constant horizontal speed for the onscreen character, we only need to map the player's input to upwards and downwards motion.
According to Csikszentmihalyi [31] and his concept of "flow", when there is an adequate balance between the ability necessary to perform a task and the skills required to do it, the resulting challenge is more likely to afford high level of engagement or presence.For that reason, the game starts off with a constant horizontal scroll speed and, as the player gathers experience and scores points, the scrolling speed is gradually increased.We expect to keep players engaged in an enjoyable experience by finding the right balance so that the game does not become predictable and too easy to play and, at the same time, is challenging and rewarding.As a sideeffect, the game becomes more demanding and the so called "replay value" is increased, since the player/patient may want to improve his or her own previous score.
2) Game story: The second constraint is related to the players' age and social background.Because we consider our target audience to be occasional players, the game experience should be compatible with the intended players' social and background experiences.Stroke can affect people at any age.Yet, it often strikes people over fifty years of age [3].Therefore, our game had to take the social background of this demographic group into account.We had to bear in mind that this age group are not used to play video game and, possibly, are not familiar with or very found of new technology.
To create a more comfortable environment for this audience, we decided that the game story would unfold in an environment familiar to the prospective players.We chose to display a scene with typical houses found in the interior region of northeastern Brazil.We also included game elements that might bring nice memories and were easily recognisable, such as the colourful balloons commonly present during the celebration of St. John the Baptist (Festa Junina, in Portuguese).By setting up the game in this familiar environment, we expect to offer a familiar experience that may engage the player, thereby alleviating any resistance to the idea of doing something new, such as playing a video game (see Figure 1).According to Schell [32], a good practice in successful game design is to think about the experience we want to offer to the player, rather to think on the game itself.In other words, the game is not the experience, it only enables it.3) Game Content: Post-stroke patients have not only their movement reach restricted, but their response time and speed are affected as well-this is our third constraint.This is the main reason why off-the-shelf video games cannot be used in the first stages of physical therapy: they are simply too fast for that.Consequently, we had to provide a configuration interface to allow the physical therapist the option to define the quantity and speed of obstacles, choose the scrolling velocity, set the number of attempts or "lives", and calibrate the helicopter's range of motion according to the player's current ability to move.
It is known that one of the main psychological complications of post-stroke patient is depression [33].Their ability to do everyday tasks is severely compromised and this may lead to a fragile psychological state associated with depression.On account of that, a forth constraint requires us to avoid giving negative feedback during the playing session.For instance, we replaced the commonly used word in games "Lives" for "Attempts" on the game interface.The expression "You lost a life."might make patients feel uncomfortable.
However, the game still needed to be based on a limited number of attempts, since the game is predicated on the patient's skill to avoid collision.Thus, we had to control the game's difficulty level so that by allowing the patients to win most of the time, they would still feel stimulated to continue playing.

4) Game Technology:
Our last design constraint is the need for a low cost system so that it could be deployed in any hospital or clinical setting of the Brazilian public health system.For that, the minimal computational requirements to run the game must be as simple as possible, probably on a regular desktop computer with no high-end graphics card.We had to balance that with the need to provide a professional look-and-feel for the game, so that players would feel attracted to the game.
The game was developed in the object oriented paradigm, with C++ and the graphics game API Allegro 5 [34].Allegro 5 is a cross-platform, open source, game programming library [35].We also employed the OpenCV library [36] to have access to C++ implementations of important computer vision algorithms needed for the design of our game controller, described in the next section.
The game class modelling is shown in Figure 2. We divided the game in five classes, each of them responsible for encapsulating a game object.The core was responsible for running the main loop and to control the message exchange among objects and the game controller.The game architecture is depicted in Figure 3, in which is possible to identify all the software layers of the game and how they interface with one another.Notice that the Controller Interface is completely independent from the Game Processing Logic.This means that it is relatively straightforward to replace the hand tracking system for, say, a joystick, thus allowing the game do be played in a different way.The game exhibits an animation technique called parallax that helps creating an illusion of depth in 2D games, as seen in Figure 4.This technique consists in moving the layers of the background at different speeds, so the user feels like the slower ones are further away [37].This technique is computationally inexpensive and brings a new dimension to the game animation.
The collision detection of game elements is done in two stages.The game does bounding box detection in the broad phase and pixel-by-pixel collision detection in the subsequent narrow phase.This enables the game to precisely detect collision, as illustrated by the helicopter close to the balloon at the top right portion of the top image in Figure 4.

B. Game Controller
The game controller is based on computer vision algorithms to recognise and track the player's hand.After that, we estimate the contour of the hand and determine whether the player is extending or flexing his or her fingers based on the varying area of this estimated contour.
The noise generated by natural variation in a set of images while tracking moving objects with computer vision is a major issue we need to tackle.Sometimes the noise is so intense that the tracking fails to provide reliable results.In the Handcopter Game, this could lead to the helicopter moving towards a direction opposite to the one the player originally intended it to go, or even not move at all.
Leaving the patient as comfortable as possible to use the system was one of the requirements of this work.To achieve that, the patient's arm needs to rest on a table and the camera should be set up steadily above the hand being used to control the game.The camera is mounted on an adapted 20L mineral water bottle.We cut the top part of the bottle and positioned it upside down.At the bottom, we made an entrance large enough so that the player could comfortably insert his or her arm.The camera is accommodated on the top of the bottle, with the lenses fit through a hole, looking down to the table at a ninety-degree angle, as shown in Figure 5.The bottle serves two purposes: to hold the camera steadily at a fixed distance to the table, and to block off any external light source, thereby providing a controlled lighting condition inside the bottle.

1)
Strategy #1: glove based tracking: To avoid dealing with different skin tones, our first controller design relied on a coloured rubber glove to provide a uniform universal colour that helped the computer vision based tracking.
As we wanted to detect whether the hand is opening or closing, we calculated the coverage area of a polygon formed by the patient's hand.To obtain this approximation, we compute the convex hull of the set of points associated with the hand.The area of this convex hull indicates to the game what is the current size of the patient's hand, or, in other words, how closed or open the hand is in a given instant.
Figure 6 shows the four image processing stages involved in the tracking task.These stages are: • Image Capture: The first stage is to acquire a frame from the camera.The top left image in Figure 6 is an example of this stage.• HSV Conversion: The second step is then to convert the acquired information that is using the Red, Green, and Blue (RGB) representation to a Hue, Saturation, Value (HSV) representation.The HSV system represents colour in such a way that it facilitates the next step of the process.
As seen on the top right image in Figure 6, the hand already stands out from the background image.• Filtering: In this stage, a threshold colour filter is used to select only the chosen colour range.Because we already know the colour of the glove, it is easy to define the minmax range to filter.The bottom left image in Figure 6 shows the filtered frame, displaying only the hand in white.
• Calculating the convex hull: The program calculates the convex hull based on the set of points that represents the player's hand.The area of the convex hull polygon provides a hand size value for the game.The bottom right image in Figure 6 shows the external line that encloses the hand represents the convex hull calculated for that image.
Fig. 6: The four stages of the image processing during the tracking task.
The Algorithm 2 describes the tracking process in terms of OpenCV functions.

2)
Strategy #2: skin based tracking: The previous design strategy for the game controller relied on a single coloured rubber glove to identify the player's hand.This approach allowed us to avoid the calibration of the game's vision system every time a new player came along.Since every player would wear the same glove, the system knew exactly which colour range it needed to segment and track.
However, during a pilot study the participants complained about some difficulty in wearing the glove.Another reported criticism related to the glove was that it somehow restricted the hand movements and caused a certain degree of discomfort when worn for a long period.
To tackle this issue, we designed a simple calibrating system to identify different skin tones and perform the required hand tracking without the glove.There are several stages in the tracking algorithm.Similar to the previous design, we also needed to transform the image colour space from RGB to HSV.This is done because we can focus on a single colour channel (H) during the segmentation process, since the others channels (S and V) are not related with the colour tone, but with its intensity and saturation.The next step consists in determining a colour range to be considered as the target skin tone.Before the game starts, the player is asked to position the hand under a target mark displayed on the screen and press any key on the keyboard.The system takes a sample of the image containing the player's skin colour and calculates the average H channel value M and its standard deviation σ.All image values between M ± σ are considered to be skin.
The system generates a binary image containing the player hand based on the colour range information previously detected.We apply an erosion (a morphological image processing operation) on the binary image because the colour segmentation process often introduces a small amount of noise (see Figure 7a).This significantly reduces the image noise, as show in Figure 7b.A side effect of the erosion operation is the reduction of the hand profile.To compensate for this side effect and approximate the original hand profile, we apply another morphological operation, dilation, which is the erosion's opposite counterpart operation (see Figure 7c).The last step consists in identifying the image contours and calculating its corresponding area.This value will change as the player opens or closes his or her hand.Another improvement in this new game controller design is the ability to identify the movement of a single finger.We achieved that by assigning the vertices of the convex hull to each individual finger or thumb (see Figure 7d).Therefore, the system is able to support, for instance, independent finger tracking, which is necessary during more advanced treatment stages.
The steps involved in the skin-based hand tracking process is summarised as follows: Step 1: Transform the image colour space from RGB to HSV.
Step 2: Sample the player skin and find the mean (M ) and the standard deviation (σ) based on the information on the H channel.

C. Integrating the Handcopter Game and the Controller
The first issue when integrating the controller to the game is to keep the game running smoothly, even when the controller is working.Thus, we need to run a calibration routine at the beginning of the session to determine the ideal frame rate acquisition for the camera.In our preliminary experiments, for instance, the camera was able to operate at sixty percent of its maximum acquisition speed.This speed was enough to allow the game to execute smoothly.After finding out the camera acquisition speed, we set the game timers based on this value to ensure the whole system run synchronously.
The next step was to decide how to control the game's main character, the helicopter.We tried two approaches.In the first one we did a direct mapping between the the player's maximum range of movement and the helicopter's maximum altitude variation.The physiotherapist would ask the patient to close his or her hand the fullest extension, which would represent the helicopter in the bottom of the screen.Next, the patient would open his hand to the fullest extension and that would represent the helicopter on top of the screen.The game would start after this calibration and the patient would try to avoid collision with the balloons by controlling the helicopter's position in the scene based on the varying degree of hand clasping.This approach presented some problems: fast hand movements would cause the helicopter to move in a way that constantly confused the player; and it was hard for the patient to make the helicopter go up as far as possible, simply because it was hard for the patient to fully open his hand.
For the second approach we assigned the relaxed hand position to the helicopter's starting position flying at middle altitude.When the player opened his/her hand, the helicopter would fly upwards, whereas when the player closed his/her hand, the helicopter would fly downwards.This approach forced the patient to keep moving constantly, which was the desired action for the physiotherapy.
Although the second approach worked well for the game, a new controlling strategy aiming at supporting a different physical therapy exercise was implemented and added to the game.On this third approach, we also calibrate the controller for the patient's opened and closed hand positions.After calibration, the game starts with the helicopter positioned on the top of the screen, flying downwards at a constant speed.Every time the patient closes his or her hand, the the helicopter moves upwards just a bit, as if an air stream had just passed underneath the aircraft.This vertical displacement only lasts for a brief period, after which the helicopter resumes its falling motion towards the ground.This new interaction requires the patient to constantly clasp the controlling hand to both keep the helicopter airborne and avoid collision with the moving balloons.

IV. TESTS AND RESULTS
On the first testing phase, we had five participants using the controller to test its precision and the external light influence on the camera's image.In the first experiment the five healthy volunteers -three male and two female, all of them between twenty and twenty seven years old -wore the glove and play the game for five minutes.After that, they answered a subjective questionnaire about the controller precision.
After receiving the users feedback, we detected a problem with the controller: sometimes the helicopter changed direction abruptly, even when the player hand was laying still.This was caused by the detection of a false contour, as depicted by the smaller contour shown in the centre of Figure 8.This false contour was generated by a colour fluctuation caused by a corresponding variation of the reflected light bouncing off different parts of the glove.When the user hand was positioned in the centre of the light spot, parts of the glove would be recognised as out of the intensity colour range determined in the program, generating the false contour inside the hand.To fix that, the algorithm was changed so it would only detect the external contour, which was the correct one.The second experiment was designed to evaluate the effect of varying light conditions on the controller.To test that, the controller was taken to different locations with different light sources and the game ran in each of these locations.The results can be seen in Figure 9.In the top left image is the worst-case scenario.The controller is exposed to direct sunlight coming through an open window.As can be seen in that image, the controller loses track of some fingertips, and generates another contour around the wrist.In contrast, the other images showed nice hand contours.In the bottom left image, the sunlight is coming through the window, but is not directly over the controller.In the top right image, there is no sunlight in the room, just artificial light.In the last one, bottom right, there is no light at all and the controller is operating only with the camera's built in LED illumination.As the controller is not expected to be used under direct sunlight (the first case), we avoid altogether the problem of false contours.We did the same light condition evaluation for the skinbased hand tracking game controller (c.f.Section III-B2).For this controller, we obtained better test results (i.e. a unique contour) since this approach does not suffer from the colour fluctuation issued caused by the reflected light bouncing off different parts of the glove.The skin is a diffuse surface and, therefore, has a specular component lower than the glove's.
The final evaluation involved real patients from the Onofre Lopes University Hospital.We tested the system with two patients, one male (51 y.o.) and one female (49 y.o.), both under conventional treatment for six months.The test was conducted by a licensed physiotherapist.The playing sessions took place in a room with illumination condition close to the one shown in the top right image of the Figure 9.We run the game on a 14 inch notebook, with a second generation i5 core processor, 4GB of RAM memory, and an Intel integrated video card.The webcam used was the BestPro Extralight with LEDs.This is the same webcam as the one used to capture all images shown in this paper.
Before the session started, the physiotherapist received instruction on the game operation.At the beginning of the session, the patient signed a consent term, received instructions on the gameplay and story, and was prepared to play.
At this point we noticed an important issue with our experimental set up.The patients felt more comfortable when placing the palm of their hands facing up.Although all the previous tests were conducted with participants controlling the game with the palm of their hands facing down, the controller was still able to successfully track hand flexion and extension, regardless of the direction the participant's hand was facing.
The game was executed in the speed three, being one the minimum and five the maximum, and set for ten attempts.The section for the first patient lasted for about six minutes and she scored 40 points.At the end of the session, the patient was interviewed about the experience she just had.Overall, this participant reported a pleasing and comfortable experience with the game.
Another patient, shown in Figure 10, received ten attempts, played for eight minutes and scored 100 points.When asked about the game experience, he also classified it as comfortable and pleasant.The patient found the game content amusing and the overall experience very fun.Fig. 10: Experimental set up used with a post-stroke patient.

V. DISCUSSION
We believe that the game has been successfully developed as a serious game.Evidence for our preliminary experiments suggests the game fulfils its rehabilitation purpose and may be used in conjunction with a traditional physiotherapy session.Also, according to those who played it, the game experience was fun.More tests need to be done to help us gather more evidence on the efficiency of the Handcopter Game as a tool to assist patients in their recovery process.
We were able to design and build a low cost and efficient game controller that tracks the player's movements in such a way as to let users control the game in a comfortable and productive way.The materials used to build the controller are very easy to acquire.The webcam is the most expensive item, costing under 70 Brazilian reais.Indeed, the proposed controller was reported to make the game more interested to the health volunteers who tested the game in the preliminary stages.
Even though the hand tracking module is heavily based on computer vision and image processing algorithms, the overall performance was very satisfactory in the sense that the game's performance speed (in frames per second) is limited only by the the camera's image acquisition rate.This allowed us to achieve interactive frame rates, well above 30 frames per second.According to Gregory [38] this is a typical rendering rate for games because this is the natural refresh rate of most color television standard.
We believe that the proposed system can be set up in hospitals and clinics to promote an extra motivation for poststroke patients.The overall low cost of the proposed solution associated with the inherent fun of a game were responsible for the good feedback provided by both the health and impaired volunteers.Particularly, one of the post-stroke patients reported to us that she wanted to repeat the experiment just to improve her score and do better than the second patient.This is the type of engagement we expect to motivate patients and, possibly, reduce the number of patients abandoning the treatment before its completion.
As stated on the results section, the only problem with the first game controller design was the participant's reported difficulty in wearing the gloves.Nonetheless, this issues has been sorted out in the second game controller design, which rely solely on skin tracking, thus avoiding the use of gloves.

VI. CONCLUSION
In this work we presented the Handcopter Game, a serious game for the treatment of post-stroke patients.The game was designed considering a series of constraints imposed by the singular type of audience the game is intended for.The low cost game controller is based on computer vision algorithms and presented an accurate and fast response to the test conditions.The proposed controller could easily be adapted to other circumstances, working as an innovative input device.
Although the number of volunteers used in the experiments does not allow us to conclude that the game is an efficient way of addressing the problem of making a physiotherapy session more interesting, evidence suggests we are in the right track.

Fig. 1 :
Fig. 1: Game environment showing a typical scene found in the interior region of northeastern Brazil.

Fig. 4 :
Fig.4: The parallax effect.On the top image, we circled three background elements in an instant t, each of which in a different background layer.On the bottom image, we showed the same background elements in an instant t + d, thus indicating that they move at different speeds.

Fig. 5 :
Fig. 5: Materials used to create the controller.The 20 L mineral water bottle was painted so it could block any outside incoming light.

Algorithm 2
The Controller Algorithm initialise(); % Initialises OpenCV and camera.cvQueryFrame(camera); % Capture one frame.cvCvtColor(CV BGR2HSV); % Image RGB to HSV. cvInRange(min, max); % Only pixels within range.% Finds out external contour.cvFindContours(CV RETR EXTERNAL); if contour = null then % Determines CH for the external contour.cvConvexHull2(CV CLOCKWISE); for all convex hull points do % Generates all points from the detected CH. cvSeqPush(sequence, point); end for area = cvContourArea(sequence); end if return area; (a) Noisy binary image resulting from colour range segmentation for the skin on the H channel.(b) The result of erosion on the image 7a.(c) The result of dilation on the image 7b.(d) Finger tracking based on the convex hull.

Step 3 :
Generate a binary image by assigned white colour to image values within [M − σ, M + σ], and black otherwise.Step 4: Retrieve contours from the binary image from previous stage.Step 5: Calculate the contour area and feed this information to the game processing loop.Step 6: [optional] Calculate the position of the fingers based on the convex hull vertices.

Fig. 9 :
Fig. 9: Contours found in different light exposures.The painting on the bottle effectively blocks out most of the external lights.