All Projects โ†’ sayakpaul โ†’ Grocery-Product-Detection

sayakpaul / Grocery-Product-Detection

Licence: Apache-2.0 license
This repository builds a product detection model to recognize products from grocery shelf images.

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to Grocery-Product-Detection

Eyevis
Android based Vocal Vision for Visually Impaired. Object Detection, Voice Assistance, Optical Character Reader, Read Aloud, Face Recognition, Landmark Recognition, Image Labelling etc.
Stars: โœญ 48 (-34.25%)
Mutual labels:  detection, vision
Comet.Box
Collection of Object Detection and Segmentation Pipelines๐Ÿ›ธ๐Ÿš€
Stars: โœญ 24 (-67.12%)
Mutual labels:  detection, tfod-api
Faster Rcnn tf
Faster-RCNN in Tensorflow
Stars: โœญ 2,349 (+3117.81%)
Mutual labels:  detection
Sinet
Camouflaged Object Detection, CVPR 2020 (Oral & Reported by the New Scientist Magazine)
Stars: โœญ 246 (+236.99%)
Mutual labels:  detection
Useragentparser
UserAgent parsing done right
Stars: โœญ 225 (+208.22%)
Mutual labels:  detection
Com.unity.perception
Perception toolkit for sim2real training and validation
Stars: โœญ 208 (+184.93%)
Mutual labels:  detection
Commix
Automated All-in-One OS Command Injection Exploitation Tool.
Stars: โœญ 3,016 (+4031.51%)
Mutual labels:  detection
Labelimg
๐Ÿ–๏ธ LabelImg is a graphical image annotation tool and label object bounding boxes in images
Stars: โœญ 16,088 (+21938.36%)
Mutual labels:  detection
Learnable-Image-Resizing
TF 2 implementation Learning to Resize Images for Computer Vision Tasks (https://arxiv.org/abs/2103.09950v1).
Stars: โœญ 48 (-34.25%)
Mutual labels:  vision
Triplet Attention
Official PyTorch Implementation for "Rotate to Attend: Convolutional Triplet Attention Module." [WACV 2021]
Stars: โœญ 222 (+204.11%)
Mutual labels:  detection
Awesome Carla
๐Ÿ‘‰ CARLA resources such as tutorial, blog, code and etc https://github.com/carla-simulator/carla
Stars: โœญ 246 (+236.99%)
Mutual labels:  detection
Security content
Splunk Security Content
Stars: โœญ 217 (+197.26%)
Mutual labels:  detection
Bccd dataset
BCCD (Blood Cell Count and Detection) Dataset is a small-scale dataset for blood cells detection.
Stars: โœญ 216 (+195.89%)
Mutual labels:  detection
Zxhookdetection
ใ€iOSๅบ”็”จๅฎ‰ๅ…จใ€ๅฎ‰ๅ…จๆ”ป้˜ฒใ€‘hookๅŠ่ถŠ็‹ฑ็š„ๅŸบๆœฌ้˜ฒๆŠคไธŽๆฃ€ๆต‹(ๅŠจๆ€ๅบ“ๆณจๅ…ฅๆฃ€ๆต‹ใ€hookๆฃ€ๆต‹ไธŽ้˜ฒๆŠคใ€่ถŠ็‹ฑๆฃ€ๆต‹ใ€็ญพๅๆ ก้ชŒใ€IDAๅ็ผ–่ฏ‘ๅˆ†ๆžๅŠ ๅฏ†ๅ่ฎฎDemo)๏ผ›ใ€ๆ•ฐๆฎไผ ่พ“ๅฎ‰ๅ…จใ€‘ๆต…่ฐˆhttpใ€httpsไธŽๆ•ฐๆฎๅŠ ๅฏ†
Stars: โœญ 241 (+230.14%)
Mutual labels:  detection
Caffe Faster Rcnn
faster rcnn c++ version. joint train; please checkout into dev branch (git checkout dev)
Stars: โœญ 210 (+187.67%)
Mutual labels:  detection
Detectionlab
Automate the creation of a lab environment complete with security tooling and logging best practices
Stars: โœญ 3,237 (+4334.25%)
Mutual labels:  detection
Hourglass Facekeypoints Detection
face keypoints deteciton based on stackedhourglass
Stars: โœญ 206 (+182.19%)
Mutual labels:  detection
Vermin
Concurrently detect the minimum Python versions needed to run code
Stars: โœญ 218 (+198.63%)
Mutual labels:  detection
Deception As Detection
Deception based detection techniques mapped to the MITREโ€™s ATT&CK framework
Stars: โœญ 228 (+212.33%)
Mutual labels:  detection
nested-transformer
Nested Hierarchical Transformer https://arxiv.org/pdf/2105.12723.pdf
Stars: โœญ 174 (+138.36%)
Mutual labels:  vision

Grocery-Product-Detection

This repository builds a product detection model to recognize products from grocery shelf images. The dataset comes from here. Everything from data preparation to model training is done using Colab Notebooks so that no setup is required locally. All the relevant commentaries have been included inside the Colab Notebooks.

Repository organization

โ”œโ”€โ”€ Colabs
โ”‚   โ”œโ”€โ”€ GroceryDataset_EDA_Prep.ipynb: EDA and data preparation notebook. 
โ”‚   โ”œโ”€โ”€ GroceryDataset_Evaluation.ipynb: Runs evaluation on the test images with the trained model.
โ”‚   โ”œโ”€โ”€ GroceryDataset_Inference.ipynb: Performs inference with the trained model.
โ”‚   โ””โ”€โ”€ GroceryDataset_Model_Training.ipynb: Trains an SSD MobileDet model using TFOD API.
โ”œโ”€โ”€ Deliverables
โ”‚   โ”œโ”€โ”€ image2products.json: Contains test image names as keys and the number of products contained in each image as values.
โ”‚   โ””โ”€โ”€ metrics.json: mAP, precision and recall computed on test set.
โ”œโ”€โ”€ Misc Files
โ”‚   โ”œโ”€โ”€ confusion_matrix.csv: Confusion matrix computed on the test set using the trained model.
โ”‚   โ”œโ”€โ”€ generate_tfrecord.py: Generates TFRecords from the provided dataset. 
โ”‚   โ””โ”€โ”€ ssdlite_mobiledet_dsp_320x320_products_sync_4x4.config: Configuration file needed by the TFOD API. 
โ””โ”€โ”€ README.md

Results

Following snaps taken from TensorBoard after loading the evaluation logs (logs are available here) -

As we can see with 10k training steps the metrics keep on shining. I believe with more sophisticated hyperparameter tuning and a longer training schedule performance can further be improved.

Notes

  • The provided dataset is converted to TFRecords for easy compatibility with the TFOD API. Further notes are available inside the Colabs/GroceryDataset_EDA_Prep.ipynb notebook.
  • Augmentation used
    • Horizontal flips
    • Random crops
  • Detection network used: SSD MobileDet.
  • Training hyperparameters are available inside Misc\ Files/ssdlite_mobiledet_dsp_320x320_products_sync_4x4.config file.
  • Precision and recall reported in Deliverables/metrics.json are mean values computed over the [email protected] and [email protected] columns of Misc\ Files/confusion_matrix.csv.
  • A threshold of 0.6 was used in order to obtain the number of products per test image.

Trained model files

Find them here. If you are looking for the checkpoints, the latest ones are prefixed with model.ckpt-10000. There's also a frozen inference graph.

Dataset citation

@article{varol16a,
      TITLE = {{Toward Retail Product Recognition on Grocery Shelves}},
      AUTHOR = {Varol, G{"u}l and Kuzu, Ridvan S.},
      JOURNAL = {ICIVC},
      YEAR = {2014}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].