Распознавание объектов и выделение областей
- Создайте Customizable-проект
- Добавьте пул заданий
- Загрузите задания
- Настройте контроль качества
- Запустите пул и получите результаты
Сначала запустите проект в Песочнице. Так вы сможете избежать ошибок и потраченных средств, если окажется, что ваше задание не работает.
Для выделения области на картинках в Толоке есть специальный редактор. С его помощью исполнитель сможет выделить область в виде многоугольника или прямоугольника.
Предположим, у вас есть много фотографий с животными и вам нужно выделить собак и определить их породу. Для этого создадим задание: исполнитель видит фотографию, он должен выделить на ней собаку и указать ее породу.

Чтобы запустить задания и получить ответы:
Создайте Customizable-проект
Проект определяет, как будет выглядеть задание у исполнителя.
- В интерфейсе:
-
Выберите шаблон:
Нажмите кнопку + Создать проект.
- Выберите шаблон Выделение областей на изображении.
Заполните общую информацию:
Дайте проекту понятное название и краткое описание. Их увидят исполнители в списке доступных заданий.
По желанию добавьте Приватный комментарий.
Нажмите Сохранить.
Отредактируйте интерфейс задания:
Примечание. В этом туториале показано, как создать интерфейс задания в редакторе HTML/JS/CSS. Вы также можете попробовать создать интерфейс задания в Конструкторе шаблонов.Определите, какие объекты будете передавать исполнителю и получать от него в ответ. Для этого необходимо создать поля входных и выходных данных в блоке Спецификация данных.
Что такое входные и выходные данные?Входные данные — типы объектов, которые будут подаваться исполнителю для выполнения задания. Например, текст, картинка, географические координаты.
Выходные данные — типы объектов, которые будут получены после выполнения задания. Например, один из нескольких вариантов ответа, введенный текст или загруженный файл.
Подробнее о полях входных и выходных данных.
Шаблон включает в себя поля:
- Поле входных данных — ссылка
image
для загрузки картинки.Измените тип данных на строку, чтобы использовать ссылки на свои файлы или загружать картинки, хранящиеся на Яндекс Диске.
- Поле выходных данных — поле
result
с типом json, в которое будет записан объект JSON c координатами точек.
Добавьте поле выходных данных — обязательная строка
breed
, в которую будет записана порода собаки, указанная исполнителем.Создайте интерфейс задания в блоке HTML. Он описывает, как будут расположены элементы задания.
В HTML-интерфейсе можно использовать стандартные теги HTML и специальные выражения в двойных фигурных скобках для полей входных и выходных данных.
{{field type="image-annotation" name="result" src=(proxy image)}} {{field type="input" name="breed" placeholder="Укажите породу собаки" width="100%"}}
Эта запись означает, что задание будет выглядеть так:
- картинка с инструментом для выделения области;
- поле для ввода текста.
Блоки CSS и JavaScript оставьте без изменений.
Нажмите кнопку
, чтобы увидеть получившееся задание.
Примечание. В предварительном просмотре проекта отображается одно задание со стандартными данными. Количество заданий на странице вы сможете настроить далее.Сохраните изменения.
Напишите инструкцию для исполнителей:
Напишите краткую и ясную инструкцию (см. советы). Опишите в ней, что надо сделать, и приведите примеры.
Вы можете подготовить инструкцию в формате HTML и вставить её в редактор. Чтобы переключиться в режим HTML, нажмите <>.
Нажмите кнопку Завершить.
Добавьте пул заданий
Пул — это набор оплачиваемых заданий, которые одновременно выдаются исполнителям.
- Откройте проект и нажмите Добавить пул.
- Дайте пулу любое удобное название — оно доступно только вам, исполнитель увидит название проекта.
В блоке Аудитория добавьте Фильтры для отбора исполнителей. Чтобы ваше задание было доступно только исполнителям, владеющим русским языком, установите фильтры Регион по номеру телефона и Языки: выберите исполнителей из России, Украины, Казахстана и Беларуси, которые в своем профиле отметили знание русского языка.
Задания в пулах по умолчанию будут доступны для веб-версии Толоки и мобильного приложения. Если вы хотите изменить настройки по умолчанию и ограничить видимость задачи для любой из версий, добавьте фильтр Клиент и выберите нужное значение: Веб-версия Толоки или Мобильная Толока.
- В блоке Цена установите цену за страницу заданий, например,
0.02
.Что такое страница заданий?На одной странице может отображаться одно или несколько заданий. Если задания простые, то можно добавлять 10–20 заданий на одну страницу. Не рекомендуем создавать длинные страницы, поскольку это снизит скорость загрузки данных у исполнителя.
Исполнитель получит оплату, только если выполнил все задания на странице.
Количество заданий на странице вы определите при загрузке заданий.
Как определить справедливую цену?Общее правило формирования цены — чем больше времени исполнитель тратит на выполнение, тем выше цена.
Вы можете зарегистрироваться в Толоке как исполнитель и узнать, сколько платят другие заказчики за задания.
- В блоке Контроль качества установите Перекрытие задания — количество исполнителей, которые должны выполнить задание. Для заданий выделения области на картинках, как правило, 1.
- Включите опцию Отложенная приемка и укажите количество дней на проверку для параметра Срок проверки. Например, 7.Что такое отложенная приемка?
Отложенная приемка позволяет вам просматривать выполненные страницы заданий перед тем, как принять их и заплатить исполнителю. Задания, выполненные в несоответствии с инструкцией, можно отклонять. Максимальный срок проверки устанавливается в поле Срок проверки.
- В блоке Дополнительные настройки укажите Время на страницу заданий. Его должно быть достаточно, в том числе для чтения инструкции и загрузки задания. Например, 1200 секунд.
- Нажмите кнопку Создать пул.
Загрузите задания
Подготовьте собственный файл с заданиями. Ознакомьтесь с примером в демонстрационном TSV-файле. В интерфейсе Толоки под названием пула есть ссылки на шаблоны TSV-файлов с обычными, контрольными и обучающими заданиями.
- Нажмите кнопку Загрузить. В открывшемся окне также можно скачать пример TSV-файла по ссылке Пример загрузочного файла.Что такое TSV?TSV-файл — это представление электронной таблицы в виде текстового файла, в котором столбцы разделены знаком табуляции.
Вы можете работать с ним как в редакторе электронных таблиц, так и в текстовом редакторе, а затем сохранить в нужный формат. Подробнее о работе с TSV-файлом. Существует формат CSV, схожий с TSV, но при загрузке необходимо использовать TSV-файл.
- Добавьте в него входные данные. Заголовок столбца с входными данными содержит слово
INPUT
. Остальные столбцы оставьте пустыми. - Загрузите задания, выбрав Указать вручную и установив, например, 4 задания на странице.
Настройте контроль качества
Блоки контроля качества позволяют отсеивать невнимательных исполнителей. Контроль качества можно настраивать как в проекте, так и в пуле.
Настройки контроля качества в проекте будут действовать во всех пулах проекта, и изменить их настройку в одном из пулов будет невозможно.
Перейдите к редактированию пула (кнопка Редактировать в верхнем правом углу страницы) и нажмите Добавить блок контроля качества.
Вы можете скопировать настройки контроля качества из другого пула. Для этого в разделе Исполнители нажмите кнопку Скопировать настройки из....
Откройте страницу проекта, перейдите на вкладку Контроль качества и нажмите кнопку Настроить контроль качества. Далее нажмите + Добавить блок контроля качества.
Правила будут действовать во всех пулах проекта, и изменить их настройку в одном из пулов будет невозможно.
Ограничение.При клонировании проекта настройки контроля качества не переносятся.
Добавьте блок Быстрые ответы.
Значение параметра Минимальное время на страницу зависит от количества заданий на этой странице. Чтобы определить настроение кота, достаточно 2-4 секунды. Значит, на страницу с 10-ю заданиями может хватить 20-30 секунд.
Один раз можно ошибиться неумышленно, а вот после 2-3 закономерных раз можно и заблокировать исполнителя на какое-то время.
Укажите следующие значения:
Это означает, что если исполнитель выполнит 2 страницы заданий быстрее чем за 20 секунд, он будет заблокирован и не сможет больше выполнять ваши задания 10 дней.
Внимание. Ответы заблокированных пользователей будут учтены, если не отклонить их вручную при помощи отложенной приемки. Чтобы отправить задания этих исполнителей на повторную разметку, настройте правило Повторное выполнение заданий после блокировки.- Добавьте правило контроля качества Результаты проверки и укажите следующие значения:
Это означает, что если 35% и более ответов исполнителя будут отклонены, он будет заблокирован и не сможет больше выполнять ваши задания 15 дней. Правило начинает действовать после проверки 3 ответов исполнителя.
Запустите пул и получите результаты
- Запустите пул, нажав кнопку
.
- Следите за выполнением в блоке Статистика пула.
- Как только получены первые результаты, вы можете начинать проверку. По истечении установленного срока все ответы будут автоматически приняты вне зависимости от их качества.Чтобы проверить задания, откройте пул и нажмите Проверить задания.Примечание. Координаты точек будут записаны в формате JSON.
Что дальше
- Пройдите аналогичный туториал с декомпозицией задания на 3 разных проекта.
- Почитайте подробнее про декомпозицию заданий.
Решение проблем
- Сортировка изображений, на которых есть объект.
- Создайте задание, используя шаблон «Классификация изображений».
- Отсортируйте изображения, на которых есть искомый объект.
- Покажите изображение исполнителю и задайте вопрос: есть объект на картинке? Ответ — Да/Нет.
- Выделение объекта на изображениях.
- Выделите объект на изображениях, которые отобрали в предыдущем проекте. Такой проект у вас уже есть. Задание запускается с отложенной приемкой.
- Используйте правила контроля качества: быстрые ответы, отложенная приемка, дооценка после приёмки. Описание правил и примеры.
- Проверка выделения объектов.
- Создайте задание, используя шаблон по выделению областей.
- Скройте редактор и задайте вопрос: объект выделен верно? Ответ — Да/Нет.
- Во входных данных передайте картинки и координаты размеченных областей из предыдущего задания.
Чтобы не допускать к проверке тех пользователей, которые работали над вторым проектом, назначайте им навык. Используйте этот навык в качестве фильтра в пулах третьего проекта.
- Выделите произвольную область на картинке (например, поставьте квадрат в правый верхний угол). В этом случае в инструкции к проекту для проверяющих это тоже должно быть отражено.
- Предложите пропустить задание и сообщить о нём в личном сообщении. Сообщения проверяются заказчиком и, если объекта действительно нет, задание удаляется из пула путем обнуления перекрытия.
- Добавьте в интерфейс дополнительный чекбокс «нет объекта». Настройте в JS проверку, чтобы в задании был выделен объект, либо проставлен чекбокс. В этом случае в интерфейс задания для контроля также нужно добавить информацию о значении этого чекбокса.
- Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
- В компоненте в шаблоне задания используется выражение proxy.
- Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.
- Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
- В компоненте в шаблоне задания используется выражение proxy.
- Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.
- В настройках проекта в поле Входные данные указан тип ссылка. Необходимо выбрать тип строка.
- В TSV-файле указаны абсолютные ссылки на файлы для заданий. Необходимо вставить ссылку вида
<уникальное имя>/<путь и имя файла>
. Например:yadisk/image1.jpg
илиyadisk/photos/image1.png
. - Фото с Яндекс Диска используются в инструкции к заданию в мобильном приложении. Чтобы фото отобразилось в инструкции, используйте только прямые ссылки.
- Файлы удалены или находятся не в той папке на Диске, на которую ведет ссылка.
- OAuth-токен не активен. Обновите токен на странице Интеграция.
- Подключить Яндекс Диск в профиле.
- Установить тип строка для поля входных данных.
- Вставлять ссылку на файл при помощи компонента
proxy
.
onKey: function(key) { var el = this.getDOMElement().querySelector(".image-annotation-editor__shape-polygon"); if (key === 'D') { el.click(); el.classList.add('image-annotation-editor__shape_active') }
Скопировано
Для замыкания используйте горячую клавишу C.
Вы также можете воспользоваться библиотекой, чтобы настроить горячие клавиши под свои задачи.
Добавить валидацию ответа в зависимости от чекбокса можно с помощью JavaScript. Пример доступен в шаблоне «Поиск данных в сети».
Для краудсорсинга такое задание лучше декомпозировать. Чем проще задание, тем оно будет дешевле и качественнее итоговый результат. Стоимость разметки одного класса объектов на фото может составить примерно 0.01$.
Возьмите за основу шаблон «Выделение областей на изображении». Пошаговое руководство по созданию проекта такого типа вы найдёте на этой странице.
Редактор, который используется в шаблоне, позволяет добавлять выпадающий список для маркировки выделенного объекта. Посмотрите как это сделать в описании редактора (вкладка Выпадающий список).
Можно сделать выделение + выпадающий список с выбором категории. Посмотрите как это сделать в описании редактора (вкладка Выпадающий список).
Координаты относительно самого изображения.
В стандартном шаблоне с редактором для выделения областей не получится использовать контрольные задания, поскольку для того, чтобы ответ засчитался системой верным, объект, выделенный пользователем, должен в точности совпасть с эталоном. А это практически невозможно. Поэтому поле GOLDEN можно оставить пустым в файле с заданиями или просто удалить все столбцы кроме INPUT.
В стандартном шаблоне с редактором для выделения областей не получится использовать контрольные задания, поскольку для того, чтобы ответ засчитался системой верным, объект, выделенный пользователем, должен в точности совпасть с эталоном. А это практически невозможно. Поэтому поле GOLDEN можно оставить пустым в файле с заданиями или просто удалить все столбцы кроме INPUT.
Использование обучения и основного пула с типом Тренировка в проекте по выделению областей на картинке не принесет результата, так как для правильного ответа необходимо, чтобы выделение пользователя полностью совпало с эталоном. А это практически невозможно.
Поэтому такие задания обычно запускаются с отложенной приемкой: исполнитель дает ответ, а затем после проверки, задание отклоняется или принимается.
Для предварительного отбора пользователей подойдет так называемое «экзаменационное задание». Проверяйте задания и выставляйте навык по проценту принятых ответов. Для этого добавьте в пул правило «Результаты проверки». Чтобы к разметке основного пула приступили только хорошие исполнители, поставьте в нем фильтр по навыку.
Если картинки, аудио или видео с Яндекс Диска не отображаются в инструкции или на странице задания, убедитесь, что вы правильно подключили Диск и загрузили файлы.
Для создания задания возьмите за основу шаблон для разметки видео.
Чтобы разместить ваши видеоролики на Яндекс Диске, его нужно подключить и настроить проект.
Подробная видеоинструкция об этом в нашем блоге.
Попробуйте воспользоваться рекомендациями с этой страницы или написать в службу поддержки Яндекс Диска.