Find a car, a toaster, or even a zebra and watch it in real-time! EagleEye is a Python script that tracks public cameras scraped from Insecam public camera directory to find a specified object using the YOLOv4 object detection model. The objects available in this model can be found here. EagleEye utilizes multithreading to efficiently scan multiple camera streams concurrently.
- Detects objects in public camera streams using the YOLOv4 object detection model.
- Utilizes multithreading for efficient scanning of multiple camera streams simultaneously.
- Provides information about the detected camera's IP address, geolocation, and confidence level.
- Allows limiting the search to a specific country.
- Can automatically open detected camera streams 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
yolov4.weights
file 245 MB: yolov4.weights (Google-drive mirror yolov4.weights) and place it in the directory namedYOLO
.
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 (100 is the deafult value)
-o {person,bicycle,car,...}
The object you are searching for (Please refer to YOLOv4 - Darknet/coco.names - for more information)
-w WORKERS, --workers WORKERS
Limit the number of workers in the multiprocessing pool
-c COUNTRY, --country COUNTRY
Filter the results by specifying a country
MIN_CONFIDENCE
: The minimum confidence threshold for object detection (default: 0.6).OPTIMIZED_MAX_WORKERS
: The default number of worker threads (set to the number of CPU cores minus one).REQUEST_TIMEOUT
: The timeout for web requests in seconds (default: 10).USER_AGENT
: The user agent string for web requests.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
EagleEye is released under the GPLv3 License.
Special thanks to:
- The YOLO object detection model.
- The Insecam website for providing access to public camera streams.
- The tqdm library for progress bar visualization.