Abhilashvj/planogram-compliance
<div align="center">Planogram Scoring</div>
<p>
</p>
- Train a Yolo Model on the available products in our data base to detect them on a shelf
- https://wandb.ai/abhilash001vj/YOLOv5/runs/1v6yh7nk?workspace=user-abhilash001vj
- Have the master planogram data captured as a matrix of products encoded as numbers (label encoding by looking the products names saved in a list of all - the available product names )
- Detect the products on real images from stores.
- Arrange the detected products in the captured photograph to rows and columns
- Compare the product arrangement of captured photograph to the existing master planogram and produce the compliance score for correctly placed products
</div>
<div align="center">YOLOv5</div>
<p> YOLOv5 🚀 is a family of object detection architectures and models pretrained on the COCO dataset, and represents <a href="https://ultralytics.com">Ultralytics</a> open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development. </p>
</div>
<div align="center">Documentation</div>
See the YOLOv5 Docs for full documentation on training, testing and deployment.
<div align="center">Quick Start Examples</div>
<details open> <summary>Install</summary>
**Python>=3.6.0** is required with all requirements.txt installed including **PyTorch>=1.7**: <!-- $ sudo apt update && apt install -y libgl1-mesa-glx libsm6 libxext6 libxrender-dev -->
$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
$ pip install -r requirements.txt</details>
<details open> <summary>Inference</summary>
Inference with YOLOv5 and PyTorch Hub. Models automatically download from the latest YOLOv5 release.
import torch
# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5m, yolov5l, yolov5x, custom
# Images
img = 'https://ultralytics.com/images/zidane.jpg' # or file, Path, PIL, OpenCV, numpy, list
# Inference
results = model(img)
# Results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.</details>
<div align="center">Why YOLOv5</div>
<p align="center"><img width="800" src="https://user-images.githubusercontent.com/26833433/114313216-f0a5e100-9af5-11eb-8445-c682b60da2e3.png"></p> <details> <summary>YOLOv5-P5 640 Figure (click to expand)</summary>
<p align="center"><img width="800" src="https://user-images.githubusercontent.com/26833433/114313219-f1d70e00-9af5-11eb-9973-52b1f98d321a.png"></p> </details> <details> <summary>Figure Notes (click to expand)</summary>
- GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 32, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.
- EfficientDet data from google/automl at batch size 8.
- Reproduce by
python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt
</details>
Pretrained Checkpoints
[assets]: https://github.com/ultralytics/yolov5/releases
<details> <summary>Table Notes (click to expand)</summary>
- AP<sup>test</sup> denotes COCO test-dev2017 server results, all other AP results denote val2017 accuracy.
- AP values are for single-model single-scale unless otherwise noted. Reproduce mAP by
python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65 - Speed<sub>GPU</sub> averaged over 5000 COCO val2017 images using a GCP n1-standard-16 V100 instance, and includes FP16 inference, postprocessing and NMS. Reproduce speed by
python val.py --data coco.yaml --img 640 --conf 0.25 --iou 0.45 --half - All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).
- Test Time Augmentation (TTA) includes reflection and scale augmentation. Reproduce TTA by
python val.py --data coco.yaml --img 1536 --iou 0.7 --augment
</details>
<div align="center">Contribute</div>
We love your input! We want to make contributing to YOLOv5 as easy and transparent as possible. Please see our Contributing Guide to get started.
<div align="center">Contact</div>
For issues running YOLOv5 please visit GitHub Issues. For business or professional support requests please visit https://ultralytics.com/contact.
<br>
<div align="center"> <a href="https://github.com/ultralytics"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-github.png" width="3%"/> </a> <img width="3%" /> <a href="https://www.linkedin.com/company/ultralytics"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-linkedin.png" width="3%"/> </a> <img width="3%" /> <a href="https://twitter.com/ultralytics"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-twitter.png" width="3%"/> </a> <img width="3%" /> <a href="https://youtube.com/ultralytics"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-youtube.png" width="3%"/> </a> <img width="3%" /> <a href="https://www.facebook.com/ultralytics"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-facebook.png" width="3%"/> </a> <img width="3%" /> <a href="https://www.instagram.com/ultralytics/"> <img src="https://github.com/ultralytics/yolov5/releases/download/v1.0/logo-social-instagram.png" width="3%"/> </a> </div>
