Skip to content
This repository was archived by the owner on Apr 29, 2025. It is now read-only.

erfangolpour/EagleEye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Archived

EagleEye has been archived. The development of a web interface and major updates have moved to a new repository. Please visit ArguX for the latest version and ongoing improvements.



EagleEye

Real-Time Object Detection in Public Camera Feeds

EagleEye is a Python script that scans public cameras gathered from Insecam to locate objects of interest via YOLOv4 object detection model.


Features

  • Multithreaded for scanning multiple streams simultaneously.
  • Provides the detected camera's IP address, geolocation, and the model's confidence level in identifying the specified object.
  • Filter searches by country.
  • Option to open detected camera streams directly in your web browser.

Installation

  1. Clone the repository:

    git clone https://github.com/erfangolpour/EagleEye.git
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Download the YOLOv4 weights file (245 MB):

    Place the file in the YOLO directory.


Usage

Run the script with the following options:

usage: EagleEye.py [-h] [-n NUMBER] -o {person,bicycle,car,...} [-w WORKERS] [-c COUNTRY]

EagleEye - A tool for scanning public security cameras

Options:
  -h, --help            Show this help message and exit.
  -n NUMBER, --number NUMBER
                        Maximum number of cameras to scan (default: 100).
  -o {person,bicycle,car,...}
                        Specify the object to search for (refer to YOLOv4 - Darknet/coco.names for options).
  -w WORKERS, --workers WORKERS
                        Limit the number of multiprocessing pool workers.
  -c COUNTRY, --country COUNTRY
                        Filter results by country.

You can find the list of searchable objects here.


Demonstration

The object of interest here is set to car:

preview-gif


Configuration

The following settings can be customized in the script:

  • MIN_CONFIDENCE: Minimum confidence threshold for object detection (default: 0.6).
  • OPTIMIZED_MAX_WORKERS: Default number of worker threads (CPU cores minus one).
  • REQUEST_TIMEOUT: Timeout duration for web requests in seconds (default: 10).
  • USER_AGENT: User agent string for web requests.

Contributing

Contributions are welcome! If you encounter any issues or have ideas for improvement, feel free to open an issue or submit a pull request.


License

This project is licensed under the GPLv3 License.


Acknowledgments

Special thanks to:

About

A Python script that uses YOLOv4 for detecting objects in public camera streams from Insecam.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages