https://github.com/tberchanov/virtual-trackpad
Trackpad implementation based on computer vision algorithms. The user can move computer cursor on any surface on which a finger can be recognized.
https://github.com/tberchanov/virtual-trackpad
android kotlin-android python3 tensorflowlite tornadofx
Last synced: 8 months ago
JSON representation
Trackpad implementation based on computer vision algorithms. The user can move computer cursor on any surface on which a finger can be recognized.
- Host: GitHub
- URL: https://github.com/tberchanov/virtual-trackpad
- Owner: tberchanov
- Created: 2020-09-24T06:44:26.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-12-02T19:51:52.000Z (almost 5 years ago)
- Last Synced: 2025-01-05T09:30:31.611Z (9 months ago)
- Topics: android, kotlin-android, python3, tensorflowlite, tornadofx
- Language: Jupyter Notebook
- Homepage:
- Size: 21.7 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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 DIDesktop app architecture:
