Ivy is an open source video-based vehicle counting system which employs several computer vision techniques to detect, track and count vehicles in a traffic scene.
- Python 3
- AWS account
- EC2
- Lambda
- Media Convert
- S3
- Cloudfront
- Clone this repo
- Install the dependencies in requirements.txt
pip install -r requirements.txt
. - Install detector YOLO's weights and place the content file in the data/detectors/yolo directory.
Detector | Description |
---|---|
yolo |
Perform detection using models created with the YOLO (You Only Look Once) neural net. https://pjreddie.com/darknet/yolo/ |
- Create a .env file (based on .env.example) in the project's root directory and edit as appropriate.
- Run
python -m main
.
- Create instances mentioned above.
- Replace bucket names with your bucket name.
- Change the path of the local video file.
- Start the server by running
python Run.py
. - Start the consumer on the cloud by running
python consumer.py
. - Start the producer on the local by running
python producer.py
. - Run the codes in Lamda to setup the file conversion and log writting.
- Setup the web application by running the HTML on the web browser.
- Refresh the webapp to see the output.