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 is a Python script that scans public cameras gathered from Insecam to locate objects of interest via YOLOv4 object detection model.
- 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.
-
Clone the repository:
git clone https://github.com/erfangolpour/EagleEye.git
-
Install the required dependencies:
pip install -r requirements.txt
-
Download the YOLOv4 weights file (245 MB):
- yolov4.weights
- Google Drive mirror: yolov4.weights
Place the file in the
YOLOdirectory.
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.
The object of interest here is set to car:
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.
Contributions are welcome! If you encounter any issues or have ideas for improvement, feel free to open an issue or submit a pull request.
This project is licensed under the GPLv3 License.
Special thanks to:
- The YOLO object detection model.
- The Insecam website for public camera streams.
- The tqdm library for progress bar visualization.
