Comments (5)
I don't think there are any good blink detection libraries out there, not with accurate detection.
I think I would try using Teachable Machine, with webcam images cropped around the head region (don't want to be too narrow in case the head tracking is laggy or inaccurate), possibly normalized in other ways.
I had some good initial success with it, with their web application where you can train directly from your webcam.
I got it to detect me blinking pretty well in under five minutes. Then I discovered cases where it didn't work, like moving significantly away from my starting head position. I tried training it more deliberately, giving it samples with different head positions and facial expressions. I don't think it got that much better...? But I think cropping could help a lot, so it focuses on the important parts (the eyes) and less on irrelevant background details.
If given a proper dataset of lots of open and closed eyes, it could be immediately usable for most people, and then the really interesting part is the user could be allowed to teach it new examples at runtime, based on their specific conditions (e.g. wearing novelty glasses, having a rare eye disease, rare eye color, and weird lighting all at once? it could happen! even while Black)
from tracky-mouse.
I have implemented dwell clicking already (click by hovering in one spot), although it's not released in that demo yet.
Other clicking options like blink detection are planned, but I don't have any timeline for this project. Unfortunately this project is hard for me to work on due to serious health issues I have with my neck.
from tracky-mouse.
I'm sorry for your health issues.
I would like to implement this functionality, to click by blink. If you give more information like a lib to blink detection, I can implement this and submit a PR to your approval.
What do you think about this?
from tracky-mouse.
Awesome! I'm finishing some college projects now, I plan to resume this soon.
Thank you so much, you are making excellent progress.
from tracky-mouse.
An update: I've integrated dwell clicking into the desktop app (previously it was only part of the library).
I'm narrowing this issue down to focus on eye blink clicking support, and I'm opening an issue for mouth gestures: #25
from tracky-mouse.
Related Issues (20)
- Reorder the readme sections
- The sliders are hard to control precisely
- Trigger click action with mouth gesture (smiling or opening mouth)
- Warn about poor lighting conditions, or no head detected
- Browser extension to bridge between the desktop app and web pages
- Improve acceleration curve / smoothing options
- Dwell clicker options (dwell time, dwell radius, wait times, sound on click) HOT 2
- Camera view gets stretched after phone is rotated HOT 1
- Sparkly effect of some kind instead of just green dots on your face?
- Make it easier to click on the very edges of the screen
- In-depth user guidance within the GUI
- Smiling shouldn't move the cursor
- Handle hands going in front of face seamlessly (already handled quite well!)
- Hybrid eye tracker + head tracker mode
- Try moving away from Electron to a lighter weight platform
- Trigger click with vocal gestures (pop, ssss, whistle)
- Facemesh results don't correspond to the current camera frame due to latency
- Detect on-screen buttons and controls
- Dwell clicking shouldn't start until head is detected
- Shouldn't show red box when canceling dwell by turning off the dwell clicker
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tracky-mouse.