Object selection in an image
This section describes how to add the area selection interface to an image and speed up task completion with shortcuts. If you just need to insert a picture, read the Inserting images section.
Add the area selection interface
To allow users to select areas in pictures, use the field.image-annotation component.
{
"view": {
"type": "field.image-annotation",
"data": {
"type": "data.output",
"path": "path"
},
"image": "url"
}
}
Configure labeling modes
The component offers three labeling modes: rectangle, polygon, and point markup. All three modes are available by default. You can choose to use just one or two of them.
To allow users to select areas only with rectangles, add the rectangle
key to the shapes
property and set its value to true
.
{
"shapes": {
"rectangle": true
}
}
To allow users to select areas only with polygons, add the polygon
key to the shapes
property and set its value to true
.
{
"shapes": {
"polygon": true
}
}
To allow users to select areas only with points, add the point
key to the shapes
property and set its value to true
.
{
"shapes": {
"point": true
}
}
Classify areas
You can allow users to select objects by type. For example, you may want all cars selected in the picture to be labeled as one type, and all road signs as another.
{
"labels": [{
"label": "Option 1",
"value": "value1"
},
{
"label": "Option 2",
"value": "value2"
}
]
}
For each new object of the labels
property, a button is added to the interface that allows users to select the corresponding area type. Different values of the value
property let users label areas with different colors.
Add keyboard shortcuts
To help performers work faster, you can add keyboard shortcuts using the plugin.field.image-annotation.hotkeys component. Shortcuts can be assigned to the up and down arrows (up
,down
), numbers, and Latin letters.
If you install the shortcut plugin without assigning keys, they are assigned automatically (see the example). You can change them as described below. If you don't need some of the shortcuts, leave their value fields empty.
If you use at least two types of areas in your task, list the shortcuts for them in the array of the labels
property, separating them with commas. They will be assigned to the area selection buttons in the order they are displayed.
{
"type": "plugin.field.image-annotation.hotkeys",
"labels": [
"1",
"2"
]
}
modes
property and assign a shortcut to it:select
: For selecting shapes and points.point
: For selecting areas using points.rectangle
: For selecting areas using rectangles.polygon
: For selecting areas using polygons.
{
"type": "plugin.field.image-annotation.hotkeys",
"modes": {
"select": "q",
"point": "w",
"rectangle": "e",
"polygon": "r"
}
}
confirm
: Confirm.cancel
: Cancel.
{
"type": "plugin.field.image-annotation.hotkeys",
"confirm": "x",
"cancel": "z"
}
Create a task
To create a template for area selection tasks, use the following components:
- field.image-annotation: To add the area selection interface.
- plugin.field.image-annotation.hotkeys: To add keyboard shortcuts.
- view.text: To add a description to the task.
- condition.required: To make sure that the user selected at least one area.
- plugin.toloka: To customize the task layout.