RPC Dataset Leaderboard
Over recent years, emerging interest has occurred in integrating computer vision technology into the retail industry. Automatic checkout (ACO) is one of the critical problems in this area which aims to automatically generate the shopping list from the images of the products to purchase. The main challenge of this problem comes from the large scale and the fine-grained nature of the product categories as well as the difficulty for collecting training images that reflect the realistic checkout scenarios due to continuous update of the products. Despite its significant practical and research value, this problem is not extensively studied in the computer vision community, largely due to the lack of a high-quality dataset. To fill this gap, in this work we propose a new dataset to facilitate relevant research. Our dataset enjoys the following characteristics: (1) It is by far the largest dataset in terms of both product image quantity and product categories. (2) It includes single-product images taken in a controlled environment and multi-product images taken by the checkout system. (3) It provides different levels of annotations for the check-out images. Comparing with the existing datasets, ours is closer to the realistic setting and can derive a variety of research problems. Besides the dataset, we also benchmark the performance on this dataset with various approaches. The dataset and related resources can be found at <https://rpc-dataset.github.io/>.READ FULL TEXT VIEW PDF
We introduce RP2K, a new large-scale retail product dataset for fine-gra...
We introduce RP2K, a new large-scale retail product dataset for fine-gra...
Vision science, particularly machine vision, has been revolutionized by
Learning from the web can ease the extreme dependence of deep learning o...
Surface defect detection is essential and necessary for controlling the
Datasets (semi-)automatically collected from the web can easily scale to...
Recognizing packaged grocery products based solely on appearance is stil...
RPC Dataset Leaderboard
The retail industry requires a huge amount of human labor and a large percentage of the workload is spent on recognizing products. With the recent development of computer vision, it becomes increasingly demanding to use image recognition technologies to automate the products recognition. As a primary user-case of this trend, automatic checkout (ACO) which aims to generate the shopping list from the images of the products to purchase receives emerging interests. From the image recognition perspective, this problem is particularly challenging: the number of products in a supermarket can be huge and the difference between similar products can be subtle; moreover, since it can be impractical to collect a large number of training images per product, the training of the recognition model has to deal with the small training sample size. Even worse, in some cases, is that we may only have access to the product images taken in an environment different from the deployment scenario and there is a substantial domain shift from the training set to the test set. Therefore, the ACO problem can have the characteristic of large-scale, fine-grained, few-shot and cross-domain. Each of those factors has been considered to be challenging in the computer vision literature.
Despite its potential practical and research value, the ACO problem is not well studied in the computer vision community. This is largely due to the lack of a high-quality dataset with a clearly defined setting. To fill this gap, in this work we propose a new dataset to facilitate future research on this topic. The design of our dataset mimics the real-world scenarios in ACO. More specifically, it contains a large number of images and product categories. Some of the product categories are visually very similar and this reflects the fine-grained property in the ACO problem. This dataset also provides images of two different types. One type is taken in a controlled environment and only contains a single product. This can correspond to product images on the advertisement website. Another type represents images of user-purchased products and these images usually include multiple products. For the second type of images, we also provide different levels of annotations and clutter degrees. Researchers can use those annotations to define related sub-problems, such as detection or counting. Comparing with the existing datasets, our dataset is much closer to a realistic scenario, and a variety of research problems and settings can be derived from the proposed dataset. To benchmark this dataset, we also proposed several detection-based baselines. The last baseline, which trains detectors by incorporating an effective Cycle-GAN  based data augmentation scheme is identified as the best solution so far. From the baseline results, it can be seen that the problem defined on the proposed dataset is challenging and leaves substantial room for improvement.
In this part, we review some of the existing datasets relevant to our task.
SOIL-47  is a product dataset that focuses on testing color-based object recognition algorithms. It contains 47 product categories, and for each category 21 images are captured from 20 different horizontal views. Two sets of such images are captured under different light conditions to test algorithms claiming illumination intensity invariance.
Supermarket Produce Dataset  is introduced for automatic fruit and vegetable classification from images. The dataset has 15 product categories comprising 2,633 images captured under diverse conditions. The task, however, has nearly been solved as implemented solution achieves classification error under 2% on the dataset.
Grozi-120  is a dataset proposed for groceries recognition in natural environment. It contains 120 grocery product categories. For each product category, two types of images are collected. While one type of images are collected from the web, the other type of images are collected inside a grocery store. In total, 11,870 images are collected with 676 from the web and 11,194 from the store. Traditional algorithms, such as color histogram matching, SIFT matching, and boosted Haar-like features, are applied to the dataset for performance evaluation.
Grocery Products Dataset  is another dataset aiming at grocery product recognition. It contains 80 grocery products and collects 8,350 training images and 680 test images. The training images are downloaded from the web, and the test images are collected in natural shelf scenario. Normally the products are neatly placed on the shelf, which is different from the realistic checkout scenario where the products are freely placed on counter in clutter.
Freiburg Groceries Dataset  is a grocery dataset comprising 5,021 images of 25 grocery classes. These images are divided into two sets: a training set that consists of 4,947 images taken by smartphone cameras, each containing one or more instances of one class; a test set with 74 images of 37 clutter scenes, each containing objects of multiple classes.
MVTec D2S  is a dataset proposed for instance-aware semantic segmentation in an industrial domain. It provides 21,000 images of 60 object categories with pixel-wise labels. This dataset can be used as complementary to other datasets [4, 21, 3] in computer vision for grocery-relevant semantic segmentation.
Data augmentation scheme is explored in our work to mitigate the gap between training and test images. In this part, we review relevant works for data augmentation. Naturally, if a model has a large number of parameters (e.g
., deep convolutional neural networks[18, 27, 9, 10]), it requires proportional amount of training samples to learn the model. Data augmentation is a common strategy used in computer vision to deal with data shortage. Conventionally, simple alternations are made on the existing dataset to expand the data size. These operations include flip, translation, scaling, rotation, random crop and so on. Apart from enabling more training data, the expansion also makes the model to be invariant to some conditions, e.g., rotation invariance, and thus obviously boosts the neural network performance [18, 27, 9, 10].
To deal with data shortage involving domain shift , more advantaged data augmentation is explored and exploited. For example, the work in  synthesizes new images containing multiple objects by combining and reorganizing atom object masks. In real world, data can exist in infinite conditions. To prevent models to understand the world spuriously and superficially, data depicting various conditions is required. Generative models, e.g., Variational Auto-Encoder (VAE) , Generative Adversarial Networks (GANs)  and its variant [2, 32, 30, 12], provide a promising solution to this problem. For example, the work in  uses conditional VAE to generate visual features for novel classes to address Zero-Shot [19, 29] learning problem. In , a method variant to GANs is proposed to generate multi-view vehicle feature based on single-view feature to boost vehicle re-identification. In some other works, GANs are directly used to generate images crossing domains or styles. For example, in 
, a structure-aware image-to-image translation scheme is proposed to synthesize large-scale training data for vehicle detection. In another work, a deep neutral network is trained on simulated images but can successfully generalize to real images by resorting to the variability in the simulator.
This subsection formally defines the problem setting for the automatic checkout (ACO) task. To begin with, we will briefly review the application scenario of the ACO problem.
When a customer puts his/her selected products on the checkout counter, an ideal ACO system is expected to be able to accurately recognize each of these products and return a complete shopping list at one glance, as shown in Fig. 1. Thus the key of an ACO system is a recognition system that can accurately predict the presence and count of each product in an arbitrary product combination. Usually, such a recognition system is trained with the images captured at the same environment as the deployment scenario. In the context of the ACO problem, the training image should be the one taken at the checkout counter, which captures a combination of multiple product instances (we call it the checkout image hereafter). However, due to a large number of product categories as well as the continuous update of the stock list, it is infeasible to learn the recognition model by enumerating all the product combinations. In fact, it is even impractical to assume that the checkout images cover every single product on the stock list. A more economical solution is to train the recognition system by using images of each isolated product taken in a controlled environment. Once taken, those images can be reused and distributed to different deployment scenarios.
Inspired by the above scenario, we formally define the ACO problem as follows: Given a set of candidate products and a test image from the test set , the task is to predict the presence and count of each product in the test image, in other words, predicting , where indicates the number of occurrences in the test image and if the product does not appear. To perform this prediction and build the model, we will have a single-product image set , where is a single-product image and is its associated product ID/category. Also, we may have access to a checkout image set with optional availability of a certain level of annotations , e.g., can correspond to the annotations in Sec. 3.2.1.
In this section, we elaborate the details of the proposed retail product checkout (RPC) dataset. To start with, we will introduce the characteristics of the dataset. Then, the construction details for the dataset will be given. Finally, we present the evaluation metrics adopted in this paper for the ACO problem.
In this paper, we propose the RPC dataset to support research on approaches to address the potential challenges in real-world ACO scenarios. The characteristics of the dataset can be summarized into six aspects.
Large-scale: As shown in Fig. 2, our RPC dataset is the largest dataset so far for retail ACO in terms of product categories (stock keeping units or SKUs) and product images. To collect this dataset, we choose 200 SKUs and purchase on average 4 instances for each SKU, which almost doubles the category size of previous largest dataset. In total, we capture 83,739 images including 53,739 single-product exemplar images, and 30,000 checkout images.
Single-product exemplar images and checkout images: In our dataset, we collect two types of images. One type is the exemplar image for every single product (Fig. 3) and the other type is the checkout image (Fig. 4) taken at the checkout counter. While the exemplar images capture the multi-view appearances of the isolated SKU, the checkout images reflect realistic checkout scenarios where each image covers a variant number of product instances.
Close to realistic checkout scenario: During the construction of this dataset, we try our best to mimic the realistic retail checkout scenarios to collect the checkout images. The products are randomly chosen and combined; they are freely placed on the checkout background with random orientations; occlusions and complex clutter are also common in our dataset.
Hierarchical structure: The hierarchical structure of product categories is another characteristic of our RPC dataset. The 200 SKUs can be categorized as 17 meta-categories which cover diverse appearances, such as bottle-like, box-like, canister-like, bag-like, as shown in Figure 6. The SKUs under each meta-category tend to be fine-grained. The hierarchical structure can be exploited, for example, as auxiliary supervision information for advanced training or evaluation, similar to .
Different clutter levels: In this dataset, we split checkout images into three clutter levels based on the number of SKUs and product instances in each image, as shown in Table 2. Such a clutter level annotation enables an in-depth inspection of the model capacities.
Weak to strong supervision: As shown in Fig. 5, the checkout images in our dataset are provided with three different types of annotations, representing the weak to strong supervisions: (1) shopping list, which records the SKU category and count of each product instance in the checkout image. This is the weakest level of annotation and can be easily obtained in practice. (2) Point-level annotation, which provides the central position and the SKU category of each product in the checkout image. (3) Bounding boxes, which provide bounding box and SKU category for each product. This is the most labor-intensive annotation. The introduction of different types of annotations further enriches the research directions that can be derived from this dataset, e.g., research on weakly supervised detection.
|Grocery Products ||80||9,030||–||–|
|Feribur Groceries ||25||5,021||–||–|
|MVTec D2S ||60||21,000||72,447||3.45|
|Our RPC dataset exemplar||200||53,739||53,739||1|
|Our RPC dataset checkout||200||30,000||367,935||12.26|
In our RPC dataset, we collect 200 retail SKUs. The collected SKUs can be divided into 17 meta-categories, i.e., puffed food, dried fruit, dried food, instant drink, instant noodles, dessert, drink, alcohol, milk, canned food, chocolate, gum, candy, seasoner, personal hygiene, tissue, stationery. Fig. 6 shows some examples for each of these meta-categories. As can be seen, the dataset covers products with diverse appearances and shapes such as bottle-like, box-like, canister-like, bag-like, to name a few. At the same time, the products under same meta-category normally tend to be fine-grained. This constitutes one of the challenges for ACO system.
We collect 53,739 single-product images for isolated SKUs as exemplar images and 30,000 checkout images for ACO system evaluation. Table 1 shows a detailed comparison between our RPC dataset and existing relevant datasets. We introduce the construction details for these two types of images in the following parts.
Fig. 3 shows the collection environment for capturing the exemplar images. To capture multi-view characteristics for each isolated SKU, four cameras are mounted in different positions to capture images from four different views. One camera covers the top view, one camera covers the horizontal view, and the other two cameras cover the and views, respectively. The cameras are with automatic focus and capture images with resolution . We randomly choose one instance from each SKU and place it on a turntable which can rotate 360 degrees. Each camera takes a photo for this SKU every 9 degrees. Thus, we have views for each SKU. In addition, for box-like and bag-like SKUs, because their top view is normally different from the bottom view, we repeat the above collecting procedure twice to collect images for both sides. Some example collections from the four cameras are shown in Fig. 7. In total, we collect 53,739 exemplar images for 200 isolated SKUs.
To capture the checkout images, the products are placed on a cmcm white board as background with a camera (with resolution ) mounted on top. The collection environment is shown in Fig. 8. Based on the number of SKUs as well as the number of product instances for each SKU, we collect checkout images with three clutter levels: i.e., easy, medium and hard. Table 2 shows the details of the three splits. Generally, the more products presented on the board, the more challenging thing is to accurately recognize the whole set of products due to problems such as occlusion, varying orientations and complex clutter and density patterns, as shown in Fig. 4. To capture a checkout image, we mimic the realistic checkout scenario. Concretely, we select a random set of SKUs and a random number of product instances for each of the selected SKUs guided by specific clutter level (Table 2), and freely place these products onto the board. To capture comprehensive product combinations, for each clutter level, we repeat this process 10,000 times to collect 10,000 images. Thus in total, we collect 30,000 checkout images.
In this section, we propose several evaluation metrics for the proposed ACO task. First, we introduce some notations for clear presentations.
Given checkout images from SKU categories, let denote the predicted count of the -th category in the -th image and represent the ground truth instance number of the -th category in the -th image. is defined as the distance between the prediction and the ground truth , which reflects the counting error for a specific SKU category in an image,
Then, is defined as the prediction error over all SKU categories for the -th image,
where indicates the complete product list of a checkout image is correctly predicted.
Checkout accuracy is the most important metric for the ACO task. It measures the pass rate of a ACO system and thus reflects the practicality of the system. Under this metric, an image passes checkout if and only if the complete product list is accurately predicted, i.e., . Mathematically, this metric can be written as,
where returns 1 if and only if ; otherwise, it returns 0. The range of the cAcc score is .
Different from cACC that only cares whether the complete product list is correctly predicted or not, Average Counting Distance (ACD) measures the average number of counting errors for each image.
Mean Category Counting Distance (mCCD) is proposed to measure the average ratio of counting errors for each SKU category,
Mean Category Intersection of Union (mCIoU) is another metric proposed to measure the compatibility between the predicted shopping list and ground truth. It is motivated by standard IoU. The range of the mCIoU score is .
The proposed ACO problem is an open problem and has many potential solutions. To benchmark the proposed ACO dataset, in this section, we consider four baseline approaches which formulate the ACO problem as a cross-domain detection problem. We restricted ourselves to only use the annotation from the single-product exemplar images and the most straightforward way is to directly train detectors on these exemplar images. We use this strategy as our first baseline (denoted as Single) and we adopt Feature Pyramid Network (FPN)  as the detector.
The checkout image contains multiple objects while the exemplar image only has one. To reduce this gap, we propose to copy and paste the segmented isolated products to create synthesized checkout images. Then we can train the detector on the synthesized image (100,000 images are synthesized) and we use this approach as our second baseline (denoted as Syn). To segment the product instance, we adopt a salience-based object segmentation approach  with conditional random fields  for mask refinement. For more details about the creation of the synthesized checkout images, please refer to the supplementary materials.
After the synthesis step, domain gap still exists between the synthesized images and checkout images. It is easy to tell the difference between the images from these two domains by observing lighting conditions or shadow patterns. In order to render the synthesized images more naturally similar to checkout images, we employ Cycle-GAN  to translate these images into the checkout image domain. Fig. 9 shows the synthesized checkout images and the corresponding translated images by Cycle-GAN. It can be seen that the rendered images are more realistic. Then, we train the detector on the rendered images (rendering on 100,000 synthesized images), which is regarded as the third baseline (denoted as Render). In addition, we also train detectors with both the rendered images and the synthesized ones. We use this as our final baseline and denote it as Syn+Render. The pipeline of this method is shown in Fig. 10.
Both the evaluation metrics proposed in Sec. 3.3, and the standard object detection metrics, i.e., mAP50 and mmAP, are adopted to evaluate the above methods.
For product detector training, an input image is resized such that its shorter side has 800 pixels. Synchronized SGD is used to train the model on 2 GPUs. Each mini-batch consists of 2 images on each GPU and we set the number of RoIs to be 512 for each image. We set the weight decay to be 0.0001 and momentum is set to be 0.9. The initial learning rate is 0.02 for the first 60k iterations, which decays by a factor of 10 for the next 20k iterations. Note that for each clutter level, we use 2,000 checkout images as validation set and the remaining 8,000 images are used as the test set.
|Clutter mode||Methods||cAcc ()||ACD ()||mCCD ()||mCIoU ()||mAP50 ()||mmAP ()|
In this section, we report the experimental results by clutter modes. That is we report the results for easy mode, medium mode, hard mode separately. Table 4 shows the quantitative results.
As can be seen, due to significant domain shift between single-product exemplar images and checkout images, the baseline method that directly trains the product detector using single-product images almost fails the task, even for the easy mode. Improvement is observed when synthesized images are used for product detector training, especially for easy, where the most important metric cAcc is improved by about 18%. The improvement, however, is not that significant for medium and hard modes. Further boost is achieved by training detectors on rendered images. Since the domain gap is further mitigated via domain translation, the detectors trained on rendered images generalize better to the checkout images. The cAcc score is improved by 44.70%, 36.48%, 28.10% for easy, medium and hard, respectively. This proves the effectiveness of the domain translation component in our approach.
The most significant performance boost is obtained when the rendered images are combined with synthesized images for detector training. As seen, comparing to methods based on synthesized (rendered) images only, the cAcc is improved by about 55% (10%), 48% (12%), and 40% (11%) for easy, medium and hard, respectively. The observations reveal that synthesis variability is beneficial for the generalization capacity of the model trained on synthetic data. This observation is consistent with that in .
However, also as shown in Table 4, even the best-performed method achieves unsatisfactory performance on the medium and hard modes. This shows the task is challenging and leaves substantial room for improvement. Also, another point worth mentioning is that with standard object detection metrics, the performance of the best performed approach is promising, e.g., 72.72% mmAP on hard mode. However, from the perspective of practicality, we define a much more strict evaluation metric which requires models to be able to accurately predict the whole product list.
Additionally, we go through the whole checkout test images, and find there are mainly four types of failure cases: (1) missed detection; (2) failure cases caused by dense placement; (3) failure cases caused by fine-grained differences; (4) false positives. Examples of failure and successful cases can be found in the supplementary materials.
Although we tackle the ACO task with a cross-domain detection strategy in our benchmark, there are many other possible solutions. Moreover, other possible research directions can be derived from the proposed dataset. We name a few of them in this section:
Online learning for the ACO problem. One challenge of the real-world ACO problem is that the new product will be continuously added to the product list. Thus it is desirable to find a way to quickly update the system without retraining the model from scratch. This problem falls into the field of online learning. However, the cross-domain and fine-grained nature of the ACO problem will add extra difficulty to the problem and require the development of new approaches.
Another potential solution to the ACO task is to directly predict the product list from the checkout image without recursing to the accurate product detection and thus relieves the burden of training a detector. This solution essentially models the ACO problem as an object counting problem . However, it is a new type of object counting problem as it involves objects from multiple categories, and each object has a limited number of training samples.
Using mixed supervision from the checkout images. Our dataset provides different levels of supervision for the checkout images. How to leverage those annotations for better solving the ACO task is still an open problem and needs more in-depth research.
As a complementary dataset for other computer vision tasks. Although our dataset is designed for the ACO task, it can also act as a dataset for research areas such as object retrieval, few-shot/weakly-supervised/fully-supervised object detection, since our annotations also include the ground truth location/bounding-box of products in the checkout images.
In this paper, we proposed a new dataset for the automatic checkout (ACO) task. This dataset contains 200 product categories and 83,739 images. It includes single-product images taken in controlled environment and multi-product checkout images taken at the checkout counter. Various annotations are provided for both single-product images and checkout images. With this dataset, we clearly define the ACO problem and benchmark the dataset with four detection-based baselines. We show that there is still substantial room to improve the ACO performance on this dataset and this dataset can support various potential research directions.
In the supplementary materials, we present additional information about the proposed Retail Product Checkout (RPC) dataset, including:
Example images of all 200 products from the dataset;
Detailed statistic information about the dataset;
Additional examples of checkout images from the dataset;
Details of checkout image synthesis and checkout image generation via domain translation;
Failure and successful cases of the ACO task on the dataset;
The ACO performance vs. the number of synthesized and rendered images via domain translation.
Detailed statistical ACO results on single meta-category and single product category
In this section, we show additional checkout images of three different clutter modes (i.e., Easy, Medium and Hard) from our RPC dataset.
In this section, we describe the detailed process of synthesizing and rendering checkout images.
As shown in Fig. 10 in the paper, to synthesize the checkout images with multiple SKUs, the first step is to segment the isolated SKUs from the exemplar single-product images. We adopt a salience based segmentation approach to realize this. To differentiate the product from the background, the salience method needs to see some contextual background information. Thus we expand the size of the annotated product bounding box by two times (e.g., expanding the blue annotated bounding box for Pepsi to the red bounding box in Fig. 1 in the paper) and crop the RoI based on that expanded bounding box. Then, for the cropped image patch, we utilize the method proposed in  to obtain the saliency map as the product mask. After that, we set the value of background pixels which are outside the annotated product bounding box (i.e., the blue one) to be zero. Finally, conditional random field (CRF)  is applied to further refine the processed saliency map, and the refined saliency map is used as the mask to segment the SKU.
After obtaining the segmented SKUs, we synthesize the checkout images following the idea of copy and paste. Specifically, segmented SKUs are randomly selected and freely placed on a prepared background image. We set the occlusion rate of each SKU less than 50%. To mimic different clutter modes in checkout images, the SKU number as well as the instance number of each SKU are determined under the same principle shown in Table 2 in the paper. After this step, the synthesized images are similar to the checkout images in terms of products placement.
After the synthesis step, domain gap still exists between the synthesized images and checkout images, such as the lighting conditions, the shadow patterns, to name a few. In order to render the synthesized images more naturally similar to checkout images, we employ Cycle-GAN  to translate these images to the checkout image domain. Fig. 15 shows more synthesized checkout images and the corresponding translated images by Cycle-GAN. Based on these rendered images, we can train SKU detectors and apply these detectors on real checkout images to predict the complete product list.
More concretely, to render the synthesized images, we follow the experiment settings in . Firstly, we resize the original synthesized images as 0.44x. Then, we use training patches with size
to train a Cycle-GAN. The objective loss function of the discriminator is defined as a least-square loss. For optimization, we use Adam  optimizer with initial learning rate to be and the momentum term
to be 0.5. The total number of training epochs is 200.
In this section, we study the affect of the number of training images (i.e., “Syn+Render”) on the final checkout recognition performance. We change the number of training images in a set of , where is the number of training images used in the experiments (cf. Table 3 in the paper). In each setting, the number of the synthesized checkout images equals to the number of the rendered checkout images via domain translation.
As shown, performance is boosted when the number of training images is increased, especially for the Medium and Hard modes. However, for Easy, the best performance is obtained when training images are used.
|Clutter mode||synthesized & rendered images||cAcc ()||ACD ()||mCCD ()||mCIoU ()||mAP50 ()||mmAP ()|
The cityscapes dataset for semantic urban scene understanding.In Proc. IEEE Conf. Comp. Vis. Patt. Recogn., 2016.
Unsupervised domain adaptation by backpropagation.In Proc. Int. Conf. Mach. Learn., 2015.
Zero-shot recognition via semantic embeddings and knowledge graphs.In Proc. IEEE Conf. Comp. Vis. Patt. Recogn., 2018.