8000 GitHub - arminfabritzek/WatchMyBirds: WatchMyBirds is a lightweight, customizable object detection application designed for real-time monitoring and birdwatching. Leveraging state-of-the-art AI models and supporting a variety of video sources—including web- and IP-cams and RTSP streams—WatchMyBirds transforms any camera into a powerful detection system.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

WatchMyBirds is a lightweight, customizable object detection application designed for real-time monitoring and birdwatching. Leveraging state-of-the-art AI models and supporting a variety of video sources—including web- and IP-cams and RTSP streams—WatchMyBirds transforms any camera into a powerful detection system.

License

Notifications You must be signed in to change notification settings

arminfabritzek/WatchMyBirds

Repository files navigation

WatchMyBirds

Build and Push Docker Image Python

WatchMyBirds in Action Real-time object detection and classification in action!


WatchMyBirds in Action Clean, user-friendly web interface with image gallery support!


⚡ Quickstart

git clone https://github.com/arminfabritzek/WatchMyBirds.git
cd WatchMyBirds
cp docker-compose.example.yml docker-compose.yml
docker-compose up -d

📚 Table of Contents


Overview

WatchMyBirds is a lightweight, customizable object detection application for real-time monitoring using webcams, RTSP streams, and Docker. It is built using PyTorch and TensorFlow, and it supports live video streaming, automatic frame saving based on detection criteria, and integration with Telegram for notifications. The application is ideal for hobbyists, researchers, and wildlife enthusiasts interested in automated visual monitoring.


🚀 Key Features

  • Real-Time Object Detection:
    Transform any webcam or RTSP camera stream into a powerful detection system.

    • Seamless integration with MotionEye OS for network camera support.
    • Tested with cheap IP & PTZ Cameras.
  • Optimized for Diverse Hardware:
    Built to run across various devices with performance and accuracy in mind.

    • Runs on Docker (e.g., Synology NAS), macOS, with planned support for Raspberry Pi and NVIDIA Jetson
  • Integrated Notifications

    • Telegram alerts for detections
  • State-of-the-Art AI Models

    • Pre-trained models including yolov11, EfficientNet

📡 Tested Cameras

Camera Model Connection Status Notes
Low-priced PTZ Camera RTSP ✅ Works Stable RTSP stream verified.
Raspberry Pi 3 + Zero 2 + Raspberry Pi Cam MotionEye OS (HTTP Stream) ✅ Works
Seeking Sponsors N/A ❓ Pending Looking for sponsors to provide more camera models for testing.

🔹 Planned: Expanding RTSP camera compatibility & adding PTZ control.

📢 Interested in sponsoring a test? Reach out on GitHub!


📌 Share Your Results

Have you tested WatchMyBirds on another Synology NAS, IP camera, or edge device?
Help expand this list! Share your results by opening an issue or pull request on GitHub with:

  • Device model & specs
  • OS / Docker setup
  • Measured FPS or detection performance
  • Additional observations

Your contributions help improve WatchMyBirds for everyone! 🚀


🌟 Roadmap

🧠 AI & Model Optimization

  • 🏆 Train custom bird/insect/plant models with classifiers

⚡ Performance & Edge Deployment

  • 🏆 Optimize for Raspberry Pi 4/5 and Jetson Nano

📊 Analytics & Visualization

  • 🏆 Track bird visits, diversity, and time patterns
  • 🏆 Interactive dashboards for visualization

⚙️ Installation and Setup


Using Docker

  1. Clone the repo and copy the example compose file:

    cp docker-compose.example.yml docker-compose.yml
  2. Edit the .yml file to match your stream settings, then run:

    docker-compose up -d

➕ See docker-compose.example.yml for all available environment variables.

This will run the WatchMyBirds application, and you can access the livestream at http://<your-server-ip>:8050.


Manual Setup (Without Docker)

  1. Clone the Repository:

    git clone https://github.com/arminfabritzek/WatchMyBirds.git
    cd WatchMyBirds
  2. Set Up a Virtual Environment (optional but recommended; tested on Python 3.10 and 3.12):

    python -m venv venv
    source venv/bin/activate
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Configure the Video Source:

  • Create or edit the .env file in the project root

For a webcam connected via USB use:

VIDEO_SOURCE=0

For an RTSP stream, use:

VIDEO_SOURCE=rtsp://user:password@192.168.0.2:554/1

📺 Usage

  • Livestream: http://<your-server-ip>:8050 displays a real-time video and latest birds.
  • Saved Frames: Frames with objects exceeding the confidence threshold are saved in the output/ directory.

🤝 Contributing

Have ideas or improvements? Open an issue or submit a pull request!


🙌 Acknowledgements

This project uses Label Studio – provided free through the Academic Program by HumanSignal, Inc.
Label Studio Logo


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

WatchMyBirds is a lightweight, customizable object detection application designed for real-time monitoring and birdwatching. Leveraging state-of-the-art AI models and supporting a variety of video sources—including web- and IP-cams and RTSP streams—WatchMyBirds transforms any camera into a powerful detection system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0