{"id":34519452,"url":"https://github.com/emanuel-poblano/image-recognition","last_synced_at":"2026-05-01T20:31:30.921Z","repository":{"id":329198420,"uuid":"1118446612","full_name":"emanuel-poblano/image-recognition","owner":"emanuel-poblano","description":"Built a production-grade Gym Form Correction AI using Python, MediaPipe, and OpenCV that analyzes exercise posture in real time, counts repetitions, and provides corrective feedback through a modular, scalable architecture.","archived":false,"fork":false,"pushed_at":"2025-12-18T00:00:51.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-21T10:31:13.326Z","etag":null,"topics":["mediapipe","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emanuel-poblano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-17T19:12:28.000Z","updated_at":"2025-12-18T00:02:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/emanuel-poblano/image-recognition","commit_stats":null,"previous_names":["emanuel-poblano/image-recognition"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/emanuel-poblano/image-recognition","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuel-poblano%2Fimage-recognition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuel-poblano%2Fimage-recognition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuel-poblano%2Fimage-recognition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuel-poblano%2Fimage-recognition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emanuel-poblano","download_url":"https://codeload.github.com/emanuel-poblano/image-recognition/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuel-poblano%2Fimage-recognition/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mediapipe","opencv","python"],"created_at":"2025-12-24T04:35:49.446Z","updated_at":"2026-05-01T20:31:30.912Z","avatar_url":"https://github.com/emanuel-poblano.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏋️ Gym Form Correction AI\n\nA **production-grade computer vision application** that analyzes exercise form in real time using a webcam or video input. The system detects body posture, counts repetitions, and provides corrective feedback for common gym exercises such as squats, push-ups, and deadlifts.\n\nBuilt with **Python, MediaPipe, and OpenCV**, this project demonstrates clean architecture, real-time pose estimation, and scalable design suitable for deployment or further ML enhancement.\n\n---\n\n## 🚀 Features\n\n* ✅ Real-time pose estimation using MediaPipe\n* ✅ Exercise-specific form analysis (Squat, Push-up, Deadlift)\n* ✅ Rep counting with state tracking\n* ✅ Live visual feedback overlay\n* ✅ Modular, production-ready architecture\n* ✅ Robust error handling for camera and pose detection\n\n---\n\n## 🧠 System Architecture\n\n```\nCamera / Video Input\n        ↓\nPose Estimator (MediaPipe)\n        ↓\nLandmark Processing \u0026 Angle Calculation\n        ↓\nExercise Analyzer (Rules / Logic)\n        ↓\nRep Counter \u0026 Feedback Engine\n        ↓\nLive UI Overlay (OpenCV)\n```\n\n---\n\n## 📁 Project Structure\n\n```\nimage-recognition/\n│── app/\n│   └── main.py            # Application entry point\n│\n│── pose/\n│   └── estimator.py       # MediaPipe pose wrapper\n│\n│── exercises/\n│   ├── base.py            # Abstract exercise class\n│   └── squat.py           # Squat logic (angles, reps, feedback)\n│\n│── analysis/\n│   └── angles.py          # Joint angle calculations\n│\n│── feedback/\n│   └── overlay.py         # UI text overlay helpers\n│\n│── tests/\n│   └── test_angles.py     # Unit tests\n│\n│── requirements.txt\n│── README.md\n```\n\n---\n\n## 🛠️ Installation\n\n### 1️⃣ Clone Repository\n\n```bash\ngit clone https://github.com/your-username/gym-form-ai.git\ncd gym-form-ai\n```\n\n### 2️⃣ Create Virtual Environment (Recommended)\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n### 3️⃣ Install Dependencies\n\n#### Intel Mac\n\n```bash\npip install opencv-python mediapipe==0.10.12 numpy\n```\n\n#### Apple Silicon (M1/M2)\n\n```bash\npip install opencv-python mediapipe-silicon==0.10.12 numpy\n```\n\n---\n\n## ▶️ Running the App\n\nFrom the **project root directory**:\n\n```bash\npython3 -m app.main\n```\n\n* Press **`q`** to exit the application\n* Ensure your webcam is connected and accessible\n\n---\n\n## 🏋️ Supported Exercises\n\n| Exercise | Features                                        |\n| -------- | ----------------------------------------------- |\n| Squat    | Rep counting, depth detection, posture feedback |\n| Push-up  | (Planned)                                       |\n| Deadlift | (Planned)                                       |\n\n---\n\n## 📊 Metrics Tracked\n\n* Total repetitions\n* Joint angles per rep\n* Depth consistency\n* Form warnings frequency\n\nThese metrics can be extended to generate **session reports** or **performance scores**.\n\n---\n\n## 🧪 Testing\n\nRun unit tests from the root directory:\n\n```bash\npytest tests/\n```\n\n---\n\n## 🔮 Future Improvements\n\n* 🔹 ML-based form scoring (Random Forest / LSTM)\n* 🔹 Streamlit web dashboard\n* 🔹 REST API with FastAPI\n* 🔹 Mobile app frontend (React Native)\n* 🔹 User profiles \u0026 workout history\n\n---\n\n## 🧠 Key Technical Concepts Demonstrated\n\n* Real-time computer vision\n* Human pose estimation\n* Modular Python architecture\n* State-based rep counting\n* Noise handling \u0026 smoothing\n* Production-level error handling\n\n---\n\n## 🏆 Resume Description\n\n\u003e Built a production-grade Gym Form Correction AI using Python, MediaPipe, and OpenCV that analyzes exercise posture in real time, counts repetitions, and provides corrective feedback through a modular, scalable architecture.\n\n---\n\n## 📜 License\n\nMIT License\n\n---\n\n## 👤 Author\n\n**Emanuel Poblano**\nComputer Vision / Software Engineering Project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuel-poblano%2Fimage-recognition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femanuel-poblano%2Fimage-recognition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuel-poblano%2Fimage-recognition/lists"}