Проект 3. Верно ли выделены объекты на изображении

Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:

Написать в чат  Написать в Telegram

Примечание

Описание этого проекта является частью примера декомпозиции Распознавание объектов и выделение областей.

Перед началом

Создайте проект

Мы рекомендуем использовать пресет проекта, чтобы упростить настройку и получить хорошие результаты.

  1. Нажмите Создать проект на странице Проекты.

    Скриншот

  2. Выберите пресет Выделение областей на изображении.

  3. Нажмите Использовать решение.

  4. В разделе Общая информация заполните поля:

    • Название для исполнителей — название, которое будет отображаться в списке заданий для исполнителей. Например, вы можете указать такое название: Верно ли выделены дорожные знаки?

    • Описание для исполнителей — краткое описание, которое будет отображаться в списке заданий для исполнителей. Например, вы можете указать такое описание: Посмотрите на изображение и определите, верно ли выделены дорожные знаки.

    Скриншот

  5. В разделе Интерфейс задания настройте внешний вид задания.

    Примечание

    В этом туториале для создания интерфейса задания используется конструктор шаблонов, но вы можете использовать редактор HTML/JS/CSS для той же цели.

    Для этого проекта воспользуйтесь готовым шаблоном, где уже настроена валидация, горячие клавиши и внешний вид задания. Исполнитель не сможет отправить задание, если не выберет варианта ответа.

    Подробнее в Справке конструктора шаблонов:

  6. Чтобы определить, какие данные вы будете передавать исполнителю и получать в ответ, необходимо создать поля входных и выходных данных.

    Чтобы увидеть поля входных и выходных данных, нажмите Показать спецификации.

    Входные и выходные данные соответствуют интерфейсу задачи, настроенному в конструкторе шаблонов. Убедитесь, что все входные и выходные поля настроены правильно.

    Подробнее читайте в разделе Создание спецификации.

    Поля входных данных, которые используются в проекте:

    • image — адрес картинки;
    • result — массив с координатами выделенной области;
    • assignment_id — идентификатор задания.

    В поле выходных данных verdict будет записан ответ исполнителя.

    Входные поля
    {
      "image": {
        "type": "url",
        "hidden": false,
        "required": true
      },
      "result": {
        "type": "array_json",
        "hidden": false,
        "required": false
      },
      "assignment_id": {
        "type": "string",
        "hidden": true,
        "required": true
      }
    }
    
    Выходные поля
    {
      "verdict": {
        "type": "string",
        "hidden": false,
        "required": true,
        "allowed_values": ["OK","BAD"]
      }
    }
    
  7. В редакторе Инструкция для исполнителей введите инструкцию, которую увидят исполнители, когда начнут выполнять ваше задание. Вы можете добавлять в инструкцию текст, таблицы и изображения.

    Вы можете подготовить инструкцию в формате HTML и вставить ее в редактор. Чтобы переключиться в режим HTML, нажмите <>.

    Совет

    При написании инструкции помните, что исполнители заранее ничего не знают о ваших заданиях. Убедитесь, что инструкция понятна, но не слишком многословна.

  8. Нажмите кнопку Сохранить справа вверху.

Подробнее о настройке проекта читайте в разделе Создание проекта.

Добавьте пул заданий

Пул — это набор оплачиваемых заданий, которые одновременно выдаются исполнителям.

  1. Нажмите Создать новый пул на странице проекта.

    Скриншот

  2. Заполните поле Название пула. Название пула будет видно только вам на странице проекта.

  3. При необходимости отключите опцию Использовать описание проекта и заполните поле Публичное описание. В этом случае в списке заданий для исполнителей будет отображаться описание пула вместо описания проекта.

    1. Нажмите + Приватный комментарий, чтобы добавить описание, которое будет видно только вам на странице проекта.

  4. В блоке Аудитория добавьте фильтры для отбора исполнителей:

    1. Чтобы ваше задание было доступно только исполнителям, владеющим русским языком, установите язык и страну по номеру телефона.

      Скриншот

    2. Задания в пулах по умолчанию будут доступны для веб-версии Яндекс Заданий и мобильного приложения. Если вы хотите изменить настройки по умолчанию и ограничить видимость задачи для любой из версий, добавьте фильтр Клиент и выберите нужное значение: Веб-версия Яндекс Заданий или Мобильные Яндекс Задания.

    3. Отключите опцию В моих заданиях может содержаться шокирующий или порнографический контент, если ваш пул их не содержит.

    4. С помощью настройки Соотношение скорости и качества вы можете установить количество исполнителей, которые увидят ваши задания. Переместите ползунок вправо, чтобы заблокировать доступ к заданиям для исполнителей с недостаточно высоким рейтингом.

  5. В блоке Цена установите цену за страницу заданий и перекрытие.

    1. В поле Цена за страницу заданий, ₽ установите цену за страницу заданий.

      Обратите внимание на индикатор Интерес исполнителей к цене. Он показывает, насколько цена за страницу заданий соответствует ожиданиям исполнителей. Если интерес невелик, вы можете повысить цену, чтобы привлечь больше исполнителей. Если интерес высокий, вы можете снизить цену, чтобы сэкономить деньги.

      Как определить справедливую цену

      Общее правило формирования цены — чем больше времени исполнитель тратит на выполнение, тем выше цена.

      Вы можете зарегистрироваться в Яндекс Заданиях как исполнитель и узнать, сколько платят другие заказчики за задания.

      Вы также можете настроить динамическое ценообразование.

    2. Задайте перекрытие в поле Перекрытие. Для этого проекта достаточно перекрытия, равного 3.

      Вы также можете настроить динамическое перекрытие.

  6. Нажмите Показать расширенные настройки и укажите Время на страницу заданий, с в разделе Дополнительные настройки.

    Указанного времени должно быть достаточно, в том числе для чтения инструкции и загрузки задания. Например, 1200 секунд.

  7. Нажмите кнопку Создать пул.

Настройте контроль качества

Блоки контроля качества позволяют отсеивать недобросовестных исполнителей. Вы можете настраивать контроль качества как в проекте, так и в пуле.

Внимание

Настройки контроля качества в проекте будут действовать во всех пулах проекта, и изменить их настройку в одном из пулов будет невозможно.

При клонировании проекта настройки контроля качества проекта не переносятся.

  1. Перейдите к редактированию пула (кнопка в верхнем правом углу страницы) и в блоке Контроль качества нажмите Добавить правило контроля качества.

    Вы можете скопировать настройки контроля качества из другого пула. Для этого в разделе Аудитория нажмите Скопировать настройки другого пула.

    Откройте страницу проекта, перейдите на вкладку Контроль качества и нажмите кнопку Настроить контроль качества. Далее нажмите + Добавить блок контроля качества.

    Правила будут действовать во всех пулах проекта, и изменить их настройку в одном из пулов будет невозможно.

    Ограничение

    При клонировании проекта настройки контроля качества не переносятся.

  2. Чтобы отсеять исполнителей, которые слишком часто ошибаются при выполнении контрольных заданий, выберите Добавить правило контроля качестваКонтрольные задания.

    Скриншот

    Если исполнитель дал не меньше 5 ответов на контрольные задания и доля правильных ответов на контрольные задания меньше 40%, то исполнитель будет заблокирован на проекте на 30 дней.

    Правило будет работать, если вы указали правильные ответы для контрольных заданий.

  3. Чтобы отсеять исполнителей, которые слишком быстро отвечают, добавьте правило контроля Добавить правило контроля качестваБыстрые ответы.

    Значение параметра Минимальное время на страницу зависит от количества заданий на этой странице. Для выполнения одного задания в этом проекте достаточно 2–4 секунды. Значит, на страницу с 10-ю заданиями может хватить 20–30 секунд.

    Один раз можно ошибиться неумышленно, а вот после 2–3 подобных случаев вы можете заблокировать исполнителя на какое-то время.

    Скриншот

    Если исполнитель выполнит две страницы заданий быстрее чем за 20 секунд, ему будет ограничен доступ к пулу и он не сможет выполнять ваши задания 10 дней.

    Внимание

    Ответы заблокированных исполнителей будут учтены, если не отклонить их вручную при помощи отложенной приемки. Чтобы отправить задания этих исполнителей на повторную разметку, настройте правило Повторное выполнение заданий после блокировки.

  4. Добавьте блок Мнение большинства. Это правило устанавливает в качестве верного ответа самый популярный.

    С помощью него вы можете отсеивать исполнителей, дающих неправильные ответы. Вы можете заблокировать исполнителя на 1 день, если он правильно ответил менее чем на 60% заданий. Если в значении параметра Считать большинством указано 2, это означает, что два совпавших ответа считаются правильными.

Загрузите задания

  1. Дождитесь завершения пула во втором проекте.

  2. Подготовьте файл с заданиями:

    1. Откройте для редактирования файл, полученный после агрегации результатов во втором проекте.

    2. Столбец INPUT:image оставьте без изменений.

    3. Измените имя столбца OUTPUT:result на INPUT:selection.

    4. Измените имя столбца ASSIGNMENT:assignment_id на INPUT:assignment_id.

    5. Удалите столбцы ACCEPT:verdict и ACCEPT:comment.

    6. Добавьте входные данные и сохраните файл в формате tsv. Например:

      [{""type"":""rectangle"",""data"":{""p1"":{""x"":0.2421,""y"":0.98871},""p2"":{""x"":0.93663,""y"":0.8776}}}]
      
  3. Загрузите получившийся файл в пул Верно ли выделены дорожные знаки? :

    1. Откройте пул Верно ли выделены дорожные знаки?

    2. Нажмите кнопку Загрузить. В открывшемся окне настройте параметры загрузки файла.

    3. Выберите Указать вручную.

    4. В поле Заданий на странице укажите 10.

    5. Нажмите кнопку Загрузить.

    6. В открывшемся окне выберите файл с заданиями для загрузки и нажмите кнопку Открыть.

    7. В открывшемся окне проверьте количество заданий и нажмите кнопку Добавить.

    8. На странице пула нажмите кнопку Предпросмотр. Убедитесь, что в задании отображаются изображения с выделенными объектами.

    Совет

    Если выделенных объектов нет, проверьте, правильно ли выставлены кавычки в файле в столбце INPUT:selection. Убедитесь, что параметры интерфейса заданы верно.

Запустите пул

  1. Убедитесь, что вы пополнили свой счет.

  2. Нажмите кнопку Запустить разметку. Пул станет доступным для исполнителей.

Получите результаты

  1. Запустите агрегацию результатов, когда пул будет полностью выполнен. Для этого около кнопки Скачать результаты нажмите → Агрегация результатов по методу Дэвида — Скина.

  2. Отслеживайте ход агрегации. Для этого нажмите Скачать результаты → Операции. По завершении нажмите кнопку Скачать.

    Вы получите TSV-файл с результатами разметки:

    • INPUT — данные, которые вы загрузили для разметки.

    • OUTPUT — результат разметки (категория, выбранная исполнителями).

    • CONFIDENCE — значимость ответа в соответствии с моделью Дэвида — Скина.

  3. Используйте файл с результатами для проверки заданий второго проекта.

    Внимание

    В настройках пула во втором проекте включена опция Отложенная приемка, поэтому необходимо проверить ответы исполнителей в течение срока, установленного в поле Срок проверки в днях.

    Вы можете проверить результаты одним из двух способов:

    Проверить задания в файле с результатами
    1. Откройте для редактирования файл, полученный после агрегации результатов.

    2. Подготовьте файл:

      1. Добавьте столбец ACCEPT:verdict — результат проверки.

      2. Добавьте столбец ACCEPT:comment — комментарий для исполнителя, если ответ был отклонен. Например, какая часть инструкций не была выполнена.

      3. Измените имя столбца INPUT:assignment_id на ASSIGNMENT:assignment_id.

    3. Заполните столбцы ACCEPT:verdict и ACCEPT:comment:

      • Если агрегированный результат задания правильный, поставьте +, и задание будет принято.
      • Если агрегированный результат задания неправильный или не открывается, поставьте -, и задание будет отклонено. Введите причину отклонения задания в поле ACCEPT:comment, например, Объект не выделен или выделен неверно.
    4. Удалите все остальные столбцы.

    5. Сохраните файл в формате tsv.

    6. Откройте страницу пула во втором проекте.

    7. Нажмите кнопку Проверить задания.

    8. Нажмите кнопку Загрузить результаты.

    9. В открывшемся окне выберите файл с результатами для загрузки и нажмите кнопку Открыть.

    10. В открывшемся окне сравните количество заданий в поле Успешно обработано с полем Всего выполненных заданий на странице пула.

    11. Нажмите кнопку Добавить.

    12. В открывшемся окне нажмите кнопку Закрыть.

    13. При настройке пула во втором проекте вы добавили правило Обработка отклоненных и принятых заданий.

      Если по результатам отложенной приемки ответ исполнителя отклонен, то задание будет отправлено на повторное выполнение другому исполнителю.

      При повторном выполнении задания пул автоматически открывается снова, и задания передаются другим исполнителям. Когда задания будут выполнены, отправьте результаты на проверку. Затем скачайте результаты, проверьте их и загрузите проверенные результаты. Вы можете отклонять задания столько раз, сколько захотите, чтобы получить более точные результаты.

    Проверить задания в интерфейсе пула
    1. Откройте страницу пула во втором проекте.

    2. Нажмите кнопку Просмотреть задания.

    3. Наведите курсор на строку с заданием, которое хотите проверить.

    4. В столбце Статус появятся кнопки, чтобы принять (кнопка ) или отклонить (кнопка ) выполненное задание. Если вы отклоняете задание, в открывшемся окне введите комментарий и нажмите кнопку Готово.

Что дальше

Решение проблем

Как размечать треугольники, чтобы они сами замыкались при выставлении последней точки?

Для замыкания используйте горячую клавишу C.

Вы также можете воспользоваться библиотекой, чтобы настроить горячие клавиши под свои задачи.

Как создать задачу с выделением областей на изображении?

Задачу с выделением областей на изображении с помощью Яндекс Заданий рекомендуем решать в трех проектах:

  1. Сортировка изображений, на которых есть объект.

    1. Создайте задание, используя пресет Классификация изображений.

    2. Отсортируйте изображения, на которых есть искомый объект.

    3. Покажите изображение исполнителю и задайте вопрос: есть объект на картинке? Ответ — Да/Нет.

  2. Выделение объекта на изображениях.

    1. Выделите объект на изображениях, которые отобрали в предыдущем проекте. Такой проект у вас уже есть. Задание запускается с отложенной приемкой.

    2. Используйте правила контроля качества: быстрые ответы, отложенная приемка, дооценка после приемки. Описание правил и примеры.

  3. Проверка выделения объектов.

    1. Создайте задание, используя шаблон по выделению областей.

    2. Скройте редактор и задайте вопрос: объект выделен верно? Ответ — Да/Нет.

    3. Во входных данных передайте картинки и координаты размеченных областей из предыдущего задания.

    Запустив полученный пул с перекрытием 3–5 или с динамическим перекрытием, вы сможете агрегировать результаты, а затем загрузить данные для проверки в проект 2.

    Чтобы не допускать к проверке тех исполнителей, которые работали над вторым проектом, назначайте им навык. Используйте этот навык в качестве фильтра в пулах третьего проекта.

Сколько будет стоить 2000 картинок с большим количеством объектов выделения разного типа? Как для такого объема работы создать задание?

Для краудсорсинга такое задание лучше декомпозировать. Чем проще задание, тем оно будет дешевле и качественнее итоговый результат. Стоимость разметки одного класса объектов на фото может составить примерно 1 ₽.

Возьмите за основу пресет Распознавание объектов и выделение областей. Пошаговое руководство по созданию проекта такого типа вы найдете на этой странице.

Редактор, который используется в пресете, позволяет добавлять выпадающий список для маркировки выделенного объекта. Посмотрите как это сделать в описании редактора (вкладка Выпадающий список).

Какие входные данные при разметке объектов на изображении: координаты объекта относительно изображения или координаты объекта в окне исполнителя Яндекс Заданий?

Координаты относительно самого изображения.

Как в стандартном пресете с редактором для выделения областей использовать контрольные и обучающие задания?

В стандартном пресете для выделения областей использовать контрольные задания не получится. Для того, чтобы ответ засчитался как верный, выделенный исполнителем объект должен в точности совпасть с эталоном. А это практически невозможно. Поэтому в файле с заданиями оставьте поле GOLDEN пустым или просто удалите все столбцы, кроме INPUT.

Использование обучения и основного пула с типом Тренировка в проекте по выделению областей на картинке не принесет результата, так как для правильного ответа необходимо, чтобы выделение исполнителя полностью совпало с эталоном. А это практически невозможно.

Поэтому такие задания обычно запускаются с отложенной приемкой: исполнитель дает ответ, а затем после проверки, задание отклоняется или принимается.

Для предварительного отбора исполнителей подойдет так называемое «экзаменационное задание». Проверяйте задания и выставляйте навык по проценту принятых ответов. Для этого добавьте в пул правило «Результаты проверки». Чтобы к разметке основного пула приступили только хорошие исполнители, поставьте в нем фильтр по навыку.

Написать в службу поддержки

Задание, которое содержит правильный ответ. Контрольные задания нужны, чтобы следить за качеством ответов исполнителя.

Определенная цель для разметки. Например, модерация комментариев, классификация изображений, транскрипция аудиозаписей или еще что-то.

Подробнее

Файл, содержащий данные, которые нужно разметить. Заказчики используют эти файлы для загрузки заданий. В Яндекс Заданиях поддерживаются файлы в формате TSV.

Инструкция к заданию, которую видит исполнитель при выборе и выполнении задания. От четкости и полноты инструкции зависит качество ответов, которые вы получите, и рейтинг проекта. Хорошая инструкция поможет исполнителям правильно выполнить задание.

Пул бесплатных заданий, на которых исполнители могут потренироваться. Обучающие задания содержат правильный ответ и подсказку, которая будет показана, если исполнитель дал неверный ответ.

Подробнее

Группа из нескольких заданий, ответы на которые должен отправить исполнитель за один раз.

Подробнее

Внешний вид задания для исполнителя и логика обработки ответов. Чаще всего настраивается с помощью конструктора шаблонов.

Преднастроенный проект, содержащий описание, инструкцию, предопределенные поля входных и выходных данных и интерфейс задания, которые можно редактировать.

Человек, выполняющий задания в Яндекс Заданиях и получающий за это оплату. Все вместе исполнители обычно называются «крауд» (коллектив, толпа).

Вопрос или задача, которое требует ответа от исполнителя в Яндекс Заданиях.

Подробнее

Количество исполнителей, которые должны выполнить каждое задание пула. Перекрытие используется для того, чтобы убедиться, что результатам можно доверять.

Параметр настройки пула, который позволяет проверять ответы и при этом платить только за правильные ответы и не платить за задания, которые исполнители сделали некачественно.

Tab-separated values — текстовый формат файла, в котором данные разделены знаком табуляции, а строки — знаком перевода строки.

Добавление правильных ответов и подсказок в задания, а также изменение типов заданий.

Подробнее