Project Exhib1 Final Report
Project Exhib1 Final Report
Recognition
A PROJECT REPORT
Submitted by
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
December 2024
VIT BHOPAL UNIVERSITY, KOTHRI KALAN, SEHORE
MADHYA PRADESH – 466114
BONAFIDE CERTIFICATE
Certified that this project report titled “Gesture-Based System Control Using Hand
(23BCE11718), Prachi Singh (23BCE11342)” who carried out the project work
under my supervision. Certified further that to the best of my knowledge the work
reported at this time does not form part of any other project/research work based on
which a degree or award was conferred on an earlier occasion on this or any other
candidate.
First and foremost I would like to thank the Lord Almighty for His presence and immense blessings
I wish to express my heartfelt gratitude to Dr. Vikas Panthi, Program Chair, SCOPE for much of his
I would like to thank my internal guide Dr. Jitendra P.S. Mathur, for continually guiding and
actively participating in my project, giving valuable suggestions to complete the project work.
I would like to thank all the technical and teaching staff of the School of Aeronautical Science, who
Last, but not least, I am deeply indebted to my parents who have been the greatest support while I
FIGURE TITLE
NO.
TABLE TITLE
NO.
2 Performance Measure
ABSTRACT
List of Abbreviations
List of Tables
Abstract
1 CHAPTER-1:
PROJECT DESCRIPTION AND OUTLINE 1
1.1 Introduction
1.2 Motivation for the work .
1.3 About Introduction to the project
.
including techniques
.
1.4 Problem Statement
1.5 Objective of the work
1.6 Organization of the project
1.7 Summary
2 CHAPTER-2:
RELATED WORK INVESTIGATION 2
2.1 Introduction
2.2 Core area of the project
2.3 Existing Approaches/Methods
2.3.1 Approaches/Methods -1
2.3.2 Approaches/Methods -2
2.3.3 Approaches/Methods -3
2.4 Pros and cons of the stated Approaches/Methods
2.5 Issues/observations from investigation
2.6 Summary
3 CHAPTER-3:
3
REQUIREMENT ARTIFACTS
3.1 Introduction
3.2 Hardware and Software requirements
3.3 Specific Project requirements
3.3.1 Data requirement
3.3.2 Functions requirement
3.3.3 Performance and security requirement
3.3.4 Look and Feel Requirements
3.3.5 ………
3.4 Summary
4 CHAPTER-4:
DESIGN METHODOLOGY AND ITS NOVELTY 4
4.1 Methodology and goal
4.2 Functional modules design and analysis
4.3 Software Architectural designs
4.4 Subsystem services
4.5 User Interface designs
4.5 ………………..
4.6 Summary
5 CHAPTER-5:
TECHNICAL IMPLEMENTATION & ANALYSIS 5
5.1 Outline
5.2 Technical coding and code solutions
5.3 Working Layout of Forms
5.4 Prototype submission
5.5 Test and validation
5.6 Performance Analysis(Graphs/Charts)
5.7 Summary
6 CHAPTER-6:
6
PROJECT OUTCOME AND APPLICABILITY
6.1 Outline
6.2 key implementations outlines of the System
6.3 Significant project outcomes
6.4 Project applicability on Real-world applications
6.4 Inference
7 CHAPTER-7:
7
CONCLUSIONS AND RECOMMENDATION
7.1 Outline
7.2 Limitation/Constraints of the System
7.3 Future Enhancements
7.4 Inference
Appendix A
Appendix B
References
CHAPTER 1: PROJECT DESCRIPTION AND
OUTLINE
1.1 INTRODUCTION
A hand gesture virtual mouse is a system that utilizes computer vision and image processing
techniques to translate hand movements into mouse cursor actions. Typically, a camera
captures video frames, and colored markers on the user's fingertips are tracked for position
and movement. Specific hand gestures can be programmed to trigger mouse actions like
clicking and scrolling, enabling a device-free method of human-computer interaction (HCI).
The motivation for developing hand gesture virtual mice comes from wanting to make
computers easier to use and explore new ways for people to interact with technology.
Traditional mice, although common, can be difficult for people with limited movement or in
situations where a physical device isn't practical (like clean environments or small
workspaces). Hand gesture virtual mice could solve these problems, offering a natural and
device-free way to control a computer. They also explore how we normally use gestures to
communicate, which could lead to fun and interesting ways to interact with technology.
The hand gesture virtual mouse system is built on the foundation of computer vision and
image processing techniques. It uses a camera to capture real-time video frames of the user's
hands. Techniques such as Mediapipe's hand-tracking module and OpenCV-based image
processing enable accurate detection of hand landmarks and movements. The system
leverages algorithms to map gestures, like pinching or swiping, to corresponding cursor
actions such as clicking, scrolling, or dragging. This integration of advanced algorithms and
frameworks creates a seamless and robust interaction model.
1.4 PROBLEM STATEMENT
While traditional computer mice offer widespread and effective interaction, their reliance on
physical devices presents limitations. These limitations include accessibility challenges for
individuals with motor disabilities and constraints in environments where device use is
impractical or undesirable (e.g., sterile medical settings, presentations, or limited
workspaces). The development of hand gesture virtual mice aims to address these limitations
by providing a device-free and adaptable control mechanism for human-computer
interaction. This approach seeks to leverage computer vision and 7 image processing
techniques to translate hand gestures into cursor actions, potentially enhancing accessibility
and exploring novel, gesture-driven interaction methods.
To develop a hand gesture virtual mouse system that provides device-free computer control,
enhancing accessibility and exploring alternative interaction methods. This system will
utilize image processing techniques to track hand movements and gestures for cursor
manipulation.
The report is structured into seven chapters, each covering a key aspect of the project:
2. Chapter 2: Investigates related work in the field, identifying existing methods and
their limitations.
3. Chapter 3: Discusses the technical and functional requirements for the system.
4. Chapter 4: Describes the design methodology and the system's novel features.
performance.
6. Chapter 6: Highlights the project's outcomes, applicability, and significance.
1.7 Summary
This chapter introduces the development of a hand gesture virtual mouse, a system that uses
computer vision to enable device-free computer interaction. By capturing hand movements
with a camera and tracking colored markers on fingertips, the system translates gestures into
actions like clicking and scrolling. Motivated by the limitations of traditional mice, such as
accessibility challenges and impracticality in certain environments, this project aims to
provide a hands-free alternative. Using image processing techniques, the system tracks hand
movements and interprets gestures to offer an intuitive and accessible method of control.
CHAPTER 2: RELATED WORK
INVESTIGATION
2.1 INTRODUCTION
Human-computer interaction (HCI) seeks to make technology more accessible and intuitive.
Traditional mice require physical devices. Virtual mouse systems controlled by hand gestures
offer alternatives with the potential to enhance HCI.
Developing hand gesture-based virtual mouse systems is the central focus. These systems
primarily utilize cameras for hand movement tracking, alongside image processing and
color-detection techniques, to manipulate an on-screen cursor.
● Color Detection and Tracking: Colored markers on fingertips are detected, and their
centroids are computed. These centroids correspond to mouse cursor coordinates
● Image Density Calculation: A held cursor for a specific duration triggers clicking.
● Specific Hand Shapes: Recognizes gestures (e.g., 'thumbs-up' to a fist) for clicks.
● Distance Between Markers: Click events are initiated by measuring the distance
between colored finger markers.
2.3.1 Approaches/Methods - 1: Marker-Based Tracking
Marker-based tracking involves using physical markers (e.g., colored stickers) on the
fingertips or hand. These markers are easily detectable because of their unique colors or
patterns. The system tracks the position of these markers and uses their relative positions to
determine gestures.
Machine learning methods, such as deep learning or support vector machines (SVM), are
used to recognize gestures based on features like hand shape, movement, or skin color. These
models are trained on large datasets and can generalize to various hand positions and lighting
conditions.
Depth-based tracking using depth sensors (e.g., Kinect, stereo cameras) to track hand
movements in three-dimensional space. This approach captures the spatial position of the
hand, providing rich information for gesture recognition and more accurate tracking.
PROS CONS
Accessibility: Provides an alternative to Lighting Dependence: Performance can
traditional input devices. degrade in low-light conditions.
Innovation: Opens avenues for new forms of Gesture Complexity: Complex gestures may
interaction. hinder usability and increase error rates.
Customizability: Can be tailored for specific User Fatigue: Prolonged use could lead to
ser needs. physical strain.
2.5 ISSUES/OBSERVATION FROM INVESTIGATION
● Lighting Sensitivity: The color-based tracking method was highly sensitive to lighting
conditions, especially when the markers were not brightly illuminated or when there was a
lot of ambient light interference.
● Marker Occlusion: When markers were blocked by the hand or fingers in certain
positions, the system struggled to track the markers accurately, leading to a loss of cursor
control.
● Gesture Recognition Accuracy: Although gestures like thumbs-up and fist were
recognized reliably, distinguishing between similar hand shapes (e.g., closed fist vs. open
hand) required fine-tuning the recognition algorithms.
2.6 SUMMARY
Hand gesture-driven virtual mouse systems hold promise for improved accessibility and new
forms of HCI interaction. Ongoing refinement is required in tracking accuracy, intuitive
gesture development, and overall user experience.
CHAPTER 3: REQUIREMENT ARTIFACTS
3.1 INTRODUCTION
The system analysis phase evaluates the shortcomings of the existing system and proposes
enhancements to address these limitations. This section outlines the disadvantages of the
current system and introduces the proposed improvements.
Hardware Requirements:
To support the color detection and tracking of markers on fingertips, the following hardware
components are necessary:
1. Camera:
○ A high-resolution RGB camera (preferably at least 720p or 1080p) for
capturing clear images of the hand and fingertips.
○ A camera with high frame rates (at least 30 fps) is recommended to enable
real-time tracking and gesture recognition.
2. Computer/Processing Unit:
○ Minimum specifications:
3. Markers:
○ Colored markers (or stickers) placed on fingertips to distinguish the hand’s position and
track finger movements.
4. Lighting Setup:
○ Good lighting is crucial for consistent color detection. LED lights or a controlled lighting
environment can ensure that the colors of the markers are clearly distinguishable.
Software Requirements:
1. Operating System:
○ Windows 10 or higher, or macOS (for compatibility with computer vision libraries).
2. Programming Languages:
○ Python: Primarily used for image processing and computer vision tasks.
3. Libraries/Frameworks:
○ OpenCV: For image processing, color detection, region detection, and gesture
recognition.
○ PyAutoGUI: For controlling the mouse pointer based on the tracked coordinates.
5. Version Control:
○ Git: For managing code versions and collaboration.
● Image Data: High-quality images or video frames captured from the camera to process
color markers, detect hand shapes, and track movement.
● Gesture Data: A dataset of labeled hand gestures (e.g., "thumbs-up", "fist") that the
system can learn to recognize.
● Marker Position Data: Data of the relative positions of the markers on the fingertips for
mouse coordinate mapping.
● Color Detection and Tracking: The system should be able to detect colored markers on
the fingertips and track their positions in real-time.
● Gesture Recognition: The system must recognize predefined gestures (e.g., "thumbs-up",
"fist") and map them to corresponding mouse actions (e.g., click, scroll).
● Real-Time Processing: The system should process and update the cursor position based
on the markers' centroid at least 30 times per second (30 fps).
● Click Detection: A feature to detect when the user performs a "click" gesture (e.g., a fist
or thumbs-up gesture held for a certain time).
● User Interface: An interface to allow users to calibrate and adjust the system, such as
setting marker colors and sensitivity.
CHAPTER 4: DESIGN METHODOLOGY AND
ITS NOVELTY
1. Color Detection: Isolate the colored markers using color plane subtraction and
process them using image filtering techniques to remove noise and make marker
detection more robust.
2. Gesture Recognition: Analyze the positions of the detected markers and identify
specific hand shapes using a combination of geometric analysis and predefined
gesture templates.
3. Real-Time Processing: Ensure that the system is capable of processing images and
making decisions in real-time, allowing the cursor to respond promptly to hand
movements.
○ Process: The module isolates specific color channels using color plane
subtraction techniques and applies filtering to remove noise.
○ Process: This module calculates the centroid of each detected marker in real-time
and maps these centroids to screen coordinates.
○ Output: Mouse cursor coordinates based on the centroid positions of the markers.
○ Input: User interaction for calibration (e.g., marker placement and lighting
conditions).
○ Process: Guides users through the calibration process to optimize the system for
individual users and environments.
Each module communicates with others to maintain a smooth and responsive system,
ensuring that gestures are accurately interpreted and converted into mouse actions.
1. Input Layer:
○ Captures the camera feed and provides real-time video frames to the processing
modules.
○ Handles frame rate management and image preprocessing.
2. Processing Layer:
○ Color Detection and Filtering: Uses OpenCV to apply color plane subtraction,
Gaussian filters, and binary image conversion.
○ Allows users to interact with the system for calibration, configuration, and
troubleshooting.
2. Gesture Recognition:
○ Recognition of a range of hand gestures, from simple shapes like "fist" and "thumbs-up"
to more complex gestures involving multiple fingers.
3. Cursor Control:
○ Maps the tracked marker positions to the cursor coordinates on the screen, providing
smooth, real-time mouse control.
4. Click Detection:
○ Detects the "click" gesture, either by holding a specific gesture (e.g., a fist or thumbs-up)
for a given time or by measuring the distance between markers.
○ Visual and audio feedback for successful calibration and gesture recognition.
4.5 User Interface Designs
The user interface (UI) is designed to be simple, intuitive, and easy to navigate. Key features
of the UI include:
(To control volume levels of the system) (To control brightness levels of system)
4.6 Summary
This chapter has described the design methodology and the key components that make up the
hand gesture-based mouse control system. The modular approach allows for flexibility in the
design, with separate modules handling color detection, gesture recognition, and click
detection. The software architecture supports real-time processing, ensuring smooth and
responsive control. The user interface is designed for simplicity and ease of use, with
calibration and feedback mechanisms to ensure that the system performs optimally in
different environments. The combination of these design elements contributes to the novelty
and effectiveness of the system, offering an intuitive and accessible alternative to traditional
mouse input.
Chapter 5: Technical Implementation & Analysis
5.1 Outline
This chapter focuses on the technical backbone of the project. It encompasses coding
techniques, design structures, prototype development, and the systematic approach to testing
and performance analysis. The objective is to provide an in-depth overview of the
methodologies and tools employed to achieve the project's goals.
● Gesture Detection: Utilized Mediapipe’s hand tracking module to detect and track
hand landmarks in real time. The mp_hands.Hands solution was configured with
optimal parameters to balance accuracy and speed.
● Gesture Encoding: Defined custom enums in the Gest class for encoding gestures.
These include common hand gestures like fist, palm, and pinch gestures.
● System Control Integration:
● Recognition Accuracy: Visualized as a bar graph comparing the success rates of different
gestures.
● Response Time: Illustrated through a line chart depicting latency variations across
multiple trials.
● Robustness: A pie chart categorizing error rates into factors like lighting and hand speed.
Measure Description
Accuracy The ability of the virtual mouse to
accurately track and respond to user input.
This can be measured by comparing the
virtual mouse’s movements to the actual
movements of a physical mouse
6.1 Outline
In this chapter, we will summarize the outcomes of the project, highlighting its key
implementations and their impact. We will also explore the real-world applicability of the
hand gesture-based mouse control system and how it can be used in various scenarios.
Finally, we will infer the potential future developments and improvements that could
enhance the system's functionality.
2. Gesture Recognition:
○ The system incorporates algorithms to recognize different hand shapes, such as
"thumbs-up" or "fist", using geometric analysis and centroid positioning.
○ These hand gestures are mapped to specific mouse actions, such as clicks or
dragging, providing an intuitive user interface.
3. Mouse Control:
○ By mapping the centroid positions of the detected markers to mouse
coordinates, the system allows real-time control of the cursor on the screen.
○ A built-in feature for detecting clicks based on sustained gestures or the proximity
of markers enables users to perform mouse actions without physical
contact.
5. Performance Optimization:
○ The system ensures real-time performance by processing images and gestures with
minimal latency, offering a smooth and responsive user experience.
○ It can track multiple markers simultaneously, enabling users to interact with the
system using both hands.
2. User-Friendly Interface:
○ The calibration and feedback system ensures that users can easily set up and use the
system, regardless of their technical expertise. The interface is designed to guide users
step by step, making it intuitive and accessible.
3. Improved Accessibility:
○ The project provides a valuable tool for individuals with physical disabilities or
those who cannot use traditional input devices. The system offers an alternative input
method that is more adaptable to individual needs and preferences.
4. Enhanced Interactivity:
○ By enabling the user to control the mouse through hand gestures, the system
introduces a new level of interactivity. This can be particularly useful in applications
such as presentations, virtual meetings, or interactive displays.
4. Interactive Presentations:
○ The system can be used by presenters who need to interact with a computer or projector
during a presentation without physically touching the devices. By recognizing gestures, the
system allows for seamless control of slides, media, or applications.
6.5 Inference
The hand gesture-based mouse control system represents a novel approach to user
interaction, leveraging real-time color detection, image processing, and gesture recognition
techniques. Its development marks a significant step toward more intuitive and accessible
computing interfaces.
6.6 SUMMARY
In conclusion, this project successfully demonstrates the potential of gesture-based input
systems for diverse applications. With further refinement and expansion, it holds great
promise in improving accessibility, interaction, and user experience in various technological
fields.
Chapter 7: FUTURE ENHANCEMENT AND
CONCLUSION
7.1 Outline
This chapter provides a conclusion to the project by summarizing the key findings and
results. It also highlights the limitations or constraints of the system, which were encountered
during the development and testing phases. Furthermore, recommendations for future
enhancements are discussed, focusing on potential improvements that could be made to
increase the system’s accuracy, efficiency, and applicability in real-world scenarios. Finally,
an inference is made about the overall impact of the project and its potential for future
development.
1. Lighting Conditions:
○ The accuracy of color detection can be significantly impacted by the lighting
conditions in the environment. In low-light or overly bright settings, the markers may
become difficult to distinguish, leading to errors in tracking and gesture recognition.
2. Marker Detection:
○ The system relies heavily on the visibility of the markers on the fingertips. If the
user’s hand moves too quickly or the markers become partially obstructed (e.g., by
fingers overlapping), detection can be inaccurate or lost entirely.
○ While the system recognizes basic gestures (e.g., “thumbs-up” or “fist”), more
complex hand shapes or multi-finger gestures might not be as reliable, leading to possible
misinterpretations of user inputs.
7.3 Future Enhancements
To address the limitations and further enhance the system’s functionality, several
improvements can be made:
5. User Customization:
○ Adding more customization options for the calibration process, including
adjustable sensitivity settings for different hand movements, would allow users
to personalize the system for better performance according to their needs.
7.4 Inference
In conclusion, this project has demonstrated the feasibility and potential of a hand
gesture-based mouse control system, leveraging color detection and gesture recognition
techniques. The system successfully provides real-time control of the mouse cursor through
simple hand gestures, with potential applications in accessibility, gaming, virtual reality, and
more. By integrating more advanced technologies and refining the existing algorithms, the
system can become more robust, reliable, and versatile, paving the way for wider adoption
and integration in a variety of settings.
7.4 Conclusion
In conclusion, the virtual mouse project has been a valuable learning experience, providing
insights into the challenges and possibilities of creating a virtual input device. While the
current system performs well, there is ample opportunity for further enhancement and
development.
Appendix A: System Configuration and Setup
This appendix outlines the hardware and software configurations required to set up and run
the hand gesture-based mouse control system.
● Libraries:
○ OpenCV (Version 4.x): For color detection, image processing, and gesture
recognition.
○ NumPy (Version 1.19+): For numerical operations and array handling.
○ PyAutoGUI (Version 1.0+): For controlling the mouse and simulating mouse
clicks.
1. Place the colored markers on your fingertips (preferably on index and thumb.
2. Adjust the camera angle to ensure a clear view of both hands.
3. Follow the on-screen instructions to calibrate the system by selecting appropriate
lighting and background settings.
Appendix B: Sample Gesture Recognition Workflow
This appendix describes the workflow for gesture recognition, including the steps involved
in detecting and interpreting hand shapes.
○ Perform color detection by isolating the color channels corresponding to the fingertip
markers (e.g., red or green).
3. Centroid Calculation:
○ Compute the centroids of the detected markers to estimate the fingertip positions.
4. Gesture Recognition:
○ Analyze the relative positions and angles of the centroids to recognize specific gestures
(e.g., thumbs-up, fist).
5. Action Mapping:
○ Map recognized gestures to corresponding mouse actions (e.g., cursor movement, click, or
drag).
6. Feedback:
○ Provide real-time feedback on the recognized gesture or action status. B.2 Example of
Gesture Recognition for "Thumbs-Up"
● Input: Detected centroids of the thumb and index finger.
● Process: Calculate the angle between the thumb and index finger; if it exceeds a
threshold, recognize it as a "thumbs-up."
● Output: Trigger a mouse click or other predefined action.
REFERENCES
[1] Erdem, E., Yardimci, Y., Atalay, V., & Cetin, A. E. (2004). Computer vision based mouse.
Proceedings. 12th Signal Processing and Communications Applications Conference, 2004., 245-248.
[2] Rajan, E., & Pushpavalli, M. (2014). Color Image Segmentation: RGB and HSI models.
International Journal of Advanced Research in Computer Science and Software Engineering, 4(5),
150-155.
[3] Chu-Feng Lien (2006). Mouse Simulation Using a Single Camera. International Conference on
Intelligent Information Hiding and Multimedia Signal Processing.
[4] Kamran Niyazi et al. (2002) Mouse Simulation Using a Single Webcam, 3rd IASTED
International Conference on Human Computer Interaction