<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yan</title>
    <description>The latest articles on Forem by Yan (@yan4ikxxxwq).</description>
    <link>https://forem.com/yan4ikxxxwq</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3889401%2F1a9e97a1-b7f0-443a-a614-f9aab4a98221.jpeg</url>
      <title>Forem: Yan</title>
      <link>https://forem.com/yan4ikxxxwq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yan4ikxxxwq"/>
    <language>en</language>
    <item>
      <title>NUMBA 3 Making Gesture Control Feel Natural</title>
      <dc:creator>Yan</dc:creator>
      <pubDate>Tue, 21 Apr 2026 20:56:44 +0000</pubDate>
      <link>https://forem.com/yan4ikxxxwq/numba-3-making-gesture-control-feel-natural-3p64</link>
      <guid>https://forem.com/yan4ikxxxwq/numba-3-making-gesture-control-feel-natural-3p64</guid>
      <description>&lt;p&gt;What if you could control your mouse cursor without touching anything, but with the smoothness of a high-end gaming mouse?&lt;/p&gt;

&lt;p&gt;I built NUMBA 3 — a Python-based touchless controller that uses MediaPipe for hand tracking and Numba for high-speed physics calculations. It’s not just a "detect-and-move" script; it’s an attempt to make gesture control feel natural.&lt;/p&gt;

&lt;p&gt;The Problem: Why most AI mice feel laggy&lt;br&gt;
Most gesture-based controllers suffer from jitter and linear movement. If you move your hand 1cm, the cursor moves 1cm. It feels "robotic."&lt;/p&gt;

&lt;p&gt;To fix this, I implemented a custom Physics Engine optimized with @njit (Numba).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0j5zhlc6efmomcluh59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0j5zhlc6efmomcluh59.png" alt=" " width="800" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Adaptive Pre-processing&lt;br&gt;
Light conditions change. To make hand tracking stable, I implemented a CLAHE (Contrast Limited Adaptive Histogram Equalization) and a toggleable inversion mode. This ensures the MediaPipe model sees a clear silhouette of the hand even in low light.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gesture Modes&lt;br&gt;
The system isn't just for moving the cursor. I've implemented:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;MOUSE Mode: Standard navigation.&lt;/p&gt;

&lt;p&gt;SCROLL Mode: Natural scrolling using finger distance.&lt;/p&gt;

&lt;p&gt;TURBO Mode: High-sensitivity movement for large displays.&lt;/p&gt;

&lt;p&gt;Dynamic Switching: Just raise your pinky to cycle through modes!&lt;/p&gt;

&lt;p&gt;The "Inversion" Paradox&lt;br&gt;
Interestingly, during development, I encountered a paradox: while higher contrast usually helps AI, too much detail (background noise) makes it worse. By adding a "Binary Inversion" toggle, I allowed the system to adapt to dark vs. light backgrounds instantly.&lt;/p&gt;

&lt;p&gt;The project is fully open-source. If you want to try it out or contribute to the physics engine:&lt;br&gt;
How it Works&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real-time Physics with Numba
I used the Numba library to pre-compile the physics logic into machine code. This allows the system to calculate "boost" and "thresholds" &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Check it out&lt;/p&gt;

&lt;p&gt;GitHub Repo: yan4ikxxx-wq/NUMBA_3&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/yan4ikxxx-wq" rel="noopener noreferrer"&gt;
        yan4ikxxx-wq
      &lt;/a&gt; / &lt;a href="https://github.com/yan4ikxxx-wq/NUMBA_3" rel="noopener noreferrer"&gt;
        NUMBA_3
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered hand tracking system for touchless PC control. Built with MediaPipe &amp;amp; Python.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/275084968/580923914-78d47872-e231-4441-bd27-3675428ad95a.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzY4MDUzOTIsIm5iZiI6MTc3NjgwNTA5MiwicGF0aCI6Ii8yNzUwODQ5NjgvNTgwOTIzOTE0LTc4ZDQ3ODcyLWUyMzEtNDQ0MS1iZDI3LTM2NzU0MjhhZDk1YS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQyMVQyMDU4MTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNDBlMTlkNDRmMzFiN2Q1ZTk4NTJmZjVjM2M2MmU2MzQ5NTdhZWY2MDFhODkzYThlMWVjZmI4M2IyNzA0ZWUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.E6vucFCtrTqxcmX0Oo23nZ9SvIJPLi0pNSmY4c0Nob0"&gt;&lt;img width="650" height="649" alt="CHECK" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F275084968%2F580923914-78d47872-e231-4441-bd27-3675428ad95a.jpg%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzY4MDUzOTIsIm5iZiI6MTc3NjgwNTA5MiwicGF0aCI6Ii8yNzUwODQ5NjgvNTgwOTIzOTE0LTc4ZDQ3ODcyLWUyMzEtNDQ0MS1iZDI3LTM2NzU0MjhhZDk1YS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQyMVQyMDU4MTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNDBlMTlkNDRmMzFiN2Q1ZTk4NTJmZjVjM2M2MmU2MzQ5NTdhZWY2MDFhODkzYThlMWVjZmI4M2IyNzA0ZWUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZqcGVnIn0.E6vucFCtrTqxcmX0Oo23nZ9SvIJPLi0pNSmY4c0Nob0" class="js-gh-image-fallback"&gt;&lt;/a&gt;
Система управления курсором Windows с помощью жестов рук
оптимизированная для работы в условиях сложного освещения
Использует компьютерное зрение и высокопроизводительные вычисления на Numba

&lt;p&gt;"Enjoying this project? Buy me a coffee 🚀"
&lt;a href="https://www.paypal.com/donate/?hosted_button_id=S4AH7LV44BT9N" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b57c445af971e3e99c2d0ccdbf4fa7faa4358ba27fecc8f68459b30289f82eda/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d50617950616c2d626c75652e737667" alt="Donate"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/yan4ikxxx-wq/NUMBA_3#english" rel="noopener noreferrer"&gt;English version below&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Особенности (RU) 🇷🇺&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Плавность движения:&lt;/strong&gt; Физика курсора просчитывается через &lt;strong&gt;Numba (@njit)&lt;/strong&gt;, что исключает задержки (input lag).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Адаптивное зрение:&lt;/strong&gt; Использование фильтра &lt;strong&gt;CLAHE&lt;/strong&gt; и алгоритма &lt;strong&gt;OTSU&lt;/strong&gt; позволяет системе видеть руку даже при плохом освещении.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Динамическая калибровка:&lt;/strong&gt; Система автоматически подстраивает чувствительность при смене режимов.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Интерфейс "Картинка в картинке" (PIP):&lt;/strong&gt; Вы всегда видите, как нейросеть обрабатывает ваше изображение в реальном времени.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Требования&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;ОС: Windows 8.1/10/11&lt;/li&gt;
&lt;li&gt;Веб-камера (рекомендуется 30+ FPS)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Управление&lt;/h3&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MOUSE:&lt;/strong&gt; Управление курсором (запястье — ведущая точка). Клик — сведение большого и указательного пальцев.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SCROLL:&lt;/strong&gt; Лайк (большой палец вверх) — скролл вверх, жест "V" — скролл вниз.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TURBO:&lt;/strong&gt; Режим повышенной скорости курсора.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Смена режима:&lt;/strong&gt; Удерживайте мизинец поднятым в течение 1 секунды.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Быстрые клавиши&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;I&lt;/code&gt; — Инверсия бинарной маски (если…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/yan4ikxxx-wq/NUMBA_3" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;almost instantly.&lt;/p&gt;

</description>
      <category>python</category>
      <category>computervision</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Building a Touchless AI Mouse Control in 2 hours with Python 🖱️✨</title>
      <dc:creator>Yan</dc:creator>
      <pubDate>Mon, 20 Apr 2026 17:14:38 +0000</pubDate>
      <link>https://forem.com/yan4ikxxxwq/building-a-touchless-ai-mouse-control-in-2-hours-with-python-477b</link>
      <guid>https://forem.com/yan4ikxxxwq/building-a-touchless-ai-mouse-control-in-2-hours-with-python-477b</guid>
      <description>&lt;h1&gt;
  
  
  Moving the cursor with a wave of a hand! 🦾
&lt;/h1&gt;

&lt;p&gt;Hi everyone! I’m excited to share my latest mini-project: &lt;strong&gt;NUMBA_3 (BIO-SYSTEM PRO)&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It’s a standalone tool that uses a webcam to track your hand gestures and control the system cursor. No special hardware, just some Python magic.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛠 The Tech Stack
&lt;/h3&gt;

&lt;p&gt;I wanted to see how fast I could build a smooth-running tool. Here’s what’s under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MediaPipe&lt;/strong&gt;: To get the 21-point hand skeleton in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenCV&lt;/strong&gt;: For the camera feed processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numba&lt;/strong&gt;: The secret sauce. I used JIT-compilation to optimize heavy calculations, making the cursor movement feel incredibly fluid.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyInstaller&lt;/strong&gt;: To bundle it into a single portable EXE.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💡 Why I built it
&lt;/h3&gt;

&lt;p&gt;We've all been there: eating snacks while watching a movie or coding, and you don't want to touch your mouse with greasy fingers. Now I can just wave my hand to scroll or click.&lt;/p&gt;

&lt;h3&gt;
  
  
  📦 Try it out
&lt;/h3&gt;

&lt;p&gt;The project is fully open-source. You can grab the EXE or check the code here:&lt;/p&gt;

&lt;p&gt;[👉 &lt;strong&gt;NUMBA_3 on GitHub&lt;/strong&gt;]&lt;a href="https://github.com/yan4ikxxx-wq/NUMBA_3/releases/latest" rel="noopener noreferrer"&gt;https://github.com/yan4ikxxx-wq/NUMBA_3/releases/latest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to run:&lt;/strong&gt; 1. Download &lt;code&gt;NUMBA_3.exe&lt;/code&gt; from the Releases.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run it (and allow it in your antivirus if it flags the unsigned EXE).&lt;/li&gt;
&lt;li&gt;Enjoy the magic!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'd love to get some feedback on the gesture smoothing. If you have any ideas for the next version, let me know in the comments!&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
