Use Case Title: Beverage Bottle Detection on Shelves.
Team Members
Shashikant Rajput, Shreshtha Roychowdhury, Jeet Rathod, Darshan Repale, Sairaj Pavnak.
Use Case Importance
Accurate beverage bottle detection on retail shelves helps ensure optimal stock levels, improves planogram compliance, and enhances the shopping experience. Our solution aids real-time monitoring, reduces manual auditing, and supports data-driven inventory decisions.
Data Collection and Annotation
We captured over 3,000 shelf images across various retail stores under different lighting and angles. Images were manually annotated to label bottle types, brands, and positions. The dataset was balanced across multiple classes to train an accurate detection model.
The labeled dataset was then split into:
- Training set: 2,250 images
- Validation set: 450 images
- Test set: 300 images
To boost model performance, we applied data augmentation techniques such as brightness variation and horizontal flipping. This helped the model generalize better to real-world retail environments.
Object Detection Model Performance Results
Overall Performance Metrics
| Metric | Value |
|---|---|
| mAP@0.5 | 0.7281 |
| mAP@0.5:0.95 | 0.5805 |
| Precision | 0.7354 |
| Recall | 0.7035 |
Detailed Class-wise Performance
| Class Name | Images | Instances | Precision | Recall | mAP@0.5 | mAP@0.5:0.95 |
|---|---|---|---|---|---|---|
| ALL CLASSES | 1094 | 16535 | 0.735 | 0.703 | 0.728 | 0.581 |
| 7-UP-200-ML-GLASS | 53 | 122 | 0.759 | 0.723 | 0.761 | 0.581 |
| 7-UP-2250-ML-PET | 163 | 236 | 0.933 | 0.873 | 0.933 | 0.794 |
| 7-UP-250-ML-PET | 364 | 788 | 0.938 | 0.965 | 0.981 | 0.767 |
| 7-UP-300-ML-GLASS | 7 | 18 | 0.713 | 0.111 | 0.267 | 0.180 |
| 7-UP-500-ML-PET | 207 | 493 | 0.926 | 0.941 | 0.969 | 0.791 |
| 7-UP-600-ML-PET | 117 | 192 | 0.613 | 0.542 | 0.563 | 0.482 |
| 7-UP-750-ML-PET | 136 | 237 | 0.676 | 0.800 | 0.718 | 0.624 |
| 7-UP-CAN-250-ML | 20 | 37 | 0.400 | 0.541 | 0.437 | 0.363 |
| 7-UP-CAN-300-ML | 44 | 109 | 0.740 | 0.810 | 0.819 | 0.687 |
| 7-UP-PET-1250-ML | 186 | 246 | 0.901 | 0.931 | 0.946 | 0.822 |
| AQUAFINA-1000-ML | 279 | 965 | 0.849 | 0.944 | 0.936 | 0.804 |
| AQUAFINA-2000-ML-PET | 57 | 130 | 0.603 | 0.477 | 0.405 | 0.330 |
| AQUAFINA-500-ML-PET | 119 | 323 | 0.870 | 0.799 | 0.840 | 0.701 |
| COCA-COLA | 6 | 43 | 0.777 | 0.837 | 0.890 | 0.683 |
| COCA-COLA-CAN | 4 | 32 | 0.613 | 0.375 | 0.573 | 0.404 |
| EVERESS-SODA-250-ML-PET | 117 | 253 | 0.917 | 0.953 | 0.972 | 0.770 |
| EVERESS-SODA-PET-750-ML | 251 | 468 | 0.922 | 0.957 | 0.968 | 0.770 |
| EVERESS-SODA-RGB-300-ML | 17 | 31 | 0.847 | 0.968 | 0.935 | 0.697 |
| FANTA | 8 | 12 | 0.180 | 0.221 | 0.191 | 0.153 |
| FROOTI | 3 | 4 | 0.275 | 0.207 | 0.278 | 0.167 |
| GATORADE-BLUE-250-ML | 17 | 56 | 0.749 | 0.768 | 0.837 | 0.544 |
| GATORADE-LIME-250-ML | 6 | 10 | 0.856 | 0.900 | 0.865 | 0.638 |
| GATORADE-ORANGE-250-ML | 11 | 20 | 0.904 | 0.470 | 0.604 | 0.464 |
| LIMCA | 3 | 5 | 0.000 | 0.000 | 0.037 | 0.027 |
| MIR-ORG-PET 2250 ML | 142 | 156 | 0.847 | 0.849 | 0.901 | 0.784 |
| MIR-ORG-PET-1250-ML | 182 | 238 | 0.813 | 0.887 | 0.895 | 0.770 |
| MIR-ORG-PET-2250-ML | 1 | 3 | 1.000 | 0.000 | 0.000 | 0.000 |
| MIR-ORG-PET-600-ML | 147 | 207 | 0.682 | 0.667 | 0.690 | 0.574 |
| MIR-ORG-PET-750-ML | 155 | 282 | 0.677 | 0.624 | 0.669 | 0.575 |
| MIRINDA-ORANGE-300-ML-CAN | 51 | 93 | 0.852 | 0.860 | 0.928 | 0.733 |
| MIRINDA-ORANGE-300-ML-GLASS | 44 | 94 | 0.771 | 0.894 | 0.830 | 0.620 |
| MIRINDA-ORANGE-300-ML-PET | 184 | 378 | 0.865 | 0.863 | 0.920 | 0.725 |
| MOUNTAIN-DEW-200-ML-GLASS | 79 | 256 | 0.791 | 0.922 | 0.851 | 0.645 |
| MOUNTAIN-DEW-2250-ML-PET | 14 | 27 | 0.839 | 0.815 | 0.805 | 0.715 |
| MOUNTAIN-DEW-250 ML-PET | 366 | 1094 | 0.903 | 0.952 | 0.959 | 0.779 |
| MOUNTAIN-DEW-250-ML-CAN | 24 | 37 | 0.359 | 0.324 | 0.218 | 0.167 |
| MOUNTAIN-DEW-250ML-PET | 1 | 2 | 1.000 | 0.000 | 0.142 | 0.132 |
| MOUNTAIN-DEW-300-ML-CAN | 36 | 81 | 0.810 | 0.778 | 0.836 | 0.726 |
| MOUNTAIN-DEW-300-ML-GLASS | 7 | 21 | 0.000 | 0.000 | 0.076 | 0.056 |
| MOUNTAIN-DEW-500-ML-PET | 6 | 6 | 0.410 | 0.333 | 0.237 | 0.182 |
| MOUNTAIN-DEW-600-ML-PET | 29 | 85 | 0.466 | 0.506 | 0.458 | 0.349 |
| Nimbooz-Pet | 148 | 274 | 0.941 | 0.931 | 0.951 | 0.781 |
| Nimbooz-Tetra | 104 | 242 | 0.938 | 0.881 | 0.938 | 0.663 |
| PEPSI-250 ML-PET | 341 | 905 | 0.931 | 0.871 | 0.955 | 0.784 |
| PEPSI-250-ML-PET | 66 | 190 | 0.555 | 0.816 | 0.698 | 0.634 |
| PEPSI-BLACK-500-ML-PET | 229 | 442 | 0.910 | 0.942 | 0.960 | 0.714 |
| PEPSI-BLACK-CAN-300-ML | 47 | 166 | 0.847 | 0.873 | 0.918 | 0.661 |
| PEPSI-CAN-250-ML | 99 | 238 | 0.863 | 0.945 | 0.969 | 0.803 |
| PEPSI-COLA-200-ML-GLASS | 93 | 261 | 0.871 | 0.932 | 0.925 | 0.700 |
| PEPSI-COLA-500-ML-PET | 17 | 35 | 0.826 | 0.544 | 0.737 | 0.642 |
| PEPSI-COLA-600-ML-PET | 94 | 241 | 0.681 | 0.627 | 0.730 | 0.608 |
| PEPSI-COLA-750-ML-PET | 228 | 495 | 0.705 | 0.845 | 0.812 | 0.678 |
| PEPSI-PET-1250-ML | 220 | 375 | 0.871 | 0.925 | 0.945 | 0.815 |
| PEPSI-PET-2250-ML | 133 | 189 | 0.848 | 0.826 | 0.889 | 0.752 |
| RED-BULL | 4 | 8 | 0.521 | 0.250 | 0.293 | 0.244 |
| SLICE-350-ML-PET | 198 | 467 | 0.893 | 0.942 | 0.925 | 0.748 |
| SLICE-MANGO-1200-ML-PET | 49 | 87 | 0.898 | 0.897 | 0.931 | 0.788 |
| SLICE-MANGO-125-ML-TETRA | 142 | 435 | 0.859 | 0.899 | 0.943 | 0.673 |
| SLICE-MANGO-600-ML-PET | 195 | 383 | 0.932 | 0.964 | 0.973 | 0.824 |
| SPRITE | 8 | 17 | 0.450 | 0.294 | 0.390 | 0.279 |
| STING-200-ML-GLASS | 62 | 133 | 0.834 | 0.932 | 0.931 | 0.602 |
| STING-250-ML-CAN | 50 | 115 | 0.890 | 0.918 | 0.936 | 0.772 |
| STING-250-ML-PET | 368 | 1133 | 0.936 | 0.923 | 0.962 | 0.702 |
| STING-250-ML-PET-BLUE | 323 | 823 | 0.952 | 0.963 | 0.987 | 0.745 |
| STING-500 ML-PET | 160 | 283 | 0.841 | 0.876 | 0.876 | 0.670 |
| STING-500-ML-PET | 36 | 64 | 0.654 | 0.734 | 0.837 | 0.738 |
| THUMBS-UP | 11 | 23 | 0.330 | 0.348 | 0.328 | 0.260 |
| THUMBS-UP-CAN | 2 | 8 | 0.404 | 0.750 | 0.691 | 0.476 |
| Trop-Apple-Pet | 75 | 139 | 0.881 | 0.799 | 0.857 | 0.668 |
| Trop-Guava-Pet | 52 | 147 | 0.866 | 0.905 | 0.937 | 0.765 |
| Trop-Mix-Fruit-Pet | 113 | 273 | 0.879 | 0.861 | 0.929 | 0.743 |
| WATERBOTTLE | 11 | 54 | 0.096 | 0.056 | 0.133 | 0.089 |
Model Training and Validation
We trained a YOLOv8m model to detect and classify beverage bottles on store shelves. This version offered an excellent balance between speed and accuracy, ideal for real-time retail applications.
To ensure high performance, we tracked metrics like mAP, precision, and recall, and optimized training by:
- Increasing training epochs
- Using high-resolution images (416×416)
- Adding more labeled images to address class imbalance
Model Deployment and Demo Video
We deployed our YOLOv8m model in real-world retail environments to evaluate its performance. It achieved 80%–95% detection accuracy and ran smoothly at 20 FPS on high-performance systems.
The model delivered real-time results on laptops and newer iPhones. On lower-end Android devices, a slight lag was observed likely due to limited GPU support or hardware constraints.
Demo Video
Watch our model in action: Beverage Bottle Detection on Retail Shelves
Real-time bottle recognition using the YOLOv8m model for smart inventory and shelf management.
Demo Video Link: https://drive.google.com/file/d/1BR4euzPlsp74tHv9VrmA8leSBL_0PtgE/view?usp=drivesdk
GitHub Repo Link:
Conclusion
We developed an AI solution using the YOLOv8m model to detect and classify beverage bottles on retail shelves with high accuracy and real-time performance. Key highlights include the importance of quality data, balanced classes, and optimized training parameters. Hardware capabilities also influenced detection speed. The final system is scalable and suitable for improving shelf audits, monitoring, and inventory management in retail settings.

