Skip to content

Trackpad implementation based on computer vision algorithms. The user can move computer cursor on any surface on which a finger can be recognized.

Notifications You must be signed in to change notification settings

tberchanov/Virtual-Trackpad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Virtual-Trackpad

Project description

Trackpad implementation based on computer vision algorithms. The user can move computer cursor on any surface on which a finger can be recognized.

This is monorepo of 3 projects:

1. ml

Project where was modified machine learning model based on this tutorial https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tflite.ipynb

ML model: SSD MobileNet V2 FPN-Lite

ML model was modified using fine-tuning to detect fingers movements on the surface.

Used tools and libraries:

  • Python 3
  • Pycharm IDE
  • Matplotlib
  • SciPy
  • NumPy
  • TensorFlow
  • Object Detection API
  • Keras
  • Google Colaboratory
  • TensorFlowLite
  • Beautiful Soup
  • LabelImg

2. android

Android application that is intended to use modified ML model by Transfer Learning, recognize fingers movements and than send recognition data via bluetooth to computer.

Used tools and libraries:

  • Kotlin
  • Android Studio
  • MVVM architecture
  • Android Jetpack Architecture Components(ViewModel, LiveData)
  • CameraX
  • Jetpack DataStore
  • Hilt DI
  • Jetpack Navigation
  • TensorFlowLite
  • Coroutines

3. desktop

Desktop app that receives commands from Android app via bluetooth and applies them. By command meant cursor movement and etc.

Used tools and libraries:

  • Kotlin
  • IntellijIDEA
  • MVP architecture
  • TornadoFX
  • Bluez
  • Coroutines
  • Koin DI

Desktop app architecture: alt text

About

Trackpad implementation based on computer vision algorithms. The user can move computer cursor on any surface on which a finger can be recognized.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published