Классификация изображений

  1. Создайте проект
  2. Добавьте пул заданий
  3. Загрузите задания
  4. Настройте контроль качества
  5. Добавьте обучение
  6. Запустите пул и получите результаты

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

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

Предположим, вы хотите распределить фотографии с изображением котов по группам — хорошее настроение у кота или плохое. Создадим задание: исполнитель смотрит на картинку и выбирает вариант ответа.
Совет.

Сначала запустите проект в Песочнице. Так вы сможете избежать ошибок и потраченных средств, если окажется, что ваше задание не работает.

Пример готового задания


Чтобы запустить задания и получить ответы:

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

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

  1. Выберите шаблон:

    1. Нажмите Создать проект.

    2. Выберите шаблон Классификация изображений .

  2. Заполните общую информацию:

    1. Дайте проекту понятное название и краткое описание. Их увидят исполнители в списке доступных заданий.

    2. По желанию добавьте Приватный комментарий.

    3. Нажмите Сохранить.

  3. Отредактируйте интерфейс задания в выбранном редакторе:

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

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

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

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

      Что такое входные и выходные данные?

      Входные данные — типы объектов, которые будут подаваться исполнителю для выполнения задания. Например, текст, картинка, географические координаты.

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

      Поля входных данных создаются из кода на вкладке Пример входных данных.

      Поля выходных данных создаются на основе того, в каких компонентах используется data.output, а также какие значения в нем разрешены.

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

      Подробнее о полях входных и выходных данных в Справке конструктора шаблонов.

      В данном проекте:

      • Поле входных данных: image — ссылка для загрузки картинки.

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

      • Поле выходных данных: result — строка, в которую будет записан ответ исполнителя.

    1. Интерфейс задания описывает, как будут расположены элементы задания.

      В HTML-интерфейсе используйте стандартные теги HTML и специальные выражения в двойных фигурных скобках для полей входных и выходных данных.

      1. В блоке Интерфейс задания отредактируйте блок HTML. После строки с изображением добавьте вопрос:
        {{img src=image width="100%" height="400px"}}
        <div>Какое у кота настроение</b>?<div>
        Скопировано
      2. Для этого проекта оставьте блоки JS и CSS без изменений.

    2. В блоке Спецификация данных задаются поля входных и выходных данных.

      Что такое входные и выходные данные?

      Входные данные — типы объектов, которые будут подаваться исполнителю для выполнения задания. Например, текст, картинка, географические координаты.

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

      В данном проекте:

      • Поле входных данных: image — ссылка для загрузки картинки.

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

      • Поле выходных данных: result — строка, в которую будет записан ответ исполнителя.

    3. Нажмите кнопку , чтобы увидеть получившееся задание.

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

      Проверьте работу опций задания. В правом нижнем углу Отправить.

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

    4. Сохраните изменения.

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

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

    2. Нажмите Завершить.

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

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

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

  1. Откройте проект и нажмите Добавить пул.
  2. Дайте пулу любое удобное название — оно доступно только вам, исполнитель увидит название проекта.
  3. В блоке Аудитория добавьте Фильтры для отбора исполнителей. Чтобы ваше задание было доступно только исполнителям, владеющим русским языком, установите язык и страну по номеру телефона.
  4. В блоке Цена установите цену за страницу заданий, например 0.02.
    Что такое страница заданий?

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

    Исполнитель получит оплату, только если выполнил все задания на странице.

    Количество заданий на странице вы определите при загрузке заданий.

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

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

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

  5. В блоке Контроль качества установите Перекрытие задания — количество исполнителей, которые должны выполнить задание. Для заданий классификации достаточно перекрытия — 3.
  6. В блоке Дополнительные настройки укажите Время на страницу заданий. Его должно быть достаточно, в том числе для чтения инструкции и загрузки задания. Например, 600 секунд.
  7. Нажмите кнопку Создать пул.

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

Подготовьте собственный файл с заданиями. Ознакомьтесь с примером в демонстрационном TSV-файле. В интерфейсе Толоки под названием пула есть ссылки на шаблоны TSV-файлов с обычными, контрольными и обучающими заданиями.

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

    Что такое TSV?
    TSV-файл — это представление электронной таблицы в виде текстового файла, в котором столбцы разделены знаком табуляции.
    Вы можете работать с ним как в редакторе электронных таблиц, так и в текстовом редакторе, а затем сохранить в нужный формат. Подробнее о работе с TSV-файлом. Существует формат CSV, схожий с TSV, но при загрузке необходимо использовать TSV-файл.
    Примечание. Перед загрузкой файла убедитесь, что он сохранен в кодировке UTF-8.
  2. Добавьте в него входные данные. Заголовок столбца с входными данными содержит слово INPUT. Остальные столбцы оставьте пустыми.
  3. Загрузите задания, выбрав Умное смешивание и указав количество заданий на странице. Например: 9 основных и 1 контрольное.
    Что такое умное смешивание?
    Умное смешивание случайным образом формирует страницы с заданиями так, чтобы задания не повторялись для каждого исполнителя.
  4. Добавьте контрольные задания. Для этого нажмите Разметить и укажите правильные ответы у нескольких заданий.
    Примечание.

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

    Что такое контрольные задания?

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

    Контрольных заданий должно быть не менее 1% от общего числа заданий, то есть на 1000 заданий нужно добавить минимум 10 контрольных.

    Подробнее о контрольных заданиях.

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

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

Внимание.

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

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

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

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

  1. Добавьте блок Контрольные задания и укажите следующие значения:

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

  2. Добавьте блок Быстрые ответы.

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

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

    Укажите следующие значения:

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

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

Добавьте обучение

Создайте обучающий пул:

  1. Откройте страницу проекта.

  2. Перейдите на вкладку Обучения

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

  4. Заполните поля с настройками обучения.

    С помощью поля Повторное прохождение вы можете настроить переобучение.
  5. Нажмите кнопку Сохранить обучение.
После создания обучающего пула:
  1. Скачайте шаблон задания (TSV) или отредактируйте тот, в котором загружали задания для основного пула.
    Примечание. TSV-файлы для всех пулов одного проекта имеют одинаковую структуру.
  2. Добавьте в TSV-файл ссылки на картинки для обучающих заданий.
  3. Загрузите файл, указав количество заданий на странице. Например, 10. Это число не должно превышать количество заданий на странице в основном пуле.
  4. Нажмите Загрузить и укажите количество обучающих заданий на странице.
  5. Нажмите Добавить.
  6. Нажмите кнопку Разметить, а затем кнопку Создать обучающие. Далее добавьте правильный ответ и подсказку для всех загруженных заданий.
  7. После успешной загрузки откройте Предпросмотр и проверьте, что задания отображаются корректно.
  8. Откройте основной пул с заданиями, привяжите Обучение и установите Уровень прохождения 55. Тогда пул будет доступен исполнителям, допустившим не более 45% ошибок при обучении.

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

Подробнее о создании пула с обучением.

Запустите пул и получите результаты

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

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

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

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

Загрузка файлов с Яндекс.Диска
Не загружаются файлы с Яндекс.Диска

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

Как сделать задание, в котором исполнитель должен просматривать видео с Яндекс.Диска?

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

Чтобы разместить ваши видеоролики на Яндекс.Диске, его нужно подключить и настроить проект.

Подробная видеоинструкция об этом в нашем блоге.

Почему в задании по выделению объектов на изображении не отображаются изображения с Яндекс.Диска?
Проблема в шаблоне задания. Проверьте, что:
  • Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
  • В компоненте в шаблоне задания используется выражение proxy.
  • Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.
Подробная инструкцию и видео на странице Использование файлов с Яндекс.Диска.
Частые ошибки при подключении Диска и загрузке файлов
  • В настройках проекта в поле Входные данные указан тип ссылка. Необходимо выбрать тип строка.
  • В TSV-файле указаны абсолютные ссылки на файлы для заданий. Необходимо вставить ссылку вида <уникальное имя>/<путь и имя файла>. Например: yadisk/image1.jpg или yadisk/photos/image1.png.
  • Фото с Яндекс.Диска используются в инструкции к заданию в мобильном приложении. Чтобы фото отобразилось в инструкции, используйте только прямые ссылки.
  • Файлы удалены или находятся не в той папке на Диске, на которую ведет ссылка.
  • OAuth-токен не активен. Обновите токен на странице Интеграция с внешними сервисами.
Чтобы файлы, загруженные на Яндекс.Диск (картинки, аудио, видео), отображались у исполнителя, нужно:
  1. Подключить Яндекс.Диск в профиле.
  2. Установить тип строка для поля входных данных.
  3. Вставлять ссылку на файл при помощи компонента proxy.

Подробная инструкция

Файлы на Яндекс.Диск загружаются слишком медленно. Как ускорить загрузку?

Попробуйте воспользоваться рекомендациями с этой страницы или написать в службу поддержки Яндекс.Диска.

Частые ошибки при подключении Диска и загрузке файлов
  • В настройках проекта в поле Входные данные указан тип ссылка. Необходимо выбрать тип строка.
  • В TSV-файле указаны абсолютные ссылки на файлы для заданий. Необходимо вставить ссылку вида <уникальное имя>/<путь и имя файла>. Например: yadisk/image1.jpg или yadisk/photos/image1.png.
  • Фото с Яндекс.Диска используются в инструкции к заданию в мобильном приложении. Чтобы фото отобразилось в инструкции, используйте только прямые ссылки.
  • Файлы удалены или находятся не в той папке на Диске, на которую ведет ссылка.
  • OAuth-токен не активен. Обновите токен на странице Интеграция с внешними сервисами.
Чтобы файлы, загруженные на Яндекс.Диск (картинки, аудио, видео), отображались у исполнителя, нужно:
  1. Подключить Яндекс.Диск в профиле.
  2. Установить тип строка для поля входных данных.
  3. Вставлять ссылку на файл при помощи компонента proxy.

Подробная инструкция

Почему в предпросмотре заданий не отображаются изображения с Яндекс.Диска?
Проблема в шаблоне задания. Проверьте, что:
  • Для поля входных данных, куда вы передаете ссылку на файл, в проекте указан тип «строка».
  • В компоненте в шаблоне задания используется выражение proxy.
  • Формат относительных ссылок в TSV-файле с заданиями указан верно: <уникальное имя>/<путь и имя файла>.

Подробная инструкция и видео.

Как в инструкцию встроить несколько картинок с помощью ссылок на Яндекс.Диск?
Чтобы добавить картинки с помощью ссылок на Яндекс.Диск:
  1. Используйте ссылку, например: /api/proxy/yadisk/image1.jpg .
  2. В настройках профиля заказчика перейдите в Интеграция с внешними сервисами → Настройки прокси.
  3. Настройте интеграцию с внешними сервисами.

    Подробно об использовании файлов с Яндекс.Диска.

Почему при загрузке задания, в котором нужно просмотреть изображение и написать фидбэк, появляется ошибка синтаксиса?

Ошибка будет возникать, если на вход ожидается тип URL, а приходит строка.

Причин может быть две:
  • Входное поле имеет тип "ссылка".
  • Пул работает на неактуальной версии проекта. То есть создан до того, как вы изменили тип входного поля.
Почему в задании с классификацией фотографий, если на странице больше 5-ти фотографий, то Толока разделяет их на 2 страницы?

Загруженные ссылки на картинки в файле Толока разделит на страницы в зависимости от того, какой способ их формирования вы указали при загрузке TSV-файла. Подробнее о трех способах загрузки можно узнать в Руководстве.

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

Добавьте к компоненту для вставки картинки параметры real-size=true и screenshot=true.

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