VIRTUAL MOUSE
Virual-Mouse
A virtual mouse is software that allows users to give mouse inputs to a system without using an actual mouse. To the extreme it can also be called as hardware because it uses an ordinary web camera. A virtual mouse can usually be operated with multiple input devices, which may include an actual mouse or a computer keyboard. Virtual mouse which uses web camera works with the help of different image processing techniques.
Introduction:
In today’s world we see lots of development happened in
the field of Technology. Today’s technology is combined
with the technique called Artificial Intelligence. This
project is also based on small part of AI. This project
presents finger movement gesture detection on our
computer’s window using camera & handling the whole
system by just moving your one finger.
Using finger detection methods for instant camera access
and user-friendly user interface makes it more easily
accessible. The system is used to implement motion
tracking mouse, a signature input device and an application
selector. This system reduces the use of any physical mouse
which saves time and also reduces effort.
Purpose of Application
Motion Tracker Application is the application software
where after clicking on TRACK option which is given after
just opening of application, instead of using physical mouse
user can use their finger as a mouse & whatever the direction
we give to our finger according to that cursor on the system
move & user can do their work.
How application works
This application is a combination of UI & AI. First of all, the
user open the application which is .exe file. After opening of
file, user interface appears after that user have option of
TRACK, after clicking on that button our backend program
gets executed where that code contains accessing of camera
to finger tracking motions.
Functional Requirement
After developing this application user should be able to
access their system through Motion Tracker Application.
Calculations required for this application is all related to
motion detect operations & Data processing is done by using
different python libraries like NumPy & media-pipe.
Interface Requirements
This application communicates with UI & Python code with
the help of TKINTER of python. Tkinter is a Python binding
to the Tk GUI toolkit. It is the standard Python interface to
the Tk GUI toolkit and is Python's de-facto standard GUI.
Tkinter is included with standard Linux, Microsoft Windows
and Mac OS X installs of Python.
Overview
We are developing such application which is combination of
AI & Web. Implement such code where camera can
recognize each and every finger movement & responds
according to it. After completing this project user can access
their system with the help of their finger by using
Goals And Scope
Virtual Mouse that will soon to be introduced to replace the
physical computer mouse to promote convenience while still
able to accurately interact and control the computer system.
To do that, the software requires to be fast enough to capture
and process every image, in order to successfully track the
user's gesture.
The scope of the project is as below
• Real time application.
• User friendly application.
• Removes the requirement of having a physical mouse.
Platform
It can be used on any system containing known OS and
have a webcam.
Deliverables
We will deliver the following during the course of
development
• Feature specification
• Product design
• Test plan
• Development document
• Source code
TESTING MODEL
For this project we'll be using the agile software
development methodology approach in developing the
application. the stated approach is an alternative to the
traditional waterfall model that helps the project team
respond to unpredictability through incremental and
iterative work. it promotes adaptive planning, evolutionary
development, early delivery, continuous improvement, and
encourages rapid and flexible respond to change.
When to use this model??
1)Requirement clear and fix and may not change
2)There are no ambiguous requirements and confusion.
3)It’s a good to use this model when technology is well
Understood
4)Project is short and cost is low
5) Risk is minimum.
EXPLAINATION -
PLANNING
Thorough planning will be conducted in this phase where
the existing Systems/product, for this case, physical
computer mouse will be reviewed and Studied to identify
the problems that existed, a comparison of problems will be
Made to compare which problems are more crucial and
requires improvement. An outline objective and the scope
will be identified to provide an alternative solution to the
problem.
REQUIREMENT ANALYSIS
The phase that gathers and interpreting the facts,
diagnosing problems and recommending improvements to
the system. In this phase, the collected problem statements
will be extensively studied in order to find a proper solution
or at least an improvements to the proposed system..
DESIGNING
The requirement specification from the previous phase will
be studied and prioritized to determine which requirements
are more important where the requirement with the highest
priority will be delivered first. after the study, the system
design will be prepared as it helps in defining the overall
system architecture and specifying the hardware and the
software requirements.
BUILDING
The phase where the actual coding implementation takes
place. by referring to the inputs from the system design, the
system will be developed based on the prioritized
requirements. however, due to we're using the agile
Methodology approach, the developed system will be
considered as a Prototype system where it will be
integrated and tested by the users.
TESTING
The phase where the prototype system goes through a
series of tests. The Prototype system will first undergo
integration where the features from the Previous iteration
cycle are added to the latest cycle. After the integration, the
Prototype system will be thoroughly tested by the users to
determine whether They are satisfied with the latest
deliverables, the completion of the project depends on
whether they've accepted it or otherwise. If the users
require Additional features or modifications, feedback
gathering will be conducted, which resulted in further
modification of the requirements and features where It will
be recorded and documented for the requirement analysis
phase on the next iteration.
Technical Process
Following would be the languages I would use to develop my
application within the stipulated period:
1) Python
2) Open – CV
3) Vs - code