{"id":28653903,"url":"https://github.com/aarambhdevhub/multi-cam-face-tracker","last_synced_at":"2025-06-13T07:08:04.429Z","repository":{"id":294576339,"uuid":"987413390","full_name":"AarambhDevHub/multi-cam-face-tracker","owner":"AarambhDevHub","description":"Real-time multi-camera face tracking system with PyQt5 interface and alert notifications. Supports webcams, RTSP streams, and provides face recognition with InsightFace models.","archived":false,"fork":false,"pushed_at":"2025-05-21T04:06:16.000Z","size":1622,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T04:36:32.035Z","etag":null,"topics":["camera-tracking","face-detection","face-recognition","multi-camera","multi-camera-tracking","multi-person-tracking","opencv-projects","person-recognition","person-tracking","python-surveillance","real-time-alerts","security-system"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AarambhDevHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2025-05-21T03:31:00.000Z","updated_at":"2025-05-21T04:06:19.000Z","dependencies_parsed_at":"2025-05-21T04:36:33.975Z","dependency_job_id":"d1fe5a18-58cb-492d-82b4-e0eae15ad1a7","html_url":"https://github.com/AarambhDevHub/multi-cam-face-tracker","commit_stats":null,"previous_names":["aarambhdevhub/multi-cam-face-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AarambhDevHub/multi-cam-face-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AarambhDevHub%2Fmulti-cam-face-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AarambhDevHub%2Fmulti-cam-face-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AarambhDevHub%2Fmulti-cam-face-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AarambhDevHub%2Fmulti-cam-face-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AarambhDevHub","download_url":"https://codeload.github.com/AarambhDevHub/multi-cam-face-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AarambhDevHub%2Fmulti-cam-face-tracker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259599331,"owners_count":22882357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["camera-tracking","face-detection","face-recognition","multi-camera","multi-camera-tracking","multi-person-tracking","opencv-projects","person-recognition","person-tracking","python-surveillance","real-time-alerts","security-system"],"created_at":"2025-06-13T07:08:03.820Z","updated_at":"2025-06-13T07:08:04.409Z","avatar_url":"https://github.com/AarambhDevHub.png","language":"Python","funding_links":["https://buymeacoffee.com/aarambhdevhub"],"categories":[],"sub_categories":[],"readme":"# Multi-Camera Face Tracker System 🚀\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/AarambhDevHub/multi-cam-face-tracker/main/assets/logo.png\" alt=\"Logo\" width=\"200\" height=\"200\"\u003e\n\u003c/div\u003e\n\n![Python](https://img.shields.io/badge/python-3.8%2B-blue)\n![PyQt5](https://img.shields.io/badge/GUI-PyQt5-green)\n![InsightFace](https://img.shields.io/badge/ML-InsightFace-orange)\n![OpenCV](https://img.shields.io/badge/Vision-OpenCV-red)\n![Telegram](https://img.shields.io/badge/Alerts-Telegram-blue)\n\n\nA robust real-time face tracking system with multi-camera support, facial recognition, age \u0026 gender detection, and intelligent alerting capabilities including Telegram notifications.\n\n## 🌟 Key Features\n\n### Core Functionality\n- **Multi-Camera Support**: Simultaneously monitor multiple video sources (webcams, RTSP streams, video files)\n- **Real-Time Face Detection**: Powered by InsightFace with GPU acceleration support\n- **Face Recognition**: Identify known individuals with configurable confidence thresholds\n- **Age \u0026 Gender Detection**: Estimate demographic attributes for each detected face\n\n### Alert System\n- ✨ **Telegram Notifications**: Get instant alerts with snapshots on your phone\n- 🔔 **Visual \u0026 Audio Alerts**: Customizable popups and sound notifications\n- 📸 **Automatic Evidence Capture**: Saves screenshots of recognition events\n- 📊 **Comprehensive Logging**: Detailed event records with timestamps and confidence levels\n\n### User Interface\n- 🖥️ **Live Monitoring Dashboard**: View all camera feeds in real-time\n- 👤 **Face Management**: Add/remove known faces with photo uploads\n- ⏱️ **History Viewer**: Filter events by date, camera, or individual\n\n## 🛠️ Technical Stack\n\n| Component               | Technology Used               |\n|-------------------------|-------------------------------|\n| Face Detection          | InsightFace                   |\n| Machine Learning        | PyTorch                       |\n| Computer Vision         | OpenCV                        |\n| GUI Framework           | PyQt5                         |\n| Database                | SQLite                        |\n| Audio Alerts            | Pygame                        |\n| Telegram Alerts         | python-telegram-bot           |\n| **Alert Channels**      | Telegram Bot                  |\n| Demographics            | Age \u0026 Gender via InsightFace  |\n\n## 📦 Installation Guide\n\n### Prerequisites\n- Python 3.8+\n- NVIDIA GPU (recommended for best performance)\n- FFmpeg (for RTSP streams)\n\n### Step-by-Step Setup\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/AarambhDevHub/multi-cam-face-tracker.git\n   cd multi-cam-face-tracker\n   ```\n\n2. **Create virtual environment**:\n    ```bash\n    python -m venv venv\n    source venv/bin/activate  # Linux/Mac\n    venv\\Scripts\\activate     # Windows\n    ```\n\n3. **Install dependencies**:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Configure the system**:\n    - Edit `config/config.yaml` for application settings\n    - Edit `config/camera_config.yaml` for camera configurations\n\n5. **Directory setup**:\n    ```bash\n    mkdir -p data/{known_faces,screenshots} config logs\n    ```\n\n6. Run the application:\n    ```\n    python main.py\n    ```\n\n## ⚙️ Configuration\n\n### Application Settings (`config/config.yaml`)\n```yaml\napp:\n  name: \"Multi-Cam Face Tracker\"\n  version: \"1.0.0\"\n  threshold: 0.6\n  screenshot_dir: \"data/screenshots\"\n  known_faces_dir: \"data/known_faces\"\n  database_path: \"data/database.db\"\n  alert_sound: \"assets/alert.wav\"\n  log_dir: \"logs\"\nrecognition:\n  detection_threshold: 0.5\n  recognition_threshold: 0.6\n  max_batch_size: 8\n  device: \"cpu\"  # or \"cuda\"\n  age_estimation: true\n  gender_detection: true\n```\n\n### Camera Configuration (`config/camera_config.yaml`)\n```yaml\ncameras:\n  - id: 0\n    name: \"Front Camera\"\n    source: 0  # Camera index or RTSP URL # Camera index or \"rtsp://...\"\n    enabled: true\n    resolution:\n      width: 1280\n      height: 720\n    fps: 30\n    rotate: 0 # Degrees (0,90,180,270)\n```\n\n## ⚙️ Telegram Configuration\n### Add to `config/config.yaml`:\n```yaml\ntelegram:\n  enabled: true\n  bot_token: \"YOUR_BOT_TOKEN\"  # From @BotFather\n  chat_id: \"YOUR_CHAT_ID\"      # Get from @getidsbot\n  rate_limit: 30  # Seconds between alerts\n```\n## Setup Guide:\n- Create bot with @BotFather\n- Get chat ID with @getidsbot\n- Add bot to your alert channel as admin\n- Enable in config and restart app\n\n## 🔍 Learn More on DeepWiki\nWant to dive deeper into how this system works, including architecture insights and real-world deployment tips?\n📖 Explore the project on DeepWiki:\n👉 [https://deepwiki.com/AarambhDevHub/multi-cam-face-tracker](https://deepwiki.com/AarambhDevHub/multi-cam-face-tracker)\n\n## 🖥️ User Manual\n### Adding Known Faces\n1. Click \"Face Manager\" in the Tools menu\n2. Select \"Add Face\" and upload a clear photo\n3. Enter the person's name and save\n\n### Camera Controls\n    Button\t                    Functionality\n    ▶️ Start\t      Activates selected camera feed\n    ⏹️ Stop\t                Halts camera processing\n    ⚙️ Settings\t          Adjust resolution/FPS\n    \n### Alert Management\n- Configure sound preferences in Alert Panel\n- Set minimum confidence threshold (0.5-1.0)\n- Enable/disable screenshot capture\n- View age and gender next to each recognized face\n\n## 🚀 Performance Tips\n1. For RTSP Streams:\n    - Use tcp transport protocol for stability\n    - Example: `rtsp://user:pass@ip:port/stream?tcp`\n\n2. GPU Acceleration:\n    ```yaml\n    recognition:\n        device: \"cuda\"  # In config.yaml\n    ```\n\n3. Optimization:\n    - Lower processing intervals for fewer cameras\n    - Reduce resolution for distant facial recognition\n    - Use JPEG compression for RTSP streams\n\n## 📊 Sample Use Cases\n- Office Security: Monitor entrances for unauthorized personnel\n- Smart Home: Get alerts when family members arrive\n- Retail Analytics: Track customer demographics\n\n## 📜 License\nMIT License - See [LICENSE](LICENSE) for details.\n\n## 🤝 Contributing\nWe welcome contributions! Please see our [Contribution Guidelines](CONTRIBUTING.md)\n\n## ☕ Support the Project\nIf you find this project helpful, consider buying me a coffee!\n[Buy Me a Coffee](https://buymeacoffee.com/aarambhdevhub)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarambhdevhub%2Fmulti-cam-face-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faarambhdevhub%2Fmulti-cam-face-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarambhdevhub%2Fmulti-cam-face-tracker/lists"}