Monthly Breakdowwn

Throughout the development of the EyeGaze Navigator, we navigated a range of technical and non-technical challenges, from architectural decisions and user interface design to adapting to evolving client requirements and exploring new functionalities. Each challenge was met with a strategic approach, leveraging collaboration, research, and innovative problem-solving to drive the project forward. This journey has not only resulted in a sophisticated eye-tracking system but has also provided invaluable lessons in software development, and the iterative process of creating technology that makes a difference.

October Update: Architectural Foundations and Initial Challenges

The project commenced with refining and developing a prototype for the user interface. This phase was guided by principles of simplicity, consistency, and visibility, aiming to create an intuitive user experience. The challenge of designing an interface that accommodates users with different levels of motor ability was met with innovative solutions, including adjustable calibration points and a transparent overlay window for seamless interaction.

November Update: System Design and User Interface Prototyping

In November, the project's focus shifted towards laying down the architectural foundation for the EyeGaze system, designed for seamless integration into the Motion Input 3.4 codebase. We established a modular architecture, comprising key components such Facial Landmark Detection, Eye Gaze Estimation, Calibration, and Mouse Control. Each module leverages specific libraries, such as OpenCV for image processing and MediaPipe for facial landmark detection, ensuring the system's capability to capture and process real-time video for accurate gaze tracking. Challenges this month included aligning the system architecture with stringent real-time processing requirements and ensuring compatibility with various hardware and software configurations. Addressing these challenges early was critical for laying a robust foundation for future development phases.

December Update: Calibration System Enhancement and Algorithm Refinement

The development of an advanced calibration system presented both technical and usability challenges. Enhancing the calibration process to support a four-surface projective transformer required sophisticated algorithmic adjustments and thorough testing to ensure precision. Additionally, incorporating user feedback mechanisms and addressing the variability in eye movements across different individuals necessitated a balance between technical accuracy and user comfort.

Monthly video update: https://youtu.be/LSpp_EviNo0

January Update: Integration of Multithreading and Overlay Functionality

January's efforts focused on integrating multithreading to improve the system's responsiveness and implementing a transparent overlay feature. The latter posed a significant challenge, as initial attempts led to software instability. Through diligent research and collaboration, we successfully implemented both features, significantly enhancing user interaction capabilities and system efficiency.

Monthly video update: https://youtu.be/4HjV5l_vwY4

February Update: Addressing Evolving Requirements and Advanced Feature Exploration

Responding to updated client requirements for users with limited head mobility, we explored facial navigation techniques, integrating a nine-point calibration system. This adaptation, while improving functionality for minor head movements, underscored the importance of clear communication with stakeholders to manage expectations and define realistic targets. Additionally, we explored advanced functionalities such as click features through the Eye Aspect Ratio technique. Despite not being finalised, this exploration demonstrated the potential for further enhancing the software's capabilities.

Monthly video update: https://youtu.be/SO1lwxsCpp0

March Update: Finalising the System with MFC Integration

The project culminated in the integration of a Microsoft Foundation Class (MFC) application, enhancing customizability and user interaction. Overcoming the challenge of integrating an MFC within a primarily Python-based codebase involved significant learning and collaboration with experts. This final phase not only solidified the system's architecture but also highlighted the importance of interdisciplinary learning and adaptability in software development.

Monthly video update: https://youtu.be/bwauvNlWb1E

links

social