-
The annotations tool and tasks are available at the website http://label.plyzer.ai/. CVAT must be accessed using the Google Chrome Browser. Any other browser is not supported.
-
Lahore user login credentials
- Username:
lahore
- The password will be given via Slack chat
- Username:
Note: You will be working in parallel with the same user. Since labeling work is not saved and updated in real time for other login sessions, you must distribute and assign tasks or even images in a task between every person performing annotations. This way, you won't label the same image twice. In order for the labeling work done in parallel to appear to the other sessions you must save the work and reload the page.
The images used for annotations have been automatically rectified to recover the parallelism between lines and therefore remove the projection distorsion. Bounding-boxes are pre-computed using a deep learning model (SKU110K) and labeled as UNANOTATED_OBJECT since the model can not predict the product label yet.
The model computes bounding-boxes for each product it can see indepently of its trademark. This means that products that must not be labeled may have a bounding-box and vice versa, some products that must be labeled may not have a bounding-box. We are interested on DAMM group products. Following there is a list of the trademarks we are going to be working with. An example picture of products is provided, but this does not mean that just the listed products are going to appear on the datasset, there will be new products of the same trademarks and some given examples may never appear.
The official CVAT user guide is available here. Our instructions and use case guide is the following:
- Estrella Damm
can
bottle
can pack
bottle pack
- Free Damm
can
can pack
bottle pack
- Free Damm Lemon
can
can pack
- Voll Damm
can
bottle
can pack
bottle pack
- Xibeca
can
bottle
can pack
bottle pack
- Damm Lemon
can
bottle
can pack
bottle pack
- Daura
can
bottle
can pack
bottle pack
- Daura Marzen
bottle
bottle pack
- Turia
can
can pack
bottle pack
- Complot
bottle
bottle pack
- Innis & Gunn Blood red sky
bottle
pack
- Malquerida
bottle
pack
- AK Damm
bottle
pack
- Inedit
bottle
pack
- Bock Damm
can
bottle
pack
- Sazz
bottle
pack
- Shofferhoffer
can
bottle
pack
- Skol Shandy
can
- Skol
can
bottle
pack
- Skol Sin
can
- Estrella Levante
can
bottle
can pack
bottle pack
- Estrella Levante sin
can
bottle
bottle pack
- Estrella Sur
can
bottle
bottle pack
- Estrella Sur sin
can
bottle
bottle pack
- Punta Este
bottle
bottle pack
- Victoria de Málaga
can
bottle
can pack
bottle pack
- Oro Bilbao
can
bottle
bottle pack
- Keler
can
bottle
can pack
bottle pack
- Verna
can
bottle
- Radeberger
bottle
bottle pack
In order to perform the image labeling while dealing with false positives (products that should not be labeled) and false negatives (products that should be labeled but are not) we propose the following method.
-
Delete all bounding-boxes of objects you are 100% sure they do not belong to DAMM products. Here we list some popuar companies and their trademarks that should not be labeled:
- Heineken
- El Águila
- Desperados
- Coronita
- Cruzcampo
- Amstel
- Mahou 5. Cervezas Alhambra
- Paulaner
- Erdinger
- Leffe
- Ambar
- Carlsberg
- Budweiser
- Guinness
This can be done using the
Del
key (Fn + Del
on Mac). - Heineken
-
Label the remaining boxes with its corresponding product. The labeling is designed in the following way:
Trademark_PackageType_ProductType_NumberUnits_UnitVolume
- Trademark: trademark of the product (one of the listed in the first list)
- PackageType: Either
SINGLE
(refering to single products as for example a bottle) orPACK
(a pack of products e.g. bottle box) - ProductType: Either
BOT
(refering to bottles) orLATA
(refering to cans, LATA is the spanish for can). - NumberUnits: Can be
1UNIT
for single objects or6UNIT
,10UNIT
,12UNIT
and24UNIT
referencing the number of products found in a pack. In case of packs the number of products it contains should be written on the packaging or possible to be counted, if it's not possible to determine the number of units leave the product as anUNANOTATED_OBJECT
. - UnitVolume: Defines the volume of the product. For the case of bottles the possible volumes are
25CL
,33CL
,66CL
and1L
. Cans can be33CL
or50CL
. If it's not possible to determine the volume leave the product as anUNANOTATED_OBJECT
.
By clicking on the box you want to annotate the selected item will appear highlighted on top of the object list. The object label has to be chosen from the list shown under each object.
![alt text](imgs/captura3.png "Logo Title Text 1")![alt text](imgs/captura2.png "Logo Title Text 1")
Since there are a lot of labels and there are no possible keyboard shortcuts to assign to all of the labels. What can be done in order to speed up the labeling process when there are some objects with the same label is:
- Label one of those products.
- Delete the rest of the objects of the same product with the UNANOTATED_OBJECT label.
- Copy (
Ctrl + C
) and paste (Ctrl + V
) the labeled shape into the position of the other objects with the same label.
-
Adjust the boxes so they outline the product with no remaining space (i.e. there should be no remaining space at the top or the sides, and the surface where the object sits shouldn't appear) and just the frontal face of the product is inside the box, this is meant to keep boxes rectangular, ignoring the sides of the product (e.g. in can-packs that are not seen from the front)
- At the end of each image you can go to the
labels
tab and hide all the labels exept the UNANOTATED_OBJECT to check that you didn't leave any product unlabeled except for those that do not have their label available on CVAT.
To store the annotations into the server work needs to be saved. Everything that is not saved explicitly will not be kept for the next time you open the job and you will have to start over.
Save work button is into the Menu that can be accessed by the Open Menu button.
The Menu also has a Help tab that will show you all the avaiable keyboard shortcuts. You may find something usefull there in addition to the shortcuts already explained in this file.
Six can packs are obiosuly composed of individual cans tied together with some plastic rings. By the moment the detection/classification system is not able to detect a six can pack and it identifies each can individualy, therefore the classification will be performed on each separate can. This is why we must keep both labels, the six can pack label (e.g. ESTRELLADAMM_PACK_LATA_6UNIT_33CL
) and the individual can label (ESTRELLADAMM_SINGLE_LATA_1UNIT_33CL
). To do this a new shape must be created for the six pack label and then annotate it.
In order to work with both labels without them overlaping and not allowing you to work some labels can be hidden by pressing the circle next to each label in the labels
tab.
The automatic projective correction and the nature of the images may cause some objects to be covered by others or not to be completely shown in the image. In order to deal with this situations CVAT offers the occluded property for any shape. This property is turned on/off for the bounding box under the cursor by pressing the Q
key. We are only interested in occluded objects that can give any product classification information, other objects should be left unannotated. Objects croped due to the perspective correction (at the bottom or top of the image) should also be annotated as occluded. Basicaly any bounding box that is not the perfect case for that label should be annotated as occluded.
The goal of this model is intented to classify objects that are found on the front of the shelf, what is also called the facing. We are not interessed on those products found in the middle or the back of the shelf. This is why we will label just the ones at the front of the shelf, forgetting about the ones that can aso be seen but are not on the fron of the shelf, as it can be seen in the following image.
Note how the cans seen at the back of the shelf are not labeled
New annotations can be created using N
key. When in the new annotation mode you have to click at one corner of the box and then click again at the oposite corner. The created annotation will have the default label selected at the moment. This default label is the one that appears at the bottom right corner.
Colors shown on each object depend on the Color by
atribute at the bottom of the page. This can be either Instance
(each object with a different color), Group
(each object group with a different color) or Label
(objects with the same label have the same color). The Color by label
option can be useful to better visualise the ongoing work and to see what elements are left to label.