Team 1
Team 1
On
BACHELOR OF TECHNOLOGY
In
Of
Submitted By
2024-25
CERTIFICATE
This is to certify that the project report entitled EYE LINK ADAPTIVE GAZE
AND HEAD MOVEMENT FOR ENHANCED ACCESSIBILITY submitted by
Yerramadha Madhuri 215U1A0532, Guduru Shireesha 215U1A0561, Begari
Murari 215U1A0521, Guru Sai Kumar 215U1A0557 to the AVN Institute of
Engineering & Technology, in partial fulfillment for the award of the degree of B. Tech
in Computer Science and Engineering is a bona fide record of mini project work
carried out by him/her under my/our supervision. The contents of this report, in full or
in parts, have not been submitted to any other Institution or University for the award of
any degree or diploma.
External Examiner
DECLARATION
We declare that this project report titled EYE LINK ADAPTIVE GAZE AND HEAD
MOVEMENT FOR ENHANCED ACCESSIBILITY submitted in partial
fulfillment of the degree of B. Tech in Computer Science and Engineering is a record
of original work carried out by me under the supervision of Dr. Shaik Abdul Nabi,
and has not formed the basis for the award of any other degree or diploma, in this or
any other Institution or University. In keeping with the ethical practice in reporting
scientific information, due acknowledgements have been made wherever the findings
of others have been cited.
Signature by
It gives us great pleasure to present the report of the Mini Project Work undertaken during
B.Tech. Final Year. I owe a special debt of gratitude to my Project Guide Dr. Shaik Abdul Nabi,
[Vice principal & Professor], Department of Computer Science and Engineering, for their constant
support and guidance throughout the course of my work. It is only through their efforts that my
endeavors have seen the light of day.
We also take this opportunity to acknowledge the contribution of Dr V Goutham, Head of the
Department of Computer Science and Engineering for his full support and assistance during the
development of the project.
We would also like to acknowledge the contribution of all faculty members of the department
for their kind assistance and cooperation during the development of my project.
Signature by
DESCRIPTION PAGE NO
ABSTRACT i
LIST OF FIGURES ii
LIST OF ABBREVIATIONS iii
1. INTRODUCTION
1.1 Introduction 1-2
1.2 Motivation 2-4
1.3 Existing System 4-5
1.4 Proposed System 5-6
1.5 Objective 6-8
2. LITERATUIRE REVIEW
2.1 Overview of Related Work 9-10
2.2 Studies and Research in The Filed 10-12
2.3 Identified Gaps and Opportunitie 12-14
3. METHODOLOGY
3.1 Data Collection and Analysis 15-17
3.2 System Design 17-20
3.2.1 Use Case Diagram 20-21
3.2.2 Class Diagram 21-22
3.2.3 Sequence Diagram 22-23
3.3 Algorithms and Techniques 23-24
4 IMPLEMENTATION 25-27
4.1 Development Environment 27-29
4.2 Software Implementation 29-30
6.1 Conclusion 35
5 REFERENCES 36
6 APPENDICES(CODE) 37-39
+
CHAPTER-1
INTRODUCTION
1.1 Introduction
The "Eye Link Adaptive Gaze and Head Movement for Enhanced Accessibility" project is an
innovative solution designed to improve user interaction and accessibility for individuals with
physical disabilities or impairments. As technology advances, it becomes increasingly crucial to
develop inclusive systems that cater to users with a diverse range of abilities. This project focuses
on enhancing the accessibility of digital interfaces by leveraging eye-tracking and adaptive head
movement technology, enabling individuals with limited or no mobility to interact with their
environment through subtle eye or head gestures. By integrating these two control mechanisms, the
system allows users to engage with digital content, control devices, and navigate complex systems
more intuitively and independently.
At its core, the Eye Link system is built around the concept of eye-tracking, which enables users to
control digital interfaces by simply focusing their gaze on specific targets on a screen. Eye- tracking
technology captures the movement and position of the eyes, translating this data into actionable
commands within a digital environment. The addition of adaptive head movement further enhances
this system by offering an additional layer of control. By incorporating sensors that detect the user’s
head movement, the system can adjust its functionality in real-time, ensuring greater flexibility for
users who may have difficulty maintaining a constant gaze due to physical constraints.
This project aims to address key accessibility challenges faced by individuals with mobility
impairments, such as those living with conditions like ALS (Amyotrophic Lateral Sclerosis), spinal
cord injuries, or cerebral palsy. For many people with these conditions, traditional input devices
such as keyboards, mice, and touchscreens are difficult or impossible to use. By combining eye-
tracking with head movement, the Eye Link system provides an alternative method of interaction
that reduces reliance on traditional input methods, opening up new
possibilities for communication, education, and daily activities.
One of the primary objectives of the Eye Link system is to create a user- friendly and adaptive
interface that can be personalized to suit the needs of each individual. The system uses advanced
algorithms to continuously monitor the user’s eye and head movement, adjusting its response based
on their specific abilities and preferences.
1
The project envisions the development of a robust software suite that can be used across
different operating systems and environments, ensuring broad accessibility. The inclusion of
head movement tracking further extends the versatility of the system, allowing it to be used
in situations where eye-tracking alone may not be sufficient or feasible.
Ultimately, the Eye Link Adaptive Gaze and Head Movement system aims to empower
individuals with disabilities, giving them greater autonomy and control over their
interactions with technology. By providing a more intuitive and adaptive means of
navigating digital environments, this project has the potential to significantly enhance the
quality of life for users, fostering independence, improving communication, and increasing
accessibility to the wealth of digital resources available today. The continued evolution of
this technology promises to open new doors for inclusive design and accessibility
innovation.
1.2 Motivation
The Eye Link Adaptive Gaze and Head Movement for Enhanced Accessibility project is
driven by a deep commitment to improving accessibility for individuals with physical
disabilities. Traditional input methods, such as keyboards, mice, and touchscreens, are often
challenging or impossible for those with limited mobility. This project leverages cutting-
edge technologies like OpenCV, MediaPipe, and PyAutoGUI to provide an innovative
solution that uses eye and head movements to control digital interfaces. By creating a hands-
free, adaptive system, Eye Link aims to empower users, enhance their independence, and
transform the way we think about accessibility in digital technology. Below are the key
motivations that drive this project forward.
2
• Leveraging Cutting-Edge Technology for Accessibility
The project is also motivated by the desire to use state-of-the-art technologies to create an
accessible solution that is both precise and adaptive. Through the integration of tools like OpenCV,
MediaPipe, and PyAutoGUI, the system is able to track facial landmarks, such as the eyes and head
movements, with high accuracy. This enables precise cursor control and interaction based on subtle
movements. By using these advanced computer vision and automation technologies, Eye Link
offers a responsive, real-time solution that can be customized for each user’s unique needs,ensuring
that the system is both functional and accessible to individuals with varying degrees of mobility
and facial muscle control.
3
Fig 1.2 facial landmarks detection
▪ Eye-Tracking Systems
Eye-tracking technologies, such as those developed by Tobii and EyeTech, are among the most
widely recognized solutions for controlling digital interfaces through gaze. These systems use
infrared sensors and cameras to track the user's eye movements and translate them into cursor
4
movement or selection commands. Tobii, for instance, offers a range of devices that allow
individuals with mobility impairments to control computers, smartphones, and other devices using
their eyes. While effective in many cases, these systems often have limitations in terms of gaze
precision and may struggle with individuals who experience eye fatigue or involuntary eye
movements. Additionally, the requirement for specialized hardware, like dedicated eye-tracking
cameras, can make these systems expensive and inaccessible to some users.
5
. This data is processed to control the cursor on the screen based on the user's gaze, allowing for precise,
intuitive movement without the need for traditional input devices like a mouse or keyboard. The system’s
use of a common webcam
makes it an affordable solution for people with mobility impairments, reducing reliance on
expensive, specialized hardware.
The core functionality of the Eye Link system is gaze-based cursor control, where the user’s eye
position is mapped to the screen’s coordinates. As the user shifts their gaze, the system moves the
cursor accordingly, enabling seamless navigation. The MediaPipe FaceMesh model tracks the eye
position with high accuracy, and the system is designed to adapt to different screen resolutions and
user preferences, ensuring smooth interaction across various devices. This eye- tracking method
allows for precise control, even with small movements, and works effectively for users who may
struggle with physical devices.
In addition to gaze control, the system incorporates head movement detection to further enhance
user interaction. Subtle head gestures, such as tilting, nodding, or rotating, are recognized and
mapped to various actions, such as scrolling or clicking. For example, a head nod could trigger a
click, while tilting the head left or right could move the cursor in those directions. This dual-input
approach—combining gaze and head movements—provides a more flexible, comfortable
experience, accommodating users with limited head or eye mobility. The system continuously
adapts to the user’s movement patterns, ensuring that each gesture is interpreted
The Eye Link system integrates PyAutoGUI for automating mouse and keyboard functions based
on detected gaze and head movements. This allows users to interact with applications, open files,
type, or browse the web without physical input devices. Additionally, the system includes
customizable settings for adjusting the sensitivity of eye tracking, head gesture detection, and
cursor speed, enabling users to fine-tune the system to their needs. By combining computer vision,
head gesture recognition, and automation tools, Eye Link offers an innovative, adaptive solution
that enhances accessibility and provides a more natural, hands- free computing experience for
individuals with physical limitations.
6
1.4 Objective
o Provide Hands-Free Interaction for Users with Physical Disabilities The primary objective of the
Eye Link system is to create a hands-free interface that enables individuals with physical disabilities
to interact with digital devices without relying on traditional input methods like a
mouse or keyboard. By leveraging gaze tracking and head movement detection, the system
empowers users to perform tasks such as browsing the web, interacting with applications, and
navigating operating systems purely through eye and head gestures. This approach significantly
improves accessibility for individuals with conditions such as cerebral palsy, ALS, or spinal cord
injuries, where traditional input devices may not be usable.
7
o Promote Universal Accessibility and Inclusion in Digital Interaction The final objective of Eye
Link is to promote universal accessibility and inclusion in digital interaction. By eliminating the
dependency on traditional input methods, the system opens up digital spaces forindividuals who might
otherwise face barriers in accessing technology. Whether it's for communication, education, or entertainment,
the goal is to make technology more inclusive and accessible to a broader user base. Eye Link aims to support
not only people with disabilities but also anyone seeking a more intuitive and natural way to interact with their
devices, ultimately contributing to a more inclusive digital world.
8
CHAPTER-2
LITERATURE REVIEW
2.1 Overview of Related Work
Several assistive technologies and systems have been developed to enable users with physical
disabilities to interact with digital devices using alternative input methods. These systems often
rely on eye-tracking, head gestures, or voice commands to compensate for the lack of traditional
input devices like a mouse or keyboard. Below is an overview of some of the key related work in
this domain.
Some systems combine both eye-tracking and head-tracking to provide more robust solutions. One
such system is Gaze Interaction Systems (GIS), which aims to improve cursor control by combining
the precision of eye tracking with the flexibility of head movement. The idea is to use eye- tracking
for fine control and head movement for broader cursor positioning. However, these systems often
struggle with integrating both input methods smoothly.
9
➢ Voice-Controlled Assistive Technology (e.g., Dragon NaturallySpeaking, Google Assistant)
Voice-controlled systems, such as Dragon NaturallySpeaking and Google Assistant, offer
another alternative for users who have limited physical capabilities. These systems allow users to
control their devices via voice commands, performing tasks like opening applications, browsing
the web, and dictating text. While effective for many users, voice-controlled systems can be less
efficient for tasks requiring fine control, such as cursor movement or complex multi-step
interactions. Additionally, these systems may struggle in noisy environments or with users who
have speech impairments, highlighting the need for multi-modal solutions, such as the
combination of eye and head gestures.
While there have been significant advancements in assistive technologies using eye-tracking, head
tracking, and voice recognition, many existing solutions still face challenges related to precision,
accessibility, and user comfort. Eye Link aims to address these limitations by combining gaze and
head movement for adaptive, hands-free control. By offering a cost- effective, customizable, and
seamless user experience, Eye Link builds upon existing work while pushing the boundaries of
how assistive technologies can improve accessibility for individuals with physical disabilities.
10
interact with applications without the need for traditional input devices. However, while these
systems have shown promise, challenges remain, particularly with regard to fatigue and precision.
Prolonged use of eye-tracking systems can lead to eye strain, and for users with involuntary eye
movements or conditions like nystagmus, achieving accurate control can be difficult. Researchers
are working on improving calibration techniques and making eye- tracking more adaptive to
address these limitations.
Alongside eye-tracking, head gesture recognition has been explored as a viable alternative or
complement to traditional input methods. Studies like those conducted by J. L. C. R. Monteiro et
al. (2018) focus on the potential of head gestures—such as tilting, nodding, and turning—to serve
as input for controlling a computer. Head gesture systems often use infrared sensors or cameras to
detect head movements, translating them into cursor motion or other control actions. While this
approach has been shown to be effective, it presents challenges,particularly for users with
limited head mobility. Research has indicated that large or repetitive head motions can lead to
discomfort, especially for users with conditions like cerebral palsy. There is a growing recognition
that small, subtle head gestures could be more comfortable and effective, which has led to the
exploration of hybrid systems that combine eye-tracking with head gesture recognition to offer
more flexible and comfortable control options.
The integration of gaze and head-tracking technologies is a promising direction for improving
accessibility in assistive systems. Research by S. K. Kim et al. (2019) explored hybrid systems
where eye-tracking is used for fine control (such as moving the cursor precisely) and head gestures
are employed for broader movements, like navigating between different screen areas. This
combination allows users to benefit from both precise control and more fluid, adaptive movement.
Such hybrid systems have the potential to enhance the user experience, reducing the need for large,
repetitive head movements while maintaining the accuracy of cursor control. However, one of the
main challenges in combining these two methods is ensuring that the system can seamlessly
differentiate and process both inputs in real time.
Ensuring smooth integration of gaze and head movements without causing confusion or
misinterpretation is an ongoing Research
challenge, which the Eye Link system seeks to address by offering a more intuitive and responsive
interface.
12
User-centered design has become a crucial aspect of assistive technology development, with an
emphasis on making systems customizable and adaptive to individual needs. Research by E. M.
Rios et al. (2022) found that systems that allow users to adjust settings, such as cursor speed, head
gesture sensitivity, and gaze tracking precision, lead to better user satisfaction and greater
independence. Personalization enables individuals to fine-tune their experience according to their
unique physical abilities, making the system more comfortable to use. This approach also ensures
that users are not frustrated by rigid, one-size-fits-all systems. The Eye Link system incorporates
this philosophy by offering a customizable interface, where users can adjust the sensitivity of both
eye and head tracking to suit their needs. This ensures that users can achieve a more personalized
and comfortable interaction with their devices.
Finally, research into assistive technology for accessibility continues to explore ways to make
digital spaces more inclusive for people with disabilities. Eye- tracking, head gesture recognition,
and multi-model input systems all contribute to creating a more natural, flexible, and accessible
computing environment. While significant progress has been made, challenges remain in ensuring
the accuracy, efficiency, and comfort of these systems. The Eye Link system represents an
important step forward by combining gaze and head-tracking for hands-free control, allowing for
more adaptive and intuitive interactions with digital devices. By focusing on personalization,
flexibility, and user-centered design, Eye Link builds upon the research in this field, offering an
accessible solution for people with physical disabilities and contributing to the broader goal of
making technology universally accessible.
12
the opportunity lies in developing more robust systems that maintain accuracy in challenging real-
world environments.
13
to easily switch between or combine different input methods. There is an opportunity to streamline
the integration of multiple input types so that users can choose the most effective control method
based on their current physical condition or task at hand, without being overwhelmed by
complicated settings or configurations.
14
CHAPTER-3
METHODOLOGY
3.1 Data Collection and Analysis
Data collection and analysis are crucial steps in the development and refinement of the "Eye Link"
system, which uses adaptive gaze and head movement tracking for enhanced accessibility. The goal
of this phase is to gather real-time data on user interactions, gaze tracking accuracy, and head gesture
recognition in order to evaluate and optimize the system's performance. The methodology for data
collection and analysis will involve both quantitative and qualitative approaches, ensuring that the
system’s effectiveness is thoroughly assessed from multiple perspectives.
➢ Data Collection Process
The data collection process involves capturing real-time interactions from users performing tasks
such as cursor movement, selection, and clicking, using only eye-tracking and head gestures. The
following steps outline the process:
• Participant Selection: Users with diverse physical abilities, including individuals with physical
disabilities (e.g., ALS, cerebral palsy, spinal cord injuries), will be selected to test the system. A
balanced sample of users with varying degrees of mobility and impairments will be targeted to
ensure broad applicability.
• Task Design: Participants will be asked to perform a series of controlled tasks designed to assess
the system’s functionality. These tasks will include activities like moving the cursor across the
screen, selecting items, and executing clicks, based on their gaze and head movements. Tasks will
also include multi-step operations to evaluate how the system performs under more complex
conditions.
• Data Capture Setup: A standard webcam or external camera will be used to record facial
landmarks and head gestures. The MediaPipe FaceMesh model will track key facial points (eyes,
mouth, and head orientation), and the data will be processed in real-time to map the user’s gaze
direction and head movements to screen coordinates. Additional software components will capture
data related to cursor movement, accuracy, and click events triggered by head gestures.
• Environmental Control: The data collection environment will be standardized as much as
possible, with attention paid to lighting conditions, background noise, and camera placement to
ensure consistency. However, a variety of environmental conditions will also be tested to assess
the system’s robustness in real-world scenarios.
• Real-Time Feedback Collection: During testing, users will be encouraged to provide feedback
on their experience, including any challenges, discomfort, or difficulty in performing the tasks.
15
• Types of Data Collected
The types of data collected during the experiment will fall into two broad categories: behavioral
data and performance data.
• Behavioral Data: This includes raw data on facial landmarks, gaze direction, and head movement.
Specifically, it includes:
o Eye positions: Horizontal and vertical positions of the eyes, which are essential for determining
the gaze direction.
o Head pose: The position and orientation of the head, which will be used to determine gestures
like nodding, tilting, or turning.
o Cursor movement: Real-time data on the cursor’s location relative to the screen, including speed
and accuracy of movement in response to gaze and head inputs.
o Performance Data: This data will capture the system’s effectiveness and the user’s ability to
control the interface using only eye and head movements. Specific metrics include:
o Cursor control accuracy: The precision with which the user can move the cursor to a target
area, measured in pixels.
o Time taken to complete tasks: The time taken for users to perform certain tasks (e.g., moving
the cursor, clicking a button, etc.).
o Clicking success rate: The percentage of successful clicks or selections made using head
gestures.
o Error rate: The number of misclicks or failed attempts due to inaccurate gaze tracking or
head gesture misinterpretation.
o Fatigue levels: Based on user feedback, this will assess how tiring the system is to use over time.
o Qualitative Feedback: In addition to quantitative data, qualitative data will be collected through
user feedback, including:
o Comfort: Users’ subjective experience regarding the comfort of using the system.
o Ease of use: How intuitive the system is for users, including how easily they can perform actions
like moving the cursor or clicking.
o Adaptability: Users’ perception of how well the system adapts to their unique abilities and
preferences.
o Physical strain: Feedback on whether any movements (like eye tracking or head gestures)
cause strain or discomfort.
➢ Data Analysis
The collected data will be analyzed in both qualitative and quantitative terms to
evaluate the performance and usability of the "Eye Link" system. The analysis will consist of the
following steps:
• Quantitative Analysis:
o Statistical Evaluation: Statistical tools will be used to evaluate the accuracy and performance
metrics, such as cursor movement speed, click success rate, and error rates.
16
o Comparative Analysis: The system’s performance will be compared against baseline data from
existing assistive technologies, such as traditional eye-tracking systems or switch-based interfaces.
This will allow for a direct evaluation of how "Eye Link" improves accessibility and user
experience compared to existing solutions.
o Correlations: The relationship between user abilities (such as eye stability or head movement
range) and system performance (such as accuracy or fatigue levels) will be analyzed to identify
potential improvements or features needed to support specific user groups.
• Qualitative Analysis
o Thematic Analysis: The qualitative feedback gathered from users will be analyzed using thematic
analysis. This involves identifying common themes or patterns in user experiences, such as
difficulties with specific gestures, comfort issues, or preferences for cursor speed.
o User Satisfaction: User feedback on comfort, ease of use, and adaptation will be coded and
analyzed to determine overall satisfaction levels. Positive and negative aspects of the system will
be identified to prioritize areas for future development.
• User Experience Assessment: To better understand the usability of the system, user experience
(UX) metrics like the System Usability Scale (SUS) or Net Promoter Score (NPS) will be applied.
These tools will quantify users' overall satisfaction with the system and assess their willingness to
adopt it in daily life.
• Iterative Refinement Based on Data
The data analysis will provide insights into the strengths and weaknesses of the "Eye Link" system.
The following refinement steps will be taken based on the findings:
• Adjusting Algorithms: If the gaze tracking accuracy or head gesture recognition shows errors or
delays, the system will be refined to improve real-time processing.
• Improving User Interface: Based on user feedback, the interface may be simplified or
customized further to ensure ease of use and comfort.
• Calibration and Sensitivity: The sensitivity of gaze tracking and head gestures will be fine-
tuned to accommodate users with different needs or conditions.
17
of the user's face. The OpenCV library processes this video feed in real-time, detecting and
• Gaze Tracking: Based on the relative positions of the eyes (detected as a set of facial landmarks),
the system calculates the user’s gaze direction. Gaze tracking is used to control the cursor's
movement on the screen. The position of the user's eyes relative to the screen is mapped to screen
coordinates for cursor control.
• Head Movement Recognition: Head gestures (e.g., nodding, tilting, or shifting the head left or
right) are recognized through the position of head landmarks (such as the nose, chin, and ears).
These movements will trigger predefined actions, such as clicking or scrolling, allowing the user
to perform operations without requiring a mouse.
• Head Gesture Actions: The system translates specific head gestures into actions. For example, a
head nod might trigger a left-click action, while a head tilt to the left could move the cursor to the
left. These mappings are configurable by the user, offering customization based on their
preferences and physical abilities.
• Gaze Sensitivity: Adjust the distance or speed at which cursor movements respond to eye shifts.
• Head Gesture Thresholds: Users can adjust the sensitivity of head movements (i.e., how much a
head tilt or nod must be to trigger an action), enabling the system to adapt to users with different
head mobility or movement abilities.
• Cursor Speed: Users can personalize the speed at which the cursor moves, offering better
precision for those who may need slower movement due to limited head or eye mobility.
• Auditory or Tactile Feedback: For users who are visually impaired, the system can include
auditory cues that confirm cursor movement or clicking actions. Alternatively, vibration feedback
from a connected device can notify the user when an action has been successfully executed.
• Interaction Flow
The overall interaction flow of the system is designed to be seamless and intuitive.
• System Initialization
o The system captures the video feed from the user’s camera.
o The Facial Landmark Detection Module identifies the user’s eyes and head position.
• Cursor Control
o Based on eye movement, the system translates the gaze direction into cursor movement on the
screen.
o The head gestures are detected (e.g., nod, tilt, turn) and mapped to specific actions like clicking or
scrolling.
• User Feedback:
o The system provides visual, auditory, or haptic feedback to the user based on their actions.
• Adaptation and Calibration:
o The system continuously adapts to the user's eye and head movements, offering options to
calibrate or adjust settings for optimal performance.
Operating System Integration: The system is designed to work on popular operating systems
19
such as Windows, Linux, and macOS. The PyAutoGUI library ensures the system can control the
mouse and keyboard, triggering system-level actions like clicks, scrolling, and drag-and-drop
operations.
• Support for Assistive Devices: The system can integrate with other assistive technologies like
voice recognition or switch-based input devices for users with varying disabilities. This flexibility
allows users to combine multiple input methods for more seamless control.
UML Diagrams
The UML diagrams for the "Eye Link" project help visually represent the system's architecture,
behaviour, and interactions, aiding in the understanding of its components and functionality. The
Use Case Diagram illustrates user interactions with the system, while the Class Diagram defines the
structure of key components, such as eye tracking and cursor control. The Sequence Diagram
outlines the flow of actions, such as gaze detection and head gesture recognition, between the
system components. These diagrams collectively ensure clarity in system design, offering a
blueprint for both development and future enhancements.
Use Cases:
• Start System: The user starts the "Eye Link" system.
• Gaze to Move Cursor: The user moves the cursor using eye movements.
• Head Gesture to Click: The user performs a head gesture to trigger a click action.
Adjust Calibration: The user adjusts settings for gaze sensitivity, cursor speed, and head gesture
thresholds
20
Fig 3.1 Use Case Diagram
21
Fig 3.2 Class Diagram
Sequence of Events:
o User Action: The user starts the system and performs gaze movements and head gestures.
o Eye Tracker: The system continuously detects the user's eye position and tracks their gaze.
o Cursor Control: The gaze data from the Eye Tracker is used to move the cursor on the screen.
o Head Gesture Tracker: Simultaneously, the system tracks the user’s head gestures (like a nod
or tilt).
o Cursor Control: When a head gesture is detected, the system triggers the perform Click()
method in the Cursor Control class to simulate a mouse click.
System Feedback: Once the action is completed (such as moving the cursor or performing a
click), feedback is provided to the user via visual, auditory, or haptic cues.
22
Fig 3.3 Sequence Diagram
➢ Blink-Based Activation
Blink-based activation allows users to trigger actions, such as clicks, by blinking. When the system
detects a blink, it can simulate a mouse click or other predefined actions. This technique is
23
particularly useful for users with severe motor impairments, providing a simple way to interact
with the system. The blink detection is typically performed using changes in the eye aspect ratio
(EAR) during a blink.
➢ Real-Time Feedback
Real-time feedback provides users with visual or auditory cues, ensuring that interactions are
intuitive and accurate. This feedback can include changes to cursor appearance or confirmation
indicators when actions are detected. It helps users adjust their behavior and improves system
responsiveness. Real-time feedback also helps guide users during calibration and interaction,
offering a more seamless experience.
Algorithms:
24
CHAPTER-4
IMPLEMENTATION
➢ Real-Time Feedback
The system provides visual or auditory feedback to confirm user actions. This feedback may
include cursor changes or confirmation messages. It helps users understand that their input has
been recognized.
25
➢ User Customization and Accessibility Features
Users can customize settings such as blink detection sensitivity and feedback types. Alternative
interaction modes, like larger clickable areas, can also be provided. Customization ensures the
system accommodates diverse accessibility needs.
Architecture
26
Flow Chart
27
OpenCV, MediaPipe, and PyAutoGUI, making it an ideal language for developing this eye-
tracking and head movement-based system.
▪ Version Control
Git is recommended for version control, allowing for efficient collaboration and tracking of code
28
changes. A platform like GitHub or GitLab can be used to host the project repository and
collaborate with other developers.
For gaze estimation, the system utilizes MediaPipe’s FaceMesh, which detects facial landmarks,
particularly around the eyes. By analyzing the relative position of the eye landmarks, the system
determines the user's gaze direction. This gaze is then mapped to specific coordinates on the screen,
controlling the cursor movement according to where the user is looking.
Head pose estimation plays an important role in correcting for any head movement. The system
calculates the orientation of the head in three dimensions—yaw, pitch, and roll—by analyzing the
positions of facial landmarks. This adjustment ensures that slight head t ilts do not affect the
accuracy of the cursor control, maintaining consistent interaction even as the user moves their head.
Blink detection is employed as a method for activating mouse clicks. Using the Eye Aspect Ratio
(EAR), the system detects when the user's eyelids close, indicating a blink. Once detected, a blink
triggers a mouse click, enabling users to perform actions without any physical interaction, making
the system ideal for hands-free usage.
Once gaze direction and head movements are tracked, the system translates this input into screen
coordinates to control the cursor. PyAutoGUI is used to simulate mouse movements and clicks
based on the user's gaze or head position, allowing the user to interact with the computer interface
effectively through eye movement and blinks, without needing a traditional input device.
Real-time feedback is an essential component of the system. To confirm user actions, the system
29
provides visual feedback by changing the cursor’s appearance or by giving auditory or text-based
cues when a click is registered. This helps ensure the user knows that their input has been
recognized and processed correctly.
Calibration is a critical part of the process to ensure accurate gaze tracking. During calibration, the
user is guided to focus on specific points on the screen, and the system adjusts the gaze mapping
to align with the user's natural eye movements. This process ensures that the system provides
accurate control and responds correctly to the user's gaze.
The system also allows for customization to meet individual user needs. Users can adjust settings
such as gaze sensitivity, blink detection thresholds, and feedback types. Features like larger
clickable areas are available to enhance accessibility, ensuring that the system works for a variety
of users with different needs and abilities.
The software combines multiple techniques, such as eye-tracking, head pose estimation, blink
detection, and real-time feedback, to create a hands-free interface for users with mobility
impairments. By enabling cursor control and click actions using only eye movements, head
movements, and blinks, the system provides a highly accessible solution for interacting with
technology without relying on traditional input devices.
✓ Functional Testing
Functional testing ensures that each component of the system works as intended. This includes
testing the accuracy of gaze tracking, head pose estimation, blink detection, and cursor control.
During testing, the system should correctly map the user’s gaze to screen coordinates and simulate
mouse movements and clicks based on head and eye inputs. Each feature is tested individually to
ensure proper functionality.
✓ Calibration Testing
The system's calibration process is vital for ensuring accurate gaze tracking and cursor control. In
this phase, the user is asked to focus on predefined points on the screen, and the system adjusts the
gaze-to-screen mapping accordingly. Calibration is tested to verify that the system can
accommodate different users with varying eye characteristics. The accuracy of the gaze mapping
30
is tested across various calibration scenarios.
✓ Usability Testing
Usability testing focuses on how well users can interact with the system. Real users are asked to
perform typical tasks, such as navigating the cursor and clicking on objects, to evaluate the system's
responsiveness and accuracy. Feedback from users with mobility impairments is gathered to ensure
that the system provides a smooth and intuitive experience. Usability tests also help identify
potential areas for improvement in terms of customization and feedback options.
✓ Performance Testing
Performance testing measures how efficiently the system runs in real-time. It tests the
responsiveness of the system to gaze, head, and blink inputs, ensuring that there is no noticeable
lag or delay between input and action. The system’s performance is validated across various
hardware setups, including different webcam resolutions and processing power, to guarantee that
it performs well under different conditions.
31
✓ Accessibility Testing
Since the goal of this project is to improve accessibility, accessibility testing is crucial. This
includes ensuring that the system is fully accessible for individuals with different types of
disabilities. Testing involves users with various physical impairments to check if the system can
adapt to different needs, such as the ability to adjust blink detection sensitivity or enlarge clickable
areas. The system should be flexible and customizable to support diverse accessibility
requirements.
32
CHAPTER-5
RESULTS AND DISCUSSION
The "Eye Link Adaptive Gaze and Head Movement for Enhanced Accessibility" system showed
effective performance in enabling hands-free interaction for users with mobility impairments. Gaze
tracking and head pose estimation were accurate, allowing users to control the cursor through eye
movements and head tilts, while blink detection enabled click activation. These features, combined
with real-time feedback, made the system intuitive and responsive.
Performance varied with hardware, where higher-end systems with dedicated GPUs provided
smoother real-time processing. In contrast, lower-end systems experienced minor delays,
especially under low-light conditions or with users having limited blink frequencies. However, the
system remained functional with customizable settings to adapt to individual needs.
Usability testing demonstrated the system’s potential to enhance accessibility, allowing users to
navigate and interact with devices effortlessly.
33
Fig 5.2 Results
34
CHAPTER-6
CONCLUSION AND FUTURE SCOPE
6.1 Conclusion
The "Eye Link Adaptive Gaze and Head Movement for Enhanced Accessibility" project effectively
utilizes gaze tracking, head pose estimation, and blink detection to offer hands-free interaction for
individuals with mobility impairments. The system allowed users to accurately control the cursor
and perform click actions through eye movements and blinks, with real-time feedback enhancing
overall usability.
The combination of MediaPipe for facial landmark detection, OpenCV for image processing, and
PyAutoGUI for cursor control provided a responsive and intuitive user experience. Customizable
settings allowed the system to be tailored to individual needs, ensuring broader accessibility.
In conclusion, the project successfully demonstrates how adaptive gaze and head movement
technology can improve accessibility, providing users with greater independence when interacting
with devices. This system represents a significant step forward in creating inclusive technology for
people with mobility challenges.
➢ Improved Adaptability
Expanding the system’s adaptability to Android devices would allow users to interact with
smartphones or tablets using gaze and head movement. This would make the system accessible on
mobile platforms, offering a more versatile solution for users with mobility impairments.
35
REFERENCES
(1) G. Chhimpa, A. Loura, S. Garhwal, and D. Sangwan, "Development of a real- time eye movement-
based computer interface for communication with improved accuracy for disabled people under
natural head movements," July 2023.
(2) R. R. Kolte, K. Chavhan, S. Lohakare, R. Lohi, and P. Ambilduke, "Virtual mouse: Eye- controlled
cursor using OpenCV," January 2024.
(3) S. Barve, M. Beedkar, P. Gawale, and R. Jadhav, "A portable wireless head movement controlled
human-computer interface for people with disabilities,"International Journal for Research in
Applied Science and Engineering Technology, February 2023.
36
APPENDICES
import cv2
import mediapipe as mp import pyautogui import signal
from threading import Lock, Thread, Event from contextlib import contextmanager from pynput
import keyboard
import json
from typing import List, Optional
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger( name )
os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
self.capslock = False
self.face_controller: Optional[FaceController] = None
self.keyboard_listener: Optional[keyboard.Listener] = None
def on_press(self, key: keyboard.Key) -> None: """Handle keyboard press events."""
try:
logger.debug(f"Key pressed: {key}") if key == keyboard.Key.caps_lock:
37
self.capslock = not self.capslock
if self.capslock and self.face_controller: self.face_controller.update_thresholds(key)
except Exception as e:
logger.error(f"Error handling key press: {e}")
def on_release(self, key: keyboard.Key) -> bool: """Handle keyboard release events."""
return True
controller.stop()
def signal_handler(self, signum: int, frame: object) -> None: """Handle system signals for clean
shutdown.""" logger.info(f"Received shutdown signal: {signum}") self.stop_all_controllers()
sys.exit(0)
self.initialize_controllers()
on_press=self.on_press, on_release=self.on_release
)
self.keyboard_listener.start()
38
# Start active controllers\
# Monitor controllers
while all(not controller.stop_event.is_set() for controller in self.active_controllers):
time.sleep(0.1)
finally:
self.stop_all_controllers() if self.keyboard_listener:
def main():
app = ApplicationController() app.run()
39